39 #ifndef STAGE_WORKSPACE_DOCK_AREA_H 40 #define STAGE_WORKSPACE_DOCK_AREA_H 81 GdlDockPlaceholder *dockPlaceholders_[4];
108 Gdl::Dock& getDock();
114 Gdl::DockBar& getDockBar();
129 bool hasPanel (
const int description_index);
138 void switchPanel (
panel::Panel& old_panel,
const int description_index);
145 void splitPanel (
panel::Panel& panel, Gtk::Orientation split_direction);
155 static int findPanelID();
158 static int getPanelDescriptionCount();
165 static const gchar* getPanelStockID (
const int index);
172 static const char* getPanelTitle (
int index);
185 static int findPanelDescription (
const char* class_name);
200 panel::Panel* createPanel_by_index (
const int index, Gdl::DockItem& dock_item);
207 panel::Panel* createPanel_by_name (
const char* class_name);
269 ,
const gchar* stockID
270 ,CreatePanelProc createPanelProc)
271 : classInfo_(classInfo)
274 , createPanelProc_(createPanelProc)
281 const std::type_info& getClassInfo()
const 286 const char* getClassName()
const 288 return classInfo_.name();
298 const gchar* getStockID()
const 314 REQUIRE(createPanelProc_);
315 return createPanelProc_ (panelManager, dockItem);
347 return new P(panelManager, dockItem);
361 DockArea::findPanelID()
363 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