![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "stage/workspace/dock-area.hpp"
A class to manage DockItem objects for WorkspaceWindow.
Definition at line 49 of file dock-area.hpp.
Classes | |
| class | Panel |
| A helper class that will create PanelDescription objects. More... | |
| class | PanelDescription |
| A class to describe and instantiate Panel types. More... | |
Static Public Member Functions | |
| template<class P > | |
| static int | findPanelID () |
| retrieve the internal type-ID corresponding to the given panel implementation type. | |
| static int | getPanelDescriptionCount () |
| Gets the number of panel descriptions. | |
| static const gchar * | getPanelStockID (const int index) |
| Gets a panel description's stock id. | |
| static const char * | getPanelTitle (int index) |
| Gets a panel description's title. | |
Public Member Functions | |
| DockArea (WorkspaceWindow &) | |
| ~DockArea () | |
| void | setupDock () |
| Initialises this dock manager and creates the dock and all it's widgets. | |
| Gdl::Dock & | getDock () |
| Gets a pointer to the dock object. | |
| Gdl::DockBar & | getDockBar () |
| Gets a pointer to the dock bar. | |
| WorkspaceWindow & | getWorkspaceWindow () |
| Returns a reference to the owner workspace window. | |
| panel::Panel & | showPanel (const int description_index) |
| Shows a panel given a description index. | |
| bool | hasPanel (const int description_index) |
| was the indicated panel already allocated within this PanelManager's realm? | |
| void | switchPanel (panel::Panel &old_panel, const int description_index) |
| Switches a panel from one type to another, without touching the underlying GdlDockItem. | |
| void | splitPanel (panel::Panel &panel, Gtk::Orientation split_direction) |
| Splits a panel into two panels of the same type. | |
Private Member Functions | |
| void | createPanels () |
| Creates the standard panel layout. | |
| panel::Panel * | createPanel_by_index (const int index) |
| Creates a panel by description index. | |
| panel::Panel * | createPanel_by_index (const int index, Gdl::DockItem &dock_item) |
| Creates a panel by description index with a given GdlDockItem. | |
| panel::Panel * | createPanel_by_name (CStr class_name) |
| Creates a panel by class name. | |
| int | getPanelType (panel::Panel *const panel) const |
| Gets the type of a given panel. | |
| void | removePanel (panel::Panel *const panel) |
| Removes a panel from the panel list and deletes it. | |
| void | clearPanels () |
| Removes all panels from the panel list and deletes them. | |
| void | on_panel_shown (panel::Panel *panel) |
| An event handler for when the panel is shown or hidden. | |
Static Private Member Functions | |
| static int | findPanelDescription (CStr class_name) |
| Find the index of a panel description given the class name. | |
Private Attributes | |
| WorkspaceWindow & | workspaceWindow_ |
| reference to the owner workspace window object | |
| Gdl::Dock | dock_ |
| The pointer to GDL dock widget. | |
| Gdl::DockBar | dockBar_ |
| The pointer to GDL dock bar widget. | |
| Glib::RefPtr< Gdl::DockLayout > | dockLayout_ |
| The pointer to GDL dock layout object. | |
| GdlDockPlaceholder * | dockPlaceholders_ [4] |
| Pointers to the 4 root place holders. | |
| std::list< panel::Panel * > | panels_ |
| list of all panels created | |
Static Private Attributes | |
| static unsigned short | panelID = 0 |
| An accumulator for the panel id. | |
| static const PanelDescription | panelDescriptionList [] |
| The list of panel descriptions. | |
| DockArea | ( | WorkspaceWindow & | owner | ) |
Definition at line 58 of file dock-area.cpp.
References DockArea::dock_, DockArea::dockLayout_, and DockArea::dockPlaceholders_.
| ~DockArea | ( | ) |
Definition at line 76 of file dock-area.cpp.
References DockArea::clearPanels(), and DockArea::dockPlaceholders_.
Here is the call graph for this function:| void setupDock | ( | ) |
Initialises this dock manager and creates the dock and all it's widgets.
Definition at line 94 of file dock-area.cpp.
References DockArea::createPanels(), DockArea::dock_, DockArea::dockPlaceholders_, and NULL.
Here is the call graph for this function:| Gdl::Dock & getDock | ( | ) |
Gets a pointer to the dock object.
Definition at line 116 of file dock-area.cpp.
References DockArea::dock_.
| Gdl::DockBar & getDockBar | ( | ) |
Gets a pointer to the dock bar.
Definition at line 123 of file dock-area.cpp.
References DockArea::dockBar_.
| WorkspaceWindow & getWorkspaceWindow | ( | ) |
Returns a reference to the owner workspace window.
Definition at line 130 of file dock-area.cpp.
References DockArea::workspaceWindow_.
| panel::Panel & showPanel | ( | const int | description_index | ) |
Shows a panel given a description index.
| description_index | The index of the panel type to show. |
Definition at line 146 of file dock-area.cpp.
References DockArea::createPanel_by_index(), DockArea::dock_, Panel::getDockItem(), DockArea::getPanelType(), Panel::is_shown(), DockArea::panels_, and Panel::show().
Here is the call graph for this function:| bool hasPanel | ( | const int | description_index | ) |
was the indicated panel already allocated within this PanelManager's realm?
Definition at line 137 of file dock-area.cpp.
References DockArea::getPanelType(), util::has_any(), and DockArea::panels_.
Here is the call graph for this function:| void switchPanel | ( | panel::Panel & | old_panel, |
| const int | description_index | ||
| ) |
Switches a panel from one type to another, without touching the underlying GdlDockItem.
| old_panel | The panel which will be transformed to a new type. |
| description_index | The index of the panel description that will be instantiated. |
Definition at line 177 of file dock-area.cpp.
References DockArea::createPanel_by_index(), Panel::getDockItem(), DockArea::getPanelDescriptionCount(), and DockArea::removePanel().
Here is the call graph for this function:| void splitPanel | ( | panel::Panel & | panel, |
| Gtk::Orientation | split_direction | ||
| ) |
Splits a panel into two panels of the same type.
| panel | The panel to split. |
| split_direction | The direction to split the panel in. |
Definition at line 194 of file dock-area.cpp.
References DockArea::createPanel_by_index(), Panel::getDockItem(), and DockArea::getPanelType().
Here is the call graph for this function:
|
inlinestatic |
retrieve the internal type-ID corresponding to the given panel implementation type.
-1 if not found. Definition at line 352 of file dock-area.hpp.
References DockArea::findPanelDescription().
Here is the call graph for this function:
|
static |
Gets the number of panel descriptions.
Definition at line 225 of file dock-area.cpp.
References DockArea::panelDescriptionList.
Referenced by DockArea::createPanel_by_index(), DockArea::findPanelDescription(), DockArea::getPanelStockID(), DockArea::getPanelTitle(), DockArea::getPanelType(), and DockArea::switchPanel().
Here is the caller graph for this function:
|
static |
Gets a panel description's stock id.
| index | The index of the panel to retrieve. |
Definition at line 232 of file dock-area.cpp.
References DockArea::getPanelDescriptionCount(), DockArea::PanelDescription::getStockID(), and DockArea::panelDescriptionList.
Here is the call graph for this function:
|
static |
Gets a panel description's title.
| index | The index of the panel to retrieve. |
Definition at line 241 of file dock-area.cpp.
References DockArea::getPanelDescriptionCount(), DockArea::PanelDescription::getTitle(), and DockArea::panelDescriptionList.
Here is the call graph for this function:
|
private |
Creates the standard panel layout.
Definition at line 250 of file dock-area.cpp.
References DockArea::createPanel_by_name(), DockArea::dock_, and Panel::getDockItem().
Referenced by DockArea::setupDock().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
Find the index of a panel description given the class name.
| class_name | The name of the object class to search for. |
Definition at line 264 of file dock-area.cpp.
References DockArea::getPanelDescriptionCount(), and DockArea::panelDescriptionList.
Referenced by DockArea::createPanel_by_name(), and DockArea::findPanelID().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Creates a panel by description index.
| index | The index of the description to instantiate. |
Definition at line 281 of file dock-area.cpp.
References DockArea::createPanel_by_index(), DockArea::getPanelDescriptionCount(), and DockArea::panelID.
Referenced by DockArea::createPanel_by_index(), DockArea::createPanel_by_name(), DockArea::showPanel(), DockArea::splitPanel(), and DockArea::switchPanel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Creates a panel by description index with a given GdlDockItem.
| index | The index of the description to instantiate. |
| dock_item | The GdlDockItem to attach this panel to |
Definition at line 297 of file dock-area.cpp.
References DockArea::PanelDescription::create(), DockArea::on_panel_shown(), DockArea::panelDescriptionList, DockArea::panels_, and Panel::signal_hidePanel().
Here is the call graph for this function:
|
private |
Creates a panel by class name.
| class_name | The name of the object class to create. |
Definition at line 316 of file dock-area.cpp.
References DockArea::createPanel_by_index(), and DockArea::findPanelDescription().
Referenced by DockArea::createPanels().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Gets the type of a given panel.
| panel | The Panel to get the type of |
Definition at line 325 of file dock-area.cpp.
References DockArea::getPanelDescriptionCount(), and DockArea::panelDescriptionList.
Referenced by DockArea::hasPanel(), DockArea::showPanel(), and DockArea::splitPanel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Removes a panel from the panel list and deletes it.
| panel | The panel to remove and delete. |
Definition at line 343 of file dock-area.cpp.
References DockArea::panels_.
Referenced by DockArea::on_panel_shown(), and DockArea::switchPanel().
Here is the caller graph for this function:
|
private |
Removes all panels from the panel list and deletes them.
Definition at line 361 of file dock-area.cpp.
References DockArea::panels_.
Referenced by DockArea::~DockArea().
Here is the caller graph for this function:
|
private |
An event handler for when the panel is shown or hidden.
| panel | A pointer to the panel that was hidden. |
Definition at line 373 of file dock-area.cpp.
References Panel::is_iconified(), Panel::is_shown(), and DockArea::removePanel().
Referenced by DockArea::createPanel_by_index().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
reference to the owner workspace window object
Definition at line 52 of file dock-area.hpp.
Referenced by DockArea::getWorkspaceWindow().
|
private |
The pointer to GDL dock widget.
Definition at line 57 of file dock-area.hpp.
Referenced by DockArea::DockArea(), DockArea::createPanels(), DockArea::getDock(), DockArea::setupDock(), and DockArea::showPanel().
|
private |
The pointer to GDL dock bar widget.
Definition at line 62 of file dock-area.hpp.
Referenced by DockArea::getDockBar().
|
private |
The pointer to GDL dock layout object.
Definition at line 67 of file dock-area.hpp.
Referenced by DockArea::DockArea().
|
private |
Pointers to the 4 root place holders.
Definition at line 72 of file dock-area.hpp.
Referenced by DockArea::DockArea(), DockArea::~DockArea(), and DockArea::setupDock().
|
private |
list of all panels created
Definition at line 75 of file dock-area.hpp.
Referenced by DockArea::clearPanels(), DockArea::createPanel_by_index(), DockArea::hasPanel(), DockArea::removePanel(), and DockArea::showPanel().
|
staticprivate |
An accumulator for the panel id.
Definition at line 80 of file dock-area.hpp.
Referenced by DockArea::createPanel_by_index().
|
staticprivate |
The list of panel descriptions.
Definition at line 344 of file dock-area.hpp.
Referenced by DockArea::createPanel_by_index(), DockArea::findPanelDescription(), DockArea::getPanelDescriptionCount(), DockArea::getPanelStockID(), DockArea::getPanelTitle(), and DockArea::getPanelType().
Collaboration diagram for DockArea: