openshot-audio  0.1.7
Classes | Public Types | Public Member Functions | Friends | List of all members
juce::ToolbarItemComponent Class Referenceabstract

#include <juce_gui_basics.h>

Inheritance diagram for juce::ToolbarItemComponent:
juce::Button juce::Component juce::SettableTooltipClient juce::MouseListener juce::TooltipClient juce::Toolbar::Spacer juce::ToolbarButton

Classes

class  ItemDragAndDropOverlayComponent
 

Public Types

enum  ToolbarEditingMode { normalMode = 0, editableOnToolbar, editableOnPalette }
 
- Public Types inherited from juce::Button
enum  ConnectedEdgeFlags { ConnectedOnLeft = 1, ConnectedOnRight = 2, ConnectedOnTop = 4, ConnectedOnBottom = 8 }
 
enum  ButtonState { buttonNormal, buttonOver, buttonDown }
 
- Public Types inherited from juce::Component
enum  FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly }
 

Public Member Functions

 ToolbarItemComponent (int itemId, const String &labelText, bool isBeingUsedAsAButton)
 
 ~ToolbarItemComponent ()
 
int getItemId () const noexcept
 
ToolbargetToolbar () 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
 
- Public Member Functions inherited from juce::Button
virtual ~Button ()
 
void setButtonText (const String &newText)
 
const StringgetButtonText () const
 
bool isDown () const noexcept
 
bool isOver () const noexcept
 
void setToggleState (bool shouldBeOn, NotificationType notification)
 
bool getToggleState () const noexcept
 
ValuegetToggleStateValue () 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))
 
- Public Member Functions inherited from juce::Component
 Component () noexcept
 
virtual ~Component ()
 
 Component (const String &componentName) noexcept
 
const StringgetName () const noexcept
 
virtual void setName (const String &newName)
 
const StringgetComponentID () 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
 
ComponentPeergetPeer () 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
 
ComponentgetChildComponent (int index) const noexcept
 
int getIndexOfChildComponent (const Component *child) const noexcept
 
ComponentfindChildWithID (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)
 
ComponentremoveChildComponent (int childIndexToRemove)
 
void removeAllChildren ()
 
void deleteAllChildren ()
 
ComponentgetParentComponent () const noexcept
 
template<class TargetClass >
TargetClass * findParentComponentOfClass () const
 
ComponentgetTopLevelComponent () 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)
 
ComponentgetComponentAt (int x, int y)
 
ComponentgetComponentAt (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)
 
ImageEffectFiltergetComponentEffect () const noexcept
 
LookAndFeelgetLookAndFeel () 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 KeyboardFocusTraversercreateFocusTraverser ()
 
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)
 
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 ()
 
NamedValueSetgetProperties () noexcept
 
const NamedValueSetgetProperties () 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 MarkerListgetMarkers (bool xAxis)
 
void * getWindowHandle () const
 
PositionergetPositioner () const noexcept
 
void setPositioner (Positioner *newPositioner)
 
void setCachedComponentImage (CachedComponentImage *newCachedImage)
 
CachedComponentImagegetCachedComponentImage () 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)
 
- Public Member Functions inherited from juce::MouseListener
virtual ~MouseListener ()
 
- Public Member Functions inherited from juce::SettableTooltipClient
virtual ~SettableTooltipClient ()
 
virtual String getTooltip ()
 
- Public Member Functions inherited from juce::TooltipClient
virtual ~TooltipClient ()
 

Friends

class Toolbar
 
class ItemDragAndDropOverlayComponent
 

Additional Inherited Members

- Static Public Member Functions inherited from juce::Component
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
 
- Protected Member Functions inherited from juce::Button
 Button (const String &buttonName)
 
virtual void clicked ()
 
virtual void clicked (const ModifierKeys &modifiers)
 
virtual void buttonStateChanged ()
 
virtual void internalClickCallback (const ModifierKeys &)
 
void handleCommandMessage (int commandId) override
 
void mouseEnter (const MouseEvent &) override
 
void mouseExit (const MouseEvent &) override
 
void mouseDown (const MouseEvent &) override
 
void mouseDrag (const MouseEvent &) override
 
void mouseUp (const MouseEvent &) override
 
bool keyPressed (const KeyPress &) override
 
void paint (Graphics &) override
 
void parentHierarchyChanged () override
 
void visibilityChanged () override
 
void focusGained (FocusChangeType) override
 
void focusLost (FocusChangeType) override
 
void enablementChanged () override
 
- Protected Member Functions inherited from juce::Component
virtual ComponentPeercreateNewPeer (int styleFlags, void *nativeWindowToAttachTo)
 
- Protected Member Functions inherited from juce::SettableTooltipClient
 SettableTooltipClient ()
 

Detailed Description

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.

See also
ToolbarButton, Toolbar, ToolbarItemFactory

Member Enumeration Documentation

◆ ToolbarEditingMode

Editing modes. These are used by setEditingMode(), but will be rarely needed in user code.

Enumerator
normalMode 

Means that the component is active, inside a toolbar.

editableOnToolbar 

Means that the component is on a toolbar, but the toolbar is in customisation mode, and the items can be dragged around.

editableOnPalette 

Means that the component is on an new-item palette, so it can be dragged onto a toolbar to add it to that bar.

Constructor & Destructor Documentation

◆ ToolbarItemComponent()

ToolbarItemComponent::ToolbarItemComponent ( int  itemId,
const String labelText,
bool  isBeingUsedAsAButton 
)

Constructor.

Parameters
itemIdthe ID of the type of toolbar item which this represents
labelTextthe text to display if the toolbar's style is set to Toolbar::iconsWithText or Toolbar::textOnly
isBeingUsedAsAButtonset 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::~ToolbarItemComponent ( )

Destructor.

Member Function Documentation

◆ contentAreaChanged()

virtual void juce::ToolbarItemComponent::contentAreaChanged ( const Rectangle< int > &  newBounds)
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 juce::ToolbarButton, and juce::Toolbar::Spacer.

◆ getContentArea()

const Rectangle<int>& juce::ToolbarItemComponent::getContentArea ( ) const
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.

See also
contentAreaChanged

◆ getEditingMode()

ToolbarEditingMode juce::ToolbarItemComponent::getEditingMode ( ) const
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.

◆ getItemId()

int juce::ToolbarItemComponent::getItemId ( ) const
inlinenoexcept

Returns the item type ID that this component represents. This value is in the constructor.

◆ getStyle()

Toolbar::ToolbarItemStyle juce::ToolbarItemComponent::getStyle ( ) const
inlinenoexcept

Returns the current style setting of this item.

Styles are listed in the Toolbar::ToolbarItemStyle enum.

See also
setStyle, Toolbar::getStyle

◆ getToolbar()

Toolbar * ToolbarItemComponent::getToolbar ( ) const

Returns the toolbar that contains this component, or nullptr if it's not currently inside one.

◆ getToolbarItemSizes()

virtual bool juce::ToolbarItemComponent::getToolbarItemSizes ( int  toolbarThickness,
bool  isToolbarVertical,
int &  preferredSize,
int &  minSize,
int &  maxSize 
)
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 juce::ToolbarButton, and juce::Toolbar::Spacer.

◆ isToolbarVertical()

bool ToolbarItemComponent::isToolbarVertical ( ) const

Returns true if this component is currently inside a toolbar which is vertical.

See also
Toolbar::isVertical

◆ paintButton()

void ToolbarItemComponent::paintButton ( Graphics g,
bool  isMouseOverButton,
bool  isButtonDown 
)
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.

Parameters
gthe graphics context to use
isMouseOverButtontrue if the button is either in the 'over' or 'down' state
isButtonDowntrue if the button should be drawn in the 'down' position

Implements juce::Button.

◆ paintButtonArea()

virtual void juce::ToolbarItemComponent::paintButtonArea ( Graphics g,
int  width,
int  height,
bool  isMouseOver,
bool  isMouseDown 
)
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 juce::ToolbarButton, and juce::Toolbar::Spacer.

◆ resized()

void ToolbarItemComponent::resized ( )
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.

See also
moved, setSize

Reimplemented from juce::Component.

Reimplemented in juce::ToolbarButton.

◆ setEditingMode()

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.

◆ setStyle()

void ToolbarItemComponent::setStyle ( const Toolbar::ToolbarItemStyle newStyle)
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.

See also
setStyle, Toolbar::setStyle

Friends And Related Function Documentation

◆ ItemDragAndDropOverlayComponent

friend class ItemDragAndDropOverlayComponent
friend

◆ Toolbar

friend class Toolbar
friend

The documentation for this class was generated from the following files: