<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 19: Add Undo Support</title><link>https://sourceforge.net/p/gmodulo/feature-requests/19/</link><description>Recent changes to 19: Add Undo Support</description><atom:link href="https://sourceforge.net/p/gmodulo/feature-requests/19/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 09 Feb 2008 19:07:55 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/gmodulo/feature-requests/19/feed.rss" rel="self" type="application/rss+xml"/><item><title>Add Undo Support</title><link>https://sourceforge.net/p/gmodulo/feature-requests/19/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Undo Support is required for Gmodulo Console:&lt;/p&gt;
&lt;p&gt;Use cases:&lt;br /&gt;
----------&lt;br /&gt;
Peter loads a module. He wants to return to previous state.&lt;br /&gt;
Adam performs a set of operations. He commits all of them. Some steps ahead, he wants to return to previous state.&lt;/p&gt;
&lt;p&gt;Rationale:&lt;br /&gt;
----------&lt;br /&gt;
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.&lt;/p&gt;
&lt;p&gt;Implementation:&lt;/p&gt;
&lt;p&gt;GwOperation implements ECancellable, EProgressable&lt;/p&gt;
&lt;p&gt;GwActionUndoableEntry {&lt;br /&gt;
GtkAction action.&lt;br /&gt;
GCallback undo_callback&lt;br /&gt;
GwOperationProxy proxy &amp;gt;??&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;gw_action_undoable_get_redo_callback&lt;br /&gt;
gw_action_undoable_get_undo_callback&lt;br /&gt;
gw_action_undoable_get_operation_proxy&lt;/p&gt;
&lt;p&gt;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...&lt;/p&gt;
&lt;p&gt;move kudo-undoable to gmodulo-console&lt;br /&gt;
move kudo-undo-manager to gmodulo-console&lt;br /&gt;
move koto-undo-action? to gmodulo-console&lt;br /&gt;
move marlin-operation to gmodulo-console&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Carlos Martín</dc:creator><pubDate>Sat, 09 Feb 2008 19:07:55 -0000</pubDate><guid>https://sourceforge.net386cbe474c7332b525b784cb2d006c8196db2163</guid></item></channel></rss>