Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Interface to discover and access raw UI elements in a cross cutting way.
We have several orthogonal identification and access schemes within the UI. A naively written UI application just attaches the core logic below some widgets and controllers – not only does this lead to a hard to maintain codebase, this approach is even outright impossible for Lumiera, since the core is able to run standalone and the UI is loaded as plug-in, which places us into the situation to connect a self contained core with a self contained UI. This is a binding, which, as a sideline, also generates a control structure of its own. And another kind of generic access happens when we navigate the topological UI structure for focus management.
This interface defines an abstract service to translate a generic element designation into a (C++ language level) access to internal structures of the UI toolkit (GTK in our case). This access to low-level structures proceeds in two stages:
Definition in file element-access.hpp.
#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "lib/result.hpp"
#include "include/limits.hpp"
#include "lib/variant.hpp"
#include "lib/meta/typelist-manip.hpp"
#include "lib/access-casted.hpp"
#include "stage/interact/ui-coord.hpp"
#include <string>
Classes | |
class | ElementAccess |
Interface: access UI elements by navigating the UI topology. More... | |
struct | ElementAccess::TypeConverter< TAR > |
struct | ElementAccess::TypeConverter< TAR > |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::model | |
The Lumiera GTK-GUI uses a thin proxy layer data model on top of the actual "high-level-model", which lives in the Steam-Layer below. | |