Opened at 2018-04-14T16:55:34Z
Last modified at 2022-10-02T22:50:15Z
#1136 new planned
implement concrete traversal of UI topology
| Reported by: | Ichthyostega | Owned by: | |
|---|---|---|---|
| Priority: | grave | Milestone: | 1alpha |
| Component: | lumieraGui | Keywords: | gui architecture design interfaces |
| Sub Tickets: | #1106, #1134 | Parent Tickets: | #1109, #1135 |
Description
Fill in the actual (low-level) implementation backing the Navigator, the ViewLocator, the ViewSpec-DSL and the UI-Element access interface (#1134). All these services relie on the notion of an abstracted UI topology, which can be navigated and even reshaped without touching actual UI internals. Points within that topology are addressed through UI-coordinates. Thus, at one point, there needs to be an entity with the ability to receive and dissect UI-coordinates and traverse the actual UI widget structure accordingly. As of 3/2018, there is a demo / prototype implementation, the GenNodeLocationQuery, which is used to back all the aforementioned services for the purpose of unit testing. Instead of a real UI topology, it uses a "GenNode-Tree" to drill down recursively and navigate according to the API invocations.
Thus this task can be addressed by understanding the implementation of GenNodeLocationQuery, and then by replacing the operations on GenNode by a system of hard-wired specific accessors traversing the real UI widget structure. The code for the latter part can be expected to become quite messy and specific, with lots of hard wired inside knowledge about the UI elements involved. For that reason, it can not be implemented properly prior to building those actual UI internals to a large extent.
Change history (2)
comment:1 by , at 2022-10-02T22:50:15Z
| blockedby: | 1134, 1106 → 1106, 1134 |
|---|---|
| blocking: | 1135, 1109 → 1109, 1135 |
| Owner: | removed |
comment:2 by , at 2025-12-25T00:00:00Z
| blockedby: | 1106, 1134 |
|---|---|
| blocking: | 1109, 1135 |
| Parent Tickets: | → 1109, 1135 |
| Sub Tickets: | → 1106, 1134 |

Migration MasterTickets ⟼ Subtickets-plugin