openshot-audio  0.1.6
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
Toolbar Class Reference

#include <juce_Toolbar.h>

Inheritance diagram for Toolbar:
Button::Listener

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
}
 

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)
 
ToolbarItemComponentremoveAndReturnItem (int itemIndex)
 
int getNumItems () const noexcept
 
int getItemId (int itemIndex) const noexcept
 
ToolbarItemComponentgetItemComponent (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)
 

Static Public Member Functions

static ToolbarItemComponentcreateItem (ToolbarItemFactory &, int itemId)
 

Static Public Attributes

static const char *const toolbarDragDescriptor = "_toolbarItem_"
 

Friends

class MissingItemsComponent
 

Detailed Description

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.

See also
ToolbarItemFactory, ToolbarItemComponent, ToolbarItemPalette

Member Enumeration Documentation

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.

See also
Component::setColour, Component::findColour, LookAndFeel::setColour, LookAndFeel::findColour
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.

Enumerator
allowIconsOnlyChoice 

If this flag is specified, the customisation dialog can show the "icons only" option on its choice of toolbar styles.

allowIconsWithTextChoice 

If this flag is specified, the customisation dialog can show the "icons with text" option on its choice of toolbar styles.

allowTextOnlyChoice 

If this flag is specified, the customisation dialog can show the "text only" option on its choice of toolbar styles.

showResetToDefaultsButton 

If this flag is specified, the customisation dialog can show a button to reset the toolbar to its default set of items.

allCustomisationOptionsEnabled 

Options for the way items should be displayed.

See also
setStyle, getStyle
Enumerator
iconsOnly 

Means that the toolbar should just contain icons.

iconsWithText 

Means that the toolbar should have text labels under each icon.

textOnly 

Means that the toolbar only display text labels for each item.

Constructor & Destructor Documentation

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.

See also
ToolbarItemFactory, ToolbarItemComponents
Toolbar::~Toolbar ( )

Destructor.

Any items on the bar will be deleted when the toolbar is deleted.

Member Function Documentation

void Toolbar::addDefaultItems ( ToolbarItemFactory factoryToUse)

Clears this toolbar and adds to it the default set of items that the specified factory creates.

See also
ToolbarItemFactory::getDefaultItemSet
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.

See also
ToolbarItemFactory
void Toolbar::clear ( )

Deletes all items from the bar.

ToolbarItemComponent * Toolbar::createItem ( ToolbarItemFactory factory,
int  itemId 
)
static
ToolbarItemComponent * Toolbar::getItemComponent ( int  itemIndex) const
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.

See also
getNumItems
int Toolbar::getItemId ( int  itemIndex) const
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.

See also
getNumItems
int Toolbar::getLength ( ) const
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.

See also
getThickness
int Toolbar::getNumItems ( ) const
noexcept

Returns the number of items currently on the toolbar.

See also
getItemId, getItemComponent
ToolbarItemStyle Toolbar::getStyle ( ) const
inlinenoexcept

Returns the toolbar's current style.

See also
ToolbarItemStyle, setStyle
int Toolbar::getThickness ( ) const
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.

See also
getLength
bool Toolbar::isInterestedInDragSource ( const SourceDetails &  dragSourceDetails)
override
bool Toolbar::isVertical ( ) const
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().

void Toolbar::itemDragExit ( const SourceDetails &  dragSourceDetails)
override
void Toolbar::itemDragMove ( const SourceDetails &  dragSourceDetails)
override
void Toolbar::itemDropped ( const SourceDetails &  dragSourceDetails)
override
void Toolbar::mouseDown ( const MouseEvent )
override
void Toolbar::paint ( Graphics g)
override
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.

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

See also
toString
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).

See also
ToolbarItemPalette
void Toolbar::setStyle ( const ToolbarItemStyle newStyle)

Changes the toolbar's current style.

See also
ToolbarItemStyle, getStyle, ToolbarItemComponent::setStyle
void Toolbar::setVertical ( bool  shouldBeVertical)

Changes the bar's orientation.

See also
isVertical
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.

See also
ToolbarItemPalette
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().

See also
restoreFromString
void Toolbar::updateAllItemPositions ( bool  animate)

Friends And Related Function Documentation

friend class MissingItemsComponent
friend

Member Data Documentation

const char *const Toolbar::toolbarDragDescriptor = "_toolbarItem_"
static

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