![]() |
Lumiera 0.pre.04
»edit your freedom«
|
Implementation of the stage::interact::LocationQuery interface to work on a GenNode tree. More...
Go to the source code of this file.
Implementation of the stage::interact::LocationQuery interface to work on a GenNode tree.
The interface allows to pose queries against a concrete structure to verify and reshape some UI Coordinate specification; basically it offers methods to navigate within a tree-like structure. While in the actual implementation, such a query interface would be backed by navigating real UI structures, the implementation given here instead uses a generic tree structure given as Record<GenNode>.
While basically the interface LocationQuery abstracts and reduces the structure of an UI into just some hierarchically arranged and nested IDs, we should note some specific twists how a GenNode tree is used here to represent the structure elements as defined through UI coordinates:
set(key, val) builder function, and for each nested scope, we start a new nested builder with MakeRec().since GenNodeLocationQuery is conceived for writing test and verification code, there is a special convention to set the currentWindow to be the last one in list – in a real UI this would not of course not be a configurable property of the LocationQuery, and rather just reflect the transient window state and return the currently activated window
Definition in file gen-node-location-query.hpp.
#include "lib/error.hpp"#include "lib/symbol.hpp"#include "stage/interact/ui-coord-resolver.hpp"#include "lib/diff/gen-node.hpp"#include "lib/format-string.hpp"#include "lib/iter-explorer.hpp"#include "lib/iter-source.hpp"#include "lib/itertools.hpp"#include "lib/util.hpp"#include <utility>#include <string>Namespaces | |
| namespace | stage |
| Lumiera GTK UI implementation root. | |
| namespace | stage::interact |
| UI interaction control. | |
Classes | |
| class | GenNodeLocationQuery |
| Test/Diagnostics: implementation of the LocationQuery-API based on a abstract topological structure given as Record<GenNode> ("GenNode tree"). More... | |
| class | GenNodeLocationQuery::GenNodeNavigator< PAR > |
| Helper to navigate a tree topology represented as GenNode tree. More... | |