Lumiera  0.pre.03
»edit your freedom«
panel-locator.hpp File Reference

Go to the source code of this file.

Description

Access and query front-end to locate, access and place docking panels.

This service is an implementation detail of the global WindowLocator and allows to abstract from the concrete top-level window when dealing with docking panels on a conceptual level.

Todo:
8/2018 refactoring of docking panel handling is underway ///////////////////////////////////////TICKET # 1144 The PanelLocator is planned to become the one central coordinating manager, while the existing panel managers in each window will be demoted to a mere DockArea, corresponding to a gdl::Dock
Todo:
8/2018 there is some overlap with the (not yet fully functional) ViewLocator in the InteractionDirector. Right now, PanelLocator fills some gaps here and offers preliminary solutions for some lookup and allocation tasks ultimately to be performed on a more abstract level through the ViewSpec-DSL. This corresponds to the observation, that PanelLocator and WindowLocator are somewhat tangled currently. The goal is to turn them into access services, and shift the allocation logic to the aforementioned higher level.
See also
view-locator.hpp
interaction-director.hpp

Definition in file panel-locator.hpp.

#include "stage/gtk-base.hpp"
#include "stage/workspace/panel-manager.hpp"
#include "lib/format-string.hpp"
#include "lib/meta/util.hpp"
#include "lib/nocopy.hpp"
#include <type_traits>
#include <memory>
#include <list>

Classes

class  PanelLocator
 Service to access, locate or place panels within top-level windows Access- and query front-end to the individual panel managers, which are located within the top-level windows. More...
 

Namespaces

 stage
 Lumiera GTK UI implementation root.
 
 stage::ctrl
 Backbone of the Lumiera GTK UI.
 
 stage::panel
 Docking panel classes.
 
 stage::workspace
 The global workspace with top-level windows.