pyface icon indicating copy to clipboard operation
pyface copied to clipboard

Potential Undo/Redo System Enhancements

Open corranwebster opened this issue 3 years ago • 0 comments

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.

corranwebster avatar Feb 06 '21 20:02 corranwebster