![]() |
Lumiera 0.pre.04
»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 | |
| namespace | anonymous_namespace{cmd-context.cpp} |
| namespace | anonymous_namespace{drag-relocate-controller.hpp} |
| namespace | anonymous_namespace{gesture-state.cpp} |
| namespace | anonymous_namespace{interaction-director.cpp} |
| namespace | anonymous_namespace{interaction-state.cpp} |
| namespace | anonymous_namespace{ui-coord-resolver.cpp} |
| namespace | test |
Typedefs | |
| 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. | |
| using | ViewSpec = LocatorSpec< UIC_VIEW > |
| A specification to describe the desired location of a component view within the Lumiera UI. | |
| using | Allocator = std::function< UICoord(UICoord)> |
| Allocator is a functor to resolve a given, desired location of a view within the UI. | |
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. | |
| LocationRule && | operator or (LocationRule &&ruleSet, UICoord furtherRule) |
Variables | |
| const Symbol | UIC_CURRENT_WINDOW {"currentWindow"} |
| window spec to refer to the current window | |
| const Symbol | UIC_FIRST_WINDOW {"firstWindow"} |
| window spec to refer to the first window of the application | |
| const Symbol | UIC_ELIDED {"."} |
| indicate that a component is elided or irrelevant here | |
| using LocationQueryAccess = std::function<LocationQuery&()> |
Definition at line 85 of file ui-location-solver.hpp.
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.
Allocator is a functor to resolve a given, desired location of a view within the UI.
Invocation results 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.
Definition at line 176 of file view-spec-dsl.hpp.
| anonymous enum |
| Enumerator | |
|---|---|
| UIC_INLINE_SIZE | |
Definition at line 100 of file ui-coord.hpp.
| enum UIPathElm |
| Enumerator | |
|---|---|
| UIC_WINDOW | |
| UIC_PERSP | |
| UIC_PANEL | |
| UIC_VIEW | |
| UIC_TAB | |
| UIC_PATH | |
Definition at line 106 of file ui-coord.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.
References LocationRule::append().
Here is the call graph for this function:
|
inline |
Definition at line 195 of file ui-location-solver.hpp.
References LocationRule::append().
Here is the call graph for this function:| const Symbol UIC_CURRENT_WINDOW {"currentWindow"} |
window spec to refer to the current window
Definition at line 71 of file view-locator.cpp.
Referenced by UICoord::currentWindow(), and GenNodeLocationQuery::determineAnchor().
| const Symbol UIC_FIRST_WINDOW {"firstWindow"} |
window spec to refer to the first window of the application
Definition at line 72 of file view-locator.cpp.
Referenced by GenNodeLocationQuery::determineAnchor(), and UICoord::firstWindow().
| const Symbol UIC_ELIDED {"."} |
indicate that a component is elided or irrelevant here
Definition at line 73 of file view-locator.cpp.
Referenced by UICoordResolver::attempt_trivialResolution(), UICoordResolver::existentiallyQuantify(), UICoord::getComp(), UICoord::Builder::noTab(), UICoordResolver::pathResolution(), UILocationSolver_test::verify_cornerCases(), UICoordResolver_test::verify_mutateCoverage(), and UICoordResolver_test::verify_mutateCoverPartially().