VSTGUI 4.10
Graphical User Interface Framework not only for VST plugins
Loading...
Searching...
No Matches
COptionMenu Class Reference

a popup menu control More...

#include <coptionmenu.h>

+ Inheritance diagram for COptionMenu:

Public Types

enum  Style { kPopupStyle = 1 << StylePopup , kCheckStyle = 1 << StyleCheck , kMultipleCheckStyle = 1 << StyleMultipleCheck }
 
- Public Types inherited from CParamDisplay
enum  Style {
  kShadowText = 1 << StyleShadowText , k3DIn = 1 << Style3DIn , k3DOut = 1 << Style3DOut , kNoTextStyle = 1 << StyleNoText ,
  kNoDrawStyle = 1 << StyleNoDraw , kRoundRectStyle = 1 << StyleRoundRect , kNoFrame = 1 << StyleNoFrame
}
 
using ValueToStringUserData = CParamDisplay
 
using ValueToStringFunction = std::function<bool (float value, char utf8String[256], CParamDisplay* display)>
 
using ValueToStringFunction2 = std::function<bool (float value, std::string& result, CParamDisplay* display)>
 
using CheckDefaultValueEventFuncT = bool (*) (CControl*, MouseDownEvent&)
 
using CheckDefaultValueFuncT = bool (*) (CControl*, CButtonState)
 
enum class  MouseListenerCall { MouseDown , MouseMoved , MouseUp , MouseCancel }
 

Public Member Functions

 COptionMenu ()
 
 COptionMenu (const CRect &size, IControlListener *listener, int32_t tag, CBitmap *background=nullptr, CBitmap *bgWhenClick=nullptr, const int32_t style=0)
 COptionMenu constructor.
 
 COptionMenu (const COptionMenu &menu)
 
 ~COptionMenu () noexcept override
 
bool isPopupStyle () const
 
bool isCheckStyle () const
 
bool isMultipleCheckStyle () const
 
- Public Member Functions inherited from CParamDisplay
 CParamDisplay (const CRect &size, CBitmap *background=nullptr, int32_t style=0)
 
 CParamDisplay (const CParamDisplay &paramDisplay)
 
virtual void setFont (CFontRef fontID)
 
const CFontRef getFont () const
 
virtual void setFontColor (CColor color)
 
CColor getFontColor () const
 
virtual void setBackColor (CColor color)
 
CColor getBackColor () const
 
virtual void setFrameColor (CColor color)
 
CColor getFrameColor () const
 
virtual void setShadowColor (CColor color)
 
CColor getShadowColor () const
 
virtual void setShadowTextOffset (const CPoint &offset)
 
CPoint getShadowTextOffset () const
 
virtual void setAntialias (bool state)
 
bool getAntialias () const
 
virtual void setHoriAlign (CHoriTxtAlign hAlign)
 
CHoriTxtAlign getHoriAlign () const
 
virtual void setTextInset (const CPoint &p)
 
CPoint getTextInset () const
 
virtual void setTextRotation (double angle)
 
double getTextRotation () const
 
virtual void setRoundRectRadius (const CCoord &radius)
 
CCoord getRoundRectRadius () const
 
virtual void setFrameWidth (const CCoord &width)
 
CCoord getFrameWidth () const
 
void setValueToStringFunction (const ValueToStringFunction &valueToStringFunc)
 
void setValueToStringFunction (ValueToStringFunction &&valueToStringFunc)
 
void setValueToStringFunction2 (const ValueToStringFunction2 &valueToStringFunc)
 
void setValueToStringFunction2 (ValueToStringFunction2 &&valueToStringFunc)
 
virtual void setStyle (int32_t val)
 
int32_t getStyle () const
 
virtual void setPrecision (uint8_t precision)
 
uint8_t getPrecision () const
 
virtual void setBackOffset (const CPoint &offset)
 
const CPointgetBackOffset () const
 
void copyBackOffset ()
 
void draw (CDrawContext *pContext) override
 called if the view should draw itself
 
bool getFocusPath (CGraphicsPath &outPath) override
 the graphics path will be drawn filled with the evenodd method and the color set in CFrame::setFocusColor()
 
bool removed (CView *parent) override
 view is removed from parent view
 
CBaseObjectnewCopy () const override
 
- Public Member Functions inherited from CControl
 CControl (const CRect &size, IControlListener *listener=nullptr, int32_t tag=0, CBitmap *pBackground=nullptr)
 
 CControl (const CControl &c)
 
virtual float getValue () const
 
virtual void setValueNormalized (float val)
 
virtual float getValueNormalized () const
 
float getRange () const
 
virtual void setOldValue (float val)
 
virtual float getOldValue () const
 
virtual void setDefaultValue (float val)
 
virtual float getDefaultValue () const
 
virtual void bounceValue ()
 
virtual void valueChanged ()
 notifies listener and dependent objects
 
virtual void setTag (int32_t val)
 
virtual int32_t getTag () const
 
virtual void beginEdit ()
 
virtual void endEdit ()
 
bool isEditing () const
 
virtual IControlListenergetListener () const
 get main listener
 
virtual void setListener (IControlListener *l)
 set main listener
 
void registerControlListener (IControlListener *listener)
 register a sub listener
 
void unregisterControlListener (IControlListener *listener)
 unregister a sub listener
 
virtual void setWheelInc (float val)
 
virtual float getWheelInc () const
 
bool isDirty () const override
 check if view is dirty
 
void setDirty (bool val=true) override
 set the view to dirty so that it is redrawn in the next idle.
 
bool drawFocusOnTop () override
 draw focus before view will be drawn or afterwards
 
- Public Member Functions inherited from CView
 CView (const CRect &size)
 
 CView (const CView &view)
 
virtual void dispatchEvent (Event &event)
 dispatch an event
 
virtual void onMouseDownEvent (MouseDownEvent &event)
 called when a mouse down event occurs
 
virtual void onMouseMoveEvent (MouseMoveEvent &event)
 called when a mouse move event occurs
 
virtual void onMouseUpEvent (MouseUpEvent &event)
 called when a mouse up event occurs
 
virtual void onMouseCancelEvent (MouseCancelEvent &event)
 called when mouse tracking should be canceled
 
virtual void onMouseEnterEvent (MouseEnterEvent &event)
 called when the mouse enters this view
 
virtual void onMouseExitEvent (MouseExitEvent &event)
 called when the mouse leaves this view
 
virtual void onMouseWheelEvent (MouseWheelEvent &event)
 called when a mouse wheel event occurs
 
virtual void onZoomGestureEvent (ZoomGestureEvent &event)
 called when a zoom gesture event occurs
 
virtual void setMouseEnabled (bool bEnable=true)
 turn on/off mouse usage for this view
 
bool getMouseEnabled () const
 get the state of wheather this view uses the mouse or not
 
virtual void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse
 
CRect getMouseableArea () const
 get the area in which the view reacts to the mouse
 
virtual CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons)
 do not use any longer.
 
virtual CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons)
 do not use any longer.
 
virtual CMouseEventResult onMouseCancel ()
 do not use any longer.
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 do not use any longer.
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 do not use any longer.
 
virtual bool onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) final
 
virtual bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons)
 
CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse
 
void setHitTestPath (CGraphicsPath *path)
 
virtual bool hitTest (const CPoint &where, const Event &event=noEvent())
 check if where hits this view
 
virtual bool hitTest (const CPoint &where, const CButtonState &buttons)
 
bool doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={})
 start a drag operation
 
virtual SharedPointer< IDropTargetgetDropTarget ()
 get the drag target for drag and drop handling
 
void setDropTarget (const SharedPointer< IDropTarget > &dt)
 set a custom drop target
 
DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
 a drag can only be started from within onMouseDown
 
virtual int32_t onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
 
virtual int32_t onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus
 
CCoord getHeight () const
 get the height of the view
 
CCoord getWidth () const
 get the width of the view
 
virtual void setViewSize (const CRect &rect, bool invalid=true)
 set views size
 
const CRectgetViewSize () const
 read only access to view size
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view
 
virtual void parentSizeChanged ()
 notification that one of the views parent has changed its size
 
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates
 
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates
 
virtual void setAutosizeFlags (int32_t flags)
 set autosize flags
 
int32_t getAutosizeFlags () const
 get autosize flags
 
virtual bool sizeToFit ()
 resize view to optimal size
 
virtual bool wantsFocus () const
 check if view supports focus
 
virtual void setWantsFocus (bool state)
 set focus support on/off
 
bool getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const
 get the size of an attribute
 
bool getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const
 get an attribute
 
bool setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData)
 set an attribute
 
bool removeAttribute (const CViewAttributeID id)
 remove an attribute
 
template<typename T>
bool setAttribute (const CViewAttributeID id, const T &data)
 set an attribute
 
template<typename T>
bool getAttribute (const CViewAttributeID id, T &data) const
 get an attribute
 
virtual void setBackground (CBitmap *background)
 set the background image of this view
 
CBitmapgetBackground () const
 get the background image of this view
 
virtual void setDisabledBackground (CBitmap *background)
 set background image used when the mouse is not enabled
 
CBitmapgetDisabledBackground () const
 get background image used when the mouse is not enabled
 
CBitmapgetDrawBackground () const
 get the bitmap which is drawn depending on the enabled state.
 
virtual void setTransparency (bool val)
 set views transparent state
 
bool getTransparency () const
 get views transparent state
 
virtual void setAlphaValue (float alpha)
 set alpha value which will be applied when drawing this view
 
float getAlphaValue () const
 get alpha value
 
virtual bool attached (CView *parent)
 view is attached to a parent view
 
bool isAttached () const
 is view attached to a parentView
 
void setSubviewState (bool state)
 
bool isSubview () const
 
CViewgetParentView () const
 get parent view
 
CFramegetFrame () const
 get frame
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject)
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc=nullptr, bool callDoneOnCancel=false)
 
void removeAnimation (IdStringPtr name)
 
void removeAllAnimations ()
 
void registerViewListener (IViewListener *listener)
 
void unregisterViewListener (IViewListener *listener)
 
void registerViewEventListener (IViewEventListener *listener)
 
void unregisterViewEventListener (IViewEventListener *listener)
 
void registerViewMouseListener (IViewMouseListener *listener)
 
void unregisterViewMouseListener (IViewMouseListener *listener)
 
CGraphicsTransform getGlobalTransform (bool ignoreFrame=false) const
 get the active global transform for this view
 
template<typename T>
T & translateToGlobal (T &t, bool ignoreFrame=false) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T>
translateToGlobal (const T &t, bool ignoreFrame=false) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T>
T & translateToLocal (T &t, bool ignoreFrame=false) const
 translates a global coordinate to a local one using parent transforms
 
template<typename T>
translateToLocal (const T &t, bool ignoreFrame=false) const
 translates a local coordinate to a global one using parent transforms
 
virtual CViewContainerasViewContainer ()
 
virtual const CViewContainerasViewContainer () const
 
CMouseEventResult callMouseListener (MouseListenerCall type, CPoint pos, CButtonState buttons)
 
void callMouseListenerEnteredExited (bool mouseEntered)
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
void beforeDelete () override
 
CBaseObjectnewCopy () const override
 
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 called if the view should draw itself
 
virtual bool checkUpdate (const CRect &updateRect) const
 
virtual void invalidRect (const CRect &rect)
 mark rect as invalid
 
virtual void invalid ()
 mark whole view as invalid
 
virtual void setVisible (bool state)
 set visibility state
 
bool isVisible () const
 get visibility state
 
virtual void onIdle ()
 called on idle when view wants idle
 
void setWantsIdle (bool state)
 enable/disable onIdle() callback
 
bool wantsIdle () const
 returns if the view wants idle callback or not
 
virtual bool wantsWindowActiveStateChangeNotification () const
 whether this view wants to be informed if the window's active state changes
 
virtual void onWindowActivate (bool state)
 called when the active state of the window changes
 
void setTooltipText (UTF8StringPtr text)
 
- Public Member Functions inherited from CBaseObject
 CBaseObject ()=default
 
 ~CBaseObject () noexcept override=default
 
 CBaseObject (const CBaseObject &)
 
CBaseObjectoperator= (const CBaseObject &)
 
- Public Member Functions inherited from ReferenceCounted< int32_t >
 ReferenceCounted ()=default
 
virtual ~ReferenceCounted () noexcept=default
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted ()=default
 
 ReferenceCounted (const ReferenceCounted &)
 
virtual ~ReferenceCounted () noexcept=default
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
void forget () override
 decrease refcount and delete object if refcount == 0
 
void remember () override
 increase refcount
 
virtual int32_t getNbReference () const
 get refcount
 
void forget () override
 decrease refcount and delete object if refcount == 0
 
void remember () override
 increase refcount
 
virtual int32_t getNbReference () const
 get refcount
 
- Public Member Functions inherited from IFocusDrawing
virtual ~IFocusDrawing () noexcept=default
 

COptionMenu Methods

using PopupCallback = std::function<void (COptionMenu* menu)>
 popup callback function
 
using MenuListenerList = DispatchList<IOptionMenuListener*>
 
CMenuItemListmenuItems
 
bool inPopup {false}
 
int32_t currentIndex {-1}
 
CButtonState lastButton {0}
 
int32_t nbItemsPerColumn {-1}
 
int32_t lastResult {-1}
 
int32_t prefixNumbers {0}
 
SharedPointer< CBitmapbgWhenClick
 
COptionMenulastMenu {nullptr}
 
std::unique_ptr< MenuListenerListlisteners
 
virtual CMenuItemaddEntry (CMenuItem *item, int32_t index=-1)
 add a new entry
 
virtual CMenuItemaddEntry (COptionMenu *submenu, const UTF8String &title)
 add a new submenu entry
 
virtual CMenuItemaddEntry (const UTF8String &title, int32_t index=-1, int32_t itemFlags=CMenuItem::kNoFlags)
 add a new entry
 
virtual CMenuItemaddSeparator (int32_t index=-1)
 add a new separator entry
 
virtual CMenuItemgetCurrent () const
 get current entry
 
virtual int32_t getCurrentIndex (bool countSeparator=false) const
 TODO: Doc.
 
virtual CMenuItemgetEntry (int32_t index) const
 get entry at index position
 
virtual int32_t getNbEntries () const
 get number of entries
 
virtual bool setCurrent (int32_t index, bool countSeparator=true)
 set current entry
 
virtual bool removeEntry (int32_t index)
 remove an entry
 
virtual bool removeAllEntry ()
 remove all entries
 
virtual bool checkEntry (int32_t index, bool state)
 change check state of entry at index
 
virtual bool checkEntryAlone (int32_t index)
 check entry at index and uncheck every other item
 
virtual bool isCheckEntry (int32_t index) const
 get check state of entry at index
 
virtual void setNbItemsPerColumn (int32_t val)
 Windows only.
 
virtual int32_t getNbItemsPerColumn () const
 Windows only.
 
int32_t getLastResult () const
 get last index of choosen entry
 
COptionMenugetLastItemMenu (int32_t &idxInMenu) const
 get last menu and index of choosen entry
 
virtual void setPrefixNumbers (int32_t preCount)
 set prefix numbering
 
int32_t getPrefixNumbers () const
 get prefix numbering
 
COptionMenugetSubMenu (int32_t idx) const
 get a submenu
 
bool popup (const PopupCallback &callback={})
 pops up the menu
 
bool popup (CFrame *frame, const CPoint &frameLocation, const PopupCallback &callback={})
 pops up the menu at frameLocation
 
CMenuItemListgetItems () const
 
void cleanupSeparators (bool deep)
 remove separators as first and last item and double separators
 
void registerOptionMenuListener (IOptionMenuListener *listener)
 
void unregisterOptionMenuListener (IOptionMenuListener *listener)
 
void setValue (float val) override
 
void setMin (float val) override
 
float getMin () const override
 
void setMax (float val) override
 
float getMax () const override
 
void draw (CDrawContext *pContext) override
 called if the view should draw itself
 
CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons) override
 do not use any longer.
 
void onKeyboardEvent (KeyboardEvent &event) override
 called when a keyboard event is dispatched to this view
 
void takeFocus () override
 called if view should take focus
 
void looseFocus () override
 called if view should loose focus
 
CBaseObjectnewCopy () const override
 
bool doPopup ()
 
void beforePopup ()
 
void afterPopup ()
 

Additional Inherited Members

static CheckDefaultValueEventFuncT CheckDefaultValueEventFunc
 Function to check if a mouse down event should reset the value to its default value for a control.
 
static int32_t kZoomModifier = kShift
 zoom modifier key, per default is the shift key
 
static int32_t kDefaultValueModifier = kControl
 
static CheckDefaultValueFuncT CheckDefaultValueFunc
 
static bool kDirtyCallAlwaysOnMainThread = false
 if this is true, setting a view dirty will call invalid() instead of checking it in idle.
 
static uint32_t idleRate = 30
 global idle rate in Hz, defaults to 30 Hz
 
- Protected Types inherited from CParamDisplay
enum  StyleEnum {
  StyleShadowText = 0 , Style3DIn , Style3DOut , StyleNoText ,
  StyleNoDraw , StyleRoundRect , StyleNoFrame , StyleAntialias ,
  LastStyle
}
 
enum  StylePrivate { kAntialias = 1 << StyleAntialias }
 
- Protected Types inherited from CView
enum  {
  kMouseEnabled = 1 << 0 , kTransparencyEnabled = 1 << 1 , kWantsFocus = 1 << 2 , kIsAttached = 1 << 3 ,
  kVisible = 1 << 4 , kDirty = 1 << 5 , kWantsIdle = 1 << 6 , kIsSubview = 1 << 7 ,
  kHasAlpha = 1 << 8 , kHasBackground = 1 << 9 , kHasDisabledBackground = 1 << 10 , kHasMouseableArea = 1 << 11 ,
  kLastCViewFlag = 11
}
 
 ~CParamDisplay () noexcept override
 
virtual void drawBack (CDrawContext *pContext, CBitmap *newBack=nullptr)
 
virtual void drawPlatformText (CDrawContext *pContext, const UTF8String &string)
 
virtual void drawPlatformText (CDrawContext *pContext, const UTF8String &string, const CRect &size)
 
virtual void drawStyleChanged ()
 
 ~CControl () noexcept override
 
 ~CView () noexcept override
 
CGraphicsPathgetHitTestPath () const
 
bool hasViewFlag (int32_t bit) const
 
void setViewFlag (int32_t bit, bool state)
 
void setAlphaValueNoInvalidate (float value)
 
void setParentFrame (CFrame *frame)
 
void setParentView (CView *parent)
 
static int32_t mapVstKeyModifier (int32_t vstModifier)
 
ValueToStringFunction2 valueToStringFunction
 
CHoriTxtAlign horiTxtAlign
 
int32_t style
 
uint8_t valuePrecision
 
CFontRef fontID
 
CColor fontColor
 
CColor backColor
 
CColor frameColor
 
CColor shadowColor
 
CPoint textInset
 
CPoint shadowTextOffset {1., 1.}
 
CPoint backOffset
 
CCoord roundRectRadius
 
CCoord frameWidth
 
double textRotation
 
IControlListenerlistener
 
int32_t tag
 
float value
 

Detailed Description

a popup menu control

Define a rectangle view where a text-value can be displayed with a given font and color. The text-value is centered in the given rect. A bitmap can be used as background, a second bitmap can be used when the option menu is popuped. There are 2 styles with or without a shadowed text. When a mouse click occurs, a popup menu is displayed.

Member Typedef Documentation

◆ MenuListenerList

◆ PopupCallback

using PopupCallback = std::function<void (COptionMenu* menu)>

popup callback function

Member Enumeration Documentation

◆ Style

enum Style
Enumerator
kPopupStyle 
kCheckStyle 
kMultipleCheckStyle 

Constructor & Destructor Documentation

◆ COptionMenu() [1/3]

◆ COptionMenu() [2/3]

COptionMenu ( const CRect & size,
IControlListener * listener,
int32_t tag,
CBitmap * background = nullptr,
CBitmap * bgWhenClick = nullptr,
const int32_t style = 0 )

COptionMenu constructor.

Parameters
sizethe size of this view
listenerthe listener
tagthe control tag
backgroundthe background bitmap
bgWhenClickthe background bitmap if the option menu is displayed
stylethe style of the display (see CParamDisplay for styles)

◆ COptionMenu() [3/3]

COptionMenu ( const COptionMenu & menu)

◆ ~COptionMenu()

~COptionMenu ( )
overridenoexcept

Member Function Documentation

◆ addEntry() [1/3]

CMenuItem * addEntry ( CMenuItem * item,
int32_t index = -1 )
virtual

add a new entry

Parameters
itemmenu item to add. Takes ownership of item.
indexposition of insertation. -1 appends the item

◆ addEntry() [2/3]

CMenuItem * addEntry ( const UTF8String & title,
int32_t index = -1,
int32_t itemFlags = CMenuItem::kNoFlags )
virtual

add a new entry

◆ addEntry() [3/3]

CMenuItem * addEntry ( COptionMenu * submenu,
const UTF8String & title )
virtual

add a new submenu entry

◆ addSeparator()

CMenuItem * addSeparator ( int32_t index = -1)
virtual

add a new separator entry

◆ afterPopup()

void afterPopup ( )
protected

◆ beforePopup()

void beforePopup ( )
protected

◆ checkEntry()

bool checkEntry ( int32_t index,
bool state )
virtual

change check state of entry at index

◆ checkEntryAlone()

bool checkEntryAlone ( int32_t index)
virtual

check entry at index and uncheck every other item

◆ cleanupSeparators()

void cleanupSeparators ( bool deep)

remove separators as first and last item and double separators

◆ doPopup()

bool doPopup ( )
protected

◆ draw()

void draw ( CDrawContext * pContext)
overridevirtual

called if the view should draw itself

Parameters
pContextdraw context in which to draw

Implements CControl.

◆ getCurrent()

CMenuItem * getCurrent ( ) const
virtual

get current entry

◆ getCurrentIndex()

int32_t getCurrentIndex ( bool countSeparator = false) const
virtual

TODO: Doc.

◆ getEntry()

CMenuItem * getEntry ( int32_t index) const
virtual

get entry at index position

◆ getItems()

CMenuItemList * getItems ( ) const
inline

◆ getLastItemMenu()

COptionMenu * getLastItemMenu ( int32_t & idxInMenu) const

get last menu and index of choosen entry

◆ getLastResult()

int32_t getLastResult ( ) const
inline

get last index of choosen entry

◆ getMax()

float getMax ( ) const
overridevirtual

Reimplemented from CControl.

◆ getMin()

float getMin ( ) const
inlineoverridevirtual

Reimplemented from CControl.

◆ getNbEntries()

int32_t getNbEntries ( ) const
virtual

get number of entries

◆ getNbItemsPerColumn()

virtual int32_t getNbItemsPerColumn ( ) const
inlinevirtual

Windows only.

◆ getPrefixNumbers()

int32_t getPrefixNumbers ( ) const
inline

get prefix numbering

◆ getSubMenu()

COptionMenu * getSubMenu ( int32_t idx) const

get a submenu

◆ isCheckEntry()

bool isCheckEntry ( int32_t index) const
virtual

get check state of entry at index

◆ isCheckStyle()

bool isCheckStyle ( ) const
inline

◆ isMultipleCheckStyle()

bool isMultipleCheckStyle ( ) const
inline

◆ isPopupStyle()

bool isPopupStyle ( ) const
inline

◆ looseFocus()

void looseFocus ( )
overridevirtual

called if view should loose focus

Reimplemented from CView.

◆ newCopy()

CBaseObject * newCopy ( ) const
inlineoverridevirtual

Implements CControl.

◆ onKeyboardEvent()

void onKeyboardEvent ( KeyboardEvent & event)
overridevirtual

called when a keyboard event is dispatched to this view

This happens normally only if the view is the focus view.

Reimplemented from CView.

◆ onMouseDown()

CMouseEventResult onMouseDown ( CPoint & where,
const CButtonState & buttons )
overridevirtual

do not use any longer.

if possible refactor your classes to use the newer mouse event methods above.

Parameters
wheremouse location of mouse down
buttonsbutton and modifier state
Returns
event result. see CMouseEventResult

Reimplemented from CView.

◆ popup() [1/2]

bool popup ( CFrame * frame,
const CPoint & frameLocation,
const PopupCallback & callback = {} )

pops up the menu at frameLocation

◆ popup() [2/2]

bool popup ( const PopupCallback & callback = {})

pops up the menu

◆ registerOptionMenuListener()

void registerOptionMenuListener ( IOptionMenuListener * listener)

◆ removeAllEntry()

bool removeAllEntry ( )
virtual

remove all entries

◆ removeEntry()

bool removeEntry ( int32_t index)
virtual

remove an entry

◆ setCurrent()

bool setCurrent ( int32_t index,
bool countSeparator = true )
virtual

set current entry

◆ setMax()

void setMax ( float val)
inlineoverridevirtual

Reimplemented from CControl.

◆ setMin()

void setMin ( float val)
inlineoverridevirtual

Reimplemented from CControl.

◆ setNbItemsPerColumn()

virtual void setNbItemsPerColumn ( int32_t val)
inlinevirtual

Windows only.

◆ setPrefixNumbers()

void setPrefixNumbers ( int32_t preCount)
virtual

set prefix numbering

◆ setValue()

void setValue ( float val)
overridevirtual

Reimplemented from CControl.

◆ takeFocus()

void takeFocus ( )
overridevirtual

called if view should take focus

Reimplemented from CView.

◆ unregisterOptionMenuListener()

void unregisterOptionMenuListener ( IOptionMenuListener * listener)

Member Data Documentation

◆ bgWhenClick

SharedPointer<CBitmap> bgWhenClick
protected

◆ currentIndex

int32_t currentIndex {-1}
protected

◆ inPopup

bool inPopup {false}
protected

◆ lastButton

CButtonState lastButton {0}
protected

◆ lastMenu

COptionMenu* lastMenu {nullptr}
protected

◆ lastResult

int32_t lastResult {-1}
protected

◆ listeners

std::unique_ptr<MenuListenerList> listeners
protected

◆ menuItems

CMenuItemList* menuItems
protected

◆ nbItemsPerColumn

int32_t nbItemsPerColumn {-1}
protected

◆ prefixNumbers

int32_t prefixNumbers {0}
protected

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