Crate undo[−][src]
Provides undo-redo functionality with dynamic dispatch and automatic command merging.
- Record provides a stack based undo-redo functionality.
- History provides a tree based undo-redo functionality that allows you to jump between different branches.
- Queue wraps a Record or History and provides batch queue functionality.
- Checkpoint wraps a Record or History and provides checkpoint functionality.
- Commands can be merged using the
merge!macro or themergemethod. When two commands are merged, undoing and redoing them are done in a single step. - Configurable display formatting is provided when the
displayfeature is enabled. - Time stamps and time travel is provided when the
chronofeature is enabled.
Macros
| merge |
Macro for merging commands. |
Structs
| Checkpoint |
A checkpoint wrapper. |
| Error |
An error which holds the command that caused it. |
| History |
A history of commands. |
| HistoryBuilder |
Builder for a History. |
| Merged |
The result of merging two commands. |
| Queue |
A command queue wrapper. |
| Record |
A record of commands. |
| RecordBuilder |
Builder for a record. |
Enums
| Merge |
Says if the command should merge with another command. |
| Signal |
The signal sent when the record, the history, or the receiver changes. |
Traits
| Command |
Base functionality for all commands. |