00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __ktexteditor_selectioninterface_h__
00021
#define __ktexteditor_selectioninterface_h__
00022
00023
#include <qstring.h>
00024
00025
#include <kdelibs_export.h>
00026
00027
namespace KTextEditor
00028 {
00029
00033 class KTEXTEDITOR_EXPORT SelectionInterface
00034 {
00035
friend class PrivateSelectionInterface;
00036
00037
public:
00038 SelectionInterface();
00039
virtual ~SelectionInterface();
00040
00041
unsigned int selectionInterfaceNumber ()
const;
00042
00043
protected:
00044
void setSelectionInterfaceDCOPSuffix (
const QCString &suffix);
00045
00046
00047
00048
00049
public:
00053
virtual bool setSelection (
unsigned int startLine,
unsigned int startCol,
unsigned int endLine,
unsigned int endCol ) = 0;
00054
00058
virtual bool clearSelection () = 0;
00059
00063
virtual bool hasSelection ()
const = 0;
00064
00068
virtual QString selection ()
const = 0;
00069
00073
virtual bool removeSelectedText () = 0;
00074
00078
virtual bool selectAll () = 0;
00079
00080
00081
00082
00083
public:
00084
virtual void selectionChanged () = 0;
00085
00086
private:
00087
class PrivateSelectionInterface *d;
00088
static unsigned int globalSelectionInterfaceNumber;
00089
unsigned int mySelectionInterfaceNumber;
00090 };
00091
00092
class Document;
00093
class View;
00094
00095 KTEXTEDITOR_EXPORT SelectionInterface *selectionInterface (
Document *doc);
00096 KTEXTEDITOR_EXPORT SelectionInterface *selectionInterface (
View *view);
00097
00098 }
00099
00100
#endif