29class ToolbarItemComponent;
30class ToolbarItemFactory;
78 void setVertical (
bool shouldBeVertical);
93 int getThickness() const noexcept;
102 int getLength() const noexcept;
124 int insertIndex = -1);
127 void removeToolbarItem (
int itemIndex);
136 int getNumItems() const noexcept;
145 int getItemId (
int itemIndex) const noexcept;
182 void setStyle (
const ToolbarItemStyle& newStyle);
188 allowIconsOnlyChoice = 1,
190 allowIconsWithTextChoice = 2,
192 allowTextOnlyChoice = 4,
194 showResetToDefaultsButton = 8,
197 allCustomisationOptionsEnabled = (allowIconsOnlyChoice | allowIconsWithTextChoice | allowTextOnlyChoice | showResetToDefaultsButton)
215 int optionFlags = allCustomisationOptionsEnabled);
225 void setEditingActive (
bool editingEnabled);
237 backgroundColourId = 0x1003200,
239 separatorColourId = 0x1003210,
241 buttonMouseOverBackgroundColourId = 0x1003220,
243 buttonMouseDownBackgroundColourId = 0x1003230,
246 labelTextColourId = 0x1003240,
249 editingModeOutlineColourId = 0x1003250,
252 customisationDialogBackgroundColourId = 0x1003260
272 const String& savedVersion);
280 virtual void paintToolbarBackground (
Graphics&,
int width,
int height,
Toolbar&) = 0;
282 virtual Button* createToolbarMissingItemsButton (
Toolbar&) = 0;
284 virtual void paintToolbarButtonBackground (
Graphics&,
int width,
int height,
285 bool isMouseOver,
bool isMouseDown,
288 virtual void paintToolbarButtonLabel (
Graphics&,
int x,
int y,
int width,
int height,
296 void resized()
override;
300 bool isInterestedInDragSource (
const SourceDetails&)
override;
308 void lookAndFeelChanged()
override;
310 void updateAllItemPositions (
bool animate);
314 static const char*
const toolbarDragDescriptor;
321 bool vertical =
false, isEditingActive =
false;
329 void initMissingItemButton();
330 void showMissingItems();
The base class for all JUCE user-interface objects.
Enables drag-and-drop behaviour for a component and all its sub-components.
Contains details about the source of a drag-and-drop operation.
Components derived from this class can have things dropped onto them by a DragAndDropContainer.
A graphics context, used for drawing a component or image.
Contains position and status information about a mouse event.
An array designed for holding objects.