It is possible in Lucy to make the effect of certain actions reversible. For instance, when a user graphically changes a shape,
we want to allow that this change is undone, and the original shape is restored. Lucy provides support for this concept. This
support is based on the LuciadLightspeed functionality centering around the
ILcdUndoableListener interfaces and the
TLcdUndoManager is available in the Lucy Environment and can be retrieved with the method
getUndoManager of the
TLcdUndoManager implements the
ILcdUndoableListener and as such can be registered with any source of undoables. Typically, this source will be an
ILcdAction. For example, an
ILcdAction could delete an object from a model. To make this action reversible, it must create an
ILcdUndoable that adds the object again when its
undo method is invoked. The action should also notify its
ILcdUndoableListener instances, typically the
TLcdUndoManager, that a new undoable is available.
For more information about the LuciadLightspeed functionality regarding undoable actions, see Adding undo/redo support and Adding undo/redo support in GXY views.