Public Member Functions | Public Attributes | List of all members
PopupMenu::Item Struct Reference

Describes a popup menu item. More...

Public Member Functions

 Item ()
 Creates a null item. More...
 
 Item (String text)
 Creates an item with the given text. More...
 
 Item (const Item &)
 
Itemoperator= (const Item &)
 
 Item (Item &&)
 
Itemoperator= (Item &&)
 
ItemsetTicked (bool shouldBeTicked=true) &noexcept
 Sets the isTicked flag (and returns a reference to this item to allow chaining). More...
 
ItemsetEnabled (bool shouldBeEnabled) &noexcept
 Sets the isEnabled flag (and returns a reference to this item to allow chaining). More...
 
ItemsetAction (std::function< void()> action) &noexcept
 Sets the action property (and returns a reference to this item to allow chaining). More...
 
ItemsetID (int newID) &noexcept
 Sets the itemID property (and returns a reference to this item to allow chaining). More...
 
ItemsetColour (Colour) &noexcept
 Sets the colour property (and returns a reference to this item to allow chaining). More...
 
ItemsetCustomComponent (ReferenceCountedObjectPtr< CustomComponent > customComponent) &noexcept
 Sets the customComponent property (and returns a reference to this item to allow chaining). More...
 
ItemsetImage (std::unique_ptr< Drawable >) &noexcept
 Sets the image property (and returns a reference to this item to allow chaining). More...
 
Item && setTicked (bool shouldBeTicked=true) &&noexcept
 Sets the isTicked flag (and returns a reference to this item to allow chaining). More...
 
Item && setEnabled (bool shouldBeEnabled) &&noexcept
 Sets the isEnabled flag (and returns a reference to this item to allow chaining). More...
 
Item && setAction (std::function< void()> action) &&noexcept
 Sets the action property (and returns a reference to this item to allow chaining). More...
 
Item && setID (int newID) &&noexcept
 Sets the itemID property (and returns a reference to this item to allow chaining). More...
 
Item && setColour (Colour) &&noexcept
 Sets the colour property (and returns a reference to this item to allow chaining). More...
 
Item && setCustomComponent (ReferenceCountedObjectPtr< CustomComponent > customComponent) &&noexcept
 Sets the customComponent property (and returns a reference to this item to allow chaining). More...
 
Item && setImage (std::unique_ptr< Drawable >) &&noexcept
 Sets the image property (and returns a reference to this item to allow chaining). More...
 

Public Attributes

String text
 The menu item's name. More...
 
int itemID = 0
 The menu item's ID. More...
 
std::function< void()> action
 An optional function which should be invoked when this menu item is triggered. More...
 
std::unique_ptr< PopupMenusubMenu
 A sub-menu, or nullptr if there isn't one. More...
 
std::unique_ptr< Drawableimage
 A drawable to use as an icon, or nullptr if there isn't one. More...
 
ReferenceCountedObjectPtr< CustomComponentcustomComponent
 A custom component for the item to display, or nullptr if there isn't one. More...
 
ReferenceCountedObjectPtr< CustomCallbackcustomCallback
 A custom callback for the item to use, or nullptr if there isn't one. More...
 
ApplicationCommandManagercommandManager = nullptr
 A command manager to use to automatically invoke the command, or nullptr if none is specified. More...
 
String shortcutKeyDescription
 An optional string describing the shortcut key for this item. More...
 
Colour colour
 A colour to use to draw the menu text. More...
 
bool isEnabled = true
 True if this menu item is enabled. More...
 
bool isTicked = false
 True if this menu item should have a tick mark next to it. More...
 
bool isSeparator = false
 True if this menu item is a separator line. More...
 
bool isSectionHeader = false
 True if this menu item is a section header. More...
 
bool shouldBreakAfter = false
 True if this is the final item in the current column. More...
 

Detailed Description

Describes a popup menu item.

Constructor & Destructor Documentation

◆ Item() [1/4]

PopupMenu::Item::Item ( )

Creates a null item.

You'll need to set some fields after creating an Item before you can add it to a PopupMenu

◆ Item() [2/4]

PopupMenu::Item::Item ( String  text)

Creates an item with the given text.

This constructor also initialises the itemID to -1, which makes it suitable for creating lambda-based item actions.

◆ Item() [3/4]

PopupMenu::Item::Item ( const Item )

◆ Item() [4/4]

PopupMenu::Item::Item ( Item &&  )

Member Function Documentation

◆ operator=() [1/2]

Item& PopupMenu::Item::operator= ( const Item )

◆ operator=() [2/2]

Item& PopupMenu::Item::operator= ( Item &&  )

◆ setTicked() [1/2]

Item& PopupMenu::Item::setTicked ( bool  shouldBeTicked = true) &
noexcept

Sets the isTicked flag (and returns a reference to this item to allow chaining).

◆ setEnabled() [1/2]

Item& PopupMenu::Item::setEnabled ( bool  shouldBeEnabled) &
noexcept

Sets the isEnabled flag (and returns a reference to this item to allow chaining).

◆ setAction() [1/2]

Item& PopupMenu::Item::setAction ( std::function< void()>  action) &
noexcept

Sets the action property (and returns a reference to this item to allow chaining).

◆ setID() [1/2]

Item& PopupMenu::Item::setID ( int  newID) &
noexcept

Sets the itemID property (and returns a reference to this item to allow chaining).

◆ setColour() [1/2]

Item& PopupMenu::Item::setColour ( Colour  ) &
noexcept

Sets the colour property (and returns a reference to this item to allow chaining).

◆ setCustomComponent() [1/2]

Item& PopupMenu::Item::setCustomComponent ( ReferenceCountedObjectPtr< CustomComponent customComponent) &
noexcept

Sets the customComponent property (and returns a reference to this item to allow chaining).

◆ setImage() [1/2]

Item& PopupMenu::Item::setImage ( std::unique_ptr< Drawable ) &
noexcept

Sets the image property (and returns a reference to this item to allow chaining).

◆ setTicked() [2/2]

Item&& PopupMenu::Item::setTicked ( bool  shouldBeTicked = true) &&
noexcept

Sets the isTicked flag (and returns a reference to this item to allow chaining).

◆ setEnabled() [2/2]

Item&& PopupMenu::Item::setEnabled ( bool  shouldBeEnabled) &&
noexcept

Sets the isEnabled flag (and returns a reference to this item to allow chaining).

◆ setAction() [2/2]

Item&& PopupMenu::Item::setAction ( std::function< void()>  action) &&
noexcept

Sets the action property (and returns a reference to this item to allow chaining).

◆ setID() [2/2]

Item&& PopupMenu::Item::setID ( int  newID) &&
noexcept

Sets the itemID property (and returns a reference to this item to allow chaining).

◆ setColour() [2/2]

Item&& PopupMenu::Item::setColour ( Colour  ) &&
noexcept

Sets the colour property (and returns a reference to this item to allow chaining).

◆ setCustomComponent() [2/2]

Item&& PopupMenu::Item::setCustomComponent ( ReferenceCountedObjectPtr< CustomComponent customComponent) &&
noexcept

Sets the customComponent property (and returns a reference to this item to allow chaining).

◆ setImage() [2/2]

Item&& PopupMenu::Item::setImage ( std::unique_ptr< Drawable ) &&
noexcept

Sets the image property (and returns a reference to this item to allow chaining).

Member Data Documentation

◆ text

String PopupMenu::Item::text

The menu item's name.

◆ itemID

int PopupMenu::Item::itemID = 0

The menu item's ID.

This must not be 0 if you want the item to be triggerable, but if you're attaching an action callback to the item, you can set the itemID to -1 to indicate that it isn't actively needed.

◆ action

std::function<void()> PopupMenu::Item::action

An optional function which should be invoked when this menu item is triggered.

◆ subMenu

std::unique_ptr<PopupMenu> PopupMenu::Item::subMenu

A sub-menu, or nullptr if there isn't one.

◆ image

std::unique_ptr<Drawable> PopupMenu::Item::image

A drawable to use as an icon, or nullptr if there isn't one.

◆ customComponent

ReferenceCountedObjectPtr<CustomComponent> PopupMenu::Item::customComponent

A custom component for the item to display, or nullptr if there isn't one.

◆ customCallback

ReferenceCountedObjectPtr<CustomCallback> PopupMenu::Item::customCallback

A custom callback for the item to use, or nullptr if there isn't one.

◆ commandManager

ApplicationCommandManager* PopupMenu::Item::commandManager = nullptr

A command manager to use to automatically invoke the command, or nullptr if none is specified.

◆ shortcutKeyDescription

String PopupMenu::Item::shortcutKeyDescription

An optional string describing the shortcut key for this item.

This is only used for displaying at the right-hand edge of a menu item - the menu won't attempt to actually catch or process the key. If you supply a commandManager parameter then the menu will attempt to fill-in this field automatically.

◆ colour

Colour PopupMenu::Item::colour

A colour to use to draw the menu text.

By default this is transparent black, which means that the LookAndFeel should choose the colour.

◆ isEnabled

bool PopupMenu::Item::isEnabled = true

True if this menu item is enabled.

◆ isTicked

bool PopupMenu::Item::isTicked = false

True if this menu item should have a tick mark next to it.

◆ isSeparator

bool PopupMenu::Item::isSeparator = false

True if this menu item is a separator line.

◆ isSectionHeader

bool PopupMenu::Item::isSectionHeader = false

True if this menu item is a section header.

◆ shouldBreakAfter

bool PopupMenu::Item::shouldBreakAfter = false

True if this is the final item in the current column.


The documentation for this struct was generated from the following file: