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 themerge
method. When two commands are merged, undoing and redoing them are done in a single step. - Configurable display formatting is provided when the
display
feature is enabled. - Time stamps and time travel is provided when the
chrono
feature 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. |