Inherits Component, ChangeBroadcaster, and ButtonListener.
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 String & | getCurrentTabName () const throw () |
| Returns the name of the currently selected tab. | |
| int | getCurrentTabIndex () const throw () |
| Returns the index of the currently selected tab. | |
| TabBarButton * | getTabButton (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 TabBarButton * | createTabButton (const String &tabName, const int tabIndex) |
| This creates one of the tabs. | |
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.
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.
| 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.
| 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 () |
| void TabbedButtonBar::clearTabs | ( | ) |
| 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] |
| 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 | |||
| ) |
| void TabbedButtonBar::resized | ( | ) | [virtual] |
| void TabbedButtonBar::buttonClicked | ( | Button * | button | ) | [virtual] |
| void TabbedButtonBar::lookAndFeelChanged | ( | ) | [virtual] |
| 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.
1.5.9