yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::gui::CanvasMenuItem Struct Reference

Declarative menu item definition. More...

#include <canvas_menu.h>

Public Member Functions

 CanvasMenuItem ()=default
 
 CanvasMenuItem (const std::string &lbl, std::function< void()> cb)
 
 CanvasMenuItem (const std::string &lbl, const std::string &ico, std::function< void()> cb)
 
 CanvasMenuItem (const std::string &lbl, const std::string &ico, std::function< void()> cb, const std::string &sc)
 

Static Public Member Functions

static CanvasMenuItem Disabled (const std::string &lbl)
 
static CanvasMenuItem Conditional (const std::string &lbl, std::function< void()> cb, std::function< bool()> condition)
 
static CanvasMenuItem WithPopup (const std::string &lbl, const std::string &popup_id, std::function< void()> render_callback)
 

Public Attributes

std::string label
 
std::string icon
 
std::string shortcut
 
std::function< void()> callback
 
std::optional< CanvasPopupDefinitionpopup
 
std::function< bool()> enabled_condition = []() { return true; }
 
std::function< bool()> visible_condition = []() { return true; }
 
std::vector< CanvasMenuItemsubitems
 
ImVec4 color = ImVec4(1, 1, 1, 1)
 
bool separator_after = false
 

Detailed Description

Declarative menu item definition.

Pure data structure representing a menu item with optional popup linkage. Can be composed into hierarchical menus via subitems.

Definition at line 63 of file canvas_menu.h.

Constructor & Destructor Documentation

◆ CanvasMenuItem() [1/4]

yaze::gui::CanvasMenuItem::CanvasMenuItem ( )
default

◆ CanvasMenuItem() [2/4]

yaze::gui::CanvasMenuItem::CanvasMenuItem ( const std::string &  lbl,
std::function< void()>  cb 
)
inline

Definition at line 98 of file canvas_menu.h.

◆ CanvasMenuItem() [3/4]

yaze::gui::CanvasMenuItem::CanvasMenuItem ( const std::string &  lbl,
const std::string &  ico,
std::function< void()>  cb 
)
inline

Definition at line 102 of file canvas_menu.h.

◆ CanvasMenuItem() [4/4]

yaze::gui::CanvasMenuItem::CanvasMenuItem ( const std::string &  lbl,
const std::string &  ico,
std::function< void()>  cb,
const std::string &  sc 
)
inline

Definition at line 107 of file canvas_menu.h.

Member Function Documentation

◆ Disabled()

static CanvasMenuItem yaze::gui::CanvasMenuItem::Disabled ( const std::string &  lbl)
inlinestatic

Definition at line 112 of file canvas_menu.h.

References enabled_condition, and label.

◆ Conditional()

static CanvasMenuItem yaze::gui::CanvasMenuItem::Conditional ( const std::string &  lbl,
std::function< void()>  cb,
std::function< bool()>  condition 
)
inlinestatic

Definition at line 120 of file canvas_menu.h.

References callback, enabled_condition, and label.

Referenced by yaze::gui::CanvasMenuBuilder::AddConditionalItem().

◆ WithPopup()

static CanvasMenuItem yaze::gui::CanvasMenuItem::WithPopup ( const std::string &  lbl,
const std::string &  popup_id,
std::function< void()>  render_callback 
)
inlinestatic

Member Data Documentation

◆ label

◆ icon

◆ shortcut

std::string yaze::gui::CanvasMenuItem::shortcut

◆ callback

◆ popup

std::optional<CanvasPopupDefinition> yaze::gui::CanvasMenuItem::popup

Definition at line 77 of file canvas_menu.h.

Referenced by yaze::gui::RenderMenuItem(), and WithPopup().

◆ enabled_condition

std::function<bool()> yaze::gui::CanvasMenuItem::enabled_condition = []() { return true; }

◆ visible_condition

std::function<bool()> yaze::gui::CanvasMenuItem::visible_condition = []() { return true; }

Definition at line 83 of file canvas_menu.h.

Referenced by yaze::gui::RenderMenuItem().

◆ subitems

◆ color

ImVec4 yaze::gui::CanvasMenuItem::color = ImVec4(1, 1, 1, 1)

Definition at line 89 of file canvas_menu.h.

Referenced by yaze::gui::RenderMenuItem().

◆ separator_after

bool yaze::gui::CanvasMenuItem::separator_after = false

Definition at line 92 of file canvas_menu.h.

Referenced by yaze::gui::RenderMenuItem().


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