VSTGUI  4.10
Graphical User Interface Framework not only for VST plugins
CCommandMenuItem Class Reference

a command menu item More...

+ Inheritance diagram for CCommandMenuItem:


struct  Desc

Public Member Functions

 CCommandMenuItem (Desc &&args)
 CCommandMenuItem (const Desc &args)
 CCommandMenuItem (const CCommandMenuItem &item)
 ~CCommandMenuItem () noexcept override=default
void execute ()
void validate ()
- Public Member Functions inherited from CMenuItem
 CMenuItem (const UTF8String &title, const UTF8String &keycode="", int32_t keyModifiers=0, CBitmap *icon=nullptr, int32_t flags=kNoFlags)
 CMenuItem constructor. More...
 CMenuItem (const UTF8String &title, COptionMenu *submenu, CBitmap *icon=nullptr)
 CMenuItem constructor. More...
 CMenuItem (const UTF8String &title, int32_t tag)
 CMenuItem constructor. More...
 CMenuItem (const CMenuItem &item)
 CMenuItem copy constructor. More...
virtual void setTitle (const UTF8String &title)
 set title of menu item More...
virtual void setSubmenu (COptionMenu *submenu)
 set submenu of menu item More...
virtual void setKey (const UTF8String &keyCode, int32_t keyModifiers=0)
 set keycode and key modifiers of menu item More...
virtual void setVirtualKey (int32_t virtualKeyCode, int32_t keyModifiers=0)
 set virtual keycode and key modifiers of menu item More...
virtual void setEnabled (bool state=true)
 set menu item enabled state More...
virtual void setChecked (bool state=true)
 set menu item checked state More...
virtual void setIsTitle (bool state=true)
 set menu item title state More...
virtual void setIsSeparator (bool state=true)
 set menu item separator state More...
virtual void setIcon (CBitmap *icon)
 set menu item icon More...
virtual void setTag (int32_t tag)
 set menu item tag More...
bool isEnabled () const
 returns whether the item is enabled or not More...
bool isChecked () const
 returns whether the item is checked or not More...
bool isTitle () const
 returns whether the item is a title item or not More...
bool isSeparator () const
 returns whether the item is a separator or not More...
const UTF8StringgetTitle () const
 returns the title of the item More...
int32_t getKeyModifiers () const
 returns the key modifiers of the item More...
const UTF8StringgetKeycode () const
 returns the keycode of the item More...
int32_t getVirtualKeyCode () const
 returns the virtual keycode of the item More...
COptionMenugetSubmenu () const
 returns the submenu of the item More...
CBitmapgetIcon () const
 returns the icon of the item More...
int32_t getTag () const
 returns the tag of the item More...
- Public Member Functions inherited from CBaseObject
 CBaseObject ()=default
 ~CBaseObject () noexcept override=default
 CBaseObject (const CBaseObject &o)
CBaseObjectoperator= (const CBaseObject &obj)
virtual CMessageResult notify (CBaseObject *sender, IdStringPtr message)
- Public Member Functions inherited from ReferenceCounted< T >
 ReferenceCounted ()=default
virtual ~ReferenceCounted () noexcept=default
 ReferenceCounted (const ReferenceCounted &)
ReferenceCountedoperator= (const ReferenceCounted &)
void forget () override
 decrease refcount and delete object if refcount == 0 More...
void remember () override
 increase refcount More...
virtual int32_t getNbReference () const
 get refcount More...
virtual void beforeDelete ()

Protected Attributes

ValidateCallbackFunction validateFunc
SelectedCallbackFunction selectedFunc
UTF8String commandCategory
UTF8String commandName
SharedPointer< ICommandMenuItemTargetitemTarget
- Protected Attributes inherited from CMenuItem
UTF8String title
UTF8String keyCode
SharedPointer< COptionMenusubmenu
SharedPointer< CBitmapicon
int32_t flags {0}
int32_t keyModifiers {0}
int32_t virtualKeyCode {0}
int32_t tag {-1}

CCommandMenuItem Methods

using ValidateCallbackFunction = std::function< void(CCommandMenuItem *item)>
using SelectedCallbackFunction = std::function< void(CCommandMenuItem *item)>
void setCommandCategory (const UTF8String &category)
const UTF8StringgetCommandCategory () const
bool isCommandCategory (const UTF8String &category) const
void setCommandName (const UTF8String &name)
const UTF8StringgetCommandName () const
bool isCommandName (const UTF8String &name) const
void setItemTarget (ICommandMenuItemTarget *target)
ICommandMenuItemTargetgetItemTarget () const
void setActions (SelectedCallbackFunction &&selected, ValidateCallbackFunction &&validate=[](CCommandMenuItem *){})

Additional Inherited Members

- Public Types inherited from CMenuItem
enum  Flags {
  kNoFlags = 0, kDisabled = 1 << 0, kTitle = 1 << 1, kChecked = 1 << 2,
  kSeparator = 1 << 3
- Protected Member Functions inherited from CMenuItem
 ~CMenuItem () noexcept override=default

Detailed Description

a command menu item

The CCommandMenuItem supports setting a category, name and a target. The target will get a notify() call before the item is displayed and after it was selected.

See also
CCommandMenuItem::kMsgMenuItemValidate and

Member Typedef Documentation

◆ SelectedCallbackFunction

using SelectedCallbackFunction = std::function<void(CCommandMenuItem* item)>

◆ ValidateCallbackFunction

using ValidateCallbackFunction = std::function<void(CCommandMenuItem* item)>

Constructor & Destructor Documentation

◆ CCommandMenuItem() [1/3]

CCommandMenuItem ( Desc &&  args)

◆ CCommandMenuItem() [2/3]

CCommandMenuItem ( const Desc args)

◆ CCommandMenuItem() [3/3]

◆ ~CCommandMenuItem()

~CCommandMenuItem ( )

Member Function Documentation

◆ execute()

void execute ( )

◆ getCommandCategory()

const UTF8String& getCommandCategory ( ) const

◆ getCommandName()

const UTF8String& getCommandName ( ) const

◆ getItemTarget()

ICommandMenuItemTarget* getItemTarget ( ) const

◆ isCommandCategory()

bool isCommandCategory ( const UTF8String category) const

◆ isCommandName()

bool isCommandName ( const UTF8String name) const

◆ setActions()

void setActions ( SelectedCallbackFunction &&  selected,
ValidateCallbackFunction &&  validate = [](CCommandMenuItem*){} 

◆ setCommandCategory()

void setCommandCategory ( const UTF8String category)

◆ setCommandName()

void setCommandName ( const UTF8String name)

◆ setItemTarget()

void setItemTarget ( ICommandMenuItemTarget target)

◆ validate()

void validate ( )

Member Data Documentation

◆ commandCategory

UTF8String commandCategory

◆ commandName

UTF8String commandName

◆ itemTarget

SharedPointer<ICommandMenuItemTarget> itemTarget

◆ selectedFunc

SelectedCallbackFunction selectedFunc

◆ validateFunc

ValidateCallbackFunction validateFunc

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