markinterface.h
/* 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.
*/
#ifndef __ktexteditor_markinterface_h__
#define __ktexteditor_markinterface_h__
#include <qptrlist.h>
#include <kdelibs_export.h>
class QCString;
namespace KTextEditor
{
class Mark
{
public:
uint line;
uint type;
};
class KTEXTEDITOR_EXPORT MarkInterface
{
friend class PrivateMarkInterface;
public:
MarkInterface ();
virtual ~MarkInterface ();
unsigned int markInterfaceNumber () const;
protected:
void setMarkInterfaceDCOPSuffix (const QCString &suffix);
//
// slots !!!
//
public:
virtual uint mark (uint line) = 0;
virtual void setMark (uint line, uint markType) = 0;
virtual void clearMark (uint line) = 0;
virtual void addMark (uint line, uint markType) = 0;
virtual void removeMark (uint line, uint markType) = 0;
virtual QPtrList<KTextEditor::Mark> marks () = 0;
virtual void clearMarks () = 0;
static int reservedMarkersCount();
enum MarkTypes
{
markType01= 0x1,
markType02= 0x2,
markType03= 0x4,
markType04= 0x8,
markType05= 0x10,
markType06= 0x20,
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
KTextEditor::MarkInterface
This is an interface to enable marks to be made in the iconborder of the Document class...
Definition: markinterface.h:42
KTextEditor::MarkInterface::MarkTypes
MarkTypes
Pre-defined mark types.
Definition: markinterface.h:103

KDE Home | KDE Accessibility Home | Description of Access Keys