[This is preliminary documentation and subject to change.]
Implements undo/redo services for object graphs that generate change notification events by means of the IChangeEventSource interface contract.
For a list of all members of this type, see UndoEngine Members.
System.Object
LaMarvin.ComponentModel.UndoEngine
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
The UndoEngine
class is associated with an object graph by setting the RootInstance property. After setting the property, the UndoEngine
instance listens to change notification events, records them in a form of a collection of ChangeUndoManager-derived instances and allows for undoing and/or redoing the changes upon request.
The UndoEngine
allows also grouping a set of individual changes to form one logical change by enclosing the set of changes within the BeginUndoGroup/CommitUndoGroup method calls.
Note The UndoEngine
itself doesn't understand how to undo/redo individual changes. Instead, it asks the ChangeEventArgs-derived event arguments to create a corresponding ChangeUndoManager instance, that is stored and subsequently used to undo/redo the change.
Namespace: LaMarvin.ComponentModel
Assembly: LaMarvin.Common (in LaMarvin.Common.dll)
UndoEngine Members | LaMarvin.ComponentModel Namespace