|
Crazy Eddie's GUI System
0.8.4
|
Base class for standard Tab Control widget. More...
Inheritance diagram for CEGUI::TabControl:
Collaboration diagram for CEGUI::TabControl:Public Types | |||
| enum | TabPanePosition { Top, Bottom } | ||
Public Member Functions | |||
| size_t | getTabCount (void) const | ||
| Return number of tabs. | |||
| TabPanePosition | getTabPanePosition (void) const | ||
| Return the positioning of the tab pane. | |||
| void | setTabPanePosition (TabPanePosition pos) | ||
| Change the positioning of the tab button pane. | |||
| void | setSelectedTab (const String &name) | ||
Set the selected tab by the name of the root window within it. Also ensures that the tab is made visible (tab pane is scrolled if required).
| |||
| void | setSelectedTab (uint ID) | ||
Set the selected tab by the ID of the root window within it. Also ensures that the tab is made visible (tab pane is scrolled if required).
| |||
| void | setSelectedTabAtIndex (size_t index) | ||
Set the selected tab by the index position in the tab control. Also ensures that the tab is made visible (tab pane is scrolled if required).
| |||
| void | makeTabVisible (const String &name) | ||
Ensure that the tab by the name of the root window within it is visible.
| |||
| void | makeTabVisible (uint ID) | ||
Ensure that the tab by the ID of the root window within it is visible.
| |||
| void | makeTabVisibleAtIndex (size_t index) | ||
Ensure that the tab by the index position in the tab control is visible.
| |||
| Window * | getTabContentsAtIndex (size_t index) const | ||
| Return the Window which is the first child of the tab at index position index. | |||
| Window * | getTabContents (const String &name) const | ||
| Return the Window which is the tab content with the given name. | |||
| Window * | getTabContents (uint ID) const | ||
| Return the Window which is the tab content with the given ID. | |||
| bool | isTabContentsSelected (Window *wnd) const | ||
| Return whether the tab contents window is currently selected. | |||
| size_t | getSelectedTabIndex () const | ||
| Return the index of the currently selected tab. | |||
| const UDim & | getTabHeight (void) const | ||
| Return the height of the tabs. | |||
| const UDim & | getTabTextPadding (void) const | ||
| Return the amount of padding to add either side of the text in the tab. | |||
| virtual void | initialiseComponents (void) | ||
| Initialise the Window based object ready for use. | |||
| void | setTabHeight (const UDim &height) | ||
| Set the height of the tabs. | |||
| void | setTabTextPadding (const UDim &padding) | ||
| Set the amount of padding to add either side of the text in the tab. | |||
| void | addTab (Window *wnd) | ||
| Add a new tab to the tab control. | |||
| void | removeTab (const String &name) | ||
| Remove the named tab from the tab control. | |||
| void | removeTab (uint ID) | ||
| Remove the tab with the given ID from the tab control. | |||
| TabControl (const String &type, const String &name) | |||
| Constructor for TabControl base class. | |||
| virtual | ~TabControl (void) | ||
| Destructor for Listbox base class. | |||
Static Public Attributes | |||
| static const String | EventNamespace | ||
| Namespace for global events. | |||
| static const String | WidgetTypeName | ||
| Window factory name. | |||
| static const String | EventSelectionChanged | ||
| static const String | ContentPaneName | ||
| Widget name for the tab content pane component. | |||
| static const String | TabButtonName | ||
| Widget name for the tab button components. | |||
| static const String | TabButtonPaneName | ||
| Widget name for the tab button pane component. | |||
| static const String | ButtonScrollLeft | ||
| Widget name for the scroll tabs to right pane component. | |||
| static const String | ButtonScrollRight | ||
| Widget name for the scroll tabs to left pane component. | |||
Protected Types | |||
|
typedef std::vector< TabButton *CEGUI_VECTOR_ALLOC(TabButton *) | TabButtonVector ) | ||
Protected Member Functions | |||
| virtual void | drawSelf (const RenderingContext &) | ||
| Perform the actual rendering for this Window. | |||
| virtual void | addButtonForTabContent (Window *wnd) | ||
| Add a TabButton for the specified child Window. | |||
| virtual void | removeButtonForTabContent (Window *wnd) | ||
| Remove the TabButton for the specified child Window. | |||
| TabButton * | getButtonForTabContents (Window *wnd) const | ||
Return the TabButton associated with this Window.
| |||
| String | makeButtonName (Window *wnd) | ||
| Construct a button name to handle a window. | |||
| virtual void | selectTab_impl (Window *wnd) | ||
| Internal implementation of select tab. | |||
| virtual void | makeTabVisible_impl (Window *wnd) | ||
| Internal implementation of make tab visible. | |||
| Window * | getTabButtonPane () const | ||
| Return a pointer to the tab button pane (Window)for this TabControl. | |||
| Window * | getTabPane () const | ||
| Return a pointer to the content component widget for this TabControl. | |||
| void | performChildWindowLayout (bool nonclient_sized_hint=false, bool client_sized_hint=false) | ||
| Layout child window content. | |||
| int | writeChildWindowsXML (XMLSerializer &xml_stream) const | ||
| virtual bool | validateWindowRenderer (const WindowRenderer *renderer) const | ||
| Function used in checking if a WindowRenderer is valid for this window. | |||
| TabButton * | createTabButton (const String &name) const | ||
| create and return a pointer to a TabButton widget for use as a clickable tab header | |||
| void | removeTab_impl (Window *window) | ||
| Implementation function to do main work of removing a tab. | |||
| virtual void | onSelectionChanged (WindowEventArgs &e) | ||
| Handler called internally when the currently selected item or items changes. | |||
| virtual void | onFontChanged (WindowEventArgs &e) | ||
| Handler called when the window's font is changed. | |||
| void | calculateTabButtonSizePosition (size_t index) | ||
| create and return a pointer to a TabButton widget for use as a clickable tab header | |||
| void | addTabControlProperties (void) | ||
| void | addChild_impl (Element *element) | ||
| void | removeChild_impl (Element *element) | ||
| virtual NamedElement * | getChildByNamePath_impl (const String &name_path) const | ||
| bool | handleContentWindowTextChanged (const EventArgs &args) | ||
| bool | handleTabButtonClicked (const EventArgs &args) | ||
| bool | handleScrollPane (const EventArgs &e) | ||
| bool | handleDraggedPane (const EventArgs &e) | ||
| bool | handleWheeledPane (const EventArgs &e) | ||
Protected Attributes | |||
| UDim | d_tabHeight | ||
| The height of the tabs in pixels. | |||
| UDim | d_tabPadding | ||
| The padding of the tabs relative to parent. | |||
| TabButtonVector | d_tabButtonVector | ||
| Sorting for tabs. | |||
| float | d_firstTabOffset | ||
| The offset in pixels of the first tab. | |||
| TabPanePosition | d_tabPanePos | ||
| The position of the tab pane. | |||
| float | d_btGrabPos | ||
|
std::map< Window *, Event::ScopedConnection > | d_eventConnections | ||
| Container used to track event subscriptions to added tab windows. | |||
Base class for standard Tab Control widget.
| void CEGUI::TabControl::addChild_impl | ( | Element * | element | ) | [protected, virtual] |
Add given element to child list at an appropriate position.
Reimplemented from CEGUI::Window.
| void CEGUI::TabControl::addTab | ( | Window * | wnd | ) |
Add a new tab to the tab control.
| wnd | The Window which will be placed in the content area of this new tab. |
| void CEGUI::TabControl::calculateTabButtonSizePosition | ( | size_t | index | ) | [protected] |
create and return a pointer to a TabButton widget for use as a clickable tab header
| name | Button name |
Calculate the correct position and size of a tab button, based on the index it is due to be placed at.
| index | The index of the tab button |
| TabButton* CEGUI::TabControl::createTabButton | ( | const String & | name | ) | const [protected] |
| virtual void CEGUI::TabControl::drawSelf | ( | const RenderingContext & | ) | [inline, protected, virtual] |
Perform the actual rendering for this Window.
| z | float value specifying the base Z co-ordinate that should be used when rendering |
Reimplemented from CEGUI::Window.
| virtual NamedElement* CEGUI::TabControl::getChildByNamePath_impl | ( | const String & | name_path | ) | const [protected, virtual] |
Retrieves a child at name_path or 0 if none such exists.
Reimplemented from CEGUI::NamedElement.
| size_t CEGUI::TabControl::getSelectedTabIndex | ( | ) | const |
Return the index of the currently selected tab.
| Window* CEGUI::TabControl::getTabButtonPane | ( | ) | const [protected] |
Return a pointer to the tab button pane (Window)for this TabControl.
| UnknownObjectException | Thrown if the component does not exist. |
| Window* CEGUI::TabControl::getTabContents | ( | const String & | name | ) | const |
Return the Window which is the tab content with the given name.
| name | Name of the Window which was attached as a tab content. |
| InvalidRequestException | thrown if content is not found. |
| Window* CEGUI::TabControl::getTabContents | ( | uint | ID | ) | const |
Return the Window which is the tab content with the given ID.
| ID | ID of the Window which was attached as a tab content. |
| InvalidRequestException | thrown if content is not found. |
| Window* CEGUI::TabControl::getTabContentsAtIndex | ( | size_t | index | ) | const |
Return the Window which is the first child of the tab at index position index.
| index | Zero based index of the item to be returned. |
| InvalidRequestException | thrown if index is out of range. |
| size_t CEGUI::TabControl::getTabCount | ( | void | ) | const |
Return number of tabs.
| Window* CEGUI::TabControl::getTabPane | ( | ) | const [protected] |
Return a pointer to the content component widget for this TabControl.
| UnknownObjectException | Thrown if the component does not exist. |
| TabPanePosition CEGUI::TabControl::getTabPanePosition | ( | void | ) | const [inline] |
Return the positioning of the tab pane.
| virtual void CEGUI::TabControl::initialiseComponents | ( | void | ) | [virtual] |
Initialise the Window based object ready for use.
Reimplemented from CEGUI::Window.
| bool CEGUI::TabControl::isTabContentsSelected | ( | Window * | wnd | ) | const |
Return whether the tab contents window is currently selected.
| wnd | The tab contents window to query. |
| InvalidRequestException | thrown if wnd is not a valid tab contents window. |
| virtual void CEGUI::TabControl::makeTabVisible_impl | ( | Window * | wnd | ) | [protected, virtual] |
Internal implementation of make tab visible.
| wnd | Pointer to a Window which is the root of the tab content to make visible |
| virtual void CEGUI::TabControl::onFontChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Handler called when the window's font is changed.
| e | WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'. |
Reimplemented from CEGUI::Window.
| void CEGUI::TabControl::performChildWindowLayout | ( | bool | nonclient_sized_hint = false, |
| bool | client_sized_hint = false |
||
| ) | [protected, virtual] |
Layout child window content.
Laying out of child content includes:
The system may call this at various times (like when a window is resized for example), and it may be invoked directly where required.
| nonclient_sized_hint | Hint that the non-client area rectangle has changed size. |
| client_sized_hint | Hint that the client area rectangle has changed size. |
Reimplemented from CEGUI::Window.
| void CEGUI::TabControl::removeChild_impl | ( | Element * | element | ) | [protected, virtual] |
Remove given element from child list.
Reimplemented from CEGUI::Window.
| void CEGUI::TabControl::removeTab | ( | const String & | name | ) |
Remove the named tab from the tab control.
| void CEGUI::TabControl::removeTab | ( | uint | ID | ) |
Remove the tab with the given ID from the tab control.
| virtual void CEGUI::TabControl::selectTab_impl | ( | Window * | wnd | ) | [protected, virtual] |
Internal implementation of select tab.
| wnd | Pointer to a Window which is the root of the tab content to select |
| void CEGUI::TabControl::setTabPanePosition | ( | TabPanePosition | pos | ) |
Change the positioning of the tab button pane.
| pos | The new positioning of the tab pane |
| virtual bool CEGUI::TabControl::validateWindowRenderer | ( | const WindowRenderer * | renderer | ) | const [protected, virtual] |
Function used in checking if a WindowRenderer is valid for this window.
| renderer | Window renderer that will be checked (it can be null!) |
Reimplemented from CEGUI::Window.
float CEGUI::TabControl::d_btGrabPos [protected] |
The position on the button tab where user grabbed
const String CEGUI::TabControl::EventSelectionChanged [static] |
Event fired when a different tab is selected. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the TabControl that has a newly selected tab.