openshot-audio
0.1.5
|
#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 } |
Public Member Functions | |
TabbedButtonBar (Orientation orientation) | |
~TabbedButtonBar () | |
void | setOrientation (Orientation orientation) |
Orientation | getOrientation () const noexcept |
bool | isVertical () const noexcept |
int | getThickness () const noexcept |
void | setMinimumTabScaleFactor (double newMinimumScale) |
void | clearTabs () |
void | addTab (const String &tabName, Colour tabBackgroundColour, int insertIndex) |
void | setTabName (int tabIndex, const String &newName) |
void | removeTab (int tabIndex, bool animate=false) |
void | moveTab (int currentIndex, int newIndex, bool animate=false) |
int | getNumTabs () const |
StringArray | getTabNames () const |
void | setCurrentTabIndex (int newTabIndex, bool sendChangeMessage=true) |
String | getCurrentTabName () const |
int | getCurrentTabIndex () const noexcept |
TabBarButton * | getTabButton (int index) const |
int | indexOfTabButton (const TabBarButton *button) const |
Rectangle< int > | getTargetBounds (TabBarButton *button) const |
virtual void | currentTabChanged (int newCurrentTabIndex, const String &newCurrentTabName) |
virtual void | popupMenuClickOnTab (int tabIndex, const String &tabName) |
Colour | getTabBackgroundColour (int tabIndex) |
void | setTabBackgroundColour (int tabIndex, Colour newColour) |
void | paint (Graphics &) override |
void | resized () override |
void | lookAndFeelChanged () override |
![]() | |
Component () noexcept | |
virtual | ~Component () |
Component (const String &componentName) noexcept | |
const String & | getName () const noexcept |
virtual void | setName (const String &newName) |
const String & | getComponentID () const noexcept |
void | setComponentID (const String &newID) |
virtual void | setVisible (bool shouldBeVisible) |
bool | isVisible () const noexcept |
virtual void | visibilityChanged () |
bool | isShowing () const |
virtual void | addToDesktop (int windowStyleFlags, void *nativeWindowToAttachTo=nullptr) |
void | removeFromDesktop () |
bool | isOnDesktop () const noexcept |
ComponentPeer * | getPeer () const |
virtual void | userTriedToCloseWindow () |
virtual void | minimisationStateChanged (bool isNowMinimised) |
virtual float | getDesktopScaleFactor () const |
void | toFront (bool shouldAlsoGainFocus) |
void | toBack () |
void | toBehind (Component *other) |
void | setAlwaysOnTop (bool shouldStayOnTop) |
bool | isAlwaysOnTop () const noexcept |
int | getX () const noexcept |
int | getY () const noexcept |
int | getWidth () const noexcept |
int | getHeight () const noexcept |
int | getRight () const noexcept |
Point< int > | getPosition () const noexcept |
int | getBottom () const noexcept |
const Rectangle< int > & | getBounds () const noexcept |
Rectangle< int > | getLocalBounds () const noexcept |
Rectangle< int > | getBoundsInParent () const noexcept |
int | getScreenX () const |
int | getScreenY () const |
Point< int > | getScreenPosition () const |
Rectangle< int > | getScreenBounds () const |
Point< int > | getLocalPoint (const Component *sourceComponent, Point< int > pointRelativeToSourceComponent) const |
Point< float > | getLocalPoint (const Component *sourceComponent, Point< float > pointRelativeToSourceComponent) const |
Rectangle< int > | getLocalArea (const Component *sourceComponent, const Rectangle< int > &areaRelativeToSourceComponent) const |
Point< int > | localPointToGlobal (Point< int > localPoint) const |
Point< float > | localPointToGlobal (Point< float > localPoint) const |
Rectangle< int > | localAreaToGlobal (const Rectangle< int > &localArea) const |
void | setTopLeftPosition (int x, int y) |
void | setTopLeftPosition (Point< int > newTopLeftPosition) |
void | setTopRightPosition (int x, int y) |
void | setSize (int newWidth, int newHeight) |
void | setBounds (int x, int y, int width, int height) |
void | setBounds (const Rectangle< int > &newBounds) |
void | setBounds (const RelativeRectangle &newBounds) |
void | setBounds (const String &newBoundsExpression) |
void | setBoundsRelative (float proportionalX, float proportionalY, float proportionalWidth, float proportionalHeight) |
void | setBoundsInset (const BorderSize< int > &borders) |
void | setBoundsToFit (int x, int y, int width, int height, Justification justification, bool onlyReduceInSize) |
void | setCentrePosition (int x, int y) |
void | setCentreRelative (float x, float y) |
void | centreWithSize (int width, int height) |
void | setTransform (const AffineTransform &transform) |
AffineTransform | getTransform () const |
bool | isTransformed () const noexcept |
int | proportionOfWidth (float proportion) const noexcept |
int | proportionOfHeight (float proportion) const noexcept |
int | getParentWidth () const noexcept |
int | getParentHeight () const noexcept |
Rectangle< int > | getParentMonitorArea () const |
int | getNumChildComponents () const noexcept |
Component * | getChildComponent (int index) const noexcept |
int | getIndexOfChildComponent (const Component *child) const noexcept |
Component * | findChildWithID (StringRef componentID) const noexcept |
void | addChildComponent (Component *child, int zOrder=-1) |
void | addChildComponent (Component &child, int zOrder=-1) |
void | addAndMakeVisible (Component *child, int zOrder=-1) |
void | addAndMakeVisible (Component &child, int zOrder=-1) |
void | addChildAndSetID (Component *child, const String &componentID) |
void | removeChildComponent (Component *childToRemove) |
Component * | removeChildComponent (int childIndexToRemove) |
void | removeAllChildren () |
void | deleteAllChildren () |
Component * | getParentComponent () const noexcept |
template<class TargetClass > | |
TargetClass * | findParentComponentOfClass () const |
Component * | getTopLevelComponent () const noexcept |
bool | isParentOf (const Component *possibleChild) const noexcept |
virtual void | parentHierarchyChanged () |
virtual void | childrenChanged () |
virtual bool | hitTest (int x, int y) |
void | setInterceptsMouseClicks (bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept |
void | getInterceptsMouseClicks (bool &allowsClicksOnThisComponent, bool &allowsClicksOnChildComponents) const noexcept |
bool | contains (Point< int > localPoint) |
bool | reallyContains (Point< int > localPoint, bool returnTrueIfWithinAChild) |
Component * | getComponentAt (int x, int y) |
Component * | getComponentAt (Point< int > position) |
void | repaint () |
void | repaint (int x, int y, int width, int height) |
void | repaint (const Rectangle< int > &area) |
void | setBufferedToImage (bool shouldBeBuffered) |
Image | createComponentSnapshot (const Rectangle< int > &areaToGrab, bool clipImageToComponentBounds=true, float scaleFactor=1.0f) |
void | paintEntireComponent (Graphics &context, bool ignoreAlphaLevel) |
void | setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept |
void | setComponentEffect (ImageEffectFilter *newEffect) |
ImageEffectFilter * | getComponentEffect () const noexcept |
LookAndFeel & | getLookAndFeel () const noexcept |
void | setLookAndFeel (LookAndFeel *newLookAndFeel) |
void | sendLookAndFeelChange () |
void | setOpaque (bool shouldBeOpaque) |
bool | isOpaque () const noexcept |
void | setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept |
bool | isBroughtToFrontOnMouseClick () const noexcept |
void | setWantsKeyboardFocus (bool wantsFocus) noexcept |
bool | getWantsKeyboardFocus () const noexcept |
void | setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus) |
bool | getMouseClickGrabsKeyboardFocus () const noexcept |
void | grabKeyboardFocus () |
bool | hasKeyboardFocus (bool trueIfChildIsFocused) const |
void | moveKeyboardFocusToSibling (bool moveToNext) |
virtual KeyboardFocusTraverser * | createFocusTraverser () |
int | getExplicitFocusOrder () const |
void | setExplicitFocusOrder (int newFocusOrderIndex) |
void | setFocusContainer (bool shouldBeFocusContainer) noexcept |
bool | isFocusContainer () const noexcept |
bool | isEnabled () const noexcept |
void | setEnabled (bool shouldBeEnabled) |
virtual void | enablementChanged () |
void | setAlpha (float newAlpha) |
float | getAlpha () const |
void | setMouseCursor (const MouseCursor &cursorType) |
virtual MouseCursor | getMouseCursor () |
void | updateMouseCursor () const |
virtual void | paintOverChildren (Graphics &g) |
virtual void | mouseMove (const MouseEvent &event) override |
virtual void | mouseEnter (const MouseEvent &event) override |
virtual void | mouseExit (const MouseEvent &event) override |
virtual void | mouseDown (const MouseEvent &event) override |
virtual void | mouseDrag (const MouseEvent &event) override |
virtual void | mouseUp (const MouseEvent &event) override |
virtual void | mouseDoubleClick (const MouseEvent &event) override |
virtual void | mouseWheelMove (const MouseEvent &event, const MouseWheelDetails &wheel) override |
virtual void | mouseMagnify (const MouseEvent &event, float scaleFactor) |
void | setRepaintsOnMouseActivity (bool shouldRepaint) noexcept |
void | addMouseListener (MouseListener *newListener, bool wantsEventsForAllNestedChildComponents) |
void | removeMouseListener (MouseListener *listenerToRemove) |
void | addKeyListener (KeyListener *newListener) |
void | removeKeyListener (KeyListener *listenerToRemove) |
virtual bool | keyPressed (const KeyPress &key) |
virtual bool | keyStateChanged (bool isKeyDown) |
virtual void | modifierKeysChanged (const ModifierKeys &modifiers) |
virtual void | focusGained (FocusChangeType cause) |
virtual void | focusLost (FocusChangeType cause) |
virtual void | focusOfChildComponentChanged (FocusChangeType cause) |
bool | isMouseOver (bool includeChildren=false) const |
bool | isMouseButtonDown () const |
bool | isMouseOverOrDragging () const |
Point< int > | getMouseXYRelative () const |
virtual void | moved () |
virtual void | childBoundsChanged (Component *child) |
virtual void | parentSizeChanged () |
virtual void | broughtToFront () |
void | addComponentListener (ComponentListener *newListener) |
void | removeComponentListener (ComponentListener *listenerToRemove) |
void | postCommandMessage (int commandId) |
virtual void | handleCommandMessage (int commandId) |
int | runModalLoop () |
void | enterModalState (bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false) |
void | exitModalState (int returnValue) |
bool | isCurrentlyModal () const noexcept |
bool | isCurrentlyBlockedByAnotherModalComponent () const |
virtual bool | canModalEventBeSentToComponent (const Component *targetComponent) |
virtual void | inputAttemptWhenModal () |
NamedValueSet & | getProperties () noexcept |
const NamedValueSet & | getProperties () const noexcept |
Colour | findColour (int colourId, bool inheritFromParent=false) const |
void | setColour (int colourId, Colour newColour) |
void | removeColour (int colourId) |
bool | isColourSpecified (int colourId) const |
void | copyAllExplicitColoursTo (Component &target) const |
virtual void | colourChanged () |
virtual MarkerList * | getMarkers (bool xAxis) |
void * | getWindowHandle () const |
Positioner * | getPositioner () const noexcept |
void | setPositioner (Positioner *newPositioner) |
void | setCachedComponentImage (CachedComponentImage *newCachedImage) |
CachedComponentImage * | getCachedComponentImage () const noexcept |
JUCE_DEPRECATED (Point< int > relativePositionToGlobal(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > globalPositionToRelative(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > relativePositionToOtherComponent(const Component *, Point< int >) const) | |
![]() | |
virtual | ~MouseListener () |
![]() | |
ChangeBroadcaster () noexcept | |
virtual | ~ChangeBroadcaster () |
void | addChangeListener (ChangeListener *listener) |
void | removeChangeListener (ChangeListener *listener) |
void | removeAllChangeListeners () |
void | sendChangeMessage () |
void | sendSynchronousChangeMessage () |
void | dispatchPendingMessages () |
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.
|
virtual |
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.
void TabbedButtonBar::setTabName | ( | int | tabIndex, |
const String & | newName | ||
) |
Changes the name of one of the tabs.
|
friend |
|
friend |