interfaces/tdetexteditor
cursorinterface.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __tdetexteditor_cursorinterface_h__
00020 #define __tdetexteditor_cursorinterface_h__
00021
00022 #include <tqptrlist.h>
00023 #include <tqstring.h>
00024
00025 #include <tdelibs_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 TQString& text ) = 0;
00041
00042 virtual bool removeText ( unsigned int numberOfCharacters ) = 0;
00043
00044 virtual TQChar 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 TQCString &suffix);
00062
00063 public:
00067 virtual Cursor *createCursor ( ) = 0;
00068
00069
00070
00071
00072 virtual TQPtrList<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