VSTGUI  4.4
Graphical User Interface Framework not only for VST plugins
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
COptionMenu Class Reference

a popup menu control More...

+ Inheritance diagram for COptionMenu:

Public Member Functions

 COptionMenu ()
 
 COptionMenu (const CRect &size, IControlListener *listener, int32_t tag, CBitmap *background=0, CBitmap *bgWhenClick=0, const int32_t style=0)
 COptionMenu constructor. More...
 
 COptionMenu (const COptionMenu &menu)
 
 ~COptionMenu ()
 
virtual void setValue (float val)
 
virtual void setMin (float val)
 
virtual float getMin () const
 
virtual void setMax (float val)
 
virtual float getMax () const
 
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself More...
 
virtual CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons)
 called when a mouse down event occurs More...
 
virtual int32_t onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus More...
 
virtual void takeFocus ()
 called if view should take focus More...
 
virtual void looseFocus ()
 called if view should loose focus More...
 
virtual bool isTypeOf (IdStringPtr s) const
 
virtual CBaseObjectnewCopy () const
 
COptionMenu Methods
virtual CMenuItemaddEntry (CMenuItem *item, int32_t index=-1)
 add a new entry More...
 
virtual CMenuItemaddEntry (COptionMenu *submenu, UTF8StringPtr title)
 add a new submenu entry More...
 
virtual CMenuItemaddEntry (UTF8StringPtr title, int32_t index=-1, int32_t itemFlags=CMenuItem::kNoFlags)
 add a new entry More...
 
virtual CMenuItemaddSeparator (int32_t index=-1)
 add a new separator entry More...
 
virtual CMenuItemgetCurrent () const
 get current entry More...
 
virtual int32_t getCurrentIndex (bool countSeparator=false) const
 
virtual CMenuItemgetEntry (int32_t index) const
 get entry at index position More...
 
virtual int32_t getNbEntries () const
 get number of entries More...
 
virtual bool setCurrent (int32_t index, bool countSeparator=true)
 set current entry More...
 
virtual bool removeEntry (int32_t index)
 remove an entry More...
 
virtual bool removeAllEntry ()
 remove all entries More...
 
virtual bool checkEntry (int32_t index, bool state)
 change check state of entry at index More...
 
virtual bool checkEntryAlone (int32_t index)
 check entry at index and uncheck every other item More...
 
virtual bool isCheckEntry (int32_t index) const
 get check state of entry at index More...
 
virtual void setNbItemsPerColumn (int32_t val)
 Windows only. More...
 
virtual int32_t getNbItemsPerColumn () const
 Windows only. More...
 
int32_t getLastResult () const
 get last index of choosen entry More...
 
COptionMenugetLastItemMenu (int32_t &idxInMenu) const
 get last menu and index of choosen entry More...
 
virtual void setPrefixNumbers (int32_t preCount)
 set prefix numbering More...
 
int32_t getPrefixNumbers () const
 get prefix numbering More...
 
COptionMenugetSubMenu (int32_t idx) const
 get a submenu More...
 
bool popup ()
 pops up menu More...
 
bool popup (CFrame *frame, const CPoint &frameLocation)
 pops up menu at frameLocation More...
 
CMenuItemListgetItems () const
 
- Public Member Functions inherited from CParamDisplay
 CParamDisplay (const CRect &size, CBitmap *background=0, const int32_t style=0)
 
 CParamDisplay (const CParamDisplay &paramDisplay)
 
void draw (CDrawContext *pContext)
 called if the view should draw itself More...
 
bool getFocusPath (CGraphicsPath &outPath)
 the graphics path will be drawn filled with the evenodd method and the color set in CFrame::setFocusColor() More...
 
bool removed (CView *parent)
 view is removed from parent view More...
 
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 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
 
virtual void setValueToStringProc (CParamDisplayValueToStringProc proc, void *userData=0)
 deprecated use setValueToStringFunction instead if you use c++11 More...
 
virtual void setStyle (int32_t val)
 
int32_t getStyle () const
 
virtual void setPrecision (uint8_t precision)
 
uint8_t getPrecision () const
 
- Public Member Functions inherited from CControl
 CControl (const CRect &size, IControlListener *listener=0, int32_t tag=0, CBitmap *pBackground=0)
 
 CControl (const CControl &c)
 
bool isDirty () const
 check if view is dirty More...
 
void setDirty (bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe ! More...
 
bool drawFocusOnTop ()
 draw focus before view will be drawn or afterwards More...
 
virtual float getValue () const
 
virtual void setValueNormalized (float val)
 
virtual float getValueNormalized () const
 
float getRange () const
 
virtual void setOldValue (float val)
 
virtual float getOldValue (void) const
 
virtual void setDefaultValue (float val)
 
virtual float getDefaultValue (void) const
 
virtual void bounceValue ()
 
virtual bool checkDefaultValue (CButtonState button)
 
virtual void valueChanged ()
 notifies listener and dependent objects More...
 
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 More...
 
virtual void setListener (IControlListener *l)
 set main listener More...
 
void registerControlListener (IControlListener *listener)
 register a sub listener More...
 
void unregisterControlListener (IControlListener *listener)
 unregister a sub listener More...
 
virtual void setBackOffset (const CPoint &offset)
 
virtual const CPointgetBackOffset () const
 
virtual void copyBackOffset ()
 
virtual void setWheelInc (float val)
 
virtual float getWheelInc () const
 
virtual void doIdleStuff ()
 
- Public Member Functions inherited from CView
 CView (const CRect &size)
 
 CView (const CView &view)
 
void setSubviewState (bool state)
 
bool isSubview () const
 
CGraphicsTransform getGlobalTransform () const
 
template<typename T >
T & translateToGlobal (T &t) const
 
template<typename T >
translateToGlobal (const T &t) const
 translates a local coordinate to a global one using parent transforms More...
 
template<typename T >
T & translateToLocal (T &t) const
 translates a local coordinate to a global one using parent transforms More...
 
template<typename T >
translateToLocal (const T &t) const
 translates a global coordinate to a local one using parent transforms More...
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message)
 translates a local coordinate to a global one using parent transforms More...
 
void beforeDelete ()
 
virtual CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons)
 called when a mouse up event occurs More...
 
virtual CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons)
 called when a mouse move event occurs More...
 
virtual CMouseEventResult onMouseCancel ()
 called when mouse tracking should be canceled More...
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view More...
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view More...
 
void setHitTestPath (CGraphicsPath *path)
 
virtual bool hitTest (const CPoint &where, const CButtonState &buttons=-1)
 check if where hits this view More...
 
virtual bool onWheel (const CPoint &where, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view More...
 
virtual bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view More...
 
virtual void setMouseEnabled (bool bEnable=true)
 turn on/off mouse usage for this view More...
 
virtual bool getMouseEnabled () const
 get the state of wheather this view uses the mouse or not More...
 
virtual void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse More...
 
virtual CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse More...
 
virtual const CRectgetMouseableArea () const
 read only access to the mouseable area More...
 
virtual DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=0)
 start a drag operation. See CDropSource to create the source data package More...
 
virtual bool onDrop (IDataPackage *drag, const CPoint &where)
 called if a drag is dropped onto this view More...
 
virtual void onDragEnter (IDataPackage *drag, const CPoint &where)
 called if a drag is entering this view More...
 
virtual void onDragLeave (IDataPackage *drag, const CPoint &where)
 called if a drag is leaving this view More...
 
virtual void onDragMove (IDataPackage *drag, const CPoint &where)
 called if a drag is moved inside this view More...
 
virtual int32_t onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus More...
 
CCoord getHeight () const
 get the height of the view More...
 
CCoord getWidth () const
 get the width of the view More...
 
virtual void setViewSize (const CRect &rect, bool invalid=true)
 set views size More...
 
const CRectgetViewSize () const
 read only access to view size More...
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view More...
 
virtual void parentSizeChanged ()
 notification that one of the views parent has changed its size More...
 
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates More...
 
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates More...
 
virtual void setAutosizeFlags (int32_t flags)
 set autosize flags More...
 
virtual int32_t getAutosizeFlags () const
 get autosize flags More...
 
virtual bool sizeToFit ()
 resize view to optimal size More...
 
virtual bool wantsFocus () const
 check if view supports focus More...
 
virtual void setWantsFocus (bool state)
 set focus support on/off More...
 
bool getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const
 get the size of an attribute More...
 
bool getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const
 get an attribute More...
 
bool setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData)
 set an attribute More...
 
bool removeAttribute (const CViewAttributeID id)
 remove an attribute More...
 
virtual void setBackground (CBitmap *background)
 set the background image of this view More...
 
CBitmapgetBackground () const
 get the background image of this view More...
 
virtual void setDisabledBackground (CBitmap *background)
 set background image used when the mouse is not enabled More...
 
CBitmapgetDisabledBackground () const
 get background image used when the mouse is not enabled More...
 
CBitmapgetDrawBackground () const
 
virtual void setTransparency (bool val)
 set views transparent state More...
 
virtual bool getTransparency () const
 get views transparent state More...
 
virtual void setAlphaValue (float alpha)
 set alpha value which will be applied when drawing this view More...
 
float getAlphaValue () const
 get alpha value More...
 
virtual bool attached (CView *parent)
 view is attached to a parent view More...
 
bool isAttached () const
 is view attached to a parentView More...
 
CViewgetParentView () const
 get parent view More...
 
CFramegetFrame () const
 get frame More...
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor More...
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=0)
 
void removeAnimation (IdStringPtr name)
 
void removeAllAnimations ()
 
void registerViewListener (IViewListener *listener)
 
void unregisterViewListener (IViewListener *listener)
 
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 called if the view should draw itself More...
 
virtual bool checkUpdate (const CRect &updateRect) const
 
virtual void invalidRect (const CRect &rect)
 mark rect as invalid More...
 
virtual void invalid ()
 mark whole view as invalid More...
 
virtual void setVisible (bool state)
 set visibility state More...
 
bool isVisible () const
 get visibility state More...
 
virtual void onIdle ()
 called on idle when view wants idle More...
 
void setWantsIdle (bool state)
 enable/disable onIdle() callback More...
 
bool wantsIdle () const
 returns if the view wants idle callback or not More...
 
- Public Member Functions inherited from CBaseObject
 CBaseObject ()
 
virtual ~CBaseObject ()
 
virtual void forget ()
 decrease refcount and delete object if refcount == 0 More...
 
virtual void remember ()
 increase refcount More...
 
virtual int32_t getNbReference () const
 get refcount More...
 
- Public Member Functions inherited from IDependency
virtual void addDependency (CBaseObject *obj)
 add a dependent object More...
 
virtual void removeDependency (CBaseObject *obj)
 remove a dependent object. More...
 
virtual void changed (IdStringPtr message)
 notify dependent objects of change with message. More...
 
virtual void deferChanges (bool state)
 defer changes until later. More...
 

Static Public Attributes

static IdStringPtr kMsgBeforePopup = "kMsgBeforePopup"
 
- Static Public Attributes inherited from CControl
static int32_t kZoomModifier = kShift
 zoom modifier key, per default is the shift key More...
 
static int32_t kDefaultValueModifier = kControl
 default value modifier key, per default is the control key More...
 
static IdStringPtr kMessageTagWillChange = "kMessageTagWillChange"
 
static IdStringPtr kMessageTagDidChange = "kMessageTagDidChange"
 
static IdStringPtr kMessageValueChanged = "kMessageValueChanged"
 
static IdStringPtr kMessageBeginEdit = "kMessageBeginEdit"
 
static IdStringPtr kMessageEndEdit = "kMessageEndEdit"
 
- Static Public Attributes inherited from CView
static bool kDirtyCallAlwaysOnMainThread = false
 if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false. More...
 
static uint32_t idleRate
 global idle rate in Hz, defaults to 30 Hz More...
 

Protected Member Functions

void beforePopup ()
 
- Protected Member Functions inherited from CParamDisplay
 ~CParamDisplay ()
 
virtual void drawBack (CDrawContext *pContext, CBitmap *newBack=0)
 
void drawText (CDrawContext *pContext, UTF8StringPtr string)
 
void drawText (CDrawContext *pContext, UTF8StringPtr string, const CRect &size)
 
virtual void drawPlatformText (CDrawContext *pContext, IPlatformString *string)
 
virtual void drawPlatformText (CDrawContext *pContext, IPlatformString *string, const CRect &size)
 
virtual void drawStyleChanged ()
 
- Protected Member Functions inherited from CControl
 ~CControl ()
 
- Protected Member Functions inherited from CView
 ~CView ()
 
CGraphicsPathgetHitTestPath () const
 
- Protected Member Functions inherited from IDependency
 IDependency ()
 
virtual ~IDependency ()
 

Protected Attributes

CMenuItemListmenuItems
 
bool inPopup
 
int32_t currentIndex
 
CButtonState lastButton
 
int32_t nbItemsPerColumn
 
int32_t lastResult
 
int32_t prefixNumbers
 
CBitmapbgWhenClick
 
COptionMenulastMenu
 
- Protected Attributes inherited from CParamDisplay
CParamDisplayValueToStringProc valueToString
 
void * valueToStringUserData
 
CHoriTxtAlign horiTxtAlign
 
int32_t style
 
uint8_t valuePrecision
 
CFontRef fontID
 
CColor fontColor
 
CColor backColor
 
CColor frameColor
 
CColor shadowColor
 
CPoint textInset
 
CCoord roundRectRadius
 
CCoord frameWidth
 
double textRotation
 
bool bAntialias
 
- Protected Attributes inherited from CControl
IControlListenerlistener
 
SubListenerDispatcher subListeners
 
int32_t tag
 
float oldValue
 
float defaultValue
 
float value
 
float vmin
 
float vmax
 
float wheelInc
 
int32_t editing
 
CPoint backOffset
 
- Protected Attributes inherited from CView
CRect size
 
CRect mouseableArea
 
CFramepParentFrame
 
CViewpParentView
 
int32_t viewFlags
 
int32_t autosizeFlags
 
float alphaValue
 
- Protected Attributes inherited from IDependency
int32_t deferChangeCount
 
DeferedChangesSet deferedChanges
 
DependentList dependents
 

Additional Inherited Members

- Public Types inherited from CParamDisplay
typedef void ValueToStringUserData
 
- Protected Types inherited from CControl
typedef DispatchList
< IControlListener
SubListenerDispatcher
 
- 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,
  kLastCViewFlag = 7
}
 
- Protected Types inherited from IDependency
typedef std::set< IdStringPtrDeferedChangesSet
 
typedef std::list< CBaseObject * > DependentList
 
- Static Protected Member Functions inherited from CControl
static int32_t mapVstKeyModifier (int32_t vstModifier)
 
- Static Protected Member Functions inherited from IDependency
static void rememberObject (CBaseObject *obj)
 
static void forgetObject (CBaseObject *obj)
 

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.

Constructor & Destructor Documentation

COptionMenu ( const CRect size,
IControlListener listener,
int32_t  tag,
CBitmap background = 0,
CBitmap bgWhenClick = 0,
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 ( const COptionMenu menu)

Member Function Documentation

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
CMenuItem * addEntry ( COptionMenu submenu,
UTF8StringPtr  title 
)
virtual

add a new submenu entry

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

add a new entry

CMenuItem * addSeparator ( int32_t  index = -1)
virtual

add a new separator entry

void beforePopup ( )
protected
bool checkEntry ( int32_t  index,
bool  state 
)
virtual

change check state of entry at index

bool checkEntryAlone ( int32_t  index)
virtual

check entry at index and uncheck every other item

void draw ( CDrawContext pContext)
virtual

called if the view should draw itself

Parameters
pContextdraw context in which to draw

Implements CControl.

CMenuItem * getCurrent ( ) const
virtual

get current entry

int32_t getCurrentIndex ( bool  countSeparator = false) const
virtual
CMenuItem * getEntry ( int32_t  index) const
virtual

get entry at index position

CMenuItemList* getItems ( ) const
inline
COptionMenu * getLastItemMenu ( int32_t &  idxInMenu) const

get last menu and index of choosen entry

int32_t getLastResult ( ) const
inline

get last index of choosen entry

virtual float getMax ( ) const
inlinevirtual

Reimplemented from CControl.

virtual float getMin ( ) const
inlinevirtual

Reimplemented from CControl.

int32_t getNbEntries ( ) const
virtual

get number of entries

virtual int32_t getNbItemsPerColumn ( ) const
inlinevirtual

Windows only.

int32_t getPrefixNumbers ( ) const
inline

get prefix numbering

COptionMenu * getSubMenu ( int32_t  idx) const

get a submenu

bool isCheckEntry ( int32_t  index) const
virtual

get check state of entry at index

virtual bool isTypeOf ( IdStringPtr  s) const
inlinevirtual

Reimplemented from CParamDisplay.

void looseFocus ( )
virtual

called if view should loose focus

Reimplemented from CView.

virtual CBaseObject* newCopy ( ) const
inlinevirtual

Reimplemented from CParamDisplay.

int32_t onKeyDown ( VstKeyCode keyCode)
virtual

called if a key down event occurs and this view has focus

Parameters
keyCodekey code of pressed key
Returns
-1 if not handled and 1 if handled

Reimplemented from CView.

CMouseEventResult onMouseDown ( CPoint where,
const CButtonState buttons 
)
virtual

called when a mouse down event occurs

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

Reimplemented from CView.

bool popup ( )

pops up menu

bool popup ( CFrame frame,
const CPoint frameLocation 
)

pops up menu at frameLocation

bool removeAllEntry ( )
virtual

remove all entries

bool removeEntry ( int32_t  index)
virtual

remove an entry

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

set current entry

virtual void setMax ( float  val)
inlinevirtual

Reimplemented from CControl.

virtual void setMin ( float  val)
inlinevirtual

Reimplemented from CControl.

virtual void setNbItemsPerColumn ( int32_t  val)
inlinevirtual

Windows only.

void setPrefixNumbers ( int32_t  preCount)
virtual

set prefix numbering

void setValue ( float  val)
virtual

Reimplemented from CControl.

void takeFocus ( )
virtual

called if view should take focus

Reimplemented from CView.

Member Data Documentation

CBitmap* bgWhenClick
protected
int32_t currentIndex
protected
bool inPopup
protected
IdStringPtr kMsgBeforePopup = "kMsgBeforePopup"
static
CButtonState lastButton
protected
COptionMenu* lastMenu
protected
int32_t lastResult
protected
CMenuItemList* menuItems
protected
int32_t nbItemsPerColumn
protected
int32_t prefixNumbers
protected

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