Lumiera
0.pre.03
»edit your freedom«
|
UI interaction control.
Any overarching concerns of interaction patterns, selecting the subject, forming and binding of commands, management of focus and perspective, keybindings and gestures.
Namespaces |
Typedefs | |
using | Allocator = std::function< UICoord(UICoord)> |
Allocator is a functor to resolve a given, desired location of a view within the UI, resulting in creation or allocation of the view – which happens as side-effect. The result of this invocation are the UI coordinates of an existing or newly created view. | |
using | LocationQueryAccess = std::function< LocationQuery &()> |
using | Locator = std::function< UICoord(Literal)> |
Locator is a functor to resolve to a topological location in the UI-tree. More... | |
using | ViewSpec = LocatorSpec< UIC_VIEW > |
A specification to describe the desired location of a component view within the Lumiera UI. More... | |
Enumerations | |
enum | { UIC_INLINE_SIZE = 8 } |
enum | UIPathElm { UIC_WINDOW, UIC_PERSP, UIC_PANEL, UIC_VIEW, UIC_TAB, UIC_PATH } |
Classes | |
class | AllocSpec |
A specification to describe the strategy for allocating (placing, retrieving) a component view. More... | |
class | CmdContext |
Builder to define a binding to relate some entity or place within the UI with a specific from of interaction gesture or context dependent command invocation. More... | |
class | DragRelocateController |
Gesture controller for dragging objects within the Timeline display. More... | |
class | FocusTracker |
Helper to pick up typical focus/activity changes, for the purpose of keeping a coherent system of WorkSite locations and a global "Spot" of activity in sync with spontaneous jumps to some arbitrary widget within the UI. More... | |
class | GenNodeLocationQuery |
Test/Diagnostics: implementation of the LocationQuery-API based on a abstract topological structure given as Record<GenNode> ("GenNode tree"). More... | |
class | GestureObserver |
Collaboration interface for tracking the formation of a gesture. More... | |
class | GestureState |
Holder for InteractionState dedicated to UI gestures and complex interactions. More... | |
class | InactiveObserver |
»Null Object« when no gesture is being tracked currently. More... | |
class | InteractionDirector |
Top-level controller to establish a link between the model and transient user interaction state (focus, current window) More... | |
class | InteractionState |
Abstract foundation for context dependent UI interactions. More... | |
struct | LocationClause |
A single location specification to be matched and fulfilled. More... | |
class | LocationQuery |
Interface to discover a backing structure for the purpose of path navigation and resolution. More... | |
class | LocationRule |
A rule to determine some location by matching against the UI-tree. More... | |
class | LocatorSpec |
A specification to describe the desired location of a component view within the Lumiera UI. More... | |
class | Navigator |
Global cross-cutting navigation within user interface space. More... | |
class | SpotLocator |
Control and navigate the global centre of activity. More... | |
class | Subject |
Role-Interface: the Subject of Interaction. More... | |
class | TreeStructureNavigator |
Interface to locate and move within a tree shaped structure. More... | |
class | UICoord |
Describe a location within the UI through structural/topological coordinates. More... | |
class | UICoordResolver |
Query and mutate UICoord specifications in relation to actual UI topology. More... | |
class | UILocationSolver |
Service to determine the location of an UI component view. More... | |
class | ViewLocator |
Access or allocate a UI component view. More... | |
class | Wizard |
Global cross-cutting navigation in interface space, foundation to implement user assistance and context sensitive help. More... | |
class | WorkSite |
A clustering of information and bindings, related to a "location" where the user is about to do ongoing editing work. More... | |
class | WorkSiteTrail |
Establish and manage a history of recent work sites. More... | |
Functions | |
LocationRule | operator or (UICoord::Builder &&firstRule, UICoord secondRule) |
DSL operator to assemble a sequence of clauses. More... | |
LocationRule && | operator or (LocationRule &&ruleSet, UICoord furtherRule) |
Variables | |
const Symbol | UIC_CURRENT_WINDOW {"currentWindow"} |
window spec to refer to the current window More... | |
const Symbol | UIC_ELIDED {"."} |
indicate that a component is elided or irrelevant here | |
const Symbol | UIC_FIRST_WINDOW {"firstWindow"} |
window spec to refer to the first window of the application | |
Locator is a functor to resolve to a topological location in the UI-tree.
It takes a viewID as argument, which actually is more of a typeID to designate the kind of view or UI widget, which shall be attached at or retrieved from the location resolved through the LocationRule. The latter is essentially what is embedded within the Locator functor.
Definition at line 120 of file view-spec-dsl.hpp.
using ViewSpec = LocatorSpec<UIC_VIEW> |
A specification to describe the desired location of a component view within the Lumiera UI.
ViewSpec is basically a set of UI coordinates, with the additional possibility of specifying several alternatives, with the intention to pick the first applicable one.
Definition at line 168 of file view-spec-dsl.hpp.
|
inline |
DSL operator to assemble a sequence of clauses.
Introduced solely for the purpose of writing location specifications within the ViewSpec-DSL, this operator acts on several UI-Coordinate specs to create a sequence of clauses, to be checked against the currently existing UI topology, in the given order, ranging from more specific to more general patterns.
Definition at line 188 of file ui-location-solver.hpp.
const Symbol UIC_CURRENT_WINDOW {"currentWindow"} |
window spec to refer to the current window
Definition at line 71 of file view-locator.cpp.