A vertical or horizontal bar containing tabs that you can select. More...
Inherits Component, and ChangeBroadcaster.
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 Types inherited from Component | |
| enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
| Enumeration used by the focusChanged() and focusLost() methods. More... | |
Public Member Functions | |
| TabbedButtonBar (Orientation orientation) | |
| Creates a TabbedButtonBar with a given orientation. | |
| ~TabbedButtonBar () | |
| Destructor. | |
| void | setOrientation (Orientation orientation) |
| Changes the bar's orientation. | |
| Orientation | getOrientation () const noexcept |
| Returns the bar's current orientation. | |
| bool | isVertical () const noexcept |
| Returns true if the orientation is TabsAtLeft or TabsAtRight. | |
| int | getThickness () const noexcept |
| Returns the thickness of the bar, which may be its width or height, depending on the orientation. | |
| void | 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 | clearTabs () |
| Deletes all the tabs from the bar. | |
| void | addTab (const String &tabName, const Colour &tabBackgroundColour, int insertIndex) |
| Adds a tab to the bar. | |
| void | setTabName (int tabIndex, const String &newName) |
| Changes the name of one of the tabs. | |
| void | removeTab (int tabIndex) |
| Gets rid of one of the tabs. | |
| void | moveTab (int currentIndex, int newIndex) |
| Moves a tab to a new index in the list. | |
| int | getNumTabs () const |
| Returns the number of tabs in the bar. | |
| StringArray | getTabNames () const |
| Returns a list of all the tab names in the bar. | |
| void | setCurrentTabIndex (int newTabIndex, bool sendChangeMessage=true) |
| Changes the currently selected tab. | |
| String | getCurrentTabName () const |
| Returns the name of the currently selected tab. | |
| int | getCurrentTabIndex () const noexcept |
| Returns the index of the currently selected tab. | |
| TabBarButton * | getTabButton (int index) const |
| Returns the button for a specific tab. | |
| int | indexOfTabButton (const TabBarButton *button) const |
| Returns the index of a TabBarButton if it belongs to this bar. | |
| virtual void | currentTabChanged (int newCurrentTabIndex, const String &newCurrentTabName) |
| Callback method to indicate the selected tab has been changed. | |
| virtual void | popupMenuClickOnTab (int tabIndex, const String &tabName) |
| Callback method to indicate that the user has right-clicked on a tab. | |
| Colour | getTabBackgroundColour (int tabIndex) |
| Returns the colour of a tab. | |
| void | setTabBackgroundColour (int tabIndex, const Colour &newColour) |
| Changes the background colour of a tab. | |
| void | resized () |
| void | lookAndFeelChanged () |
Public Member Functions inherited from Component | |
| Component () | |
| Creates a component. | |
| virtual | ~Component () |
| Destructor. | |
| Component (const String &componentName) | |
| Creates a component, setting its name at the same time. | |
| const String & | getName () const noexcept |
| Returns the name of this component. | |
| virtual void | setName (const String &newName) |
| Sets the name of this component. | |
| const String & | getComponentID () const noexcept |
| Returns the ID string that was set by setComponentID(). | |
| void | setComponentID (const String &newID) |
| Sets the component's ID string. | |
| virtual void | setVisible (bool shouldBeVisible) |
| Makes the component visible or invisible. | |
| bool | isVisible () const noexcept |
| Tests whether the component is visible or not. | |
| virtual void | visibilityChanged () |
| Called when this component's visiblility changes. | |
| bool | isShowing () const |
| Tests whether this component and all its parents are visible. | |
| virtual void | addToDesktop (int windowStyleFlags, void *nativeWindowToAttachTo=nullptr) |
| Makes this component appear as a window on the desktop. | |
| void | removeFromDesktop () |
| If the component is currently showing on the desktop, this will hide it. | |
| bool | isOnDesktop () const noexcept |
| Returns true if this component is currently showing on the desktop. | |
| ComponentPeer * | getPeer () const |
| Returns the heavyweight window that contains this component. | |
| virtual void | userTriedToCloseWindow () |
| For components on the desktop, this is called if the system wants to close the window. | |
| virtual void | minimisationStateChanged (bool isNowMinimised) |
| Called for a desktop component which has just been minimised or un-minimised. | |
| void | toFront (bool shouldAlsoGainFocus) |
| Brings the component to the front of its siblings. | |
| void | toBack () |
| Changes this component's z-order to be at the back of all its siblings. | |
| void | toBehind (Component *other) |
| Changes this component's z-order so that it's just behind another component. | |
| void | setAlwaysOnTop (bool shouldStayOnTop) |
| Sets whether the component should always be kept at the front of its siblings. | |
| bool | isAlwaysOnTop () const noexcept |
| Returns true if this component is set to always stay in front of its siblings. | |
| int | getX () const noexcept |
| Returns the x coordinate of the component's left edge. | |
| int | getY () const noexcept |
| Returns the y coordinate of the top of this component. | |
| int | getWidth () const noexcept |
| Returns the component's width in pixels. | |
| int | getHeight () const noexcept |
| Returns the component's height in pixels. | |
| int | getRight () const noexcept |
| Returns the x coordinate of the component's right-hand edge. | |
| const Point< int > & | getPosition () const noexcept |
| Returns the component's top-left position as a Point. | |
| int | getBottom () const noexcept |
| Returns the y coordinate of the bottom edge of this component. | |
| const Rectangle< int > & | getBounds () const noexcept |
| Returns this component's bounding box. | |
| Rectangle< int > | getLocalBounds () const noexcept |
| Returns the component's bounds, relative to its own origin. | |
| Rectangle< int > | getBoundsInParent () const noexcept |
| Returns the area of this component's parent which this component covers. | |
| void | getVisibleArea (RectangleList &result, bool includeSiblings) const |
| Returns the region of this component that's not obscured by other, opaque components. | |
| int | getScreenX () const |
| Returns this component's x coordinate relative the the screen's top-left origin. | |
| int | getScreenY () const |
| Returns this component's y coordinate relative the the screen's top-left origin. | |
| Point< int > | getScreenPosition () const |
| Returns the position of this component's top-left corner relative to the screen's top-left. | |
| Rectangle< int > | getScreenBounds () const |
| Returns the bounds of this component, relative to the screen's top-left. | |
| Point< int > | getLocalPoint (const Component *sourceComponent, const Point< int > &pointRelativeToSourceComponent) const |
| Converts a point to be relative to this component's coordinate space. | |
| Rectangle< int > | getLocalArea (const Component *sourceComponent, const Rectangle< int > &areaRelativeToSourceComponent) const |
| Converts a rectangle to be relative to this component's coordinate space. | |
| Point< int > | localPointToGlobal (const Point< int > &localPoint) const |
| Converts a point relative to this component's top-left into a screen coordinate. | |
| Rectangle< int > | localAreaToGlobal (const Rectangle< int > &localArea) const |
| Converts a rectangle from this component's coordinate space to a screen coordinate. | |
| void | setTopLeftPosition (int x, int y) |
| Moves the component to a new position. | |
| void | setTopLeftPosition (const Point< int > &newTopLeftPosition) |
| Moves the component to a new position. | |
| void | setTopRightPosition (int x, int y) |
| Moves the component to a new position. | |
| void | setSize (int newWidth, int newHeight) |
| Changes the size of the component. | |
| void | setBounds (int x, int y, int width, int height) |
| Changes the component's position and size. | |
| void | setBounds (const Rectangle< int > &newBounds) |
| Changes the component's position and size. | |
| void | setBounds (const RelativeRectangle &newBounds) |
| Changes the component's position and size. | |
| void | setBounds (const String &newBoundsExpression) |
| Sets the component's bounds with an expression. | |
| void | setBoundsRelative (float proportionalX, float proportionalY, float proportionalWidth, float proportionalHeight) |
| Changes the component's position and size in terms of fractions of its parent's size. | |
| void | setBoundsInset (const BorderSize< int > &borders) |
| Changes the component's position and size based on the amount of space to leave around it. | |
| void | setBoundsToFit (int x, int y, int width, int height, const Justification &justification, bool onlyReduceInSize) |
| Positions the component within a given rectangle, keeping its proportions unchanged. | |
| void | setCentrePosition (int x, int y) |
| Changes the position of the component's centre. | |
| void | setCentreRelative (float x, float y) |
| Changes the position of the component's centre. | |
| void | centreWithSize (int width, int height) |
| Changes the component's size and centres it within its parent. | |
| void | setTransform (const AffineTransform &transform) |
| Sets a transform matrix to be applied to this component. | |
| AffineTransform | getTransform () const |
| Returns the transform that is currently being applied to this component. | |
| bool | isTransformed () const noexcept |
| Returns true if a non-identity transform is being applied to this component. | |
| int | proportionOfWidth (float proportion) const noexcept |
| Returns a proportion of the component's width. | |
| int | proportionOfHeight (float proportion) const noexcept |
| Returns a proportion of the component's height. | |
| int | getParentWidth () const noexcept |
| Returns the width of the component's parent. | |
| int | getParentHeight () const noexcept |
| Returns the height of the component's parent. | |
| Rectangle< int > | getParentMonitorArea () const |
| Returns the screen coordinates of the monitor that contains this component. | |
| int | getNumChildComponents () const noexcept |
| Returns the number of child components that this component contains. | |
| Component * | getChildComponent (int index) const noexcept |
| Returns one of this component's child components, by it index. | |
| int | getIndexOfChildComponent (const Component *child) const noexcept |
| Returns the index of this component in the list of child components. | |
| Component * | findChildWithID (const String &componentID) const noexcept |
| Looks for a child component with the specified ID. | |
| void | addChildComponent (Component *child, int zOrder=-1) |
| Adds a child component to this one. | |
| void | addAndMakeVisible (Component *child, int zOrder=-1) |
| Adds a child component to this one, and also makes the child visible if it isn't. | |
| void | addChildAndSetID (Component *child, const String &componentID) |
| Adds a child component to this one, makes it visible, and sets its component ID. | |
| void | removeChildComponent (Component *childToRemove) |
| Removes one of this component's child-components. | |
| Component * | removeChildComponent (int childIndexToRemove) |
| Removes one of this component's child-components by index. | |
| void | removeAllChildren () |
| Removes all this component's children. | |
| void | deleteAllChildren () |
| Removes all this component's children, and deletes them. | |
| Component * | getParentComponent () const noexcept |
| Returns the component which this component is inside. | |
| template<class TargetClass > | |
| TargetClass * | findParentComponentOfClass () const |
| Searches the parent components for a component of a specified class. | |
| Component * | getTopLevelComponent () const noexcept |
| Returns the highest-level component which contains this one or its parents. | |
| bool | isParentOf (const Component *possibleChild) const noexcept |
| Checks whether a component is anywhere inside this component or its children. | |
| virtual void | parentHierarchyChanged () |
| Called to indicate that the component's parents have changed. | |
| virtual void | childrenChanged () |
| Subclasses can use this callback to be told when children are added or removed, or when their z-order changes. | |
| virtual bool | hitTest (int x, int y) |
| Tests whether a given point inside the component. | |
| void | setInterceptsMouseClicks (bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept |
| Changes the default return value for the hitTest() method. | |
| void | getInterceptsMouseClicks (bool &allowsClicksOnThisComponent, bool &allowsClicksOnChildComponents) const noexcept |
| Retrieves the current state of the mouse-click interception flags. | |
| bool | contains (const Point< int > &localPoint) |
| Returns true if a given point lies within this component or one of its children. | |
| bool | reallyContains (const Point< int > &localPoint, bool returnTrueIfWithinAChild) |
| Returns true if a given point lies in this component, taking any overlapping siblings into account. | |
| Component * | getComponentAt (int x, int y) |
| Returns the component at a certain point within this one. | |
| Component * | getComponentAt (const Point< int > &position) |
| Returns the component at a certain point within this one. | |
| void | repaint () |
| Marks the whole component as needing to be redrawn. | |
| void | repaint (int x, int y, int width, int height) |
| Marks a subsection of this component as needing to be redrawn. | |
| void | repaint (const Rectangle< int > &area) |
| Marks a subsection of this component as needing to be redrawn. | |
| void | setBufferedToImage (bool shouldBeBuffered) |
| Makes the component use an internal buffer to optimise its redrawing. | |
| Image | createComponentSnapshot (const Rectangle< int > &areaToGrab, bool clipImageToComponentBounds=true) |
| Generates a snapshot of part of this component. | |
| void | paintEntireComponent (Graphics &context, bool ignoreAlphaLevel) |
| Draws this component and all its subcomponents onto the specified graphics context. | |
| void | setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept |
| This allows you to indicate that this component doesn't require its graphics context to be clipped when it is being painted. | |
| void | setComponentEffect (ImageEffectFilter *newEffect) |
| Adds an effect filter to alter the component's appearance. | |
| ImageEffectFilter * | getComponentEffect () const noexcept |
| Returns the current component effect. | |
| LookAndFeel & | getLookAndFeel () const noexcept |
| Finds the appropriate look-and-feel to use for this component. | |
| void | setLookAndFeel (LookAndFeel *newLookAndFeel) |
| Sets the look and feel to use for this component. | |
| void | sendLookAndFeelChange () |
| Calls the lookAndFeelChanged() method in this component and all its children. | |
| void | setOpaque (bool shouldBeOpaque) |
| Indicates whether any parts of the component might be transparent. | |
| bool | isOpaque () const noexcept |
| Returns true if no parts of this component are transparent. | |
| void | setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept |
| Indicates whether the component should be brought to the front when clicked. | |
| bool | isBroughtToFrontOnMouseClick () const noexcept |
| Indicates whether the component should be brought to the front when clicked-on. | |
| void | setWantsKeyboardFocus (bool wantsFocus) noexcept |
| Sets a flag to indicate whether this component needs keyboard focus or not. | |
| bool | getWantsKeyboardFocus () const noexcept |
| Returns true if the component is interested in getting keyboard focus. | |
| void | setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus) |
| Chooses whether a click on this component automatically grabs the focus. | |
| bool | getMouseClickGrabsKeyboardFocus () const noexcept |
| Returns the last value set with setMouseClickGrabsKeyboardFocus(). | |
| void | grabKeyboardFocus () |
| Tries to give keyboard focus to this component. | |
| bool | hasKeyboardFocus (bool trueIfChildIsFocused) const |
| Returns true if this component currently has the keyboard focus. | |
| void | moveKeyboardFocusToSibling (bool moveToNext) |
| Tries to move the keyboard focus to one of this component's siblings. | |
| virtual KeyboardFocusTraverser * | createFocusTraverser () |
| Creates a KeyboardFocusTraverser object to use to determine the logic by which focus should be passed from this component. | |
| int | getExplicitFocusOrder () const |
| Returns the focus order of this component, if one has been specified. | |
| void | setExplicitFocusOrder (int newFocusOrderIndex) |
| Sets the index used in determining the order in which focusable components should be traversed. | |
| void | setFocusContainer (bool shouldBeFocusContainer) noexcept |
| Indicates whether this component is a parent for components that can have their focus traversed. | |
| bool | isFocusContainer () const noexcept |
| Returns true if this component has been marked as a focus container. | |
| bool | isEnabled () const noexcept |
| Returns true if the component (and all its parents) are enabled. | |
| void | setEnabled (bool shouldBeEnabled) |
| Enables or disables this component. | |
| virtual void | enablementChanged () |
| Callback to indicate that this component has been enabled or disabled. | |
| void | setAlpha (float newAlpha) |
| Changes the transparency of this component. | |
| float | getAlpha () const |
| Returns the component's current transparancy level. | |
| void | setMouseCursor (const MouseCursor &cursorType) |
| Changes the mouse cursor shape to use when the mouse is over this component. | |
| virtual MouseCursor | getMouseCursor () |
| Returns the mouse cursor shape to use when the mouse is over this component. | |
| void | updateMouseCursor () const |
| Forces the current mouse cursor to be updated. | |
| virtual void | paint (Graphics &g) |
| Components can override this method to draw their content. | |
| virtual void | paintOverChildren (Graphics &g) |
| Components can override this method to draw over the top of their children. | |
| virtual void | mouseMove (const MouseEvent &event) |
| Called when the mouse moves inside a component. | |
| virtual void | mouseEnter (const MouseEvent &event) |
| Called when the mouse first enters a component. | |
| virtual void | mouseExit (const MouseEvent &event) |
| Called when the mouse moves out of a component. | |
| virtual void | mouseDown (const MouseEvent &event) |
| Called when a mouse button is pressed. | |
| virtual void | mouseDrag (const MouseEvent &event) |
| Called when the mouse is moved while a button is held down. | |
| virtual void | mouseUp (const MouseEvent &event) |
| Called when a mouse button is released. | |
| virtual void | mouseDoubleClick (const MouseEvent &event) |
| Called when a mouse button has been double-clicked on a component. | |
| virtual void | mouseWheelMove (const MouseEvent &event, const MouseWheelDetails &wheel) |
| Called when the mouse-wheel is moved. | |
| virtual void | mouseMagnify (const MouseEvent &event, float scaleFactor) |
| Called when a pinch-to-zoom mouse-gesture is used. | |
| void | setRepaintsOnMouseActivity (bool shouldRepaint) noexcept |
| Causes automatic repaints when the mouse enters or exits this component. | |
| void | addMouseListener (MouseListener *newListener, bool wantsEventsForAllNestedChildComponents) |
| Registers a listener to be told when mouse events occur in this component. | |
| void | removeMouseListener (MouseListener *listenerToRemove) |
| Deregisters a mouse listener. | |
| void | addKeyListener (KeyListener *newListener) |
| Adds a listener that wants to hear about keypresses that this component receives. | |
| void | removeKeyListener (KeyListener *listenerToRemove) |
| Removes a previously-registered key listener. | |
| virtual bool | keyPressed (const KeyPress &key) |
| Called when a key is pressed. | |
| virtual bool | keyStateChanged (bool isKeyDown) |
| Called when a key is pressed or released. | |
| virtual void | modifierKeysChanged (const ModifierKeys &modifiers) |
| Called when a modifier key is pressed or released. | |
| virtual void | focusGained (FocusChangeType cause) |
| Called to indicate that this component has just acquired the keyboard focus. | |
| virtual void | focusLost (FocusChangeType cause) |
| Called to indicate that this component has just lost the keyboard focus. | |
| virtual void | focusOfChildComponentChanged (FocusChangeType cause) |
| Called to indicate that one of this component's children has been focused or unfocused. | |
| bool | isMouseOver (bool includeChildren=false) const |
| Returns true if the mouse is currently over this component. | |
| bool | isMouseButtonDown () const |
| Returns true if the mouse button is currently held down in this component. | |
| bool | isMouseOverOrDragging () const |
| True if the mouse is over this component, or if it's being dragged in this component. | |
| Point< int > | getMouseXYRelative () const |
| Returns the mouse's current position, relative to this component. | |
| virtual void | moved () |
| Called when this component's position has been changed. | |
| virtual void | childBoundsChanged (Component *child) |
| Called when one of this component's children is moved or resized. | |
| virtual void | parentSizeChanged () |
| Called when this component's immediate parent has been resized. | |
| virtual void | broughtToFront () |
| Called when this component has been moved to the front of its siblings. | |
| void | addComponentListener (ComponentListener *newListener) |
| Adds a listener to be told about changes to the component hierarchy or position. | |
| void | removeComponentListener (ComponentListener *listenerToRemove) |
| Removes a component listener. | |
| void | postCommandMessage (int commandId) |
| Dispatches a numbered message to this component. | |
| virtual void | handleCommandMessage (int commandId) |
| Called to handle a command that was sent by postCommandMessage(). | |
| void | enterModalState (bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false) |
| Runs a component modally, waiting until the loop terminates. | |
| void | exitModalState (int returnValue) |
| Ends a component's modal state. | |
| bool | isCurrentlyModal () const noexcept |
| Returns true if this component is the modal one. | |
| bool | isCurrentlyBlockedByAnotherModalComponent () const |
| Checks whether there's a modal component somewhere that's stopping this one from receiving messages. | |
| virtual bool | canModalEventBeSentToComponent (const Component *targetComponent) |
| When a component is modal, this callback allows it to choose which other components can still receive events. | |
| virtual void | inputAttemptWhenModal () |
| Called when the user tries to click on a component that is blocked by another modal component. | |
| NamedValueSet & | getProperties () noexcept |
| Returns the set of properties that belong to this component. | |
| const NamedValueSet & | getProperties () const noexcept |
| Returns the set of properties that belong to this component. | |
| Colour | findColour (int colourId, bool inheritFromParent=false) const |
| Looks for a colour that has been registered with the given colour ID number. | |
| void | setColour (int colourId, const Colour &colour) |
| Registers a colour to be used for a particular purpose. | |
| void | removeColour (int colourId) |
| If a colour has been set with setColour(), this will remove it. | |
| bool | isColourSpecified (int colourId) const |
| Returns true if the specified colour ID has been explicitly set for this component using the setColour() method. | |
| void | copyAllExplicitColoursTo (Component &target) const |
| This looks for any colours that have been specified for this component, and copies them to the specified target component. | |
| virtual void | colourChanged () |
| This method is called when a colour is changed by the setColour() method. | |
| virtual MarkerList * | getMarkers (bool xAxis) |
| Components can implement this method to provide a MarkerList. | |
| void * | getWindowHandle () const |
| Returns the underlying native window handle for this component. | |
| Positioner * | getPositioner () const noexcept |
| Returns the Positioner object that has been set for this component. | |
| void | setPositioner (Positioner *newPositioner) |
| Sets a new Positioner object for this component. | |
| void | setCachedComponentImage (CachedComponentImage *newCachedImage) |
| Gives the component a CachedComponentImage that should be used to buffer its painting. | |
| CachedComponentImage * | getCachedComponentImage () const noexcept |
| Returns the object that was set by setCachedComponentImage(). | |
Public Member Functions inherited from MouseListener | |
| virtual | ~MouseListener () |
| Destructor. | |
Public Member Functions inherited from ChangeBroadcaster | |
| ChangeBroadcaster () noexcept | |
| Creates an ChangeBroadcaster. | |
| virtual | ~ChangeBroadcaster () |
| Destructor. | |
| void | addChangeListener (ChangeListener *listener) |
| Registers a listener to receive change callbacks from this broadcaster. | |
| void | removeChangeListener (ChangeListener *listener) |
| Unregisters a listener from the list. | |
| void | removeAllChangeListeners () |
| Removes all listeners from the list. | |
| void | sendChangeMessage () |
| Causes an asynchronous change message to be sent to all the registered listeners. | |
| void | sendSynchronousChangeMessage () |
| Sends a synchronous change message to all the registered listeners. | |
| void | dispatchPendingMessages () |
| If a change message has been sent but not yet dispatched, this will call sendSynchronousChangeMessage() to make the callback immediately. | |
Protected Member Functions | |
| virtual TabBarButton * | createTabButton (const String &tabName, int tabIndex) |
| This creates one of the tabs. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Component | |
| static Component *JUCE_CALLTYPE | getCurrentlyFocusedComponent () noexcept |
| Returns the component that currently has the keyboard focus. | |
| static void JUCE_CALLTYPE | beginDragAutoRepeat (int millisecondsBetweenCallbacks) |
| Ensures that a non-stop stream of mouse-drag events will be sent during the current mouse-drag operation. | |
| static bool JUCE_CALLTYPE | isMouseButtonDownAnywhere () noexcept |
| Returns true if a mouse button is currently down. | |
| static int JUCE_CALLTYPE | getNumCurrentlyModalComponents () noexcept |
| Returns the number of components that are currently in a modal state. | |
| static Component *JUCE_CALLTYPE | getCurrentlyModalComponent (int index=0) noexcept |
| Returns one of the components that are currently modal. | |
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.
The placement of the tab-bar.
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 | ( | Orientation | orientation | ) |
Creates a TabbedButtonBar with a given orientation.
You can change the orientation later if you need to.
| TabbedButtonBar::~TabbedButtonBar | ( | ) |
Destructor.
| 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.
|
noexcept |
Returns the bar's current orientation.
|
noexcept |
Returns true if the orientation is TabsAtLeft or TabsAtRight.
|
noexcept |
Returns the thickness of the bar, which may be its width or height, depending on the orientation.
References Component::getHeight(), and Component::getWidth().
| 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::clearTabs | ( | ) |
Deletes all the tabs from the bar.
| void TabbedButtonBar::addTab | ( | const String & | tabName, |
| const 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::setTabName | ( | int | tabIndex, |
| const String & | newName | ||
| ) |
Changes the name of one of the tabs.
| void TabbedButtonBar::removeTab | ( | int | tabIndex | ) |
Gets rid of one of the tabs.
| void TabbedButtonBar::moveTab | ( | int | currentIndex, |
| 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.
| StringArray TabbedButtonBar::getTabNames | ( | ) | const |
Returns a list of all the tab names in the bar.
| 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.
| String TabbedButtonBar::getCurrentTabName | ( | ) | const |
Returns the name of the currently selected tab.
This could be an empty string if none are selected.
|
noexcept |
Returns the index of the currently selected tab.
This could return -1 if none are selected.
| 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.
| int TabbedButtonBar::indexOfTabButton | ( | const TabBarButton * | button | ) | const |
Returns the index of a TabBarButton if it belongs to this bar.
|
virtual |
Callback method to indicate the selected tab has been changed.
|
virtual |
Callback method to indicate that the user has right-clicked on a tab.
| Colour TabbedButtonBar::getTabBackgroundColour | ( | int | tabIndex | ) |
Returns the colour of a tab.
This is the colour that was specified in addTab().
| void TabbedButtonBar::setTabBackgroundColour | ( | int | tabIndex, |
| const Colour & | newColour | ||
| ) |
Changes the background colour of a tab.
|
virtual |
Reimplemented from Component.
|
virtual |
Reimplemented from Component.
|
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.