.. _stdlib_imgui_containers_builtin: =================================================================== Built-in containers — windows, child regions, tabs, menus, popups =================================================================== .. das:module:: imgui_containers_builtin Built-in containers — block-arg wrappers around ImGui's ``Begin``/``End`` family. Annotated with ``[container]`` so the body is wrapped with ``container_path_push(widget_ident)`` / ``container_path_pop()`` automatically, giving leaf widgets nested registry keys (e.g. ``MAIN_WIN/SETTINGS_TAB/RPS``). Covers windows (``window``, ``child``, ``group``), tab bars + items (``tab_bar``, ``tab_item``), trees (``tree_node``, ``collapsing_header``), menus (``menu_bar``, ``menu``, ``menu_item``), and popups (``popup``, ``modal``, ``tooltip``). The ``Begin``/``End`` pairing rules differ per kind — ``Begin``/``End`` and ``BeginChild``/``EndChild`` always pair; everything else is End-only-on-true — so each container def authors its own pairing inline rather than the macro guessing. +++++++++++ Call macros +++++++++++ .. _call-macro-imgui_containers_builtin-tooltip: .. das:attribute:: tooltip Function annotation tooltip .. _call-macro-imgui_containers_builtin-group: .. das:attribute:: group Function annotation group .. _call-macro-imgui_containers_builtin-menu: .. das:attribute:: menu Function annotation menu .. _call-macro-imgui_containers_builtin-child: .. das:attribute:: child Function annotation child .. _call-macro-imgui_containers_builtin-popup_modal: .. das:attribute:: popup_modal Function annotation popup_modal .. _call-macro-imgui_containers_builtin-popup: .. das:attribute:: popup Function annotation popup .. _call-macro-imgui_containers_builtin-item_tooltip: .. das:attribute:: item_tooltip Function annotation item_tooltip .. _call-macro-imgui_containers_builtin-collapsing_header: .. das:attribute:: collapsing_header Function annotation collapsing_header .. _call-macro-imgui_containers_builtin-combo_select: .. das:attribute:: combo_select Function annotation combo_select .. _call-macro-imgui_containers_builtin-menu_bar: .. das:attribute:: menu_bar Function annotation menu_bar .. _call-macro-imgui_containers_builtin-main_menu_bar: .. das:attribute:: main_menu_bar Function annotation main_menu_bar .. _call-macro-imgui_containers_builtin-drag_drop_target: .. das:attribute:: drag_drop_target Function annotation drag_drop_target .. _call-macro-imgui_containers_builtin-tab_bar: .. das:attribute:: tab_bar Function annotation tab_bar .. _call-macro-imgui_containers_builtin-window: .. das:attribute:: window Function annotation window .. _call-macro-imgui_containers_builtin-popup_context_item: .. das:attribute:: popup_context_item Function annotation popup_context_item .. _call-macro-imgui_containers_builtin-list_box: .. das:attribute:: list_box Function annotation list_box .. _call-macro-imgui_containers_builtin-tab_item: .. das:attribute:: tab_item Function annotation tab_item .. _call-macro-imgui_containers_builtin-tree_node: .. das:attribute:: tree_node Function annotation tree_node .. _call-macro-imgui_containers_builtin-drag_drop_source: .. das:attribute:: drag_drop_source Function annotation drag_drop_source .. _call-macro-imgui_containers_builtin-popup_context_window: .. das:attribute:: popup_context_window Function annotation popup_context_window +++++++++++++ Uncategorized +++++++++++++ .. _function-imgui_containers_builtin_open_popup_PopupState: .. das:function:: open_popup(state: PopupState) Queue `OpenPopup(state.text)` for the next visit of the paired `popup` / `popup_modal` container — the container reads `pending_open` before `BeginPopup`, so the linkage button-click → popup is observable as a state mutation (visible to live/mouse-cards). :Arguments: * **state** : :ref:`PopupState ` .. _function-imgui_containers_builtin_open_popup_string_ImGuiPopupFlags: .. das:function:: open_popup(str_id: string; flags: ImGuiPopupFlags = imgui::ImGuiPopupFlags.None) String-id form for stateless popups (paired with `popup_context_item`). No telemetry — open-state lives in ImGui internals. :Arguments: * **str_id** : string * **flags** : :ref:`ImGuiPopupFlags ` .. _function-imgui_containers_builtin_open_popup_on_item_click_string_ImGuiPopupFlags: .. das:function:: open_popup_on_item_click(str_id: string; flags: ImGuiPopupFlags = imgui::ImGuiPopupFlags.MouseButtonRight) Right-click on the previously-submitted item opens `str_id` popup. Stateless trigger paired with `popup_context_item`. :Arguments: * **str_id** : string * **flags** : :ref:`ImGuiPopupFlags ` .. _function-imgui_containers_builtin_close_current_popup_PopupState: .. das:function:: close_current_popup(state: PopupState) Close the active popup. Sets `pending_close` for state-transition telemetry AND calls `CloseCurrentPopup()` directly so the close takes effect on the current frame (matches raw-call semantics). :Arguments: * **state** : :ref:`PopupState ` .. _function-imgui_containers_builtin_close_current_popup: .. das:function:: close_current_popup() No-state form for body-internal use where a `PopupState` ident isn't in scope (e.g., inside `popup_context_item`, which is stateless). .. _function-imgui_containers_builtin_is_popup_open_PopupState: .. das:function:: is_popup_open(state: PopupState) : bool True while the paired popup container is open this frame. :Arguments: * **state** : :ref:`PopupState `