You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
4.4 KiB
172 lines
4.4 KiB
15 years ago
|
/* This file is part of the KDE project
|
||
|
Copyright (C) 2001 Christoph Cullmann (cullmann@kde.org)
|
||
|
|
||
|
This library is free software; you can redistribute it and/or
|
||
|
modify it under the terms of the GNU Library General Public
|
||
|
License as published by the Free Software Foundation; either
|
||
|
version 2 of the License, or (at your option) any later version.
|
||
|
|
||
|
This library is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
Library General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Library General Public License
|
||
|
along with this library; see the file COPYING.LIB. If not, write to
|
||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||
|
Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
|
||
12 years ago
|
#ifndef __tdetexteditor_markinterface_h__
|
||
|
#define __tdetexteditor_markinterface_h__
|
||
15 years ago
|
|
||
15 years ago
|
#include <tqptrlist.h>
|
||
15 years ago
|
|
||
13 years ago
|
#include <tdelibs_export.h>
|
||
15 years ago
|
|
||
14 years ago
|
class TQCString;
|
||
15 years ago
|
|
||
|
namespace KTextEditor
|
||
|
{
|
||
|
|
||
|
class Mark
|
||
|
{
|
||
|
public:
|
||
|
uint line;
|
||
|
uint type;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* This is an interface to enable marks to be made in the iconborder of the Document class.
|
||
|
*/
|
||
|
class KTEXTEDITOR_EXPORT MarkInterface
|
||
|
{
|
||
|
friend class PrivateMarkInterface;
|
||
|
|
||
|
public:
|
||
|
MarkInterface ();
|
||
|
virtual ~MarkInterface ();
|
||
|
|
||
|
unsigned int markInterfaceNumber () const;
|
||
|
|
||
|
protected:
|
||
15 years ago
|
void setMarkInterfaceDCOPSuffix (const TQCString &suffix);
|
||
15 years ago
|
|
||
|
//
|
||
|
// slots !!!
|
||
|
//
|
||
|
public:
|
||
|
/**
|
||
|
* @return a uint representing the marks set in @p line OR'ed togeather.
|
||
|
*/
|
||
|
virtual uint mark (uint line) = 0;
|
||
|
|
||
|
/**
|
||
|
* Adds a mark of type @p markType to @p line.
|
||
14 years ago
|
* Has no effect if the line allready contains a mark of that type.
|
||
15 years ago
|
*/
|
||
|
virtual void setMark (uint line, uint markType) = 0;
|
||
|
/**
|
||
|
* Clears all marks set in @p line.
|
||
|
*/
|
||
|
virtual void clearMark (uint line) = 0;
|
||
|
|
||
|
virtual void addMark (uint line, uint markType) = 0;
|
||
|
/**
|
||
|
* Removes any mark of type @p markType from @p line.
|
||
|
*/
|
||
|
virtual void removeMark (uint line, uint markType) = 0;
|
||
|
|
||
|
/**
|
||
|
* @return a list of all marks in the document
|
||
|
*/
|
||
15 years ago
|
virtual TQPtrList<KTextEditor::Mark> marks () = 0;
|
||
15 years ago
|
/**
|
||
|
* Clears all marks in the document.
|
||
|
*/
|
||
|
virtual void clearMarks () = 0;
|
||
|
|
||
|
/**
|
||
|
* get the number of predefined marker types we have so far.
|
||
|
* @note If you change this you have to make sure katepart supports the new size!
|
||
|
* @return number of reserved marker types
|
||
|
* @since 3.3
|
||
|
*/
|
||
|
static int reservedMarkersCount();
|
||
|
|
||
|
/**
|
||
|
* Pre-defined mark types.
|
||
|
*
|
||
|
* To create a non-standard mark type, use MarkInterfaceExtension.
|
||
|
* To add a new standard mark type, edit this interface to document the type.
|
||
|
*/
|
||
|
enum MarkTypes
|
||
|
{
|
||
|
/** Bookmark */
|
||
|
markType01= 0x1,
|
||
|
/** Breakpoint active */
|
||
|
markType02= 0x2,
|
||
|
/** Breakpoint reached */
|
||
|
markType03= 0x4,
|
||
|
/** Breakpoint disabled */
|
||
|
markType04= 0x8,
|
||
|
/** Execution mark */
|
||
|
markType05= 0x10,
|
||
|
/** Warning */
|
||
|
markType06= 0x20,
|
||
|
/** Error */
|
||
|
markType07= 0x40,
|
||
|
|
||
|
markType08= 0x80,
|
||
|
markType09= 0x100,
|
||
|
markType10= 0x200,
|
||
|
markType11= 0x400,
|
||
|
markType12= 0x800,
|
||
|
markType13= 0x1000,
|
||
|
markType14= 0x2000,
|
||
|
markType15= 0x4000,
|
||
|
markType16= 0x8000,
|
||
|
markType17= 0x10000,
|
||
|
markType18= 0x20000,
|
||
|
markType19= 0x40000,
|
||
|
markType20= 0x80000,
|
||
|
markType21= 0x100000,
|
||
|
markType22= 0x200000,
|
||
|
markType23= 0x400000,
|
||
|
markType24= 0x800000,
|
||
|
markType25= 0x1000000,
|
||
|
markType26= 0x2000000,
|
||
|
markType27= 0x4000000,
|
||
|
markType28= 0x8000000,
|
||
|
markType29= 0x10000000,
|
||
|
markType30= 0x20000000,
|
||
|
markType31= 0x40000000,
|
||
|
markType32= 0x80000000,
|
||
|
/* reserved marks */
|
||
|
Bookmark = markType01,
|
||
|
BreakpointActive = markType02,
|
||
|
BreakpointReached = markType03,
|
||
|
BreakpointDisabled = markType04,
|
||
|
Execution = markType05,
|
||
|
Warning = markType06,
|
||
|
Error = markType07
|
||
|
};
|
||
|
|
||
|
//
|
||
|
// signals !!!
|
||
|
//
|
||
|
public:
|
||
|
virtual void marksChanged () = 0;
|
||
|
|
||
|
private:
|
||
|
class PrivateMarkInterface *d;
|
||
|
static unsigned int globalMarkInterfaceNumber;
|
||
|
unsigned int myMarkInterfaceNumber;
|
||
|
};
|
||
|
|
||
|
KTEXTEDITOR_EXPORT MarkInterface *markInterface (class Document *doc);
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|