Holds information describing an application command. More...
#include <juce_ApplicationCommandInfo.h>
Public Types | |
enum | CommandFlags { isDisabled = 1 << 0 , isTicked = 1 << 1 , wantsKeyUpDownCallbacks = 1 << 2 , hiddenFromKeyEditor = 1 << 3 , readOnlyInKeyEditor = 1 << 4 , dontTriggerVisualFeedback = 1 << 5 } |
Flags describing the ways in which this command should be used. More... | |
Public Member Functions | |
ApplicationCommandInfo (CommandID commandID) noexcept | |
void | setInfo (const String &shortName, const String &description, const String &categoryName, int flags) noexcept |
Sets a number of the structures values at once. | |
void | setActive (bool isActive) noexcept |
An easy way to set or remove the isDisabled bit in the structure's flags field. | |
void | setTicked (bool isTicked) noexcept |
An easy way to set or remove the isTicked bit in the structure's flags field. | |
void | addDefaultKeypress (int keyCode, ModifierKeys modifiers) noexcept |
Handy method for adding a keypress to the defaultKeypresses array. | |
Public Attributes | |
CommandID | commandID |
The command's unique ID number. | |
String | shortName |
A short name to describe the command. | |
String | description |
A longer description of the command. | |
String | categoryName |
A named category that the command fits into. | |
Array< KeyPress > | defaultKeypresses |
A list of zero or more keypresses that should be used as the default keys for this command. | |
int | flags |
A bitwise-OR of the values specified in the CommandFlags enum. | |
Holds information describing an application command.
This object is used to pass information about a particular command, such as its name, description and other usage flags.
When an ApplicationCommandTarget is asked to provide information about the commands it can perform, this is the structure gets filled-in to describe each one.
Flags describing the ways in which this command should be used.
A bitwise-OR of these values is stored in the ApplicationCommandInfo::flags variable.
Enumerator | |
---|---|
isDisabled | Indicates that the command can't currently be performed. The ApplicationCommandTarget::getCommandInfo() method must set this flag if it's not currently permissible to perform the command. If the flag is set, then components that trigger the command, e.g. PopupMenu, may choose to grey-out the command or show themselves as not being enabled. |
isTicked | Indicates that the command should have a tick next to it on a menu. If your command is shown on a menu and this is set, it'll show a tick next to it. Other components such as buttons may also use this flag to indicate that it is a value that can be toggled, and is currently in the 'on' state. |
wantsKeyUpDownCallbacks | If this flag is present, then when a KeyPressMappingSet invokes the command, it will call the command twice, once on key-down and again on key-up. |
hiddenFromKeyEditor | If this flag is present, then a KeyMappingEditorComponent will not display the command in its list. |
readOnlyInKeyEditor | If this flag is present, then a KeyMappingEditorComponent will display the command in its list, but won't allow the assigned keypress to be changed. |
dontTriggerVisualFeedback | If this flag is present and the command is invoked from a keypress, then any buttons or menus that are also connected to the command will not flash to indicate that they've been triggered. |
|
explicitnoexcept |
|
noexcept |
Sets a number of the structures values at once.
The meanings of each of the parameters is described below, in the appropriate member variable's description.
|
noexcept |
An easy way to set or remove the isDisabled bit in the structure's flags field.
If isActive is true, the flags member has the isDisabled bit cleared; if isActive is false, the bit is set.
|
noexcept |
An easy way to set or remove the isTicked bit in the structure's flags field.
|
noexcept |
Handy method for adding a keypress to the defaultKeypresses array.
This is just so you can write things like:
instead of
CommandID ApplicationCommandInfo::commandID |
The command's unique ID number.
String ApplicationCommandInfo::shortName |
A short name to describe the command.
This should be suitable for use in menus, on buttons that trigger the command, etc.
You can use the setInfo() method to quickly set this and some of the command's other properties.
String ApplicationCommandInfo::description |
A longer description of the command.
This should be suitable for use in contexts such as a KeyMappingEditorComponent or pop-up tooltip describing what the command does.
You can use the setInfo() method to quickly set this and some of the command's other properties.
String ApplicationCommandInfo::categoryName |
A named category that the command fits into.
You can give your commands any category you like, and these will be displayed in contexts such as the KeyMappingEditorComponent, where the category is used to group commands together.
You can use the setInfo() method to quickly set this and some of the command's other properties.
A list of zero or more keypresses that should be used as the default keys for this command.
Methods such as KeyPressMappingSet::resetToDefaultMappings() will use the keypresses in this list to initialise the default set of key-to-command mappings.
int ApplicationCommandInfo::flags |
A bitwise-OR of the values specified in the CommandFlags enum.
You can use the setInfo() method to quickly set this and some of the command's other properties.