JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
juce::ApplicationCommandInfo Struct Reference

Holds information describing an application command. More...

#include "juce_ApplicationCommandInfo.h"

Public Types

enum  CommandFlags {
  isDisabled , isTicked , wantsKeyUpDownCallbacks , hiddenFromKeyEditor ,
  readOnlyInKeyEditor , dontTriggerVisualFeedback
}
 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< KeyPressdefaultKeypresses
 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.
 

Detailed Description

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.

See also
ApplicationCommandTarget, ApplicationCommandTarget::getCommandInfo(), ApplicationCommandManager

@tags{GUI}

Definition at line 44 of file juce_ApplicationCommandInfo.h.

Member Enumeration Documentation

◆ CommandFlags

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.

    @see ApplicationCommandInfo::setActive
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.

    @see ApplicationCommandInfo::setTicked
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.

See also
ApplicationCommandTarget::InvocationInfo
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.

Definition at line 135 of file juce_ApplicationCommandInfo.h.

Constructor & Destructor Documentation

◆ ApplicationCommandInfo()

juce::ApplicationCommandInfo::ApplicationCommandInfo ( CommandID  commandID)
explicitnoexcept

Definition at line 29 of file juce_ApplicationCommandInfo.cpp.

Member Function Documentation

◆ addDefaultKeypress()

void juce::ApplicationCommandInfo::addDefaultKeypress ( int  keyCode,
ModifierKeys  modifiers 
)
noexcept

Handy method for adding a keypress to the defaultKeypresses array.

This is just so you can write things like:

myinfo.addDefaultKeypress ('s', ModifierKeys::commandModifier);
@ commandModifier
Command key flag - on windows this is the same as the CTRL key flag.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
Definition juce_Memory.h:88

instead of

myinfo.defaultKeypresses.add (KeyPress ('s', ModifierKeys::commandModifier));
Represents a key press, including any modifier keys that are needed.

Definition at line 61 of file juce_ApplicationCommandInfo.cpp.

◆ setActive()

void juce::ApplicationCommandInfo::setActive ( bool  isActive)
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.

Definition at line 45 of file juce_ApplicationCommandInfo.cpp.

◆ setInfo()

void juce::ApplicationCommandInfo::setInfo ( const String shortName,
const String description,
const String categoryName,
int  flags 
)
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.

Definition at line 34 of file juce_ApplicationCommandInfo.cpp.

◆ setTicked()

void juce::ApplicationCommandInfo::setTicked ( bool  isTicked)
noexcept

An easy way to set or remove the isTicked bit in the structure's flags field.

Definition at line 53 of file juce_ApplicationCommandInfo.cpp.

Member Data Documentation

◆ categoryName

String juce::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.

Definition at line 117 of file juce_ApplicationCommandInfo.h.

◆ commandID

CommandID juce::ApplicationCommandInfo::commandID

The command's unique ID number.

Definition at line 87 of file juce_ApplicationCommandInfo.h.

◆ defaultKeypresses

Array<KeyPress> juce::ApplicationCommandInfo::defaultKeypresses

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.

See also
addDefaultKeypress

Definition at line 127 of file juce_ApplicationCommandInfo.h.

◆ description

String juce::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.

Definition at line 106 of file juce_ApplicationCommandInfo.h.

◆ flags

int juce::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.

Definition at line 187 of file juce_ApplicationCommandInfo.h.

◆ shortName

String juce::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.

Definition at line 96 of file juce_ApplicationCommandInfo.h.


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