CEGUI::TabControl Class Reference

Base class for standard Tab Control widget. More...

Inheritance diagram for CEGUI::TabControl:

Inheritance graph
[legend]
Collaboration diagram for CEGUI::TabControl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

uint getTabCount (void) const
 Return number of tabs.
void setSelectedTab (const String &name)
 Set the selected tab by the name of the root window within it.
Exceptions:
InvalidRequestException thrown if index is out of range.

void setSelectedTab (uint ID)
 Set the selected tab by the ID of the root window within it.
Exceptions:
InvalidRequestException thrown if index is out of range.

void setSelectedTabAtIndex (uint index)
 Set the selected tab by the index position in the tab control.
Exceptions:
InvalidRequestException thrown if index is out of range.

WindowgetTabContentsAtIndex (uint index) const
 Return the Window which is the first child of the tab at index position index.
WindowgetTabContents (const String &name) const
 Return the Window which is the tab content with the given name.
WindowgetTabContents (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.
uint getSelectedTabIndex () const
 Return the index of the currently selected tab.
float getRelativeTabHeight (void) const
 Return the relative height of the tabs.
float getAbsoluteTabHeight (void) const
 Return the absolute height of the tabs.
float getTabHeight (void) const
 Return the height of the tabs in the current metrics mode.
float getTabTextPadding (void) const
 Return the amount of padding to add either side of the text in the tab, according to the current metrics mode.
float getRelativeTabTextPadding (void) const
 Return the relative amount of padding to add either side of the text in the tab.
float getAbsoluteTabTextPadding (void) const
 Return the absolute amount of padding to add either side of the text in the tab.
virtual void initialise (void)
 Initialise the Window based object ready for use.
void setRelativeTabHeight (float height)
 Set the relative height of the tabs.
void setAbsoluteTabHeight (float height)
 Set the absolute height of the tabs.
void setTabHeight (float height)
 Set the height of the tabs in the current metrics mode.
void setTabTextPadding (float)
 Set the amount of padding to add either side of the text in the tab, according to the current metrics mode.
void setRelativeTabTextPadding (float)
 Set the relative amount of padding to add either side of the text in the tab.
void setAbsoluteTabTextPadding (float)
 Set the absolute 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 EventSelectionChanged
 Event triggered when there is a change to the currently selected tab.

Protected Types

typedef std::map< uint, TabButton * > TabButtonIndexMap

Protected Member Functions

virtual void drawSelf (float z)
 Perform the actual rendering for this Window.
void addTabControlEvents (void)
 Add tab control specific events.
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.
TabButtongetButtonForTabContents (Window *wnd) const
 Return the TabButton associated with this Window.
Exceptions:
InvalidRequestException thrown if content is not found.

String makeButtonName (Window *wnd)
 Construct a button name to handle a window.
virtual void selectTab_impl (Window *wnd)
 Internal implementation of select tab.
virtual bool testClassName_impl (const String &class_name) const
 Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.
void performChildWindowLayout ()
 method called to perform extended laying out of attached child windows.
int writeChildWindowsXML (OutStream &out_stream) const
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.
virtual TabPanecreateTabContentPane (const String &name) const =0
 create and return a pointer to a TabPane widget for use as content area
virtual WindowcreateTabButtonPane (const String &name) const
 create and return a pointer to a widget for use as tab button area
virtual TabButtoncreateTabButton (const String &name) const =0
 create and return a pointer to a TabButton widget for use as a clickable tab header
void calculateTabButtonSizePosition (TabButton *btn, uint targetIndex)
 Calculate the correct position and size of a tab button, based on the index it is due to be placed at.
void addTabControlProperties (void)
void addChild_impl (Window *wnd)
 Add given window to child list at an appropriate position.
void removeChild_impl (Window *wnd)
 Remove given window from child list.
bool handleContentWindowTextChanged (const EventArgs &args)
bool handleTabButtonClicked (const EventArgs &args)

Protected Attributes

Windowd_tabButtonPane
 The area containing the tab buttons.
TabPaned_tabContentPane
 The content area window.
float d_abs_tabHeight
 The height of the tabs in pixels.
float d_rel_tabHeight
 The height of the tabs relative to parent.
float d_abs_tabPadding
 The padding of the tabs in pixels.
float d_rel_tabPadding
 The padding of the tabs relative to parent.
uint d_nextTabIndex
 The index to give the next tab.
TabButtonIndexMap d_tabButtonIndexMap
 Sorting for tabs.

Static Protected Attributes

static TabControlProperties::TabHeight d_tabHeightProperty
static TabControlProperties::AbsoluteTabHeight d_absoluteTabHeightProperty
static TabControlProperties::RelativeTabHeight d_relativeTabHeightProperty
static TabControlProperties::TabTextPadding d_tabTextPaddingProperty
static TabControlProperties::AbsoluteTabTextPadding d_absoluteTabTextPaddingProperty
static TabControlProperties::RelativeTabTextPadding d_relativeTabTextPaddingProperty

Detailed Description

Base class for standard Tab Control widget.


Member Function Documentation

void CEGUI::TabControl::addTab Window wnd  ) 
 

Add a new tab to the tab control.

The new tab will be added with the same text as the window passed in.
Parameters:
wnd The Window which will be placed in the content area of this new tab.

void CEGUI::TabControl::calculateTabButtonSizePosition TabButton btn,
uint  targetIndex
[protected]
 

Calculate the correct position and size of a tab button, based on the index it is due to be placed at.

Parameters:
btn Pointer to a button to calculate the size and position for. This button will be updated in place with these metrics.
targetIndex The index at which the tab is/will be placed. Tabs must exist for all the indexes before this.

virtual TabButton* CEGUI::TabControl::createTabButton const String name  )  const [protected, pure virtual]
 

create and return a pointer to a TabButton widget for use as a clickable tab header

Parameters:
name Button name
Returns:
Pointer to a TabButton to be used for changing tabs.

Window * CEGUI::TabControl::createTabButtonPane const String name  )  const [protected, virtual]
 

create and return a pointer to a widget for use as tab button area

Parameters:
name String holding the name to be given to the new component.
Returns:
Pointer to a Static to be used for holding the tab buttons.

virtual TabPane* CEGUI::TabControl::createTabContentPane const String name  )  const [protected, pure virtual]
 

create and return a pointer to a TabPane widget for use as content area

Parameters:
name String holding the name to be given to the new component.
Returns:
Pointer to a TabPane to be used for holding the main content.

virtual void CEGUI::TabControl::drawSelf float  z  )  [inline, protected, virtual]
 

Perform the actual rendering for this Window.

Parameters:
z float value specifying the base Z co-ordinate that should be used when rendering
Returns:
Nothing

Reimplemented from CEGUI::Window.

uint CEGUI::TabControl::getSelectedTabIndex  )  const
 

Return the index of the currently selected tab.

Returns:
index of the currently selected tab.

Window * CEGUI::TabControl::getTabContents uint  ID  )  const
 

Return the Window which is the tab content with the given ID.

Parameters:
ID ID of the Window which was attached as a tab content.
Returns:
Pointer to the Window with the given ID in the tab control.
Exceptions:
InvalidRequestException thrown if content is not found.

Window * CEGUI::TabControl::getTabContents const String name  )  const
 

Return the Window which is the tab content with the given name.

Parameters:
name Name of the Window which was attached as a tab content.
Returns:
Pointer to the named Window in the tab control.
Exceptions:
InvalidRequestException thrown if content is not found.

Window * CEGUI::TabControl::getTabContentsAtIndex uint  index  )  const
 

Return the Window which is the first child of the tab at index position index.

Parameters:
index Zero based index of the item to be returned.
Returns:
Pointer to the Window at index position index in the tab control.
Exceptions:
InvalidRequestException thrown if index is out of range.

uint CEGUI::TabControl::getTabCount void   )  const
 

Return number of tabs.

Returns:
the number of tabs currently present.

void CEGUI::TabControl::initialise void   )  [virtual]
 

Initialise the Window based object ready for use.

Note:
This must be called for every window created. Normally this is handled automatically by the WindowFactory for each Window type.
Returns:
Nothing

Reimplemented from CEGUI::Window.

bool CEGUI::TabControl::isTabContentsSelected Window wnd  )  const
 

Return whether the tab contents window is currently selected.

Parameters:
wnd The tab contents window to query.
Returns:
true if the tab is currently selected, false otherwise.
Exceptions:
InvalidRequestException thrown if wnd is not a valid tab contents window.

void CEGUI::TabControl::onFontChanged WindowEventArgs e  )  [protected, virtual]
 

Handler called when the window's font is changed.

Parameters:
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  )  [protected, virtual]
 

method called to perform extended laying out of attached child windows.

The system may call this at various times (like when it is resized for example), and it may be invoked directly where required.

Returns:
Nothing.

Reimplemented from CEGUI::Window.

void CEGUI::TabControl::removeTab uint  ID  ) 
 

Remove the tab with the given ID from the tab control.

The tab content will be destroyed.

void CEGUI::TabControl::removeTab const String name  ) 
 

Remove the named tab from the tab control.

The tab content will be destroyed.

void CEGUI::TabControl::selectTab_impl Window wnd  )  [protected, virtual]
 

Internal implementation of select tab.

Parameters:
wnd Pointer to a Window which is the root of the tab content to select

virtual bool CEGUI::TabControl::testClassName_impl const String class_name  )  const [inline, protected, virtual]
 

Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.

Parameters:
class_name The class name that is to be checked.
Returns:
true if this window was inherited from class_name. false if not.

Reimplemented from CEGUI::Window.


Generated on Sat Nov 26 10:10:08 2005 for Crazy Eddies GUI System by  doxygen 1.4.5