New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Undo and Redo Support #1182
Comments
RationaleGlobal UndoA shared undo/redo strategy was chosen because multiple diagrams may be interacting with the same AADL packages. In such cases, actions must be reversed in the order they were performed. Text Editor LimitationsUndo and redo behavior will be degraded when the text editor is open due to implementation challenges. The text documents have their own undo stacks. When the graphical editor edits such a model, the change is added to the document's stack. |
Implements #1182, #1199, and #1246. Replaces the current undo capability that is is very limited with an implementation that allow undoing and redoing a wider range of actions. Usage of the text editor can degrade capabilities. - Removed implementation of ICustomUndoRedoFeature. Graphiti undo/redo no longer needed - Removed ability to disable Graphiti modification listener. No longer necessary with new undo implementation. - Added undo support for add/remove element - Added undo support for ghosting - Added undo support for setDiagramConfiguration - Added ActionService, AgeAction, and ActionExecutor - Implemented global undo/redo stacks. - Reworked interface between AgeDiagram, GraphitiAgeDiagram, and AgeDiagramEditor to use AgeAction interface. - Undo/Redo actions for an editor are invalidated if the editor is closed. - Implemented switching to appropriate editor when undo/redo occurs. - Implemented Undo/Redo of model changes. - Updates DiagramExporterTest based on changes needed for the new action system and to fail on exception. - Added test for dirty state indicator.
* Undo/Redo rework. Implements #1182, #1199, and #1246. Replaces the current undo capability that is is very limited with an implementation that allow undoing and redoing a wider range of actions. Usage of the text editor can degrade capabilities. - Removed implementation of ICustomUndoRedoFeature. Graphiti undo/redo no longer needed - Removed ability to disable Graphiti modification listener. No longer necessary with new undo implementation. - Added undo support for add/remove element - Added undo support for ghosting - Added undo support for setDiagramConfiguration - Added ActionService, AgeAction, and ActionExecutor - Implemented global undo/redo stacks. - Reworked interface between AgeDiagram, GraphitiAgeDiagram, and AgeDiagramEditor to use AgeAction interface. - Undo/Redo actions for an editor are invalidated if the editor is closed. - Implemented switching to appropriate editor when undo/redo occurs. - Implemented Undo/Redo of model changes. - Updates DiagramExporterTest based on changes needed for the new action system and to fail on exception. - Added test for dirty state indicator. * Removed print statements from tests. * Activate editor on undo fixes.
Fixed in ebd75e1 |
Undo and redo support is currently very limited. It needs to be expanded to fix issues with the dirty state indicator and to allow undoing any operation as long the text editor isn't being used. If the text editor is being used, then undo support will be reduced.
Also include #1199
The text was updated successfully, but these errors were encountered: