UI-top-level: include global help controller ("wizzard")

This commit is contained in:
Fischlurch 2017-03-02 23:49:23 +01:00
parent 8d27585976
commit 41ea59176c
5 changed files with 198 additions and 10 deletions

View file

@ -41,8 +41,7 @@
** - the UiManager
** - the InteractionDirector
** - the WindowList
** - the HelpController
** - the Wizzard
** - the Wizard
**
** @see gtk-lumiera.hpp
** @see ui-bus.hpp
@ -58,6 +57,7 @@
#include "gui/ui-bus.hpp"
#include "gui/ctrl/ui-manager.hpp"
#include "gui/ctrl/window-list.hpp"
#include "gui/interact/wizard.hpp"
#include "gui/interact/interaction-director.hpp"
#include <boost/noncopyable.hpp>
@ -89,6 +89,7 @@ namespace ctrl {
WindowList windowList_;
InteractionDirector director_;
interact::Wizard wizard_;
public:
@ -100,6 +101,7 @@ namespace ctrl {
, uiManager_{manager}
, windowList_{*this}
, director_{*this}
, wizard_{*this}
{ }
private:

View file

@ -26,7 +26,7 @@
** Beyond just clicking on some buttons or issuing menu / key commands,
** the Lumiera interface allows the user to _move_ through interface space,
** to leave one _"place"_ (WorkSite) and enter another. The interact::Navigator
** is a controller entity to implement the necessary mechanics for this navication.
** is a controller entity to implement the necessary mechanics for this navigation.
**
** @todo WIP 2/2017 early draft / foundations of "interaction control"
**

View file

@ -0,0 +1,61 @@
/*
Wizard - controller user help and assistance
Copyright (C) Lumiera.org
2017, Hermann Vosseler <Ichthyostega@web.de>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
/** @file wizard.cpp
** Implementation of the global help controller to show the user manual.
**
** @todo WIP 3/2017 early draft of the UI top-level controllers
*/
//#include "gui/gtk-lumiera.hpp"
#include "gui/interact/wizard.hpp"
#include "gui/interact/spot-locator.hpp"
#include "gui/ctrl/global-ctx.hpp"
//#include "lib/util.hpp"
//using util::cStr;
//using util::isnil;
namespace gui {
namespace interact {
using ctrl::GlobalCtx;
// dtors via smart-ptr invoked from here... (TODO any to come here?)
Wizard::~Wizard()
{ }
Wizard::Wizard (GlobalCtx& globals)
: globalCtx_{globals}
{ }
/** */
}}// namespace gui::interact

View file

@ -0,0 +1,87 @@
/*
WIZARD.hpp - controller user help and assistance
Copyright (C) Lumiera.org
2017, Hermann Vosseler <Ichthyostega@web.de>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file wizard.hpp
** Global help controller.
** The Wizard is a global controller to handle launching the user help,
** context sensitive help and further user assistance and support UI.
** @remark User help is planned to rely on the [UserManual], possibly
** using an embedded browser control or an installed local copy
** of the manual.
** @todo The infrastructure for context sensitive help needs to be defined
**
** [UserManual]: http://www.lumiera.org/documentation/user/manual.html "»User Manual«"
**
** @todo WIP 3/2017 early draft of the UI top-level controllers
**
** @see interaction-director.hpp
** @see actions.hpp
*/
#ifndef GUI_INTERACT_WIZARD_H
#define GUI_INTERACT_WIZARD_H
#include "gui/gtk-base.hpp"
#include <boost/noncopyable.hpp>
//#include <string>
//#include <memory>
namespace gui {
namespace ctrl {
class GlobalCtx;
}
namespace interact {
// using std::unique_ptr;
// using std::string;
// class GlobalCtx;
// class SpotLocator;
/**
* Global cross-cutting navigation in interface space
*
* @todo initial draft as of 2/2017 -- actual implementation has to be filled in
*/
class Wizard
: boost::noncopyable
{
ctrl::GlobalCtx& globalCtx_;
public:
Wizard (ctrl::GlobalCtx&);
~Wizard ();
private:
};
}}// namespace gui::interact
#endif /*GUI_INTERACT_WIZARD_H*/

View file

@ -2004,11 +2004,20 @@
<node CREATED="1488423740012" ID="ID_874330545" MODIFIED="1488423745791" TEXT="Lifecycle-Aktionen">
<node CREATED="1488423747187" ID="ID_1351717245" MODIFIED="1488423755766" TEXT="UI schlie&#xdf;en"/>
</node>
<node CREATED="1488423714584" ID="ID_1439137871" MODIFIED="1488423718947" TEXT="Session-Aktionen">
<node CREATED="1488423714584" ID="ID_1439137871" MODIFIED="1488494885123" TEXT="Session-Aktionen">
<icon BUILTIN="button_ok"/>
<node CREATED="1488423760105" ID="ID_1527724040" MODIFIED="1488423762709" TEXT="Speichern">
<node CREATED="1488492373919" ID="ID_1898515568" MODIFIED="1488492382545" TEXT="snapshot-Kommando an Session senden"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1488494870418" ID="ID_1929432332" MODIFIED="1488494879041" TEXT="TODO: InvocationTrail">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node CREATED="1488423763585" ID="ID_968726788" MODIFIED="1488423768988" TEXT="Schlie&#xdf;en"/>
<node CREATED="1488494907118" ID="ID_1932633471" MODIFIED="1488494915320" TEXT="Speichern-Als">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1488494891600" ID="ID_1996245412" MODIFIED="1488494900886" TEXT="Session-Setup-UI schaffen">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node CREATED="1488492153109" ID="ID_1243726860" MODIFIED="1488492163565">
<richcontent TYPE="NODE"><html>
<head>
@ -2053,12 +2062,13 @@
</node>
</node>
</node>
<node CREATED="1485909456513" ID="ID_576215675" MODIFIED="1485909490512" TEXT="top-level-Verdrahtung">
<node CREATED="1485909456513" HGAP="55" ID="ID_576215675" MODIFIED="1488494847859" TEXT="top-level-Verdrahtung" VSHIFT="1">
<arrowlink COLOR="#8c95b2" DESTINATION="ID_36527267" ENDARROW="Default" ENDINCLINATION="129;-562;" ID="Arrow_ID_1284182756" STARTARROW="None" STARTINCLINATION="948;154;"/>
<node CREATED="1485909560027" ID="ID_1949656657" MODIFIED="1487039010986" TEXT="baut den UI-Rahen auf"/>
<node CREATED="1485909491412" ID="ID_1205077540" MODIFIED="1487039041806" TEXT="macht die Applikation betriebsbereit">
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1486942467620" FOLDED="true" HGAP="151" ID="ID_1761000392" MODIFIED="1488423342659" TEXT="Alternativen" VSHIFT="14">
<node CREATED="1486942467620" FOLDED="true" HGAP="151" ID="ID_1761000392" MODIFIED="1488494806427" TEXT="Alternativen" VSHIFT="14">
<icon BUILTIN="help"/>
<node CREATED="1486942493208" FOLDED="true" ID="ID_805305597" MODIFIED="1488423342542" TEXT="alles via InteractionDirector">
<icon BUILTIN="button_cancel"/>
@ -2091,10 +2101,10 @@
<node CREATED="1487034078974" ID="ID_796487731" MODIFIED="1487034094280" TEXT="verletzt das single responsibility pattern"/>
</node>
</node>
<node CREATED="1486942523724" FOLDED="true" ID="ID_843953045" MODIFIED="1488423342542" TEXT="globalen Kontext einf&#xfc;hren">
<node CREATED="1486942523724" ID="ID_843953045" MODIFIED="1488492879681" TEXT="globalen Kontext einf&#xfc;hren">
<icon BUILTIN="button_ok"/>
<node CREATED="1486942614400" ID="ID_872912875" MODIFIED="1486942627890" TEXT="Action-Definition &quot;wei&#xdf;&quot; wer das konkret machen kann"/>
<node CREATED="1486943522965" FOLDED="true" ID="ID_244569580" MODIFIED="1488423308109" TEXT="konkret...">
<node CREATED="1486943522965" ID="ID_244569580" MODIFIED="1488492879682" TEXT="konkret...">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<node CREATED="1486943529763" FOLDED="true" ID="ID_186058004" MODIFIED="1488423308094" TEXT="WindowList">
<node CREATED="1486943536354" ID="ID_1414688651" MODIFIED="1486943539365" TEXT="neues Fenster"/>
@ -2117,7 +2127,7 @@
<node CREATED="1486943854214" ID="ID_382166589" MODIFIED="1486943901435" TEXT="new Viewer"/>
</node>
</node>
<node CREATED="1486943969999" FOLDED="true" ID="ID_499822898" MODIFIED="1488423308094" TEXT="Meta-Belange">
<node CREATED="1486943969999" ID="ID_499822898" MODIFIED="1488492879682" TEXT="Meta-Belange">
<node CREATED="1486943974590" ID="ID_233678784" MODIFIED="1486943976585" TEXT="Hilfe"/>
<node CREATED="1486944977005" ID="ID_1548991554" MODIFIED="1486944985992" TEXT="Wizzards"/>
<node CREATED="1486943976942" FOLDED="true" ID="ID_1215823743" MODIFIED="1488423308076" TEXT="Navigation">
@ -2134,7 +2144,7 @@
<node CREATED="1486942583053" ID="ID_1367249768" MODIFIED="1486942592343" TEXT="...und das w&#xe4;re der InteractionDirector"/>
</node>
</node>
<node CREATED="1487034156380" FOLDED="true" HGAP="27" ID="ID_1632778987" MODIFIED="1488423342659" TEXT="globaler Kontext" VSHIFT="30">
<node CREATED="1487034156380" FOLDED="true" HGAP="29" ID="ID_1632778987" MODIFIED="1488494816719" TEXT="globaler Kontext" VSHIFT="11">
<icon BUILTIN="yes"/>
<node CREATED="1487034162275" ID="ID_28375182" MODIFIED="1487034171926" TEXT="wenige, eng zusammenarbeitende Objekte"/>
<node CREATED="1487034172393" ID="ID_1167812745" MODIFIED="1487034180237" TEXT="...von denen doch jedes seine Aufgabe hat"/>
@ -2417,6 +2427,34 @@
<icon BUILTIN="flag-yellow"/>
<node CREATED="1485555999110" ID="ID_376092703" MODIFIED="1485556008921" TEXT="top-level macht GtkLumiera im ctor"/>
<node CREATED="1485556011260" ID="ID_1618308499" MODIFIED="1485556026758" TEXT="backlink zum Manager"/>
<node CREATED="1486943522965" ID="ID_36527267" MODIFIED="1488494847859" TEXT="top-level-Kontext">
<linktarget COLOR="#8c95b2" DESTINATION="ID_36527267" ENDARROW="Default" ENDINCLINATION="129;-562;" ID="Arrow_ID_1284182756" SOURCE="ID_576215675" STARTARROW="None" STARTINCLINATION="948;154;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<node CREATED="1488494592496" ID="ID_1586259377" MODIFIED="1488494596905" TEXT="UI-Bus"/>
<node CREATED="1488494579346" ID="ID_1182508289" MODIFIED="1488494603368" TEXT="UiManager"/>
<node CREATED="1486943529763" ID="ID_1188971928" MODIFIED="1488494606592" TEXT="WindowList"/>
<node CREATED="1486943607120" ID="ID_1101577688" MODIFIED="1488494613248" TEXT="InteractionDirector">
<node CREATED="1486943922541" ID="ID_646168152" MODIFIED="1488494623320" TEXT="Entspricht Model Root"/>
<node CREATED="1486943614039" ID="ID_1354424043" MODIFIED="1488494631023" TEXT="AssetController"/>
<node CREATED="1486943634229" FOLDED="true" ID="ID_1217772313" MODIFIED="1488494640070" TEXT="Kinder: Timelines">
<node CREATED="1486943640004" ID="ID_1237613626" MODIFIED="1486943642783" TEXT="Preferences"/>
<node CREATED="1486943643179" ID="ID_463409583" MODIFIED="1486943645031" TEXT="Assets"/>
<node CREATED="1486943645554" ID="ID_1803125679" MODIFIED="1486943647095" TEXT="Timeline"/>
</node>
<node CREATED="1488494646129" HGAP="34" ID="ID_1817005014" MODIFIED="1488494658528" TEXT="InteractionControl" VSHIFT="11">
<icon BUILTIN="forward"/>
<node CREATED="1488494665798" ID="ID_1228864928" MODIFIED="1488494689255" TEXT="SpotLocator"/>
<node CREATED="1488494689843" ID="ID_1519420241" MODIFIED="1488494692239" TEXT="Navigator"/>
<node CREATED="1488494692802" ID="ID_1706374538" MODIFIED="1488494696246" TEXT="FocusTracker"/>
</node>
</node>
<node CREATED="1486943969999" ID="ID_1823284637" MODIFIED="1488494766061" TEXT="Wizzard">
<node CREATED="1486943974590" ID="ID_1603501979" MODIFIED="1488494780491" TEXT="Hilfe (Website?)"/>
<node CREATED="1486944977005" ID="ID_811162889" MODIFIED="1488494773740" TEXT="kontextsensitive Hilfe"/>
<node CREATED="1488494783190" ID="ID_1886731977" MODIFIED="1488494785274" TEXT="Assistenten"/>
<node CREATED="1488494785774" ID="ID_167814846" MODIFIED="1488494786770" TEXT="About"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1488422770096" ID="ID_286551569" MODIFIED="1488422863517" TEXT="#1085 solve setup of top-level menu actions">
<icon BUILTIN="flag-yellow"/>
</node>