markinterfaceextension.h
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 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 MarkInterfaceExtension *markInterfaceExtension (class Document *doc);
00080 
00081 }
00082 
00083 #endif
 
This file is part of the documentation for interfaces Library Version 3.2.0.