#1108 closed todo (done)
UI Location query
| Reported by: | Ichthyostega | Owned by: | Ichthyostega |
|---|---|---|---|
| Priority: | normal | Milestone: | 0integration |
| Component: | lumieraGui | Keywords: | gui gtk design interfaces |
| Sub Tickets: | #1117 | Parent Tickets: | #1107, #1109, #1127, #1129 |
Description
Define a command-and-query interface to work against an abstracted notion of "UI structure"
- define a suitable placeholder type to represent the location
- get the path for the location
- explore the location
- navigate from the location
- instruct extension of structure at the location
This is foundation work, both to allow for generic UI-Coordinates and UI navigation in general
Change history (7)
comment:1 by , at 2017-10-13T20:56:37Z
| blocking: | 1107 → 1107, 1109 |
|---|
comment:2 by , at 2017-11-17T19:40:43Z
| blockedby: | → 1117 |
|---|
comment:3 by , at 2017-12-17T23:51:51Z
| Status: | new → accepted |
|---|
comment:4 by , at 2017-12-26T13:37:46Z
| Resolution: | → done |
|---|---|
| Status: | accepted → closed |
Consider this as settled by now.
Looks like we do not need to represent the concept of current location explicitly;
it was possible to shape all the necessary operations just based on
- a
UICoordspecification, which is a path down into the tree, starting from root - a
depthparameter, counting root level asdepth == 0
It comes somewhat as a surprise that this API is so small. This became possible
through the idea of a child iterator with the additional ability to delve down and
expand one level of children of the current element. Such can be implemented
by reliyng on techniques similar to the "Monads" from functional programming.
Let's see if this was a good choice. The price to pay is a high level of formal precision
when dealing with the abstraction barrier. We need to stick strictly to the notion of a
logical path into a tree-like topology, and we need to be strong enough never to
give in and indulge with "the concrete, tangible". The concrete reality of a tree processing
algorithm with memory management plus backtracking is just to complex to be handled
mentally. So either stick to the rules or get lost.
comment:5 by , at 2018-02-01T18:46:18Z
| blocking: | 1107, 1109 → 1107, 1109, 1127 |
|---|
comment:6 by , at 2018-02-01T19:09:14Z
| blocking: | 1107, 1109, 1127 → 1107, 1109, 1127, 1129 |
|---|
comment:7 by , at 2025-12-25T00:00:00Z
| blockedby: | 1117 |
|---|---|
| blocking: | 1107, 1109, 1127, 1129 |
| Parent Tickets: | → 1107, 1109, 1127, 1129 |
| Sub Tickets: | → 1117 |
Migration MasterTickets ⟼ Subtickets-plugin

...more or less in the works while focussing on UI-Coordinate matching and resolution