TabbedButtonBar Class Reference

A vertical or horizontal bar containing tabs that you can select. More...

Inherits Component, ChangeBroadcaster, and ButtonListener.

List of all members.

Public Types

enum  Orientation { TabsAtTop, TabsAtBottom, TabsAtLeft, TabsAtRight }
 The placement of the tab-bar. More...
enum  ColourIds { tabOutlineColourId = 0x1005812, tabTextColourId = 0x1005813, frontOutlineColourId = 0x1005814, frontTextColourId = 0x1005815 }
 A set of colour IDs to use to change the colour of various aspects of the component. More...

Public Member Functions

 TabbedButtonBar (const Orientation orientation)
 Creates a TabbedButtonBar with a given placement.
 ~TabbedButtonBar ()
 Destructor.
void setOrientation (const Orientation orientation)
 Changes the bar's orientation.
Orientation getOrientation () const throw ()
 Returns the current orientation.
void clearTabs ()
 Deletes all the tabs from the bar.
void addTab (const String &tabName, const Colour &tabBackgroundColour, int insertIndex=-1)
 Adds a tab to the bar.
void setTabName (const int tabIndex, const String &newName)
 Changes the name of one of the tabs.
void removeTab (const int tabIndex)
 Gets rid of one of the tabs.
void moveTab (const int currentIndex, const int newIndex)
 Moves a tab to a new index in the list.
int getNumTabs () const
 Returns the number of tabs in the bar.
const StringArray getTabNames () const
 Returns a list of all the tab names in the bar.
void setCurrentTabIndex (int newTabIndex, const bool sendChangeMessage=true)
 Changes the currently selected tab.
const StringgetCurrentTabName () const throw ()
 Returns the name of the currently selected tab.
int getCurrentTabIndex () const throw ()
 Returns the index of the currently selected tab.
TabBarButtongetTabButton (const int index) const
 Returns the button for a specific tab.
virtual void currentTabChanged (const int newCurrentTabIndex, const String &newCurrentTabName)
 Callback method to indicate the selected tab has been changed.
virtual void popupMenuClickOnTab (const int tabIndex, const String &tabName)
 Callback method to indicate that the user has right-clicked on a tab.
const Colour getTabBackgroundColour (const int tabIndex)
 Returns the colour of a tab.
void setTabBackgroundColour (const int tabIndex, const Colour &newColour)
 Changes the background colour of a tab.
void resized ()
void buttonClicked (Button *button)
void lookAndFeelChanged ()

Protected Member Functions

virtual TabBarButtoncreateTabButton (const String &tabName, const int tabIndex)
 This creates one of the tabs.


Detailed Description

A vertical or horizontal bar containing tabs that you can select.

You can use one of these to generate things like a dialog box that has tabbed pages you can flip between. Attach a ChangeListener to the button bar to be told when the user changes the page.

An easier method than doing this is to use a TabbedComponent, which contains its own TabbedButtonBar and which takes care of the layout and other housekeeping.

See also:
TabbedComponent

Member Enumeration Documentation

The placement of the tab-bar.

See also:
setOrientation, getOrientation
Enumerator:
TabsAtTop 
TabsAtBottom 
TabsAtLeft 
TabsAtRight 

A set of colour IDs to use to change the colour of various aspects of the component.

These constants can be used either via the Component::setColour(), or LookAndFeel::setColour() methods.

See also:
Component::setColour, Component::findColour, LookAndFeel::setColour, LookAndFeel::findColour
Enumerator:
tabOutlineColourId  The colour to use to draw an outline around the tabs.

tabTextColourId  The colour to use to draw the tab names.

If this isn't specified, the look and feel will choose an appropriate colour.

frontOutlineColourId  The colour to use to draw an outline around the currently-selected tab.

frontTextColourId  The colour to use to draw the currently-selected tab name.

If this isn't specified, the look and feel will choose an appropriate colour.


Constructor & Destructor Documentation

TabbedButtonBar::TabbedButtonBar ( const Orientation  orientation  ) 

Creates a TabbedButtonBar with a given placement.

You can change the orientation later if you need to.

TabbedButtonBar::~TabbedButtonBar (  ) 

Destructor.


Member Function Documentation

void TabbedButtonBar::setOrientation ( const Orientation  orientation  ) 

Changes the bar's orientation.

This won't change the bar's actual size - you'll need to do that yourself, but this determines which direction the tabs go in, and which side they're stuck to.

Orientation TabbedButtonBar::getOrientation (  )  const throw ()

Returns the current orientation.

See also:
setOrientation

void TabbedButtonBar::clearTabs (  ) 

Deletes all the tabs from the bar.

See also:
addTab

void TabbedButtonBar::addTab ( const String tabName,
const Colour tabBackgroundColour,
int  insertIndex = -1 
)

Adds a tab to the bar.

Tabs are added in left-to-right reading order.

If this is the first tab added, it'll also be automatically selected.

void TabbedButtonBar::setTabName ( const int  tabIndex,
const String newName 
)

Changes the name of one of the tabs.

void TabbedButtonBar::removeTab ( const int  tabIndex  ) 

Gets rid of one of the tabs.

void TabbedButtonBar::moveTab ( const int  currentIndex,
const int  newIndex 
)

Moves a tab to a new index in the list.

Pass -1 as the index to move it to the end of the list.

int TabbedButtonBar::getNumTabs (  )  const

Returns the number of tabs in the bar.

const StringArray TabbedButtonBar::getTabNames (  )  const

Returns a list of all the tab names in the bar.

void TabbedButtonBar::setCurrentTabIndex ( int  newTabIndex,
const bool  sendChangeMessage = true 
)

Changes the currently selected tab.

This will send a change message and cause a synchronous callback to the currentTabChanged() method. (But if the given tab is already selected, nothing will be done).

To deselect all the tabs, use an index of -1.

const String& TabbedButtonBar::getCurrentTabName (  )  const throw ()

Returns the name of the currently selected tab.

This could be an empty string if none are selected.

int TabbedButtonBar::getCurrentTabIndex (  )  const throw ()

Returns the index of the currently selected tab.

This could return -1 if none are selected.

TabBarButton* TabbedButtonBar::getTabButton ( const int  index  )  const

Returns the button for a specific tab.

The button that is returned may be deleted later by this component, so don't hang on to the pointer that is returned. A null pointer may be returned if the index is out of range.

virtual void TabbedButtonBar::currentTabChanged ( const int  newCurrentTabIndex,
const String newCurrentTabName 
) [virtual]

Callback method to indicate the selected tab has been changed.

See also:
setCurrentTabIndex

virtual void TabbedButtonBar::popupMenuClickOnTab ( const int  tabIndex,
const String tabName 
) [virtual]

Callback method to indicate that the user has right-clicked on a tab.

(Or ctrl-clicked on the Mac)

const Colour TabbedButtonBar::getTabBackgroundColour ( const int  tabIndex  ) 

Returns the colour of a tab.

This is the colour that was specified in addTab().

void TabbedButtonBar::setTabBackgroundColour ( const int  tabIndex,
const Colour newColour 
)

Changes the background colour of a tab.

See also:
addTab, getTabBackgroundColour

void TabbedButtonBar::resized (  )  [virtual]

For internal use only.

Reimplemented from Component.

void TabbedButtonBar::buttonClicked ( Button button  )  [virtual]

For internal use only.

Implements ButtonListener.

void TabbedButtonBar::lookAndFeelChanged (  )  [virtual]

For internal use only.

Reimplemented from Component.

virtual TabBarButton* TabbedButtonBar::createTabButton ( const String tabName,
const int  tabIndex 
) [protected, virtual]

This creates one of the tabs.

If you need to use custom tab components, you can override this method and return your own class instead of the default.


The documentation for this class was generated from the following file:

Generated on Fri Nov 20 12:00:50 2009 for JUCE by  doxygen 1.5.9