Lumiera  0.pre.03
»edit your freedom«
navigator.hpp
Go to the documentation of this file.
1 /*
2  NAVIGATOR.hpp - controller for global navigation through interface space
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 
29 #ifndef STAGE_INTERACT_NAVIGATOR_H
30 #define STAGE_INTERACT_NAVIGATOR_H
31 
32 #include "stage/gtk-base.hpp"
34 #include "lib/nocopy.hpp"
35 
36 //#include <string>
37 //#include <memory>
38 
39 
40 namespace stage {
41 namespace interact {
42 
43 // using std::unique_ptr;
44 // using std::string;
45 
46 // class GlobalCtx;
47  class SpotLocator;
48  class ViewLocator;
49 
50 
51 
58  class Navigator
59  : public LocationQuery
61  {
62  SpotLocator& spotLocator_;
63  ViewLocator& viewLocator_;
64 
65  public:
67  ~Navigator ();
68 
69  /* === LocationQuery API === */
70  Literal determineAnchor (UICoord const& path) override final;
71  size_t determineCoverage (UICoord const& path) override final;
72  ChildIter getChildren (UICoord const& path, size_t pos) override final;
73 
74  private:
75 
76  };
77 
78 
79 
80 }}// namespace stage::interact
81 #endif /*STAGE_INTERACT_NAVIGATOR_H*/
Access or allocate a UI component view.
Describe a location within the UI through structural/topological coordinates.
Definition: ui-coord.hpp:129
ChildIter getChildren(UICoord const &path, size_t pos) override final
get the sequence of child components at a designated position in the actual UI
Definition: navigator.cpp:70
Any copy and copy construction prohibited.
Definition: nocopy.hpp:37
inline string literal This is a marker type to indicate that
Definition: symbol.hpp:76
size_t determineCoverage(UICoord const &path) override final
evaluate to what extent a UIcoord spec matches the actual UI
Definition: navigator.cpp:63
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Literal determineAnchor(UICoord const &path) override final
make the real anchor point explicit.
Definition: navigator.cpp:56
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
Control and navigate the global centre of activity.
Interface to discover a backing structure for the purpose of path navigation and resolution.
Evaluation of UI coordinates against a concrete window topology.
A set of basic GTK includes for the UI.
Global cross-cutting navigation within user interface space.
Definition: navigator.hpp:58