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< CanvasPopupDefinition > | popup |
std::function< bool()> | enabled_condition = []() { return true; } |
std::function< bool()> | visible_condition = []() { return true; } |
std::vector< CanvasMenuItem > | subitems |
ImVec4 | color = ImVec4(1, 1, 1, 1) |
bool | separator_after = false |
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.
|
default |
|
inline |
Definition at line 98 of file canvas_menu.h.
|
inline |
Definition at line 102 of file canvas_menu.h.
|
inline |
Definition at line 107 of file canvas_menu.h.
|
inlinestatic |
Definition at line 112 of file canvas_menu.h.
References enabled_condition, and label.
|
inlinestatic |
Definition at line 120 of file canvas_menu.h.
References callback, enabled_condition, and label.
Referenced by yaze::gui::CanvasMenuBuilder::AddConditionalItem().
|
inlinestatic |
Definition at line 131 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddPopupItem(), and yaze::gui::CanvasMenuBuilder::AddPopupItem().
std::string yaze::gui::CanvasMenuItem::label |
Definition at line 65 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddSubmenu(), Conditional(), Disabled(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::gui::RenderMenuItem(), yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu(), and WithPopup().
std::string yaze::gui::CanvasMenuItem::icon |
Definition at line 68 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddPopupItem(), and yaze::gui::RenderMenuItem().
std::string yaze::gui::CanvasMenuItem::shortcut |
Definition at line 71 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddItem(), and yaze::gui::RenderMenuItem().
std::function<void()> yaze::gui::CanvasMenuItem::callback |
Definition at line 74 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddItem(), yaze::gui::CanvasMenuBuilder::AddItem(), Conditional(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::gui::RenderMenuItem(), and yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu().
std::optional<CanvasPopupDefinition> yaze::gui::CanvasMenuItem::popup |
Definition at line 77 of file canvas_menu.h.
Referenced by yaze::gui::RenderMenuItem(), and WithPopup().
std::function<bool()> yaze::gui::CanvasMenuItem::enabled_condition = []() { return true; } |
Definition at line 80 of file canvas_menu.h.
Referenced by Conditional(), Disabled(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), and yaze::gui::RenderMenuItem().
std::function<bool()> yaze::gui::CanvasMenuItem::visible_condition = []() { return true; } |
Definition at line 83 of file canvas_menu.h.
Referenced by yaze::gui::RenderMenuItem().
std::vector<CanvasMenuItem> yaze::gui::CanvasMenuItem::subitems |
Definition at line 86 of file canvas_menu.h.
Referenced by yaze::gui::CanvasMenuBuilder::AddSubmenu(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::gui::RenderMenuItem(), and yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu().
ImVec4 yaze::gui::CanvasMenuItem::color = ImVec4(1, 1, 1, 1) |
Definition at line 89 of file canvas_menu.h.
Referenced by yaze::gui::RenderMenuItem().
bool yaze::gui::CanvasMenuItem::separator_after = false |
Definition at line 92 of file canvas_menu.h.
Referenced by yaze::gui::RenderMenuItem().