openshot-audio
0.1.6
|
#include <juce_ToolbarItemComponent.h>
Classes | |
class | ItemDragAndDropOverlayComponent |
Public Types | |
enum | ToolbarEditingMode { normalMode = 0, editableOnToolbar, editableOnPalette } |
![]() | |
enum | ConnectedEdgeFlags { ConnectedOnLeft = 1, ConnectedOnRight = 2, ConnectedOnTop = 4, ConnectedOnBottom = 8 } |
enum | ButtonState { buttonNormal, buttonOver, buttonDown } |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
Public Member Functions | |
ToolbarItemComponent (int itemId, const String &labelText, bool isBeingUsedAsAButton) | |
~ToolbarItemComponent () | |
int | getItemId () const noexcept |
Toolbar * | getToolbar () const |
bool | isToolbarVertical () const |
Toolbar::ToolbarItemStyle | getStyle () const noexcept |
virtual void | setStyle (const Toolbar::ToolbarItemStyle &newStyle) |
const Rectangle< int > & | getContentArea () const noexcept |
virtual bool | getToolbarItemSizes (int toolbarThickness, bool isToolbarVertical, int &preferredSize, int &minSize, int &maxSize)=0 |
virtual void | paintButtonArea (Graphics &g, int width, int height, bool isMouseOver, bool isMouseDown)=0 |
virtual void | contentAreaChanged (const Rectangle< int > &newBounds)=0 |
void | setEditingMode (const ToolbarEditingMode newMode) |
ToolbarEditingMode | getEditingMode () const noexcept |
void | paintButton (Graphics &, bool isMouseOver, bool isMouseDown) override |
void | resized () override |
![]() | |
virtual | ~Button () |
void | setButtonText (const String &newText) |
const String & | getButtonText () const |
bool | isDown () const noexcept |
bool | isOver () const noexcept |
void | setToggleState (bool shouldBeOn, NotificationType notification) |
bool | getToggleState () const noexcept |
Value & | getToggleStateValue () noexcept |
void | setClickingTogglesState (bool shouldAutoToggleOnClick) noexcept |
bool | getClickingTogglesState () const noexcept |
void | setRadioGroupId (int newGroupId, NotificationType notification=sendNotification) |
int | getRadioGroupId () const noexcept |
void | addListener (Listener *newListener) |
void | removeListener (Listener *listener) |
virtual void | triggerClick () |
void | setCommandToTrigger (ApplicationCommandManager *commandManagerToUse, CommandID commandID, bool generateTooltip) |
CommandID | getCommandID () const noexcept |
void | addShortcut (const KeyPress &) |
void | clearShortcuts () |
bool | isRegisteredForShortcut (const KeyPress &) const |
void | setRepeatSpeed (int initialDelayInMillisecs, int repeatDelayInMillisecs, int minimumDelayInMillisecs=-1) noexcept |
void | setTriggeredOnMouseDown (bool isTriggeredOnMouseDown) noexcept |
uint32 | getMillisecondsSinceButtonDown () const noexcept |
void | setTooltip (const String &newTooltip) override |
void | setConnectedEdges (int connectedEdgeFlags) |
int | getConnectedEdgeFlags () const noexcept |
bool | isConnectedOnLeft () const noexcept |
bool | isConnectedOnRight () const noexcept |
bool | isConnectedOnTop () const noexcept |
bool | isConnectedOnBottom () const noexcept |
void | setState (ButtonState newState) |
ButtonState | getState () const noexcept |
JUCE_DEPRECATED (void setToggleState(bool, bool)) | |
![]() | |
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 |
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 | 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) |
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 | 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 | keyStateChanged (bool isKeyDown) |
virtual void | modifierKeysChanged (const ModifierKeys &modifiers) |
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) |
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 () |
![]() | |
virtual | ~SettableTooltipClient () |
virtual String | getTooltip () |
![]() | |
virtual | ~TooltipClient () |
Friends | |
class | Toolbar |
class | ItemDragAndDropOverlayComponent |
A component that can be used as one of the items in a Toolbar.
Each of the items on a toolbar must be a component derived from ToolbarItemComponent, and these objects are always created by a ToolbarItemFactory - see the ToolbarItemFactory class for further info about creating them.
The ToolbarItemComponent class is actually a button, but can be used to hold non-button components too. To do this, set the value of isBeingUsedAsAButton to false when calling the constructor, and override contentAreaChanged(), in which you can position any sub-components you need to add.
To add basic buttons without writing a special subclass, have a look at the ToolbarButton class.
Editing modes. These are used by setEditingMode(), but will be rarely needed in user code.
ToolbarItemComponent::ToolbarItemComponent | ( | int | itemId, |
const String & | labelText, | ||
bool | isBeingUsedAsAButton | ||
) |
Constructor.
itemId | the ID of the type of toolbar item which this represents |
labelText | the text to display if the toolbar's style is set to Toolbar::iconsWithText or Toolbar::textOnly |
isBeingUsedAsAButton | set this to false if you don't want the button to draw itself with button over/down states when the mouse moves over it or clicks |
ToolbarItemComponent::~ToolbarItemComponent | ( | ) |
Destructor.
|
pure virtual |
Callback to indicate that the content area of this item has changed.
This might be because the component was resized, or because the style changed and the space needed for the text label is different.
See getContentArea() for a description of what the area is.
Implemented in ToolbarButton, and Toolbar::Spacer.
|
inlinenoexcept |
Returns the area of the component that should be used to display the button image or other contents of the item.
This content area may change when the item's style changes, and may leave a space around the edge of the component where the text label can be shown.
|
inlinenoexcept |
Returns the current editing mode of this component.
This is used by the ToolbarItemPalette and related classes for making the items draggable, and is unlikely to be of much use in end-user-code.
|
inlinenoexcept |
Returns the item type ID that this component represents. This value is in the constructor.
|
inlinenoexcept |
Returns the current style setting of this item.
Styles are listed in the Toolbar::ToolbarItemStyle enum.
Toolbar * ToolbarItemComponent::getToolbar | ( | ) | const |
Returns the toolbar that contains this component, or nullptr if it's not currently inside one.
|
pure virtual |
This method must return the size criteria for this item, based on a given toolbar size and orientation.
The preferredSize, minSize and maxSize values must all be set by your implementation method. If the toolbar is horizontal, these will be the width of the item; for a vertical toolbar, they refer to the item's height.
The preferredSize is the size that the component would like to be, and this must be between the min and max sizes. For a fixed-size item, simply set all three variables to the same value.
The toolbarThickness parameter tells you the depth of the toolbar - the same as calling Toolbar::getThickness().
The isToolbarVertical parameter tells you whether the bar is oriented horizontally or vertically.
Implemented in ToolbarButton, and Toolbar::Spacer.
bool ToolbarItemComponent::isToolbarVertical | ( | ) | const |
Returns true if this component is currently inside a toolbar which is vertical.
|
overridevirtual |
Subclasses should override this to actually paint the button's contents.
It's better to use this than the paint method, because it gives you information about the over/down state of the button.
g | the graphics context to use |
isMouseOverButton | true if the button is either in the 'over' or 'down' state |
isButtonDown | true if the button should be drawn in the 'down' position |
Implements Button.
|
pure virtual |
Your subclass should use this method to draw its content area.
The graphics object that is passed-in will have been clipped and had its origin moved to fit the content area as specified get getContentArea(). The width and height parameters are the width and height of the content area.
If the component you're writing isn't a button, you can just do nothing in this method.
Implemented in ToolbarButton, and Toolbar::Spacer.
|
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 Component.
void ToolbarItemComponent::setEditingMode | ( | const ToolbarEditingMode | newMode | ) |
Changes the editing mode of this component.
This is used by the ToolbarItemPalette and related classes for making the items draggable, and is unlikely to be of much use in end-user-code.
|
virtual |
Changes the current style setting of this item.
Styles are listed in the Toolbar::ToolbarItemStyle enum, and are automatically updated by the toolbar that holds this item.
|
friend |
|
friend |