openshot-audio
0.1.7
|
#include <juce_gui_basics.h>
Classes | |
class | ButtonBar |
Public Types | |
enum | ColourIds { backgroundColourId = 0x1005800, outlineColourId = 0x1005801 } |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
Public Member Functions | |
TabbedComponent (TabbedButtonBar::Orientation orientation) | |
~TabbedComponent () | |
void | setOrientation (TabbedButtonBar::Orientation orientation) |
TabbedButtonBar::Orientation | getOrientation () const noexcept |
void | setTabBarDepth (int newDepth) |
int | getTabBarDepth () const noexcept |
void | setOutline (int newThickness) |
void | setIndent (int indentThickness) |
void | clearTabs () |
void | addTab (const String &tabName, Colour tabBackgroundColour, Component *contentComponent, bool deleteComponentWhenNotNeeded, int insertIndex=-1) |
void | setTabName (int tabIndex, const String &newName) |
void | removeTab (int tabIndex) |
int | getNumTabs () const |
StringArray | getTabNames () const |
Component * | getTabContentComponent (int tabIndex) const noexcept |
Colour | getTabBackgroundColour (int tabIndex) const noexcept |
void | setTabBackgroundColour (int tabIndex, Colour newColour) |
void | setCurrentTabIndex (int newTabIndex, bool sendChangeMessage=true) |
int | getCurrentTabIndex () const |
String | getCurrentTabName () const |
Component * | getCurrentContentComponent () const noexcept |
virtual void | currentTabChanged (int newCurrentTabIndex, const String &newCurrentTabName) |
virtual void | popupMenuClickOnTab (int tabIndex, const String &tabName) |
TabbedButtonBar & | getTabbedButtonBar () const noexcept |
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 () |
Protected Member Functions | |
virtual TabBarButton * | createTabButton (const String &tabName, int tabIndex) |
![]() | |
virtual ComponentPeer * | createNewPeer (int styleFlags, void *nativeWindowToAttachTo) |
Protected Attributes | |
ScopedPointer< TabbedButtonBar > | tabs |
Friends | |
class | ButtonBar |
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 component with a TabbedButtonBar along one of its sides.
This makes it easy to create a set of tabbed pages, just add a bunch of tabs with addTab(), and this will take care of showing the pages for you when the user clicks on a different tab.
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.
Enumerator | |
---|---|
backgroundColourId | The colour to fill the background behind the tabs. |
outlineColourId | The colour to use to draw an outline around the content. (See setOutline) |
|
explicit |
Creates a TabbedComponent, specifying where the tabs should be placed. Once created, add some tabs with the addTab() method.
TabbedComponent::~TabbedComponent | ( | ) |
Destructor.
void TabbedComponent::addTab | ( | const String & | tabName, |
Colour | tabBackgroundColour, | ||
Component * | contentComponent, | ||
bool | deleteComponentWhenNotNeeded, | ||
int | insertIndex = -1 |
||
) |
Adds a tab to the tab-bar.
The component passed in will be shown for the tab. If deleteComponentWhenNotNeeded is true, then the TabbedComponent will take ownership of the component and will delete it when the tab is removed or when this object is deleted.
void TabbedComponent::clearTabs | ( | ) |
Removes all the tabs from the bar.
|
protectedvirtual |
This creates one of the tab buttons.
If you need to use custom tab components, you can override this method and return your own class instead of the default.
|
virtual |
Callback method to indicate the selected tab has been changed.
Reimplemented in juce::MultiDocumentPanel::TabbedComponentInternal.
|
inlinenoexcept |
Returns the current component that's filling the panel. This will return nullptr if there isn't one.
int TabbedComponent::getCurrentTabIndex | ( | ) | const |
Returns the index of the currently selected tab.
String TabbedComponent::getCurrentTabName | ( | ) | const |
Returns the name of the currently selected tab.
int TabbedComponent::getNumTabs | ( | ) | const |
Returns the number of tabs in the bar.
|
noexcept |
Returns the current tab placement.
|
noexcept |
Returns the colour of one of the tabs.
|
inlinenoexcept |
Returns the current thickness of the tab bar.
|
inlinenoexcept |
Returns the tab button bar component that is being used.
|
noexcept |
Returns the content component that was added for the given index. Be careful not to reposition or delete the components that are returned, as this will interfere with the TabbedComponent's behaviour.
StringArray TabbedComponent::getTabNames | ( | ) | const |
Returns a list of all the tab names in the bar.
|
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.
|
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.
void TabbedComponent::removeTab | ( | int | tabIndex | ) |
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 TabbedComponent::setCurrentTabIndex | ( | int | newTabIndex, |
bool | sendChangeMessage = true |
||
) |
Changes the currently-selected tab. To deselect all the tabs, pass -1 as the index.
void TabbedComponent::setIndent | ( | int | indentThickness | ) |
Specifies a gap to leave around the edge of the content component. Each edge of the content component will be indented by the given number of pixels.
void TabbedComponent::setOrientation | ( | TabbedButtonBar::Orientation | orientation | ) |
Changes the placement of the tabs.
This will rearrange the layout to place the tabs along the appropriate side of this component, and will shift the content component accordingly.
void TabbedComponent::setOutline | ( | int | newThickness | ) |
Specifies the thickness of an outline that should be drawn around the content component.
If this thickness is > 0, a line will be drawn around the three sides of the content component which don't touch the tab-bar, and the content component will be inset by this amount.
To set the colour of the line, use setColour (outlineColourId, ...).
void TabbedComponent::setTabBackgroundColour | ( | int | tabIndex, |
Colour | newColour | ||
) |
Changes the background colour of one of the tabs.
void TabbedComponent::setTabBarDepth | ( | int | newDepth | ) |
Specifies how many pixels wide or high the tab-bar should be.
If the tabs are placed along the top or bottom, this specified the height of the bar; if they're along the left or right edges, it'll be the width of the bar.
void TabbedComponent::setTabName | ( | int | tabIndex, |
const String & | newName | ||
) |
Changes the name of one of the tabs.
|
friend |
|
protected |