00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef __ktexteditor_editinterface_h__
00020
#define __ktexteditor_editinterface_h__
00021
00022
#include <qstring.h>
00023
00024
#include <kdelibs_export.h>
00025
00026
namespace KTextEditor
00027 {
00028
00033 class KTEXTEDITOR_EXPORT EditInterface
00034 {
00035
friend class PrivateEditInterface;
00036
00037
public:
00038 EditInterface();
00039
virtual ~EditInterface();
00040
00041 uint editInterfaceNumber ()
const;
00042
00043
protected:
00044
void setEditInterfaceDCOPSuffix (
const QCString &suffix);
00045
00046
public:
00053
virtual QString text ()
const = 0;
00054
00058
virtual QString text ( uint startLine, uint startCol, uint endLine, uint endCol )
const = 0;
00059
00063
virtual QString textLine ( uint line )
const = 0;
00064
00068
virtual uint numLines ()
const = 0;
00069
00073
virtual uint length ()
const = 0;
00074
00078
virtual int lineLength ( uint line )
const = 0;
00079
00084
virtual bool setText (
const QString &text ) = 0;
00085
00090
virtual bool clear () = 0;
00091
00097
virtual bool insertText ( uint line, uint col,
const QString &text ) = 0;
00098
00103
virtual bool removeText ( uint startLine, uint startCol, uint endLine, uint endCol ) = 0;
00104
00109
virtual bool insertLine ( uint line,
const QString &text ) = 0;
00110
00114
virtual bool removeLine ( uint line ) = 0;
00115
00119
public:
00120
virtual void textChanged () = 0;
00121
00122
virtual void charactersInteractivelyInserted(
int ,
int ,
const QString&)=0;
00123
00127
private:
00128
class PrivateEditInterface *d;
00129
static uint globalEditInterfaceNumber;
00130 uint myEditInterfaceNumber;
00131 };
00132
00133 KTEXTEDITOR_EXPORT EditInterface *editInterface (
class Document *doc);
00134
00135 }
00136
00137
#endif