00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __ktexteditor_markinterface_extension_h__
00021
#define __ktexteditor_markinterface_extension_h__
00022
00023
#include <qptrlist.h>
00024
#include <qpixmap.h>
00025
#include <qstring.h>
00026
#include "markinterface.h"
00027
00028
class QCString;
00029
00030
namespace KTextEditor
00031 {
00032
00033
00039 class KTEXTEDITOR_EXPORT MarkInterfaceExtension
00040 {
00041
friend class PrivateMarkInterfaceExtension;
00042
00043
public:
00044 MarkInterfaceExtension ();
00045
virtual ~MarkInterfaceExtension ();
00046
00047
unsigned int markInterfaceExtensionNumber ()
const;
00048
00049
protected:
00050
void setMarkInterfaceExtensionDCOPSuffix (
const QCString &suffix);
00051
00052
public:
00053
virtual void setPixmap(MarkInterface::MarkTypes,
const QPixmap &)=0;
00054
virtual void setDescription(MarkInterface::MarkTypes,
const QString &)=0;
00055
virtual void setMarksUserChangable(uint markMask)=0;
00056
00057
enum MarkChangeAction {
00058 MarkAdded=0,
00059 MarkRemoved=1
00060 };
00061
00062
00063
00064
public:
00065
00066
00067
00068
00069
public:
00070
virtual void markChanged (KTextEditor::Mark mark,
00071 KTextEditor::MarkInterfaceExtension::MarkChangeAction action) = 0;
00072
00073
private:
00074
class PrivateMarkInterfaceExtension *d;
00075
static unsigned int globalMarkInterfaceExtensionNumber;
00076
unsigned int myMarkInterfaceExtensionNumber;
00077 };
00078
00079 KTEXTEDITOR_EXPORT MarkInterfaceExtension *markInterfaceExtension (
class Document *doc);
00080
00081 }
00082
00083
#endif