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 Destructive (const std::string &lbl, const std::string &ico, std::function< void()> cb, bool confirm=true, const std::string &sc="")
 
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::string tooltip
 
std::function< void()> callback
 
std::optional< CanvasPopupDefinition > popup
 
std::function< bool()> enabled_condition
 
std::function< bool()> visible_condition
 
std::function< bool()> checked_condition
 
std::vector< CanvasMenuItem > subitems
 
ImVec4 color = ImVec4(1, 1, 1, 1)
 
bool separator_after = false
 
bool destructive = false
 
bool requires_confirmation = 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 121 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 125 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 130 of file canvas_menu.h.

Member Function Documentation

◆ Destructive()

◆ Disabled()

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

◆ Conditional()

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

◆ 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 169 of file canvas_menu.h.

References label, and popup.

Member Data Documentation

◆ label

◆ icon

◆ shortcut

◆ tooltip

std::string yaze::gui::CanvasMenuItem::tooltip

◆ callback

std::function<void()> yaze::gui::CanvasMenuItem::callback

◆ popup

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

Definition at line 82 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 90 of file canvas_menu.h.

Referenced by yaze::gui::RenderMenuItem(), and yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu().

◆ checked_condition

◆ subitems

◆ color

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

Definition at line 101 of file canvas_menu.h.

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

◆ separator_after

◆ destructive

bool yaze::gui::CanvasMenuItem::destructive = false

◆ requires_confirmation

bool yaze::gui::CanvasMenuItem::requires_confirmation = false

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