pyface
pyface copied to clipboard
Potential Undo/Redo System Enhancements
This gives some ideas for enhanced capabilities coming from features of the wxPython and Qt undo/redo systems, or which seem obvious:
- [ ] make a context manager for
begin_macro
/end_macro
- [ ] convenience methods on
UndoManager
for creating undo and redo actions for that manager. - [ ] a way to mark a command as doing nothing (eg. because merges cancel each other out) and have it removed from the stack (like Qt's
isObsolete
) - [ ] some way of handling commands which cannot be undone and which can signal that prior history is to be removed (maybe)
- [ ] add length and index to the
ICommandStack
interface and possibly a way to access commands by external code - [ ] (possibly) shims for interoperation with toolkit-level undo/redo (eg. wrappers to make them conform to the Pyface API; or vice-versa to make the Pyface API implement the toolkit object API) to improve interoperability.