![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "/Werk/devel/lumi/tests/stage/gen-node-location-query.hpp"
Test/Diagnostics: implementation of the LocationQuery-API based on a abstract topological structure given as Record<GenNode> ("GenNode tree").
Definition at line 90 of file gen-node-location-query.hpp.
Classes | |
| class | GenNodeNavigator |
| Helper to navigate a tree topology represented as GenNode tree. More... | |
Public Member Functions | |
| template<class REC > | |
| GenNodeLocationQuery (REC &&backingStructure) | |
| virtual Literal | determineAnchor (UICoord const &path) override |
| resolve Anchor against GenNode tree | |
| virtual size_t | determineCoverage (UICoord const &path) override |
| evaluate to what extent a UIcoord spec matches the structure given as GenNode tree | |
| virtual ChildIter | getChildren (UICoord const &path, size_t pos) override |
| get the sequence of child IDs at a designated position in the backing GenNode tree | |
Public Member Functions inherited from LocationQuery | |
| virtual | ~LocationQuery () |
| this is an interface | |
Private Member Functions | |
| Literal | getFirstWindow () |
| Literal | getCurrentWindow () |
| Literal | resolveElm (UICoord const &path, size_t depth) |
| Rec const & | drillDown (Rec const &tree, UICoord const &path, size_t maxDepth, size_t &depth) |
Static Private Member Functions | |
| static bool | hasNode (Rec const &tree, CStr pathElm, size_t depth) |
| does the guiding tree contain the element as requested by the UICoord path? | |
| static Rec const & | descendInto (Rec const &tree, size_t depth, CStr pathElm) |
within tree at level depth descend into the child element designated by pathElm | |
| static TreeStructureNavigator * | childNavigator (Rec const &node, size_t depth) |
| template<class IT > | |
| static TreeStructureNavigator * | buildNavigator (Rec const &node, size_t depth, IT &&rawIterator) |
type rebinding helper to pick up the concrete child iterator type IT | |
Private Attributes | |
| Rec | tree_ |
Additional Inherited Members | |
Public Types inherited from LocationQuery | |
| using | ChildIter = decltype(TreeStructureNavigator::buildIterator(0)) |
Static Public Attributes inherited from LocationQuery | |
| static lib::Depend< LocationQuery > | service |
| access point to global LocationQuery service implementation | |
|
inline |
Definition at line 97 of file gen-node-location-query.hpp.
resolve Anchor against GenNode tree
Implements LocationQuery.
Definition at line 106 of file gen-node-location-query.hpp.
References Symbol::BOTTOM, GenNodeLocationQuery::getCurrentWindow(), GenNodeLocationQuery::getFirstWindow(), UICoord::getWindow(), UICoord::isPresent(), GenNodeLocationQuery::tree_, stage::interact::UIC_CURRENT_WINDOW, stage::interact::UIC_FIRST_WINDOW, and stage::interact::UIC_WINDOW.
Referenced by GenNodeLocationQuery::resolveElm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
evaluate to what extent a UIcoord spec matches the structure given as GenNode tree
Implements LocationQuery.
Definition at line 122 of file gen-node-location-query.hpp.
References GenNodeLocationQuery::drillDown(), PathArray< chunk_size >::size(), and GenNodeLocationQuery::tree_.
Here is the call graph for this function:get the sequence of child IDs at a designated position in the backing GenNode tree
Implements LocationQuery.
Definition at line 131 of file gen-node-location-query.hpp.
References Symbol::BOTTOM, TreeStructureNavigator::buildIterator(), GenNodeLocationQuery::childNavigator(), GenNodeLocationQuery::drillDown(), PathArray< chunk_size >::size(), and GenNodeLocationQuery::tree_.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 150 of file gen-node-location-query.hpp.
References GenNodeLocationQuery::tree_.
Referenced by GenNodeLocationQuery::determineAnchor().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 155 of file gen-node-location-query.hpp.
References lib::pull_last(), and GenNodeLocationQuery::tree_.
Referenced by GenNodeLocationQuery::determineAnchor().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 161 of file gen-node-location-query.hpp.
References GenNodeLocationQuery::determineAnchor(), UICoord::isPresent(), and stage::interact::UIC_WINDOW.
Referenced by GenNodeLocationQuery::drillDown().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 170 of file gen-node-location-query.hpp.
References GenNodeLocationQuery::descendInto(), GenNodeLocationQuery::drillDown(), GenNodeLocationQuery::hasNode(), UICoord::isPresent(), and GenNodeLocationQuery::resolveElm().
Referenced by GenNodeLocationQuery::determineCoverage(), GenNodeLocationQuery::drillDown(), and GenNodeLocationQuery::getChildren().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
does the guiding tree contain the element as requested by the UICoord path?
level==UIC_PERSP (the second level), the perspective info is packed into the type meta attribute. This was done on purpose, to verify our design is able to handle such implementation intricacies, which we expect to encounter when navigating the widgets of a real-world UI toolkit set Definition at line 192 of file gen-node-location-query.hpp.
References stage::interact::UIC_PERSP.
Referenced by GenNodeLocationQuery::drillDown().
Here is the caller graph for this function:
|
inlinestaticprivate |
within tree at level depth descend into the child element designated by pathElm
Definition at line 200 of file gen-node-location-query.hpp.
References stage::interact::UIC_PERSP.
Referenced by GenNodeLocationQuery::drillDown(), and GenNodeLocationQuery::GenNodeNavigator< PAR >::expandChildren().
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 215 of file gen-node-location-query.hpp.
References GenNodeLocationQuery::buildNavigator(), and stage::interact::UIC_PERSP.
Referenced by GenNodeLocationQuery::GenNodeNavigator< PAR >::expandChildren(), and GenNodeLocationQuery::getChildren().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
type rebinding helper to pick up the concrete child iterator type IT
Definition at line 287 of file gen-node-location-query.hpp.
Referenced by GenNodeLocationQuery::childNavigator().
Here is the caller graph for this function:
|
private |
Definition at line 93 of file gen-node-location-query.hpp.
Referenced by GenNodeLocationQuery::determineAnchor(), GenNodeLocationQuery::determineCoverage(), GenNodeLocationQuery::getChildren(), GenNodeLocationQuery::getCurrentWindow(), and GenNodeLocationQuery::getFirstWindow().
Inheritance diagram for GenNodeLocationQuery:
Collaboration diagram for GenNodeLocationQuery: