44enum UndoBeforePointerType { Undo_IsOrphanded, Undo_NeedsCopy, Undo_HasParent };
46typedef void* UndoItemPointer;
51 wxString Description();
54 std::vector<UndoItemPointer> before;
55 std::vector<UndoBeforePointerType> beforeType;
56 std::vector<UndoItemPointer> after;
57 std::vector<UndoItemPointer> selectable;
64 bool AnythingToUndo();
65 bool AnythingToRedo();
66 void InvalidateRedo();
67 void InvalidateUndo();
69 bool InUndoableAction() {
return isInsideUndoableAction; }
72 bool UndoLastAction();
73 bool RedoNextAction();
74 bool BeforeUndoableAction(UndoType type, UndoItemPointer before,
75 UndoBeforePointerType beforeType,
76 UndoItemPointer selectable);
77 bool AfterUndoableAction(UndoItemPointer after);
78 bool CancelUndoableAction(
bool noDataDelete =
false);
83 bool isInsideUndoableAction;
85 unsigned int stackpointer;
86 unsigned int depthSetting;
87 std::deque<UndoAction*> undoStack;