Lumiera  0.pre.03
»edit your freedom«
elem-access-dir.hpp
Go to the documentation of this file.
1 /*
2  ELEM-ACCESS-DIR.hpp - service to access generic elements in the UI
3 
4  Copyright (C) Lumiera.org
5  2018, 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 
41 #ifndef STAGE_CTRL_ELEM_ACCESS_DIR_H
42 #define STAGE_CTRL_ELEM_ACCESS_DIR_H
43 
44 
45 #include "lib/error.hpp"
49 //#include "lib/symbol.hpp"
50 //#include "lib/util.hpp"
51 
52 //#include <string>
53 
54 
55 
56 namespace stage {
57 namespace ctrl{
58 
59 // using util::isnil;
60 // using std::string;
61  using interact::UICoord;
62 
63 
69  : public model::ElementAccess
70  {
71  WindowLocator& windowLoc_;
72  PanelLocator& panelLoc_;
73 
74  public:
75  explicit
76  ElemAccessDir (WindowLocator& windowLocatorService, PanelLocator& panelLocatorService)
77  : windowLoc_{windowLocatorService}
78  , panelLoc_{panelLocatorService}
79  { }
80 
81 
82 
83  /* == ElementAccess interface == */
84 
85  RawResult
86  performAccessTo (UICoord::Builder & target, size_t limitCreation) override
87  {
88  UNIMPLEMENTED ("implementation of access function based on real UI widgets");
89  }
90 
91 
92 #if false
93  if (isDeaf())
94  this->transmogrify (solution);
95 #endif
96 
97 
98  protected:
99  };
100 
101 
102 
103 
104 
105 
113 }} // namespace stage::ctrl
114 #endif /*STAGE_CTRL_ELEM_ACCESS_DIR_H*/
Typesafe union record.
Definition: variant.hpp:224
Interface: access UI elements by navigating the UI topology.
Interface to discover and access raw UI elements in a cross cutting way.
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:46
Access and query front-end to locate, access and place docking panels.
Manager for all top level application windows.
Lumiera error handling (C++ interface).
RawResult performAccessTo(UICoord::Builder &target, size_t limitCreation) override
A centralised manager of all top level application windows.
Low-level service to navigate the internals of the Lumiera GTK UI.
Service to access, locate or place panels within top-level windows Access- and query front-end to the...