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)
5  2017, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
44 #ifndef STAGE_CTRL_GLOBAL_CTX_H
45 #define STAGE_CTRL_GLOBAL_CTX_H
46 
47 #include "stage/gtk-base.hpp"
48 #include "stage/ui-bus.hpp"
53 #include "lib/nocopy.hpp"
54 
55 
56 namespace stage {
57 namespace ctrl {
58 
59  using interact::InteractionDirector;
60 
61 
70  class GlobalCtx
72  {
73 
74  public:
75  UiBus& uiBus_;
76  UiManager& uiManager_;
77 
78  WindowLocator windowLoc_;
79  InteractionDirector director_;
80  interact::Wizard wizard_;
81 
82 
83  public:
87  GlobalCtx (UiBus& bus, UiManager& manager)
88  : uiBus_{bus}
89  , uiManager_{manager}
90  , windowLoc_{*this}
91  , director_{*this}
92  , wizard_{*this}
93  { }
94 
95  private:
96  };
97 
98 
99 
100 }}// namespace stage::ctrl
101 #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:37
Global cross-cutting navigation in interface space, foundation to implement user assistance and conte...
Definition: wizard.hpp:76
Backbone of the Lumiera GTK GUI.
Definition: ui-bus.hpp:150
GlobalCtx(UiBus &bus, UiManager &manager)
Establish the top-level UI context of the Lumiera user interface.
Definition: global-ctx.hpp:87
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:37
Manager for all top level application windows.
The Lumiera UI framework and backbone object.
Definition: ui-manager.hpp:88
A centralised manager of all top level application windows.
A global circle of top-level UI management facilities.
Definition: global-ctx.hpp:70
A set of basic GTK includes for the UI.