17 #ifndef LIMITEDLINEARUNDO_H_HEADER_INCLUDED_C16E9C96
18 #define LIMITEDLINEARUNDO_H_HEADER_INCLUDED_C16E9C96
27 #pragma GCC visibility push(default)
28 #include <itkEventObject.h>
29 #pragma GCC visibility pop
45 itkFactorylessNewMacro(
Self) itkCloneMacro(
Self)
47 virtual
bool SetOperationEvent(
UndoStackItem *stackItem) override;
56 virtual
bool Undo() override;
57 virtual
bool Undo(
bool) override;
61 virtual
bool Undo(
int oeid);
70 virtual
bool Redo() override;
71 virtual
bool Redo(
bool) override;
75 virtual
bool Redo(
int oeid);
79 virtual
void Clear() override;
83 virtual
void ClearRedoList() override;
87 virtual
bool RedoListEmpty() override;
92 virtual
int GetLastObjectEventIdInList() override;
97 virtual
int GetLastGroupEventIdInList() override;
111 virtual ~LimitedLinearUndo();
115 void ClearList(UndoContainer *list);
117 UndoContainer m_UndoList;
119 UndoContainer m_RedoList;
122 int FirstObjectEventIdOfCurrentGroup(UndoContainer &stack);
125 #pragma GCC visibility push(default)
138 #pragma GCC visibility pop
std::vector< UndoStackItem * >::reverse_iterator UndoContainerRevIter
DataCollection - Class to facilitate loading/accessing structured data.
A linear undo model with one undo and one redo stack.
abstract class, that can be used by Undo to undo an operation.
#define mitkClassMacro(className, SuperClassName)
Represents an entry of the undo or redo stack.
superclass for all UndoModels
itkEventMacro(ContourModelEvent, itk::AnyEvent)
std::vector< UndoStackItem * > UndoContainer
Represents a pair of operations: undo and the according redo.