Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Access and allocation of UI component views.
Within the Lumiera UI, a component view is a building block to deal with some component of relevance to »the model«. As such, all component views exhibit some distinctive traits:
Implementation wise, there is a tight connection between the ViewLocator service, the Navigator service and the configuration how and where to create standard view elements (the "View-Spec DSL"). Several interactions require the UI to access or create some specific view widget by side-effect. And the logic how and where to create views can be quite intricate and is closely related to global, overarching topics of interaction design. Lumiera thus relies on a framework for default configuration, and a matching mechanism to determine the location and creation modes of such views. This matching mechanism in turn requires an abstracted view on the UI seen as a topological tree structure of relevant entities (windows, panels, views,...) – which is basically the service provided by the Navigator; yet this Navigator service can be abstracted into the stage::interact::LocationQuery API, and this abstraction allows to keep all the intricacies of navigating concrete UI widgets confined within the implementation of the Navigator service.
Definition in file view-locator.hpp.
#include "lib/depend-inject.hpp"
#include "stage/id-scheme.hpp"
#include "stage/interact/view-spec-dsl.hpp"
#include "stage/model/element-access.hpp"
#include "lib/idi/genfunc.hpp"
#include "lib/symbol.hpp"
#include "lib/nocopy.hpp"
#include <functional>
#include <string>
#include <memory>
Classes | |
class | ViewLocator |
Access or allocate a UI component view. More... | |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::ctrl | |
Backbone of the Lumiera GTK UI. | |
stage::interact | |
UI interaction control. | |