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
 
std::function< bool()> visible_condition
 
std::function< bool()> checked_condition
 
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 64 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 106 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 110 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 115 of file canvas_menu.h.

Member Function Documentation

◆ Disabled()

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

Definition at line 120 of file canvas_menu.h.

References enabled_condition, and label.

Referenced by yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu().

◆ Conditional()

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

Definition at line 130 of file canvas_menu.h.

References callback, enabled_condition, and label.

◆ WithPopup()

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

Definition at line 141 of file canvas_menu.h.

References label, and popup.

Referenced by yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu().

Member Data Documentation

◆ label

◆ icon

◆ shortcut

◆ callback

◆ popup

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

Definition at line 78 of file canvas_menu.h.

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

◆ enabled_condition

◆ visible_condition

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

Definition at line 86 of file canvas_menu.h.

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

◆ checked_condition

std::function<bool()> yaze::gui::CanvasMenuItem::checked_condition

◆ subitems

◆ color

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

Definition at line 97 of file canvas_menu.h.

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

◆ separator_after


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