# interfaces Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# 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
    00037 /*
    00038 *  This is an interface for the KTextEditor::Document class !!!
    00039 */
    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
    00068     enum MarkTypes
    00069     {
    00070       markType01= 0x1, // Bookmark !!!
    00071       markType02= 0x2, // Breakpoint active !!!
    00072       markType03= 0x4, // Breakpoint reached !!!
    00073       markType04= 0x8, // Breakpoint disabled !!!
    00074       markType05= 0x10,// Execution mark !!!
    00075       markType06= 0x20,
    00076       markType07= 0x40,
    00077       markType08= 0x80,
    00078       markType09= 0x100,
    00079       markType10= 0x200,
    00080       markType11= 0x400,
    00081       markType12= 0x800,
    00082       markType13= 0x1000,
    00083       markType14= 0x2000,
    00084       markType15= 0x4000,
    00085       markType16= 0x8000,
    00086       markType17= 0x10000,
    00087       markType18= 0x20000,
    00088       markType19= 0x40000,
    00089       markType20= 0x80000,
    00090       markType21= 0x100000,
    00091       markType22= 0x200000,
    00092       markType23= 0x400000,
    00093       markType24= 0x800000,
    00094       markType25= 0x1000000,
    00095       markType26= 0x2000000,
    00096       markType27= 0x4000000,
    00097       markType28= 0x8000000,
    00098       markType29= 0x10000000,
    00099       markType30= 0x20000000,
    00100       markType31= 0x40000000,
    00101       markType32= 0x80000000
    00102     };
    00103
    00104   //
    00105   // signals !!!
    00106   //
    00107   public:
    00108     virtual void marksChanged () = 0;
    00109
    00110   private:
    00111     class PrivateMarkInterface *d;
    00112     static unsigned int globalMarkInterfaceNumber;
    00113     unsigned int myMarkInterfaceNumber;
    00114 };
    00115
    00116 MarkInterface *markInterface (class Document *doc);
    00117
    00118 }
    00119
    00120 #endif

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:30:49 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001