30 #ifndef STAGE_WORKSPACE_DOCK_AREA_H 31 #define STAGE_WORKSPACE_DOCK_AREA_H 72 GdlDockPlaceholder *dockPlaceholders_[4];
105 Gdl::DockBar& getDockBar();
120 bool hasPanel (
const int description_index);
129 void switchPanel (
panel::Panel& old_panel,
const int description_index);
136 void splitPanel (
panel::Panel& panel, Gtk::Orientation split_direction);
146 static int findPanelID();
149 static int getPanelDescriptionCount();
156 static const gchar* getPanelStockID (
const int index);
163 static const char* getPanelTitle (
int index);
176 static int findPanelDescription (
const char* class_name);
191 panel::Panel* createPanel_by_index (
const int index, Gdl::DockItem& dock_item);
198 panel::Panel* createPanel_by_name (
const char* class_name);
260 ,
const gchar* stockID
261 ,CreatePanelProc createPanelProc)
262 : classInfo_(classInfo)
265 , createPanelProc_(createPanelProc)
272 const std::type_info& getClassInfo()
const 277 const char* getClassName()
const 279 return classInfo_.name();
289 const gchar* getStockID()
const 305 REQUIRE(createPanelProc_);
306 return createPanelProc_ (panelManager, dockItem);
338 return new P(panelManager, dockItem);
352 DockArea::findPanelID()
354 return DockArea::findPanelDescription (
typeid(P).
name());
A helper class that will create PanelDescription objects.
std::list< panel::Panel * > panels_
list of all panels created
panel::Panel * create(DockArea &panelManager, Gdl::DockItem &dockItem) const
Creates an instance of this panel.
WorkspaceWindow & workspaceWindow_
reference to the owner workspace window object
const char *const titleName_
localised title that will be shown on the panel.
const std::type_info & classInfo_
reference to the typeID of this class
Gdl::DockBar dockBar_
The pointer to GDL dock bar widget.
const gchar *const stockID_
Stock ID for this type of panel.
The base class for all dockable panels.
Base class and interface for all dockable panels.
A class to manage DockItem objects for WorkspaceWindow.
Lumiera GTK UI implementation root.
A class to describe and instantiate Panel types.
Gdl::Dock dock_
The pointer to GDL dock widget.
The main Lumiera workspace window.
static panel::Panel * createPanel(DockArea &panelManager, Gdl::DockItem &dockItem)
helper function to create a panel of type P
CreatePanelProc createPanelProc_
pointer to a function that will instantiate the panel object
PanelDescription(std::type_info const &classInfo, const char *title, const gchar *stockID, CreatePanelProc createPanelProc)
static unsigned short panelID
An accumulator for the panel id.
Glib::RefPtr< Gdl::DockLayout > dockLayout_
The pointer to GDL dock layout object.
const char * getTitle() const
the localised title that will be shown on the panel