Namespace NanoByte.Common.Undo
Undo system based on the Command pattern.
Classes
- AddToCollection
Factory methods for AddToCollection<T>.
- AddToCollection<T>
An undo command that adds an element to a collection.
- CollectionCommand<T>
An undo command that adds or removes an element from a collection.
- CommandCollector
Executes IUndoCommands and collects them into a CompositeCommand allowing a combined undo later on.
- CommandManager
Factory methods for ICommandManager<T>.
- CommandManager<T>
Executes IUndoCommands for editing a specific object and allows undo/redo operations.
- CompositeCommand
Combines multiple IUndoCommands into a single atomic transaction.
- ConcurrentCommandExecutor
Decorator for ICommandExecutor that adds locking for thread-safety.
- FirstExecuteCommand
An undo command that does something different on the first call to Execute() than on subsequent redo calls.
- MultiPropertyChangedCommand
An undo command that handles multiple changed properties - usually used with a PropertyGrid.
- MultiPropertyTracker
Tracks values in PropertyGrids in order to be able to generate MultiPropertyChangedCommands after a property was changed.
- PreExecutedCommand
An undo command that does nothing on the first Execute() call, because the action was already performed beforehand
- PreExecutedCompositeCommand
Combines multiple already executed IUndoCommands into a single atomic transaction.
- PropertyChangedCommand
An undo command that handles a changed property - usually used with a PropertyGrid.
- RemoveFromCollection
Factory methods for RemoveFromCollection<T>.
- RemoveFromCollection<T>
An undo command that removes an element from a collection.
- ReplaceInList
Factory methods for ReplaceInList<T>.
- ReplaceInList<T>
An undo command that replaces an element in a list with a new one.
- SetInList
Factory methods for SetInList<T>.
- SetInList<T>
Replaces an entry in a IList<T> with a new one.
- SetLocalizableString
An undo command that sets a LocalizableString in a LocalizableStringCollection.
- SetValueCommand
Factory methods for SetValueCommand<T>.
- SetValueCommand<T>
An undo command that uses a delegates for getting and setting values from a backing model.
- SimpleCommand
An undo command that automatically tracks when Execute() and Undo() can be called.
- SimpleCommandExecutor
Executes IUndoCommands without any additional handling.
Interfaces
- ICommandExecutor
Executes IUndoCommands.
- ICommandManager<T>
Executes IUndoCommands for editing a specific object and allows undo/redo operations.
- IUndoCommand
A executable command with an undo function.
- IValueCommand
A command that exposes the value it will set.