VCV Rack API v2
rack::ui::MenuItem Struct Reference

#include <MenuItem.hpp>

Inheritance diagram for rack::ui::MenuItem:
Collaboration diagram for rack::ui::MenuItem:

Public Member Functions

void draw (const DrawArgs &args) override
 Draws the widget to the NanoVG context. More...
void step () override
 Advances the module by one frame. More...
void onEnter (const EnterEvent &e) override
void onDragDrop (const DragDropEvent &e) override
void doAction (bool consume=true)
virtual MenucreateChildMenu ()
void onAction (const ActionEvent &e) override
 Override to handle behavior when user clicks the menu item. More...
- Public Member Functions inherited from rack::ui::MenuEntry
 MenuEntry ()
- Public Member Functions inherited from rack::widget::OpaqueWidget
void onHover (const HoverEvent &e) override
void onButton (const ButtonEvent &e) override
void onHoverKey (const HoverKeyEvent &e) override
void onHoverText (const HoverTextEvent &e) override
void onHoverScroll (const HoverScrollEvent &e) override
void onDragHover (const DragHoverEvent &e) override
void onPathDrop (const PathDropEvent &e) override
- Public Member Functions inherited from rack::widget::Widget
virtual ~Widget ()
math::Rect getBox ()
void setBox (math::Rect box)
math::Vec getPosition ()
void setPosition (math::Vec pos)
math::Vec getSize ()
void setSize (math::Vec size)
widget::WidgetgetParent ()
bool isVisible ()
void setVisible (bool visible)
void show ()
void hide ()
void requestDelete ()
virtual math::Rect getChildrenBoundingBox ()
 Returns the smallest rectangle containing this widget's children (visible and invisible) in its local coordinates. More...
virtual math::Rect getVisibleChildrenBoundingBox ()
bool isDescendantOf (Widget *ancestor)
 Returns whether ancestor is a parent or distant parent of this widget. More...
virtual math::Vec getRelativeOffset (math::Vec v, Widget *ancestor)
 Returns v (given in local coordinates) transformed into the coordinate system of ancestor. More...
math::Vec getAbsoluteOffset (math::Vec v)
 Returns v transformed into world/root/global/absolute coordinates. More...
virtual float getRelativeZoom (Widget *ancestor)
 Returns the zoom level in the coordinate system of ancestor. More...
float getAbsoluteZoom ()
virtual math::Rect getViewport (math::Rect r)
 Returns a subset of the given Rect bounded by the box of this widget and all ancestors. More...
template<class T >
T * getAncestorOfType ()
template<class T >
T * getFirstDescendantOfType ()
bool hasChild (Widget *child)
 Checks if the given widget is a child of this widget. More...
void addChild (Widget *child)
 Adds widget to the top of the children. More...
void addChildBottom (Widget *child)
 Adds widget to the bottom of the children. More...
void addChildBelow (Widget *child, Widget *sibling)
 Adds widget directly below another widget. More...
void addChildAbove (Widget *child, Widget *sibling)
void removeChild (Widget *child)
 Removes widget from list of children if it exists. More...
void clearChildren ()
 Removes and deletes all children. More...
virtual DEPRECATED void draw (NVGcontext *vg)
 Override draw(const DrawArgs &args) instead. More...
virtual void drawLayer (const DrawArgs &args, int layer)
 Draw additional layers. More...
void drawChild (Widget *child, const DrawArgs &args, int layer=0)
 Draws a particular child. More...
template<typename TMethod , class TEvent >
void recurseEvent (TMethod f, const TEvent &e)
 Recurses an event to all visible Widgets. More...
template<typename TMethod , class TEvent >
void recursePositionEvent (TMethod f, const TEvent &e)
 Recurses an event to all visible Widgets until it is consumed. More...
virtual void onDoubleClick (const DoubleClickEvent &e)
virtual void onLeave (const LeaveEvent &e)
virtual void onSelect (const SelectEvent &e)
virtual void onDeselect (const DeselectEvent &e)
virtual void onSelectKey (const SelectKeyEvent &e)
virtual void onSelectText (const SelectTextEvent &e)
virtual void onDragStart (const DragStartEvent &e)
virtual void onDragEnd (const DragEndEvent &e)
virtual void onDragMove (const DragMoveEvent &e)
virtual void onDragEnter (const DragEnterEvent &e)
virtual void onDragLeave (const DragLeaveEvent &e)
virtual void onChange (const ChangeEvent &e)
virtual void onDirty (const DirtyEvent &e)
virtual void onReposition (const RepositionEvent &e)
virtual void onResize (const ResizeEvent &e)
virtual void onAdd (const AddEvent &e)
virtual void onRemove (const RemoveEvent &e)
virtual void onShow (const ShowEvent &e)
virtual void onHide (const HideEvent &e)
virtual void onContextCreate (const ContextCreateEvent &e)
virtual void onContextDestroy (const ContextDestroyEvent &e)
- Public Member Functions inherited from rack::WeakBase
 ~WeakBase ()
size_t getWeakCount ()

Public Attributes

std::string text
std::string rightText
bool disabled = false
- Public Attributes inherited from rack::widget::Widget
math::Rect box = math::Rect(math::Vec(), math::Vec(INFINITY, INFINITY))
 Position relative to parent and size of widget. More...
Widgetparent = NULL
 Automatically set when Widget is added as a child to another Widget. More...
std::list< Widget * > children
bool visible = true
 Disables rendering but allow stepping. More...
bool requestedDelete = false
 If set to true, parent will delete Widget in the next step(). More...
- Public Attributes inherited from rack::WeakBase
WeakHandleweakHandle = nullptr

Additional Inherited Members

- Public Types inherited from rack::widget::Widget
using BaseEvent = widget::BaseEvent

Member Function Documentation

◆ draw()

void rack::ui::MenuItem::draw ( const DrawArgs args)

Draws the widget to the NanoVG context.

When overriding, call the superclass's draw(args) to recurse to children.

Reimplemented from rack::widget::Widget.

◆ step()

void rack::ui::MenuItem::step ( )

Advances the module by one frame.

Reimplemented from rack::widget::Widget.

◆ onEnter()

void rack::ui::MenuItem::onEnter ( const EnterEvent e)

Reimplemented from rack::widget::Widget.

◆ onDragDrop()

void rack::ui::MenuItem::onDragDrop ( const DragDropEvent e)

Reimplemented from rack::widget::Widget.

◆ doAction()

void rack::ui::MenuItem::doAction ( bool  consume = true)

◆ createChildMenu()

virtual Menu * rack::ui::MenuItem::createChildMenu ( )

◆ onAction()

void rack::ui::MenuItem::onAction ( const ActionEvent e)

Override to handle behavior when user clicks the menu item.

Event is consumed by default. Unconsume to prevent the menu from being closed. If Ctrl (Cmd on Mac) is held, the event is not pre-consumed, so if your menu must be closed, always consume the event.

Reimplemented from rack::widget::Widget.

Member Data Documentation

◆ text

std::string rack::ui::MenuItem::text

◆ rightText

std::string rack::ui::MenuItem::rightText

◆ disabled

bool rack::ui::MenuItem::disabled = false

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