Undoing and Redoing Actions
This section describes how to implement the undo/redo process with the IlvManagerCommand class.
To remember every action that your program user may apply to objects (and the objects as well), the manager creates specific instances of the IlvManagerCommand class, depending on what kind of action was required. The manager can then manipulate a stack of these commands. A request for ::unDo pops an item off the stack, and applies the inverse operation that created the popped item.
The IlvManager::repeat operation duplicates the topmost item of the command stack and executes the operation again.
This section is divided as follows: