Menu

#19 Add Undo Support

Undefined
open
5
2008-02-09
2008-02-09
No

Undo Support is required for Gmodulo Console:

Use cases:
----------
Peter loads a module. He wants to return to previous state.
Adam performs a set of operations. He commits all of them. Some steps ahead, he wants to return to previous state.

Rationale:
----------
Gmodulo COnsole undo system must operate over instant commads, and also over transaction commands. Transaction commands, or set of commands are a all or nothing approach. If some of the commands performed over are not undoable, then, all transaction will be set as undoable.

Implementation:

GwOperation implements ECancellable, EProgressable

GwActionUndoableEntry {
GtkAction action.
GCallback undo_callback
GwOperationProxy proxy >??
}

gw_action_undoable_get_redo_callback
gw_action_undoable_get_undo_callback
gw_action_undoable_get_operation_proxy

Internaly, action_activate, calls GwUndoManager and create a GwUndoable object and set undo, redo values for it, an all required data tu support undo. After that, if ShellOperationMode is transaction...

move kudo-undoable to gmodulo-console
move kudo-undo-manager to gmodulo-console
move koto-undo-action? to gmodulo-console
move marlin-operation to gmodulo-console

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.