Lumiera  0.pre.03
»edit your freedom«
global-ctx.hpp
Go to the documentation of this file.
1 /*
2  GLOBAL-CTX.hpp - Context of global UI top-level entities
3 
4  Copyright (C) Lumiera.org
5  2017, Hermann Vosseler <Ichthyostega@web.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 */
22 
23 
53 #ifndef STAGE_CTRL_GLOBAL_CTX_H
54 #define STAGE_CTRL_GLOBAL_CTX_H
55 
56 #include "stage/gtk-base.hpp"
57 #include "stage/ui-bus.hpp"
62 #include "lib/nocopy.hpp"
63 
64 
65 namespace stage {
66 namespace ctrl {
67 
68  using interact::InteractionDirector;
69 
70 
79  class GlobalCtx
81  {
82 
83  public:
84  UiBus& uiBus_;
85  UiManager& uiManager_;
86 
87  WindowLocator windowLoc_;
88  InteractionDirector director_;
89  interact::Wizard wizard_;
90 
91 
92  public:
96  GlobalCtx (UiBus& bus, UiManager& manager)
97  : uiBus_{bus}
98  , uiManager_{manager}
99  , windowLoc_{*this}
100  , director_{*this}
101  , wizard_{*this}
102  { }
103 
104  private:
105  };
106 
107 
108 
109 }}// namespace stage::ctrl
110 #endif /*STAGE_CTRL_GLOBAL_CTX_H*/
Global help controller.
Under construction: the top level UI controller.
Any copy and copy construction prohibited.
Definition: nocopy.hpp:46
Global cross-cutting navigation in interface space, foundation to implement user assistance and conte...
Definition: wizard.hpp:85
Backbone of the Lumiera GTK GUI.
Definition: ui-bus.hpp:159
GlobalCtx(UiBus &bus, UiManager &manager)
Establish the top-level UI context of the Lumiera user interface.
Definition: global-ctx.hpp:96
The top-level controller to connect model and user interaction state.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Top-level controller to establish a link between the model and transient user interaction state (focu...
Manager for global user interface concerns, framework integration and global state.
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:46
Manager for all top level application windows.
The Lumiera UI framework and backbone object.
Definition: ui-manager.hpp:97
A centralised manager of all top level application windows.
A global circle of top-level UI management facilities.
Definition: global-ctx.hpp:79
A set of basic GTK includes for the UI.