:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the PopupMenu.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_PopupMenu: PopupMenu ========= **Inherits:** :ref:`Popup` **<** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` PopupMenu displays a list of options. Description ----------- ``PopupMenu`` is a :ref:`Control` that displays a list of options. They are popular in toolbars or context menus. Properties ---------- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`allow_search` | ``false`` | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`FocusMode` | focus_mode | ``2`` *(parent override)* | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`hide_on_checkable_item_selection` | ``true`` | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`hide_on_item_selection` | ``true`` | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`hide_on_state_item_selection` | ``false`` | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ | :ref:`float` | :ref:`submenu_popup_delay` | ``0.3`` | +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+ Methods ------- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_check_item` **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_check_shortcut` **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_check_item` **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_check_shortcut` **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_item` **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_radio_check_item` **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_radio_check_shortcut` **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_icon_shortcut` **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_item` **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_multistate_item` **(** :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state=0, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_radio_check_item` **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_radio_check_shortcut` **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_separator` **(** :ref:`String` label="", :ref:`int` id=-1 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_shortcut` **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_submenu_item` **(** :ref:`String` label, :ref:`String` submenu, :ref:`int` id=-1 **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_current_index` **(** **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_accelerator` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_count` **(** **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_item_icon` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_id` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_index` **(** :ref:`int` id **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_item_metadata` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`ShortCut` | :ref:`get_item_shortcut` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_submenu` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_text` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_tooltip` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_hide_on_window_lose_focus` **(** **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_checkable` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_checked` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_disabled` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_radio_checkable` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_separator` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_shortcut_disabled` **(** :ref:`int` idx **)** |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_item` **(** :ref:`int` idx **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_hide_on_window_lose_focus` **(** :ref:`bool` enable **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_accelerator` **(** :ref:`int` idx, :ref:`int` accel **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_as_checkable` **(** :ref:`int` idx, :ref:`bool` enable **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_as_radio_checkable` **(** :ref:`int` idx, :ref:`bool` enable **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_as_separator` **(** :ref:`int` idx, :ref:`bool` enable **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_checked` **(** :ref:`int` idx, :ref:`bool` checked **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_disabled` **(** :ref:`int` idx, :ref:`bool` disabled **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_icon` **(** :ref:`int` idx, :ref:`Texture` icon **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_id` **(** :ref:`int` idx, :ref:`int` id **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_metadata` **(** :ref:`int` idx, :ref:`Variant` metadata **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_multistate` **(** :ref:`int` idx, :ref:`int` state **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut` **(** :ref:`int` idx, :ref:`ShortCut` shortcut, :ref:`bool` global=false **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut_disabled` **(** :ref:`int` idx, :ref:`bool` disabled **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_submenu` **(** :ref:`int` idx, :ref:`String` submenu **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_text` **(** :ref:`int` idx, :ref:`String` text **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_tooltip` **(** :ref:`int` idx, :ref:`String` tooltip **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`toggle_item_checked` **(** :ref:`int` idx **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`toggle_item_multistate` **(** :ref:`int` idx **)** | +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Theme Properties ---------------- +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color` | ``Color( 0.88, 0.88, 0.88, 1 )`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_accel` | ``Color( 0.7, 0.7, 0.7, 0.8 )`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_disabled` | ``Color( 0.4, 0.4, 0.4, 0.8 )`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_hover` | ``Color( 0.88, 0.88, 0.88, 1 )`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_separator` | ``Color( 0.88, 0.88, 0.88, 1 )`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`hseparation` | ``4`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`vseparation` | ``4`` | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`font` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Texture` | :ref:`checked` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Texture` | :ref:`radio_checked` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Texture` | :ref:`radio_unchecked` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Texture` | :ref:`submenu` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`Texture` | :ref:`unchecked` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`hover` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`labeled_separator_left` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`labeled_separator_right` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`panel` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`panel_disabled` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`separator` | | +---------------------------------+-------------------------------------------------------------------------------------+----------------------------------+ Signals ------- .. _class_PopupMenu_signal_id_focused: - **id_focused** **(** :ref:`int` id **)** Emitted when user navigated to an item of some ``id`` using ``ui_up`` or ``ui_down`` action. ---- .. _class_PopupMenu_signal_id_pressed: - **id_pressed** **(** :ref:`int` id **)** Emitted when an item of some ``id`` is pressed or its accelerator is activated. ---- .. _class_PopupMenu_signal_index_pressed: - **index_pressed** **(** :ref:`int` index **)** Emitted when an item of some ``index`` is pressed or its accelerator is activated. Property Descriptions --------------------- .. _class_PopupMenu_property_allow_search: - :ref:`bool` **allow_search** +-----------+-------------------------+ | *Default* | ``false`` | +-----------+-------------------------+ | *Setter* | set_allow_search(value) | +-----------+-------------------------+ | *Getter* | get_allow_search() | +-----------+-------------------------+ If ``true``, allows navigating ``PopupMenu`` with letter keys. ---- .. _class_PopupMenu_property_hide_on_checkable_item_selection: - :ref:`bool` **hide_on_checkable_item_selection** +-----------+---------------------------------------------+ | *Default* | ``true`` | +-----------+---------------------------------------------+ | *Setter* | set_hide_on_checkable_item_selection(value) | +-----------+---------------------------------------------+ | *Getter* | is_hide_on_checkable_item_selection() | +-----------+---------------------------------------------+ If ``true``, hides the ``PopupMenu`` when a checkbox or radio button is selected. ---- .. _class_PopupMenu_property_hide_on_item_selection: - :ref:`bool` **hide_on_item_selection** +-----------+-----------------------------------+ | *Default* | ``true`` | +-----------+-----------------------------------+ | *Setter* | set_hide_on_item_selection(value) | +-----------+-----------------------------------+ | *Getter* | is_hide_on_item_selection() | +-----------+-----------------------------------+ If ``true``, hides the ``PopupMenu`` when an item is selected. ---- .. _class_PopupMenu_property_hide_on_state_item_selection: - :ref:`bool` **hide_on_state_item_selection** +-----------+-----------------------------------------+ | *Default* | ``false`` | +-----------+-----------------------------------------+ | *Setter* | set_hide_on_state_item_selection(value) | +-----------+-----------------------------------------+ | *Getter* | is_hide_on_state_item_selection() | +-----------+-----------------------------------------+ If ``true``, hides the ``PopupMenu`` when a state item is selected. ---- .. _class_PopupMenu_property_submenu_popup_delay: - :ref:`float` **submenu_popup_delay** +-----------+--------------------------------+ | *Default* | ``0.3`` | +-----------+--------------------------------+ | *Setter* | set_submenu_popup_delay(value) | +-----------+--------------------------------+ | *Getter* | get_submenu_popup_delay() | +-----------+--------------------------------+ Sets the delay time in seconds for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item. Method Descriptions ------------------- .. _class_PopupMenu_method_add_check_item: - void **add_check_item** **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new checkable item with text ``label``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_check_shortcut: - void **add_check_shortcut** **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Adds a new checkable item and assigns the specified :ref:`ShortCut` to it. Sets the label of the checkbox to the :ref:`ShortCut`'s name. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_icon_check_item: - void **add_icon_check_item** **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new checkable item with text ``label`` and icon ``texture``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_icon_check_shortcut: - void **add_icon_check_shortcut** **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Adds a new checkable item and assigns the specified :ref:`ShortCut` and icon ``texture`` to it. Sets the label of the checkbox to the :ref:`ShortCut`'s name. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_icon_item: - void **add_icon_item** **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new item with text ``label`` and icon ``texture``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. ---- .. _class_PopupMenu_method_add_icon_radio_check_item: - void **add_icon_radio_check_item** **(** :ref:`Texture` texture, :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Same as :ref:`add_icon_check_item`, but uses a radio check button. ---- .. _class_PopupMenu_method_add_icon_radio_check_shortcut: - void **add_icon_radio_check_shortcut** **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Same as :ref:`add_icon_check_shortcut`, but uses a radio check button. ---- .. _class_PopupMenu_method_add_icon_shortcut: - void **add_icon_shortcut** **(** :ref:`Texture` texture, :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Adds a new item and assigns the specified :ref:`ShortCut` and icon ``texture`` to it. Sets the label of the checkbox to the :ref:`ShortCut`'s name. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. ---- .. _class_PopupMenu_method_add_item: - void **add_item** **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new item with text ``label``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. ---- .. _class_PopupMenu_method_add_multistate_item: - void **add_multistate_item** **(** :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state=0, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new multistate item with text ``label``. Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. Each press or activate of the item will increase the state by one. The default value is defined by ``default_state``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. ---- .. _class_PopupMenu_method_add_radio_check_item: - void **add_radio_check_item** **(** :ref:`String` label, :ref:`int` id=-1, :ref:`int` accel=0 **)** Adds a new radio check button with text ``label``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator` for more info on accelerators. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_radio_check_shortcut: - void **add_radio_check_shortcut** **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Adds a new radio check button and assigns a :ref:`ShortCut` to it. Sets the label of the checkbox to the :ref:`ShortCut`'s name. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked` for more info on how to control it. ---- .. _class_PopupMenu_method_add_separator: - void **add_separator** **(** :ref:`String` label="", :ref:`int` id=-1 **)** Adds a separator between items. Separators also occupy an index, which you can set by using the ``id`` parameter. A ``label`` can optionally be provided, which will appear at the center of the separator. ---- .. _class_PopupMenu_method_add_shortcut: - void **add_shortcut** **(** :ref:`ShortCut` shortcut, :ref:`int` id=-1, :ref:`bool` global=false **)** Adds a :ref:`ShortCut`. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. ---- .. _class_PopupMenu_method_add_submenu_item: - void **add_submenu_item** **(** :ref:`String` label, :ref:`String` submenu, :ref:`int` id=-1 **)** Adds an item that will act as a submenu of the parent ``PopupMenu`` node when clicked. The ``submenu`` argument is the name of the child ``PopupMenu`` node that will be shown when the item is clicked. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index. ---- .. _class_PopupMenu_method_clear: - void **clear** **(** **)** Removes all items from the ``PopupMenu``. ---- .. _class_PopupMenu_method_get_current_index: - :ref:`int` **get_current_index** **(** **)** |const| Returns the index of the currently focused item. Returns ``-1`` if no item is focused. ---- .. _class_PopupMenu_method_get_item_accelerator: - :ref:`int` **get_item_accelerator** **(** :ref:`int` idx **)** |const| Returns the accelerator of the item at index ``idx``. Accelerators are special combinations of keys that activate the item, no matter which control is focused. ---- .. _class_PopupMenu_method_get_item_count: - :ref:`int` **get_item_count** **(** **)** |const| Returns the number of items in the ``PopupMenu``. ---- .. _class_PopupMenu_method_get_item_icon: - :ref:`Texture` **get_item_icon** **(** :ref:`int` idx **)** |const| Returns the icon of the item at index ``idx``. ---- .. _class_PopupMenu_method_get_item_id: - :ref:`int` **get_item_id** **(** :ref:`int` idx **)** |const| Returns the id of the item at index ``idx``. ``id`` can be manually assigned, while index can not. ---- .. _class_PopupMenu_method_get_item_index: - :ref:`int` **get_item_index** **(** :ref:`int` id **)** |const| Returns the index of the item containing the specified ``id``. Index is automatically assigned to each item by the engine. Index can not be set manually. ---- .. _class_PopupMenu_method_get_item_metadata: - :ref:`Variant` **get_item_metadata** **(** :ref:`int` idx **)** |const| Returns the metadata of the specified item, which might be of any type. You can set it with :ref:`set_item_metadata`, which provides a simple way of assigning context data to items. ---- .. _class_PopupMenu_method_get_item_shortcut: - :ref:`ShortCut` **get_item_shortcut** **(** :ref:`int` idx **)** |const| Returns the :ref:`ShortCut` associated with the specified ``idx`` item. ---- .. _class_PopupMenu_method_get_item_submenu: - :ref:`String` **get_item_submenu** **(** :ref:`int` idx **)** |const| Returns the submenu name of the item at index ``idx``. See :ref:`add_submenu_item` for more info on how to add a submenu. ---- .. _class_PopupMenu_method_get_item_text: - :ref:`String` **get_item_text** **(** :ref:`int` idx **)** |const| Returns the text of the item at index ``idx``. ---- .. _class_PopupMenu_method_get_item_tooltip: - :ref:`String` **get_item_tooltip** **(** :ref:`int` idx **)** |const| Returns the tooltip associated with the specified index index ``idx``. ---- .. _class_PopupMenu_method_is_hide_on_window_lose_focus: - :ref:`bool` **is_hide_on_window_lose_focus** **(** **)** |const| Returns ``true`` if the popup will be hidden when the window loses focus or not. ---- .. _class_PopupMenu_method_is_item_checkable: - :ref:`bool` **is_item_checkable** **(** :ref:`int` idx **)** |const| Returns ``true`` if the item at index ``idx`` is checkable in some way, i.e. if it has a checkbox or radio button. **Note:** Checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually. ---- .. _class_PopupMenu_method_is_item_checked: - :ref:`bool` **is_item_checked** **(** :ref:`int` idx **)** |const| Returns ``true`` if the item at index ``idx`` is checked. ---- .. _class_PopupMenu_method_is_item_disabled: - :ref:`bool` **is_item_disabled** **(** :ref:`int` idx **)** |const| Returns ``true`` if the item at index ``idx`` is disabled. When it is disabled it can't be selected, or its action invoked. See :ref:`set_item_disabled` for more info on how to disable an item. ---- .. _class_PopupMenu_method_is_item_radio_checkable: - :ref:`bool` **is_item_radio_checkable** **(** :ref:`int` idx **)** |const| Returns ``true`` if the item at index ``idx`` has radio button-style checkability. **Note:** This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups. ---- .. _class_PopupMenu_method_is_item_separator: - :ref:`bool` **is_item_separator** **(** :ref:`int` idx **)** |const| Returns ``true`` if the item is a separator. If it is, it will be displayed as a line. See :ref:`add_separator` for more info on how to add a separator. ---- .. _class_PopupMenu_method_is_item_shortcut_disabled: - :ref:`bool` **is_item_shortcut_disabled** **(** :ref:`int` idx **)** |const| Returns ``true`` if the specified item's shortcut is disabled. ---- .. _class_PopupMenu_method_remove_item: - void **remove_item** **(** :ref:`int` idx **)** Removes the item at index ``idx`` from the menu. **Note:** The indices of items after the removed item will be shifted by one. ---- .. _class_PopupMenu_method_set_hide_on_window_lose_focus: - void **set_hide_on_window_lose_focus** **(** :ref:`bool` enable **)** Hides the ``PopupMenu`` when the window loses focus. ---- .. _class_PopupMenu_method_set_item_accelerator: - void **set_item_accelerator** **(** :ref:`int` idx, :ref:`int` accel **)** Sets the accelerator of the item at index ``idx``. Accelerators are special combinations of keys that activate the item, no matter which control is focused. ---- .. _class_PopupMenu_method_set_item_as_checkable: - void **set_item_as_checkable** **(** :ref:`int` idx, :ref:`bool` enable **)** Sets whether the item at index ``idx`` has a checkbox. If ``false``, sets the type of the item to plain text. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. ---- .. _class_PopupMenu_method_set_item_as_radio_checkable: - void **set_item_as_radio_checkable** **(** :ref:`int` idx, :ref:`bool` enable **)** Sets the type of the item at the specified index ``idx`` to radio button. If ``false``, sets the type of the item to plain text. ---- .. _class_PopupMenu_method_set_item_as_separator: - void **set_item_as_separator** **(** :ref:`int` idx, :ref:`bool` enable **)** Mark the item at index ``idx`` as a separator, which means that it would be displayed as a line. If ``false``, sets the type of the item to plain text. ---- .. _class_PopupMenu_method_set_item_checked: - void **set_item_checked** **(** :ref:`int` idx, :ref:`bool` checked **)** Sets the checkstate status of the item at index ``idx``. ---- .. _class_PopupMenu_method_set_item_disabled: - void **set_item_disabled** **(** :ref:`int` idx, :ref:`bool` disabled **)** Enables/disables the item at index ``idx``. When it is disabled, it can't be selected and its action can't be invoked. ---- .. _class_PopupMenu_method_set_item_icon: - void **set_item_icon** **(** :ref:`int` idx, :ref:`Texture` icon **)** Replaces the :ref:`Texture` icon of the specified ``idx``. ---- .. _class_PopupMenu_method_set_item_id: - void **set_item_id** **(** :ref:`int` idx, :ref:`int` id **)** Sets the ``id`` of the item at index ``idx``. ---- .. _class_PopupMenu_method_set_item_metadata: - void **set_item_metadata** **(** :ref:`int` idx, :ref:`Variant` metadata **)** Sets the metadata of an item, which may be of any type. You can later get it with :ref:`get_item_metadata`, which provides a simple way of assigning context data to items. ---- .. _class_PopupMenu_method_set_item_multistate: - void **set_item_multistate** **(** :ref:`int` idx, :ref:`int` state **)** Sets the state of a multistate item. See :ref:`add_multistate_item` for details. ---- .. _class_PopupMenu_method_set_item_shortcut: - void **set_item_shortcut** **(** :ref:`int` idx, :ref:`ShortCut` shortcut, :ref:`bool` global=false **)** Sets a :ref:`ShortCut` for the specified item ``idx``. ---- .. _class_PopupMenu_method_set_item_shortcut_disabled: - void **set_item_shortcut_disabled** **(** :ref:`int` idx, :ref:`bool` disabled **)** Disables the :ref:`ShortCut` of the specified index ``idx``. ---- .. _class_PopupMenu_method_set_item_submenu: - void **set_item_submenu** **(** :ref:`int` idx, :ref:`String` submenu **)** Sets the submenu of the item at index ``idx``. The submenu is the name of a child ``PopupMenu`` node that would be shown when the item is clicked. ---- .. _class_PopupMenu_method_set_item_text: - void **set_item_text** **(** :ref:`int` idx, :ref:`String` text **)** Sets the text of the item at index ``idx``. ---- .. _class_PopupMenu_method_set_item_tooltip: - void **set_item_tooltip** **(** :ref:`int` idx, :ref:`String` tooltip **)** Sets the :ref:`String` tooltip of the item at the specified index ``idx``. ---- .. _class_PopupMenu_method_toggle_item_checked: - void **toggle_item_checked** **(** :ref:`int` idx **)** Toggles the check state of the item of the specified index ``idx``. ---- .. _class_PopupMenu_method_toggle_item_multistate: - void **toggle_item_multistate** **(** :ref:`int` idx **)** Cycle to the next state of a multistate item. See :ref:`add_multistate_item` for details. Theme Property Descriptions --------------------------- .. _class_PopupMenu_theme_color_font_color: - :ref:`Color` **font_color** +-----------+----------------------------------+ | *Default* | ``Color( 0.88, 0.88, 0.88, 1 )`` | +-----------+----------------------------------+ The default text :ref:`Color` for menu items' names. ---- .. _class_PopupMenu_theme_color_font_color_accel: - :ref:`Color` **font_color_accel** +-----------+---------------------------------+ | *Default* | ``Color( 0.7, 0.7, 0.7, 0.8 )`` | +-----------+---------------------------------+ The text :ref:`Color` used for shortcuts and accelerators that show next to the menu item name when defined. See :ref:`get_item_accelerator` for more info on accelerators. ---- .. _class_PopupMenu_theme_color_font_color_disabled: - :ref:`Color` **font_color_disabled** +-----------+---------------------------------+ | *Default* | ``Color( 0.4, 0.4, 0.4, 0.8 )`` | +-----------+---------------------------------+ :ref:`Color` used for disabled menu items' text. ---- .. _class_PopupMenu_theme_color_font_color_hover: - :ref:`Color` **font_color_hover** +-----------+----------------------------------+ | *Default* | ``Color( 0.88, 0.88, 0.88, 1 )`` | +-----------+----------------------------------+ :ref:`Color` used for the hovered text. ---- .. _class_PopupMenu_theme_color_font_color_separator: - :ref:`Color` **font_color_separator** +-----------+----------------------------------+ | *Default* | ``Color( 0.88, 0.88, 0.88, 1 )`` | +-----------+----------------------------------+ :ref:`Color` used for labeled separators' text. See :ref:`add_separator`. ---- .. _class_PopupMenu_theme_constant_hseparation: - :ref:`int` **hseparation** +-----------+-------+ | *Default* | ``4`` | +-----------+-------+ The horizontal space between the item's name and the shortcut text/submenu arrow. ---- .. _class_PopupMenu_theme_constant_vseparation: - :ref:`int` **vseparation** +-----------+-------+ | *Default* | ``4`` | +-----------+-------+ The vertical space between each menu item. ---- .. _class_PopupMenu_theme_font_font: - :ref:`Font` **font** :ref:`Font` used for the menu items. ---- .. _class_PopupMenu_theme_icon_checked: - :ref:`Texture` **checked** :ref:`Texture` icon for the checked checkbox items. ---- .. _class_PopupMenu_theme_icon_radio_checked: - :ref:`Texture` **radio_checked** :ref:`Texture` icon for the checked radio button items. ---- .. _class_PopupMenu_theme_icon_radio_unchecked: - :ref:`Texture` **radio_unchecked** :ref:`Texture` icon for the unchecked radio button items. ---- .. _class_PopupMenu_theme_icon_submenu: - :ref:`Texture` **submenu** :ref:`Texture` icon for the submenu arrow. ---- .. _class_PopupMenu_theme_icon_unchecked: - :ref:`Texture` **unchecked** :ref:`Texture` icon for the unchecked checkbox items. ---- .. _class_PopupMenu_theme_style_hover: - :ref:`StyleBox` **hover** :ref:`StyleBox` displayed when the ``PopupMenu`` item is hovered. ---- .. _class_PopupMenu_theme_style_labeled_separator_left: - :ref:`StyleBox` **labeled_separator_left** :ref:`StyleBox` for the left side of labeled separator. See :ref:`add_separator`. ---- .. _class_PopupMenu_theme_style_labeled_separator_right: - :ref:`StyleBox` **labeled_separator_right** :ref:`StyleBox` for the right side of labeled separator. See :ref:`add_separator`. ---- .. _class_PopupMenu_theme_style_panel: - :ref:`StyleBox` **panel** Default :ref:`StyleBox` of the ``PopupMenu`` items. ---- .. _class_PopupMenu_theme_style_panel_disabled: - :ref:`StyleBox` **panel_disabled** :ref:`StyleBox` used when the ``PopupMenu`` item is disabled. ---- .. _class_PopupMenu_theme_style_separator: - :ref:`StyleBox` **separator** :ref:`StyleBox` used for the separators. See :ref:`add_separator`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`