9 const std::function<std::vector<MenuItemSpec>()>& build,
10 ImGuiPopupFlags flags) {
14 if (!ImGui::BeginPopupContextItem(
id, flags)) {
26 ImGuiPopupFlags flags) {
30 if (!ImGui::BeginPopupContextItem(
id, flags)) {
41 for (
const auto& item : items) {
47 const std::string& text) {
49 [text]() { ImGui::SetClipboardText(text.c_str()); });
#define ICON_MD_CONTENT_COPY
void RenderCanvasMenu(const CanvasMenuDefinition &menu, std::function< void(const std::string &, std::function< void()>)> popup_opened_callback)
Render a complete menu definition.
bool ItemContextMenu(const char *id, const std::function< std::vector< MenuItemSpec >()> &build, ImGuiPopupFlags flags)
Right-click menu for the last submitted ImGui item.
CanvasMenuItem MenuItemSpec
Neutral alias for menu items used outside canvases (list rows, tabs, chips). Same type,...
void RenderMenuItem(const CanvasMenuItem &item, std::function< void(const std::string &, std::function< void()>)> popup_opened_callback)
Render a single menu item.
MenuItemSpec CopyToClipboardItem(const std::string &label, const std::string &text)
void RenderMenuItems(const std::vector< MenuItemSpec > &items)