interfaces Library API Documentation

markinterface.h

00001 /* This file is part of the KDE project
00002    Copyright (C) 2001 Christoph Cullmann (cullmann@kde.org)
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00017    Boston, MA 02111-1307, USA.
00018 */
00019 
00020 #ifndef __ktexteditor_markinterface_h__
00021 #define __ktexteditor_markinterface_h__
00022 
00023 #include <qptrlist.h>
00024 
00025 class QCString;
00026 
00027 namespace KTextEditor
00028 {
00029 
00030 class Mark
00031 {
00032   public:
00033     uint line;
00034     uint type;
00035 };
00036 
00040 class MarkInterface
00041 {
00042   friend class PrivateMarkInterface;
00043   
00044   public:
00045     MarkInterface ();
00046     virtual ~MarkInterface ();
00047 
00048     unsigned int markInterfaceNumber () const;
00049     
00050   protected:  
00051     void setMarkInterfaceDCOPSuffix (const QCString &suffix);  
00052 
00053   //
00054   // slots !!!
00055   //
00056   public:
00057     virtual uint mark (uint line) = 0;
00058 
00059     virtual void setMark (uint line, uint markType) = 0;
00060     virtual void clearMark (uint line) = 0;
00061 
00062     virtual void addMark (uint line, uint markType) = 0;
00063     virtual void removeMark (uint line, uint markType) = 0;
00064 
00065     virtual QPtrList<KTextEditor::Mark> marks () = 0;
00066     virtual void clearMarks () = 0;
00067     
00074     enum MarkTypes
00075     {
00077       markType01= 0x1,
00079       markType02= 0x2,
00081       markType03= 0x4,
00083       markType04= 0x8,
00085       markType05= 0x10,
00086       markType06= 0x20,
00087       markType07= 0x40,
00088       markType08= 0x80,
00089       markType09= 0x100,
00090       markType10= 0x200,
00091       markType11= 0x400,
00092       markType12= 0x800,
00093       markType13= 0x1000,
00094       markType14= 0x2000,
00095       markType15= 0x4000,
00096       markType16= 0x8000,
00097       markType17= 0x10000,
00098       markType18= 0x20000,
00099       markType19= 0x40000,
00100       markType20= 0x80000,
00101       markType21= 0x100000,
00102       markType22= 0x200000,
00103       markType23= 0x400000,
00104       markType24= 0x800000,
00105       markType25= 0x1000000,
00106       markType26= 0x2000000,
00107       markType27= 0x4000000,
00108       markType28= 0x8000000,
00109       markType29= 0x10000000,
00110       markType30= 0x20000000,
00111       markType31= 0x40000000,
00112       markType32= 0x80000000
00113     };
00114 
00115   //
00116   // signals !!!
00117   //
00118   public:
00119     virtual void marksChanged () = 0;
00120   
00121   private:
00122     class PrivateMarkInterface *d;
00123     static unsigned int globalMarkInterfaceNumber;
00124     unsigned int myMarkInterfaceNumber;
00125 };
00126 
00127 MarkInterface *markInterface (class Document *doc);
00128 
00129 }
00130 
00131 #endif
KDE Logo
This file is part of the documentation for interfaces Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed May 5 07:21:29 2004 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003