interfaces
cursorinterface.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 #ifndef __ktexteditor_cursorinterface_h__
00020 #define __ktexteditor_cursorinterface_h__
00021
00022 #include <qptrlist.h>
00023 #include <qstring.h>
00024
00025 #include <kdelibs_export.h>
00026
00027 namespace KTextEditor
00028 {
00029
00033 class KTEXTEDITOR_EXPORT Cursor
00034 {
00035 public:
00036 virtual void position ( unsigned int *line, unsigned int *col ) const = 0;
00037
00038 virtual bool setPosition ( unsigned int line, unsigned int col ) = 0;
00039
00040 virtual bool insertText ( const QString& text ) = 0;
00041
00042 virtual bool removeText ( unsigned int numberOfCharacters ) = 0;
00043
00044 virtual QChar currentChar () const = 0;
00045 };
00046
00050 class KTEXTEDITOR_EXPORT CursorInterface
00051 {
00052 friend class PrivateCursorInterface;
00053
00054 public:
00055 CursorInterface ();
00056 virtual ~CursorInterface ();
00057
00058 unsigned int cursorInterfaceNumber () const;
00059
00060 protected:
00061 void setCursorInterfaceDCOPSuffix (const QCString &suffix);
00062
00063 public:
00067 virtual Cursor *createCursor ( ) = 0;
00068
00069
00070
00071
00072 virtual QPtrList<Cursor> cursors () const = 0;
00073
00074 private:
00075 class PrivateCursorInterface *d;
00076 static unsigned int globalCursorInterfaceNumber;
00077 unsigned int myCursorInterfaceNumber;
00078 };
00079
00080 KTEXTEDITOR_EXPORT CursorInterface *cursorInterface (class Document *doc);
00081
00082 }
00083
00084 #endif