openshot-audio
0.1.7
|
#include <juce_gui_basics.h>
Classes | |
class | CustomisationDialog |
struct | LookAndFeelMethods |
class | MissingItemsComponent |
class | Spacer |
Public Types | |
enum | ToolbarItemStyle { iconsOnly, iconsWithText, textOnly } |
enum | CustomisationFlags { allowIconsOnlyChoice = 1, allowIconsWithTextChoice = 2, allowTextOnlyChoice = 4, showResetToDefaultsButton = 8, allCustomisationOptionsEnabled = (allowIconsOnlyChoice | allowIconsWithTextChoice | allowTextOnlyChoice | showResetToDefaultsButton) } |
enum | ColourIds { backgroundColourId = 0x1003200, separatorColourId = 0x1003210, buttonMouseOverBackgroundColourId = 0x1003220, buttonMouseDownBackgroundColourId = 0x1003230, labelTextColourId = 0x1003240, editingModeOutlineColourId = 0x1003250 } |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
Public Member Functions | |
Toolbar () | |
~Toolbar () | |
void | setVertical (bool shouldBeVertical) |
bool | isVertical () const noexcept |
int | getThickness () const noexcept |
int | getLength () const noexcept |
void | clear () |
void | addItem (ToolbarItemFactory &factory, int itemId, int insertIndex=-1) |
void | removeToolbarItem (int itemIndex) |
ToolbarItemComponent * | removeAndReturnItem (int itemIndex) |
int | getNumItems () const noexcept |
int | getItemId (int itemIndex) const noexcept |
ToolbarItemComponent * | getItemComponent (int itemIndex) const noexcept |
void | addDefaultItems (ToolbarItemFactory &factoryToUse) |
ToolbarItemStyle | getStyle () const noexcept |
void | setStyle (const ToolbarItemStyle &newStyle) |
void | showCustomisationDialog (ToolbarItemFactory &factory, int optionFlags=allCustomisationOptionsEnabled) |
void | setEditingActive (bool editingEnabled) |
String | toString () const |
bool | restoreFromString (ToolbarItemFactory &factoryToUse, const String &savedVersion) |
void | paint (Graphics &) override |
void | resized () override |
void | mouseDown (const MouseEvent &) override |
bool | isInterestedInDragSource (const SourceDetails &) override |
void | itemDragMove (const SourceDetails &) override |
void | itemDragExit (const SourceDetails &) override |
void | itemDropped (const SourceDetails &) override |
void | updateAllItemPositions (bool animate) |
![]() | |
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) |
virtual void | lookAndFeelChanged () |
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 | 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 () |
![]() | |
DragAndDropContainer () | |
virtual | ~DragAndDropContainer () |
void | startDragging (const var &sourceDescription, Component *sourceComponent, Image dragImage=Image::null, bool allowDraggingToOtherJuceWindows=false, const Point< int > *imageOffsetFromMouse=nullptr) |
bool | isDragAndDropActive () const |
var | getCurrentDragDescription () const |
void | setCurrentDragImage (const Image &newImage) |
![]() | |
virtual | ~DragAndDropTarget () |
virtual void | itemDragEnter (const SourceDetails &dragSourceDetails) |
virtual bool | shouldDrawDragImageWhenOver () |
Static Public Member Functions | |
static ToolbarItemComponent * | createItem (ToolbarItemFactory &, int itemId) |
![]() | |
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 |
![]() | |
static DragAndDropContainer * | findParentDragContainerFor (Component *childComponent) |
static bool | performExternalDragDropOfFiles (const StringArray &files, bool canMoveFiles) |
static bool | performExternalDragDropOfText (const String &text) |
Static Public Attributes | |
static const char *const | toolbarDragDescriptor = "_toolbarItem_" |
Friends | |
class | MissingItemsComponent |
Additional Inherited Members | |
![]() | |
virtual ComponentPeer * | createNewPeer (int styleFlags, void *nativeWindowToAttachTo) |
![]() | |
virtual bool | shouldDropFilesWhenDraggedExternally (const DragAndDropTarget::SourceDetails &sourceDetails, StringArray &files, bool &canMoveFiles) |
virtual void | dragOperationStarted () |
virtual void | dragOperationEnded () |
A toolbar component.
A toolbar contains a horizontal or vertical strip of ToolbarItemComponents, and looks after their order and layout.
Items (icon buttons or other custom components) are added to a toolbar using a ToolbarItemFactory - each type of item is given a unique ID number, and a toolbar might contain more than one instance of a particular item type.
Toolbars can be interactively customised, allowing the user to drag the items around, and to drag items onto or off the toolbar, using the ToolbarItemPalette component as a source of new items.
A set of colour IDs to use to change the colour of various aspects of the toolbar.
These constants can be used either via the Component::setColour(), or LookAndFeel::setColour() methods.
Enumerator | |
---|---|
backgroundColourId | A colour to use to fill the toolbar's background. For more control over this, override LookAndFeel::paintToolbarBackground(). |
separatorColourId | A colour to use to draw the separator lines. |
buttonMouseOverBackgroundColourId | A colour used to paint the background of buttons when the mouse is over them. |
buttonMouseDownBackgroundColourId | A colour used to paint the background of buttons when the mouse is held down on them. |
labelTextColourId | A colour to use for drawing the text under buttons when the style is set to iconsWithText or textOnly. |
editingModeOutlineColourId | A colour to use for an outline around buttons when the customisation dialog is active and the mouse moves over them. |
Flags used by the showCustomisationDialog() method.
Toolbar::Toolbar | ( | ) |
Creates an empty toolbar component.
To add some icons or other components to your toolbar, you'll need to create a ToolbarItemFactory class that can create a suitable set of ToolbarItemComponents.
Toolbar::~Toolbar | ( | ) |
Destructor.
Any items on the bar will be deleted when the toolbar is deleted.
void Toolbar::addDefaultItems | ( | ToolbarItemFactory & | factoryToUse | ) |
Clears this toolbar and adds to it the default set of items that the specified factory creates.
void Toolbar::addItem | ( | ToolbarItemFactory & | factory, |
int | itemId, | ||
int | insertIndex = -1 |
||
) |
Adds an item to the toolbar.
The factory's ToolbarItemFactory::createItem() will be called by this method to create the component that will actually be added to the bar.
The new item will be inserted at the specified index (if the index is -1, it will be added to the right-hand or bottom end of the bar).
Once added, the component will be automatically deleted by this object when it is no longer needed.
void Toolbar::clear | ( | ) |
Deletes all items from the bar.
|
static |
|
noexcept |
Returns the component being used for the item with the given index.
If the index is less than zero or greater than the number of items, this will return nullptr.
|
noexcept |
Returns the ID of the item with the given index.
If the index is less than zero or greater than the number of items, this will return nullptr.
|
noexcept |
Returns the length of the bar.
If the bar is horizontal, this will return its width; if it's vertical, it will return its height.
|
noexcept |
Returns the number of items currently on the toolbar.
|
inlinenoexcept |
Returns the toolbar's current style.
|
noexcept |
Returns the depth of the bar.
If the bar is horizontal, this will return its height; if it's vertical, it will return its width.
|
overridevirtual |
Callback to check whether this target is interested in the type of object being dragged.
dragSourceDetails | contains information about the source of the drag operation. |
Implements juce::DragAndDropTarget.
|
inlinenoexcept |
Returns true if the bar is set to be vertical, or false if it's horizontal.
You can change the bar's orientation with setVertical().
|
overridevirtual |
Callback to indicate that something has been dragged off the edge of this component.
This gets called when the user moves the mouse out of this component while dragging something.
If you've used itemDragEnter() to repaint your component and give feedback, use this as a signal to repaint it in its normal state.
dragSourceDetails | contains information about the source of the drag operation. |
Reimplemented from juce::DragAndDropTarget.
|
overridevirtual |
Callback to indicate that the user is dragging something over this component.
This gets called when the user moves the mouse over this component while dragging something. Normally overriding itemDragEnter() and itemDragExit() are enough, but this lets you know what happens in-between.
dragSourceDetails | contains information about the source of the drag operation. |
Reimplemented from juce::DragAndDropTarget.
|
overridevirtual |
Callback to indicate that the user has dropped something onto this component.
When the user drops an item this get called, and you can use the description to work out whether your object wants to deal with it or not.
Note that after this is called, the itemDragExit method may not be called, so you should clean up in here if there's anything you need to do when the drag finishes.
dragSourceDetails | contains information about the source of the drag operation. |
Implements juce::DragAndDropTarget.
|
overridevirtual |
Called when a mouse button is pressed.
The MouseEvent object passed in contains lots of methods for finding out which button was pressed, as well as which modifier keys (e.g. shift, ctrl) were held down at the time.
Once a button is held down, the mouseDrag method will be called when the mouse moves, until the button is released.
event | details about the position and status of the mouse event, including the source component in which it occurred |
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.
ToolbarItemComponent * Toolbar::removeAndReturnItem | ( | int | itemIndex | ) |
Removes an item from the bar and returns it.
void Toolbar::removeToolbarItem | ( | int | itemIndex | ) |
Deletes one of the items from the bar.
|
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.
bool Toolbar::restoreFromString | ( | ToolbarItemFactory & | factoryToUse, |
const String & | savedVersion | ||
) |
Restores a set of items that was previously stored in a string by the toString() method.
The factory object is used to create any item components that are needed.
void Toolbar::setEditingActive | ( | bool | editingEnabled | ) |
Turns on or off the toolbar's editing mode, in which its items can be rearranged by the user.
(In most cases it's easier just to use showCustomisationDialog() instead of trying to enable editing directly).
void Toolbar::setStyle | ( | const ToolbarItemStyle & | newStyle | ) |
Changes the toolbar's current style.
void Toolbar::setVertical | ( | bool | shouldBeVertical | ) |
Changes the bar's orientation.
void Toolbar::showCustomisationDialog | ( | ToolbarItemFactory & | factory, |
int | optionFlags = allCustomisationOptionsEnabled |
||
) |
Pops up a modal dialog box that allows this toolbar to be customised by the user.
The dialog contains a ToolbarItemPalette and various controls for editing other aspects of the toolbar. The dialog box will be opened modally, but the method will return immediately.
The factory is used to determine the set of items that will be shown on the palette.
The optionFlags parameter is a bitwise-or of values from the CustomisationFlags enum.
String Toolbar::toString | ( | ) | const |
Returns a string that represents the toolbar's current set of items.
This lets you later restore the same item layout using restoreFromString().
void Toolbar::updateAllItemPositions | ( | bool | animate | ) |
|
friend |
|
static |