interfaces
markinterfaceextension.h
Go to the documentation of this file.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