ASPiK SDK
|
a popup menu control More...
#include <coptionmenu.h>
Public Member Functions | |
COptionMenu (const CRect &size, IControlListener *listener, int32_t tag, CBitmap *background=nullptr, CBitmap *bgWhenClick=nullptr, const int32_t style=0) | |
COptionMenu (const COptionMenu &menu) | |
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 More... | |
CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons) override |
called when a mouse down event occurs More... | |
int32_t | onKeyDown (VstKeyCode &keyCode) override |
called if a key down event occurs and this view has focus More... | |
void | takeFocus () override |
called if view should take focus | |
void | looseFocus () override |
called if view should loose focus | |
COptionMenu Methods | |
virtual CMenuItem * | addEntry (CMenuItem *item, int32_t index=-1) |
add a new entry More... | |
virtual CMenuItem * | addEntry (COptionMenu *submenu, const UTF8String &title) |
add a new submenu entry | |
virtual CMenuItem * | addEntry (const UTF8String &title, int32_t index=-1, int32_t itemFlags=CMenuItem::kNoFlags) |
add a new entry | |
virtual CMenuItem * | addSeparator (int32_t index=-1) |
add a new separator entry | |
virtual CMenuItem * | getCurrent () const |
get current entry | |
virtual int32_t | getCurrentIndex (bool countSeparator=false) const |
virtual CMenuItem * | getEntry (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 | |
COptionMenu * | getLastItemMenu (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 | |
COptionMenu * | getSubMenu (int32_t idx) const |
get a submenu | |
bool | popup () |
pops up menu | |
bool | popup (CFrame *frame, const CPoint &frameLocation) |
pops up menu at frameLocation | |
CMenuItemList * | getItems () const |
![]() | |
CParamDisplay (const CRect &size, CBitmap *background=nullptr, const int32_t style=0) | |
CParamDisplay (const CParamDisplay ¶mDisplay) | |
void | draw (CDrawContext *pContext) override |
called if the view should draw itself More... | |
bool | getFocusPath (CGraphicsPath &outPath) override |
bool | removed (CView *parent) override |
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 | 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 |
![]() | |
CControl (const CRect &size, IControlListener *listener=nullptr, int32_t tag=0, CBitmap *pBackground=nullptr) | |
CControl (const CControl &c) | |
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. Thread Safe ! | |
bool | drawFocusOnTop () override |
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 | |
virtual void | setTag (int32_t val) |
virtual int32_t | getTag () const |
virtual void | beginEdit () |
virtual void | endEdit () |
bool | isEditing () const |
virtual IControlListener * | getListener () 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 | setBackOffset (const CPoint &offset) |
virtual const CPoint & | getBackOffset () const |
virtual void | copyBackOffset () |
virtual void | setWheelInc (float val) |
virtual float | getWheelInc () const |
![]() | |
CView (const CRect &size) | |
CView (const CView &view) | |
void | setSubviewState (bool state) |
bool | isSubview () const |
virtual bool | wantsWindowActiveStateChangeNotification () const |
virtual void | onWindowActivate (bool state) |
CGraphicsTransform | getGlobalTransform () const |
template<typename T > | |
T & | translateToGlobal (T &t) const |
translates a local coordinate to a global one using parent transforms | |
template<typename T > | |
T | translateToGlobal (const T &t) const |
translates a local coordinate to a global one using parent transforms | |
template<typename T > | |
T & | translateToLocal (T &t) const |
translates a global coordinate to a local one using parent transforms | |
template<typename T > | |
T | translateToLocal (const T &t) const |
translates a local coordinate to a global one using parent transforms | |
virtual CViewContainer * | asViewContainer () |
virtual const CViewContainer * | asViewContainer () const |
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) override |
void | beforeDelete () override |
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 | |
virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons) |
called when the mouse enters this view | |
virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons) |
called when the mouse leaves this view | |
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 | |
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 (CRect &rect) const |
get the area in which the view reacts to the mouse | |
const CRect & | getMouseableArea () const |
read only access to the mouseable area | |
virtual DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr) |
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 | |
virtual void | onDragEnter (IDataPackage *drag, const CPoint &where) |
called if a drag is entering this view | |
virtual void | onDragLeave (IDataPackage *drag, const CPoint &where) |
called if a drag is leaving this view | |
virtual void | onDragMove (IDataPackage *drag, const CPoint &where) |
called if a drag is moved inside this view | |
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 | |
CCoord | getWidth () const |
get the width of the view | |
virtual void | setViewSize (const CRect &rect, bool invalid=true) |
set views size More... | |
const CRect & | getViewSize () const |
read only access to view size | |
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 | |
virtual CPoint & | frameToLocal (CPoint &point) const |
conversion from frame coordinates to local view coordinates More... | |
virtual CPoint & | localToFrame (CPoint &point) const |
conversion from local view coordinates to frame coordinates More... | |
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 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 | |
virtual void | setBackground (CBitmap *background) |
set the background image of this view More... | |
CBitmap * | getBackground () const |
get the background image of this view | |
virtual void | setDisabledBackground (CBitmap *background) |
set background image used when the mouse is not enabled More... | |
CBitmap * | getDisabledBackground () const |
get background image used when the mouse is not enabled | |
CBitmap * | getDrawBackground () const |
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 More... | |
bool | isAttached () const |
is view attached to a parentView | |
CView * | getParentView () const |
get parent view | |
CFrame * | getFrame () const |
get frame | |
virtual VSTGUIEditorInterface * | getEditor () const |
get editor | |
void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=nullptr) |
void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc) |
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 | |
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 | |
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 | |
![]() | |
CBaseObject (const CBaseObject &o) | |
CBaseObject & | operator= (const CBaseObject &obj) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (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 | |
![]() | |
virtual void | addDependency (CBaseObject *obj) |
virtual void | removeDependency (CBaseObject *obj) |
virtual void | changed (IdStringPtr message) |
virtual void | deferChanges (bool state) |
Static Public Attributes | |
static IdStringPtr | kMsgBeforePopup = "kMsgBeforePopup" |
![]() | |
static int32_t | kZoomModifier = kShift |
zoom modifier key, per default is the shift key | |
static int32_t | kDefaultValueModifier = kControl |
default value modifier key, per default is the control key | |
static IdStringPtr | kMessageTagWillChange = "kMessageTagWillChange" |
static IdStringPtr | kMessageTagDidChange = "kMessageTagDidChange" |
static IdStringPtr | kMessageValueChanged = "kMessageValueChanged" |
static IdStringPtr | kMessageBeginEdit = "kMessageBeginEdit" |
static IdStringPtr | kMessageEndEdit = "kMessageEndEdit" |
![]() | |
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. | |
static uint32_t | idleRate |
global idle rate in Hz, defaults to 30 Hz | |
Protected Member Functions | |
bool | doPopup () |
void | beforePopup () |
![]() | |
virtual void | drawBack (CDrawContext *pContext, CBitmap *newBack=nullptr) |
virtual void | drawPlatformText (CDrawContext *pContext, IPlatformString *string) |
virtual void | drawPlatformText (CDrawContext *pContext, IPlatformString *string, const CRect &size) |
virtual void | drawStyleChanged () |
![]() | |
CGraphicsPath * | getHitTestPath () 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) |
Protected Attributes | |
CMenuItemList * | menuItems |
bool | inPopup {false} |
int32_t | currentIndex {-1} |
CButtonState | lastButton {0} |
int32_t | nbItemsPerColumn {-1} |
int32_t | lastResult {-1} |
int32_t | prefixNumbers {0} |
SharedPointer< CBitmap > | bgWhenClick |
COptionMenu * | lastMenu {nullptr} |
![]() | |
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.} |
CCoord | roundRectRadius |
CCoord | frameWidth |
double | textRotation |
bool | bAntialias |
![]() | |
IControlListener * | listener |
SubListenerDispatcher | subListeners |
int32_t | tag |
float | oldValue |
float | defaultValue |
float | value |
float | vmin |
float | vmax |
float | wheelInc |
int32_t | editing |
CPoint | backOffset |
![]() | |
int32_t | deferChangeCount {0} |
DeferedChangesSet | deferedChanges |
DependentList | dependents |
Additional Inherited Members | |
![]() | |
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 | SubListenerDispatcher = DispatchList< IControlListener * > |
![]() | |
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 } |
![]() | |
using | DeferedChangesSet = std::set< IdStringPtr > |
using | DependentList = std::list< CBaseObject * > |
![]() | |
static int32_t | mapVstKeyModifier (int32_t vstModifier) |
![]() | |
static void | rememberObject (CBaseObject *obj) |
static void | forgetObject (CBaseObject *obj) |
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.
VSTGUI::COptionMenu::COptionMenu | ( | const CRect & | size, |
IControlListener * | listener, | ||
int32_t | tag, | ||
CBitmap * | background = nullptr , |
||
CBitmap * | bgWhenClick = nullptr , |
||
const int32_t | style = 0 |
||
) |
COptionMenu constructor.
size | the size of this view |
listener | the listener |
tag | the control tag |
background | the background bitmap |
bgWhenClick | the background bitmap if the option menu is displayed |
style | the style of the display (see CParamDisplay for styles) |
add a new entry
item | menu item to add. Takes ownership of item. |
index | position of insertation. -1 appends the item |
|
overridevirtual |
called if the view should draw itself
pContext | draw context in which to draw |
Implements VSTGUI::CControl.
|
overridevirtual |
called if a key down event occurs and this view has focus
keyCode | key code of pressed key |
Reimplemented from VSTGUI::CView.
|
overridevirtual |
called when a mouse down event occurs
where | mouse location of mouse down |
buttons | button and modifier state |
Reimplemented from VSTGUI::CView.