34 #ifndef STAGE_WORKSPACE_PANEL_MANAGER_H 35 #define STAGE_WORKSPACE_PANEL_MANAGER_H 76 GdlDockPlaceholder *dockPlaceholders_[4];
101 Gdl::Dock& getDock();
107 Gdl::DockBar& getDockBar();
122 bool hasPanel (
const int description_index);
131 void switchPanel (
panel::Panel& old_panel,
const int description_index);
138 void splitPanel (
panel::Panel& panel, Gtk::Orientation split_direction);
148 static int findPanelID();
151 static int getPanelDescriptionCount();
158 static const gchar* getPanelStockID (
const int index);
165 static const char* getPanelTitle (
int index);
178 static int findPanelDescription (
const char* class_name);
193 panel::Panel* createPanel_by_index (
const int index, Gdl::DockItem& dock_item);
200 panel::Panel* createPanel_by_name (
const char* class_name);
262 ,
const gchar* stockID
263 ,CreatePanelProc createPanelProc)
264 : classInfo_(classInfo)
267 , createPanelProc_(createPanelProc)
274 const std::type_info& getClassInfo()
const 279 const char* getClassName()
const 281 return classInfo_.name();
291 const gchar* getStockID()
const 307 REQUIRE(createPanelProc_);
308 return createPanelProc_ (panelManager, dockItem);
339 return new P(panelManager, dockItem);
353 PanelManager::findPanelID()
355 return PanelManager::findPanelDescription (
typeid(P).
name());
const char *const titleName_
localised title that will be shown on the panel.
WorkspaceWindow & workspaceWindow_
reference to the owner workspace window object
std::list< panel::Panel * > panels_
list of all panels created
const std::type_info & classInfo_
reference to the typeID of this class
CreatePanelProc createPanelProc_
pointer to a function that will instantiate the panel object
static unsigned short panelID
An accumulator for the panel id.
PanelDescription(std::type_info const &classInfo, const char *title, const gchar *stockID, CreatePanelProc createPanelProc)
A class to manage DockItem objects for WorkspaceWindow.
Gdl::DockBar dockBar_
The pointer to GDL dock bar widget.
The base class for all dockable panels.
Base class and interface for all dockable panels.
A helper class that will create PanelDescription objects.
Lumiera GTK UI implementation root.
Gdl::Dock dock_
The pointer to GDL dock widget.
Glib::RefPtr< Gdl::DockLayout > dockLayout_
The pointer to GDL dock layout object.
panel::Panel * create(PanelManager &panelManager, Gdl::DockItem &dockItem) const
Creates an instance of this panel.
The main Lumiera workspace window.
static panel::Panel * createPanel(PanelManager &panelManager, Gdl::DockItem &dockItem)
helper function to create a panel of type P
const gchar *const stockID_
Stock ID for this type of panel.
const char * getTitle() const
the localised title that will be shown on the panel
A class to describe and instantiate Panel types.