#1144 assigned todo

refactor dock handling

Reported by: Ichthyostega Owned by:
Priority: grave Milestone: 0integration
Component: lumieraGui Keywords: integration gui architecture design
Sub Tickets: #1064, #1067, #1069, #1107, #1348 Parent Tickets: #1026, #1031, #1081, #1104, #1163, #1398

Description (last modified by Ichthyostega)

The existing code structure of the PanelManager is lacking a clear vision with respect to the overall structure of the application windows.
It seems like the ability to have several top-level windows was added later, without re-thinking the relationships, which creates several inner contradictions.

We need a definite and unambiguous structure here. Since Lumiera is supposed to be used in a setup with several displays, or a desktop with several workspaces, it is a crucial concern to handle several top-level windows properly. Which means, we do not want just a pile of uncorrelated windows. Rather, all windows shall be part of a single, coordinated layout, where each window is arranged in accordance to a specific perspective. Moreover, there shall be one single, overarching UI topology -- which allows to navigate to each part, even if this incurres switching to another desktop (not sure how to achive that right now, but it nontheless remains our goal).

As a consequence of these design decisions, we need to rearrange our existing code and functionality

  • a new entity, termed DockArea will take on most of the code/functionality of the existing PanelManager
  • each top-level WorkspaceWindow holds a dock, but docks must be created such as to attach to the first, the master dock
  • the latter creates the ability to drag panels accross distinct top-level windows. Behinde the scenes, this corresponds to a GDL dock master entity.
  • there is one single, central PanelLocator, which keeps track of all DockAreas, and thus allows to address and place panels in a targetted way.
  • we stick to the notion of specifically typed panels; and for the time being, this selection of panel types is hard wired.
  • of course, we offer the ability to arrange the layout within those limits -- and such a layout arrangement shall be stored persistently.

Change history (11)

comment:1 by Ichthyostega, at 2018-06-17T12:51:31Z

blockedby: 1107, 1064, 1069
blocking: 1104, 1026, 10671104, 1026, 1067, 1081
Status: newaccepted

comment:2 by Ichthyostega, at 2018-06-17T13:02:28Z

blockedby: 1107, 1064, 10691064, 1069, 1107
blocking: 1104, 1026, 1067, 10811026, 1067, 1081, 1104
Description: modified (diff)

comment:3 by Ichthyostega, at 2018-07-12T14:52:19Z

Description: modified (diff)

comment:4 by Ichthyostega, at 2018-08-30T16:22:33Z

blocking: 1026, 1067, 1081, 11041026, 1067, 1081, 1104, 1163

comment:5 by Ichthyostega, at 2022-10-02T21:29:12Z

Owner: Ichthyostega removed
Status: acceptedassigned

Indeed relevant and a potential point of concern...

comment:6 by Ichthyostega, at 2023-02-02T02:23:48Z

blocking: 1026, 1067, 1081, 1104, 11631026, 1031, 1067, 1081, 1104, 1163

comment:7 by Ichthyostega, at 2023-02-02T02:27:17Z

blocking: 1026, 1031, 1067, 1081, 1104, 11631026, 1031, 1081, 1104, 1163

comment:8 by Ichthyostega, at 2023-02-02T02:29:24Z

blockedby: 1064, 1069, 11071064, 1067, 1069, 1107

comment:9 by Ichthyostega, at 2023-11-08T21:09:09Z

blockedby: 1064, 1067, 1069, 11071064, 1067, 1069, 1107, 1348

comment:10 by Ichthyostega, at 2025-04-01T16:47:36Z

blocking: 1026, 1031, 1081, 1104, 11631026, 1031, 1081, 1104, 1163, 1398

comment:11 by Undercover Agent, at 2025-12-25T00:00:00Z

blockedby: 1064, 1067, 1069, 1107, 1348
blocking: 1026, 1031, 1081, 1104, 1163, 1398
Parent Tickets: 1026, 1031, 1081, 1104, 1163, 1398
Sub Tickets: 1064, 1067, 1069, 1107, 1348

Migration MasterTickets ⟼ Subtickets-plugin

Note: See TracTickets for help on using tickets.