25 #ifndef STAGE_WORKSPACE_PANEL_MANAGER_H 26 #define STAGE_WORKSPACE_PANEL_MANAGER_H 67 GdlDockPlaceholder *dockPlaceholders_[4];
98 Gdl::DockBar& getDockBar();
113 bool hasPanel (
const int description_index);
122 void switchPanel (
panel::Panel& old_panel,
const int description_index);
129 void splitPanel (
panel::Panel& panel, Gtk::Orientation split_direction);
139 static int findPanelID();
142 static int getPanelDescriptionCount();
149 static const gchar* getPanelStockID (
const int index);
156 static const char* getPanelTitle (
int index);
169 static int findPanelDescription (
const char* class_name);
184 panel::Panel* createPanel_by_index (
const int index, Gdl::DockItem& dock_item);
191 panel::Panel* createPanel_by_name (
const char* class_name);
253 ,
const gchar* stockID
254 ,CreatePanelProc createPanelProc)
255 : classInfo_(classInfo)
258 , createPanelProc_(createPanelProc)
265 const std::type_info& getClassInfo()
const 270 const char* getClassName()
const 272 return classInfo_.name();
282 const gchar* getStockID()
const 298 REQUIRE(createPanelProc_);
299 return createPanelProc_ (panelManager, dockItem);
330 return new P(panelManager, dockItem);
344 PanelManager::findPanelID()
346 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.