00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef __ktexteditor_undointerface_h__
00020
#define __ktexteditor_undointerface_h__
00021
00022
#include <kdelibs_export.h>
00023
00024
class QCString;
00025
00026
namespace KTextEditor
00027 {
00028
00032 class KTEXTEDITOR_EXPORT UndoInterface
00033 {
00034
friend class PrivateUndoInterface;
00035
00036
public:
00037 UndoInterface ();
00038
virtual ~UndoInterface ();
00039
00040
unsigned int undoInterfaceNumber ()
const;
00041
00042
protected:
00043
void setUndoInterfaceDCOPSuffix (
const QCString &suffix);
00044
00045
00046
00047
00048
public:
00049
virtual void undo () = 0;
00050
00051
virtual void redo () = 0;
00052
00053
virtual void clearUndo () = 0;
00054
00055
virtual void clearRedo () = 0;
00056
00057
virtual unsigned int undoCount ()
const = 0;
00058
00059
virtual unsigned int redoCount ()
const = 0;
00060
00064
virtual unsigned int undoSteps ()
const = 0;
00065
00066
virtual void setUndoSteps (
unsigned int steps ) = 0;
00067
00068
00069
00070
00071
public:
00072
virtual void undoChanged () = 0;
00073
00074
private:
00075
class PrivateUndoInterface *d;
00076
static unsigned int globalUndoInterfaceNumber;
00077
unsigned int myUndoInterfaceNumber;
00078 };
00079
00080 KTEXTEDITOR_EXPORT UndoInterface *undoInterface (
class Document *doc);
00081
00082 }
00083
00084
#endif