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 the
mergemethod. 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.
Macro for merging commands.
A checkpoint wrapper.
An error which holds the command that caused it.
A history of commands.
Builder for a History.
The result of merging two commands.
A command queue wrapper.
A record of commands.
Builder for a record.
Says if the command should merge with another command.
The signal sent when the record, the history, or the receiver changes.
Base functionality for all commands.