openshot-audio
0.1.6
|
#include <juce_gui_basics.h>
Classes | |
class | BehindFrontTabComp |
struct | LookAndFeelMethods |
Public Types | |
enum | Orientation { TabsAtTop, TabsAtBottom, TabsAtLeft, TabsAtRight } |
enum | ColourIds { tabOutlineColourId = 0x1005812, tabTextColourId = 0x1005813, frontOutlineColourId = 0x1005814, frontTextColourId = 0x1005815 } |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
Protected Member Functions | |
virtual TabBarButton * | createTabButton (const String &tabName, int tabIndex) |
![]() | |
virtual ComponentPeer * | createNewPeer (int styleFlags, void *nativeWindowToAttachTo) |
Friends | |
class | BehindFrontTabComp |
struct | ContainerDeletePolicy< BehindFrontTabComp > |
Additional Inherited Members | |
![]() | |
static Component *JUCE_CALLTYPE | getCurrentlyFocusedComponent () noexcept |
static void JUCE_CALLTYPE | unfocusAllComponents () |
static void JUCE_CALLTYPE | beginDragAutoRepeat (int millisecondsBetweenCallbacks) |
static bool JUCE_CALLTYPE | isMouseButtonDownAnywhere () noexcept |
static int JUCE_CALLTYPE | getNumCurrentlyModalComponents () noexcept |
static Component *JUCE_CALLTYPE | getCurrentlyModalComponent (int index=0) noexcept |
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.
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.
The placement of the tab-bar
Enumerator | |
---|---|
TabsAtTop | |
TabsAtBottom | |
TabsAtLeft | |
TabsAtRight |
TabbedButtonBar::TabbedButtonBar | ( | Orientation | orientation | ) |
Creates a TabbedButtonBar with a given orientation. You can change the orientation later if you need to.
TabbedButtonBar::~TabbedButtonBar | ( | ) |
Destructor.
void TabbedButtonBar::addTab | ( | const String & | tabName, |
Colour | tabBackgroundColour, | ||
int | insertIndex | ||
) |
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::clearTabs | ( | ) |
Deletes all the tabs from the bar.
|
protectedvirtual |
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.
Reimplemented in juce::TabbedComponent::ButtonBar.
|
virtual |
Callback method to indicate the selected tab has been changed.
Reimplemented in juce::TabbedComponent::ButtonBar.
|
inlinenoexcept |
Returns the index of the currently selected tab. This could return -1 if none are selected.
String TabbedButtonBar::getCurrentTabName | ( | ) | const |
Returns the name of the currently selected tab. This could be an empty string if none are selected.
int TabbedButtonBar::getNumTabs | ( | ) | const |
Returns the number of tabs in the bar.
|
inlinenoexcept |
Returns the bar's current orientation.
Colour TabbedButtonBar::getTabBackgroundColour | ( | int | tabIndex | ) |
Returns the colour of a tab. This is the colour that was specified in addTab().
TabBarButton * TabbedButtonBar::getTabButton | ( | 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.
StringArray TabbedButtonBar::getTabNames | ( | ) | const |
Returns a list of all the tab names in the bar.
Rectangle< int > TabbedButtonBar::getTargetBounds | ( | TabBarButton * | button | ) | const |
Returns the final bounds of this button if it is currently being animated.
|
inlinenoexcept |
Returns the thickness of the bar, which may be its width or height, depending on the orientation.
int TabbedButtonBar::indexOfTabButton | ( | const TabBarButton * | button | ) | const |
Returns the index of a TabBarButton if it belongs to this bar.
|
inlinenoexcept |
Returns true if the orientation is TabsAtLeft or TabsAtRight.
|
overridevirtual |
Called to let the component react to a change in the look-and-feel setting.
When the look-and-feel is changed for a component, this will be called in all its child components, recursively.
It can also be triggered manually by the sendLookAndFeelChange() method, in case an application uses a LookAndFeel class that might have changed internally.
Reimplemented from juce::Component.
void TabbedButtonBar::moveTab | ( | int | currentIndex, |
int | newIndex, | ||
bool | animate = false |
||
) |
Moves a tab to a new index in the list. Pass -1 as the index to move it to the end of the list.
|
overridevirtual |
Components can override this method to draw their content.
The paint() method gets called when a region of a component needs redrawing, either because the component's repaint() method has been called, or because something has happened on the screen that means a section of a window needs to be redrawn.
Any child components will draw themselves over whatever this method draws. If you need to paint over the top of your child components, you can also implement the paintOverChildren() method to do this.
If you want to cause a component to redraw itself, this is done asynchronously - calling the repaint() method marks a region of the component as "dirty", and the paint() method will automatically be called sometime later, by the message thread, to paint any bits that need refreshing. In Juce (and almost all modern UI frameworks), you never redraw something synchronously.
You should never need to call this method directly - to take a snapshot of the component you could use createComponentSnapshot() or paintEntireComponent().
g | the graphics context that must be used to do the drawing operations. |
Reimplemented from juce::Component.
Callback method to indicate that the user has right-clicked on a tab.
Reimplemented in juce::TabbedComponent::ButtonBar.
void TabbedButtonBar::removeTab | ( | int | tabIndex, |
bool | animate = false |
||
) |
Gets rid of one of the tabs.
|
overridevirtual |
Called when this component's size has been changed.
A component can implement this method to do things such as laying out its child components when its width or height changes.
The method is called synchronously as a result of the setBounds or setSize methods, so repeatedly changing a components size will repeatedly call its resized method (unlike things like repainting, where multiple calls to repaint are coalesced together).
If the component is a top-level window on the desktop, its size could also be changed by operating-system factors beyond the application's control.
Reimplemented from juce::Component.
void TabbedButtonBar::setCurrentTabIndex | ( | int | newTabIndex, |
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.
void TabbedButtonBar::setMinimumTabScaleFactor | ( | double | newMinimumScale | ) |
Changes the minimum scale factor to which the tabs can be compressed when trying to fit a lot of tabs on-screen.
void TabbedButtonBar::setOrientation | ( | 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.
void TabbedButtonBar::setTabBackgroundColour | ( | int | tabIndex, |
Colour | newColour | ||
) |
Changes the background colour of a tab.
Changes the name of one of the tabs.
|
friend |
|
friend |