68 FXival nrefs()
const {
return refs; }
74 void unref(){
if(--refs<=0)
delete this; }
79 virtual void undo() = 0;
84 virtual void redo() = 0;
94 virtual FXuval size()
const;
114 virtual FXbool canMerge()
const;
126 virtual FXuint mergeWith(
FXCommand* command);
171 FXbool empty()
const;
174 virtual FXbool cut();
177 virtual void undo()
override;
180 virtual void redo()
override;
183 virtual FXuval size()
const override;
186 virtual void clear();
258 long onCmdUndo(
FXObject*,FXSelector,
void*);
259 long onUpdUndo(
FXObject*,FXSelector,
void*);
260 long onCmdRedo(
FXObject*,FXSelector,
void*);
261 long onUpdRedo(
FXObject*,FXSelector,
void*);
262 long onCmdRevert(
FXObject*,FXSelector,
void*);
263 long onUpdRevert(
FXObject*,FXSelector,
void*);
264 long onCmdUndoAll(
FXObject*,FXSelector,
void*);
265 long onCmdRedoAll(
FXObject*,FXSelector,
void*);
266 long onUpdUndoCount(
FXObject*,FXSelector,
void*);
267 long onUpdRedoCount(
FXObject*,FXSelector,
void*);
268 long onCmdAltHistory(
FXObject*,FXSelector,
void*);
269 long onUpdAltHistory(
FXObject*,FXSelector,
void*);
270 long onCmdDumpStats(
FXObject*,FXSelector,
void*);
271 long onCmdTrimMark(
FXObject*,FXSelector,
void*);
272 long onCmdTrimSize(
FXObject*,FXSelector,
void*);
273 long onCmdTrimWrinkles(
FXObject*,FXSelector,
void*);
274 long onCmdTrimCount(
FXObject*,FXSelector,
void*);
275 long onCmdClear(
FXObject*,FXSelector,
void*);
276 long onUpdClear(
FXObject*,FXSelector,
void*);
277 long onUpdSize(
FXObject*,FXSelector,
void*);
280 ID_REVERT=FXWindow::ID_LAST,
298 ID_TRIM_COUNT=ID_TRIM_COUNT_1K,
306 ID_TRIM_SIZE=ID_TRIM_SIZE_10M,
314 ID_TRIM_ALT=ID_TRIM_ALT_10M,
330 FXbool
busy()
const {
return (working!=0); }
351 FXbool marked()
const;
360 FXbool add(
FXCommand* cmd,FXbool doit=
false,FXbool merge=
true);
402 virtual FXbool cut()
override;
407 virtual void undo()
override;
412 virtual void redo()
override;
433 FXbool canUndo()
const;
438 FXbool canRedo()
const;
443 FXbool canRevert()
const;
454 virtual FXString undoName()
const override;
460 virtual FXString redoName()
const override;
471 virtual FXuval size()
const override;
486 void trimSize(FXuval sz);
503 void trimWrinkles(FXuval sz);
511 void trimCount(FXint nc);
517 virtual void clear()
override;
FXint redoCount() const
Number of redo records.
Definition: FXUndoList.h:466
FXint undoCount() const
Number of undo records.
Definition: FXUndoList.h:463
FXbool busy() const
Return true if currently inside undo or redo operation; this is useful to avoid generating another un...
Definition: FXUndoList.h:330
void setAlternateHistory(FXbool flag)
Enable or disable alternate history mode.
Definition: FXUndoList.h:526
Base class for undoable commands records.
Definition: FXUndoList.h:56
Marked pointer keeps a flag bit inside of a dynamically allocated pointer; this is possible because m...
Definition: FXMarkedPtr.h:34
Definition: FX4Splitter.h:28
FXbool getAlternateHistory() const
Returns true if alternate history mode is in effect.
Definition: FXUndoList.h:531
The UndoList class manages a list of undoable commands.
Definition: FXUndoList.h:243
Object is the base class for all objects in FOX; in order to receive messages from the user interface...
Definition: FXObject.h:138
Group of undoable commands.
Definition: FXUndoList.h:157
FXString provides essential string manipulation capabilities in FOX.
Definition: FXString.h:42