12 #ifndef ROOT_TQCommand
13 #define ROOT_TQCommand
27 class TQCommand :
public TList,
public TQObject {
29 friend class TQUndoManager;
45 virtual void Init(
const char *cl,
void *
object,
46 const char *redo,
const char *undo);
47 virtual void PrintCollectionHeader(Option_t* option)
const;
50 TQCommand &operator=(
const TQCommand &);
53 TQCommand(
const char *cl = 0,
void *
object = 0,
54 const char *redo = 0,
const char *undo = 0);
55 TQCommand(TObject *obj,
const char *redo = 0,
const char *undo = 0);
56 TQCommand(
const TQCommand &com);
59 virtual void Redo(Option_t *option=
"");
60 virtual void Undo(Option_t *option=
"");
61 virtual void SetArgs(Int_t nargs, ...);
62 virtual void SetUndoArgs(Int_t nargs, ...);
63 virtual void SetRedoArgs(Int_t nargs, ...);
64 virtual Bool_t CanMerge(TQCommand *c)
const;
65 virtual void Merge(TQCommand *c);
66 virtual Long64_t Merge(TCollection*,TFileMergeInfo*);
67 virtual Bool_t CanCompress(TQCommand *c)
const;
68 virtual void Compress(TQCommand *c);
69 virtual Bool_t IsEqual(
const TObject* obj)
const;
70 virtual Bool_t IsSetter()
const;
71 virtual Bool_t CanRedo()
const;
72 virtual Bool_t CanUndo()
const;
73 const char *GetRedoName()
const;
74 const char *GetUndoName()
const;
75 TQConnection *GetRedo()
const {
return fRedo; }
76 TQConnection *GetUndo()
const {
return fUndo; }
77 Long_t *GetRedoArgs()
const;
78 Long_t *GetUndoArgs()
const;
79 Int_t GetNRargs()
const;
80 Int_t GetNUargs()
const;
81 void *GetObject()
const;
82 Int_t GetStatus()
const;
83 Bool_t IsMacro()
const;
84 Bool_t IsUndoing()
const;
85 Bool_t IsRedoing()
const;
86 Bool_t IsExecuting()
const;
87 virtual void SetName(
const char *name);
88 virtual void SetTitle(
const char *title);
89 virtual void ls(Option_t *option=
"")
const;
90 virtual void Add(TObject *obj, Option_t *opt);
91 virtual void Add(TObject *obj) { Add(obj, 0); }
92 virtual void Delete(Option_t *option=
"");
93 virtual const char *GetName()
const;
94 virtual const char *GetTitle()
const;
96 static TQCommand *GetCommand();
103 class TQUndoManager :
public TQCommand {
112 virtual void PrintCollectionEntry(TObject* entry, Option_t* option, Int_t recurse)
const;
116 virtual ~TQUndoManager();
118 virtual void Add(TObject *obj, Option_t *opt);
119 virtual void Add(TObject *obj) { Add(obj, 0); }
120 virtual void Redo(Option_t *option=
"");
121 virtual void Undo(Option_t *option=
"");
122 virtual Bool_t CanRedo()
const;
123 virtual Bool_t CanUndo()
const;
124 virtual void SetLogging(Bool_t on = kTRUE);
125 Bool_t IsLogging()
const;
126 TQCommand *GetCurrent()
const;
127 TQCommand *GetCursor()
const;
128 UInt_t GetLimit()
const;
129 virtual void SetLimit(UInt_t limit);
130 virtual void CurrentChanged(TQCommand *c);
131 virtual void ls(Option_t *option=
"")
const;
133 ClassDef(TQUndoManager,0)