diff --git a/src/gui/interact/interaction-director.cpp b/src/gui/interact/interaction-director.cpp index ae8952582..01e083c10 100644 --- a/src/gui/interact/interaction-director.cpp +++ b/src/gui/interact/interaction-director.cpp @@ -109,7 +109,7 @@ namespace interact { void InteractionDirector::populateContent_afterStart() { - invoke (cmd::meta_activateContentDiff); + invoke (cmd::test_meta_activateContentDiff); ////////////////////////////////////////////TICKET #211 prefix test_ bypasses logging and immediately executes for now (2018) } diff --git a/src/proc/cmd.hpp b/src/proc/cmd.hpp index 1cd79359f..e23aec071 100644 --- a/src/proc/cmd.hpp +++ b/src/proc/cmd.hpp @@ -73,7 +73,7 @@ namespace cmd { /* ========= meta actions ======= */ - extern CommandSetup meta_activateContentDiff; + extern CommandSetup test_meta_activateContentDiff; ////////////////////////////////TICKET #211 prefix test_ bypasses logging and immediately executes for now (2018) extern CommandSetup meta_deactivateContentDiff; diff --git a/src/proc/cmd/meta-cmd.cpp b/src/proc/cmd/meta-cmd.cpp index cfcf7b4e0..199ca36d3 100644 --- a/src/proc/cmd/meta-cmd.cpp +++ b/src/proc/cmd/meta-cmd.cpp @@ -70,8 +70,9 @@ namespace cmd { * pushing appropriate diff messages upwards through the GuiNotification façade. * @note to UNDO this action means to waive the live-update state. In addition, * the session will push up a status change to mark the session-root as defunct. + * @todo used for preliminary integration testing ///////////////////////////////////////////TICKET #211 prefix test_ bypasses logging and immediately executes for now (2018) */ -COMMAND_DEFINITION (meta_activateContentDiff) +COMMAND_DEFINITION (test_meta_activateContentDiff) { def.operation ([]() { @@ -80,13 +81,45 @@ COMMAND_DEFINITION (meta_activateContentDiff) }) .captureUndo ([]() -> bool { - return false; + return false; ///////////////////////////////////////////////////////////TICKET #1153 : use status from service for live diff updates }) .undoOperation ([](bool wasActive) { if (not wasActive) { UNIMPLEMENTED ("send a status update diff into the root node, to mark it as defunct"); + TODO ("clear the life-update service within the session"); + } + }); + }; + + + /** instruct the session to start keeping the UI up-to-date through diff messages. + * @remarks we assume the UI is _empty_ when issuing this command. Thus the session + * will commence by sending a _population diff_, to reflect all the UI relevant + * structures currently present within the session data. Moreover, from that point + * on, any changes within the session structure and contents will be reflected by + * pushing appropriate diff messages upwards through the GuiNotification façade. + * @note to UNDO this action means to waive the live-update state. In addition, + * the session will push up a status change to mark the session-root as defunct. + */ +COMMAND_DEFINITION (meta_deactivateContentDiff) + { + def.operation ([]() + { + TODO ("send a status update diff into the root node, to mark it as defunct"); + TODO ("clear the life-update service within the session"); + }) + .captureUndo ([]() -> bool + { + return true; ///////////////////////////////////////////////////////////TICKET #1153 : use status from service for live diff updates + }) + .undoOperation ([](bool wasActive) + { + if (wasActive) + { + UNIMPLEMENTED ("send a diff update to completely clear the root node, then send a population diff with current session content"); + TODO ("activate life-update service within the session"); } }); }; diff --git a/src/proc/control/proc-dispatcher.cpp b/src/proc/control/proc-dispatcher.cpp index f63fd6415..8098da914 100644 --- a/src/proc/control/proc-dispatcher.cpp +++ b/src/proc/control/proc-dispatcher.cpp @@ -298,7 +298,7 @@ namespace control { } if (cmd) { - INFO (command, "+++ dispatch %s", util::cStr(cmd)); + INFO (command, "+++ dispatch %s", util::cStr(cmd)); ///////////////////////////////TICKET #211 actually use a command logging and execution strategy here //////////////////////////////////////////////////////TODO : magic to invoke commands from unit tests if (util::startsWith (string(cmd.getID()), "test")) diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 510748fc6..e82b58c68 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -15881,8 +15881,27 @@ - - + + + + + + + + + + + + + + + + + + + + + @@ -25809,7 +25828,7 @@ - + @@ -25818,7 +25837,7 @@ - + @@ -25877,7 +25896,7 @@ - + @@ -25886,7 +25905,7 @@ - + @@ -25931,8 +25950,8 @@ - - + + @@ -31693,6 +31712,30 @@ + + + + + + + + + + + + + + + + + + + + + + + +