123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770 |
- :github_url: hide
- .. Generated automatically by doc/tools/makerst.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/<name>/doc_classes.
- .. _class_PopupMenu:
- PopupMenu
- =========
- **Inherits:** :ref:`Popup<class_Popup>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- PopupMenu displays a list of options.
- Description
- -----------
- ``PopupMenu`` is a :ref:`Control<class_Control>` that displays a list of options. They are popular in toolbars or context menus.
- Properties
- ----------
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`bool<class_bool>` | :ref:`allow_search<class_PopupMenu_property_allow_search>` | ``false`` |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` *(parent override)* |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`bool<class_bool>` | :ref:`hide_on_checkable_item_selection<class_PopupMenu_property_hide_on_checkable_item_selection>` | ``true`` |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`bool<class_bool>` | :ref:`hide_on_item_selection<class_PopupMenu_property_hide_on_item_selection>` | ``true`` |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`bool<class_bool>` | :ref:`hide_on_state_item_selection<class_PopupMenu_property_hide_on_state_item_selection>` | ``false`` |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- | :ref:`float<class_float>` | :ref:`submenu_popup_delay<class_PopupMenu_property_submenu_popup_delay>` | ``0.3`` |
- +------------------------------------------+----------------------------------------------------------------------------------------------------+---------------------------+
- Methods
- -------
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_check_item<class_PopupMenu_method_add_check_item>` **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_check_shortcut<class_PopupMenu_method_add_check_shortcut>` **(** :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_check_item<class_PopupMenu_method_add_icon_check_item>` **(** :ref:`Texture<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_check_shortcut<class_PopupMenu_method_add_icon_check_shortcut>` **(** :ref:`Texture<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_item<class_PopupMenu_method_add_icon_item>` **(** :ref:`Texture<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_radio_check_item<class_PopupMenu_method_add_icon_radio_check_item>` **(** :ref:`Texture<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_radio_check_shortcut<class_PopupMenu_method_add_icon_radio_check_shortcut>` **(** :ref:`Texture<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_icon_shortcut<class_PopupMenu_method_add_icon_shortcut>` **(** :ref:`Texture<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_item<class_PopupMenu_method_add_item>` **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` **(** :ref:`String<class_String>` label, :ref:`int<class_int>` max_states, :ref:`int<class_int>` default_state=0, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_radio_check_item<class_PopupMenu_method_add_radio_check_item>` **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_radio_check_shortcut<class_PopupMenu_method_add_radio_check_shortcut>` **(** :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_separator<class_PopupMenu_method_add_separator>` **(** :ref:`String<class_String>` label="" **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_shortcut<class_PopupMenu_method_add_shortcut>` **(** :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_submenu_item<class_PopupMenu_method_add_submenu_item>` **(** :ref:`String<class_String>` label, :ref:`String<class_String>` submenu, :ref:`int<class_int>` id=-1 **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear<class_PopupMenu_method_clear>` **(** **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_current_index<class_PopupMenu_method_get_current_index>` **(** **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_item_count<class_PopupMenu_method_get_item_count>` **(** **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Texture<class_Texture>` | :ref:`get_item_icon<class_PopupMenu_method_get_item_icon>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_item_id<class_PopupMenu_method_get_item_id>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_item_index<class_PopupMenu_method_get_item_index>` **(** :ref:`int<class_int>` id **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Variant<class_Variant>` | :ref:`get_item_metadata<class_PopupMenu_method_get_item_metadata>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`ShortCut<class_ShortCut>` | :ref:`get_item_shortcut<class_PopupMenu_method_get_item_shortcut>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_item_submenu<class_PopupMenu_method_get_item_submenu>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_item_text<class_PopupMenu_method_get_item_text>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_item_tooltip<class_PopupMenu_method_get_item_tooltip>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_hide_on_window_lose_focus<class_PopupMenu_method_is_hide_on_window_lose_focus>` **(** **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_checkable<class_PopupMenu_method_is_item_checkable>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_checked<class_PopupMenu_method_is_item_checked>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_disabled<class_PopupMenu_method_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_radio_checkable<class_PopupMenu_method_is_item_radio_checkable>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_separator<class_PopupMenu_method_is_item_separator>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_item_shortcut_disabled<class_PopupMenu_method_is_item_shortcut_disabled>` **(** :ref:`int<class_int>` idx **)** |const| |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_item<class_PopupMenu_method_remove_item>` **(** :ref:`int<class_int>` idx **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_hide_on_window_lose_focus<class_PopupMenu_method_set_hide_on_window_lose_focus>` **(** :ref:`bool<class_bool>` enable **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_accelerator<class_PopupMenu_method_set_item_accelerator>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` accel **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_as_checkable<class_PopupMenu_method_set_item_as_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_as_radio_checkable<class_PopupMenu_method_set_item_as_radio_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_as_separator<class_PopupMenu_method_set_item_as_separator>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_disabled<class_PopupMenu_method_set_item_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_icon<class_PopupMenu_method_set_item_icon>` **(** :ref:`int<class_int>` idx, :ref:`Texture<class_Texture>` icon **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_id<class_PopupMenu_method_set_item_id>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` state **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_shortcut<class_PopupMenu_method_set_item_shortcut>` **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`bool<class_bool>` global=false **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_shortcut_disabled<class_PopupMenu_method_set_item_shortcut_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_submenu<class_PopupMenu_method_set_item_submenu>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` submenu **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_text<class_PopupMenu_method_set_item_text>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` text **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_item_tooltip<class_PopupMenu_method_set_item_tooltip>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tooltip **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`toggle_item_checked<class_PopupMenu_method_toggle_item_checked>` **(** :ref:`int<class_int>` idx **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`toggle_item_multistate<class_PopupMenu_method_toggle_item_multistate>` **(** :ref:`int<class_int>` idx **)** |
- +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- Theme Properties
- ----------------
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Texture<class_Texture>` | checked | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Font<class_Font>` | font | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Color<class_Color>` | font_color | Color( 0.88, 0.88, 0.88, 1 ) |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Color<class_Color>` | font_color_accel | Color( 0.7, 0.7, 0.7, 0.8 ) |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Color<class_Color>` | font_color_disabled | Color( 0.4, 0.4, 0.4, 0.8 ) |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Color<class_Color>` | font_color_hover | Color( 0.88, 0.88, 0.88, 1 ) |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | hover | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`int<class_int>` | hseparation | 4 |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | labeled_separator_left | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | labeled_separator_right | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | panel | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | panel_disabled | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Texture<class_Texture>` | radio_checked | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Texture<class_Texture>` | radio_unchecked | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | separator | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Texture<class_Texture>` | submenu | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`Texture<class_Texture>` | unchecked | |
- +---------------------------------+-------------------------+------------------------------+
- | :ref:`int<class_int>` | vseparation | 4 |
- +---------------------------------+-------------------------+------------------------------+
- Signals
- -------
- .. _class_PopupMenu_signal_id_focused:
- - **id_focused** **(** :ref:`int<class_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<class_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<class_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<class_bool>` **allow_search**
- +-----------+-------------------------+
- | *Default* | ``false`` |
- +-----------+-------------------------+
- | *Setter* | set_allow_search(value) |
- +-----------+-------------------------+
- | *Getter* | get_allow_search() |
- +-----------+-------------------------+
- If ``true``, allows to navigate ``PopupMenu`` with letter keys.
- ----
- .. _class_PopupMenu_property_hide_on_checkable_item_selection:
- - :ref:`bool<class_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<class_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<class_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<class_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<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_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<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
- ----
- .. _class_PopupMenu_method_add_check_shortcut:
- - void **add_check_shortcut** **(** :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Adds a new checkable item and assigns the specified :ref:`ShortCut<class_ShortCut>` to it. Sets the label of the checkbox to the :ref:`ShortCut<class_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<class_PopupMenu_method_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<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_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<class_PopupMenu_method_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<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Adds a new checkable item and assigns the specified :ref:`ShortCut<class_ShortCut>` and icon ``texture`` to it. Sets the label of the checkbox to the :ref:`ShortCut<class_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<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
- ----
- .. _class_PopupMenu_method_add_icon_item:
- - void **add_icon_item** **(** :ref:`Texture<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
- ----
- .. _class_PopupMenu_method_add_icon_radio_check_item:
- - void **add_icon_radio_check_item** **(** :ref:`Texture<class_Texture>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)**
- Same as :ref:`add_icon_check_item<class_PopupMenu_method_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<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Same as :ref:`add_icon_check_shortcut<class_PopupMenu_method_add_icon_check_shortcut>`, but uses a radio check button.
- ----
- .. _class_PopupMenu_method_add_icon_shortcut:
- - void **add_icon_shortcut** **(** :ref:`Texture<class_Texture>` texture, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Adds a new item and assigns the specified :ref:`ShortCut<class_ShortCut>` and icon ``texture`` to it. Sets the label of the checkbox to the :ref:`ShortCut<class_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<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
- ----
- .. _class_PopupMenu_method_add_multistate_item:
- - void **add_multistate_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>` max_states, :ref:`int<class_int>` default_state=0, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
- ----
- .. _class_PopupMenu_method_add_radio_check_item:
- - void **add_radio_check_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_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<class_PopupMenu_method_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<class_PopupMenu_method_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<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Adds a new radio check button and assigns a :ref:`ShortCut<class_ShortCut>` to it. Sets the label of the checkbox to the :ref:`ShortCut<class_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<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
- ----
- .. _class_PopupMenu_method_add_separator:
- - void **add_separator** **(** :ref:`String<class_String>` label="" **)**
- Adds a separator between items. Separators also occupy an index.
- ----
- .. _class_PopupMenu_method_add_shortcut:
- - void **add_shortcut** **(** :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
- Adds a :ref:`ShortCut<class_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<class_String>` label, :ref:`String<class_String>` submenu, :ref:`int<class_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<class_int>` **get_current_index** **(** **)** |const|
- ----
- .. _class_PopupMenu_method_get_item_accelerator:
- - :ref:`int<class_int>` **get_item_accelerator** **(** :ref:`int<class_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<class_int>` **get_item_count** **(** **)** |const|
- Returns the number of items in the ``PopupMenu``.
- ----
- .. _class_PopupMenu_method_get_item_icon:
- - :ref:`Texture<class_Texture>` **get_item_icon** **(** :ref:`int<class_int>` idx **)** |const|
- Returns the icon of the item at index ``idx``.
- ----
- .. _class_PopupMenu_method_get_item_id:
- - :ref:`int<class_int>` **get_item_id** **(** :ref:`int<class_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<class_int>` **get_item_index** **(** :ref:`int<class_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<class_Variant>` **get_item_metadata** **(** :ref:`int<class_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<class_PopupMenu_method_set_item_metadata>`, which provides a simple way of assigning context data to items.
- ----
- .. _class_PopupMenu_method_get_item_shortcut:
- - :ref:`ShortCut<class_ShortCut>` **get_item_shortcut** **(** :ref:`int<class_int>` idx **)** |const|
- Returns the :ref:`ShortCut<class_ShortCut>` associated with the specified ``idx`` item.
- ----
- .. _class_PopupMenu_method_get_item_submenu:
- - :ref:`String<class_String>` **get_item_submenu** **(** :ref:`int<class_int>` idx **)** |const|
- Returns the submenu name of the item at index ``idx``. See :ref:`add_submenu_item<class_PopupMenu_method_add_submenu_item>` for more info on how to add a submenu.
- ----
- .. _class_PopupMenu_method_get_item_text:
- - :ref:`String<class_String>` **get_item_text** **(** :ref:`int<class_int>` idx **)** |const|
- Returns the text of the item at index ``idx``.
- ----
- .. _class_PopupMenu_method_get_item_tooltip:
- - :ref:`String<class_String>` **get_item_tooltip** **(** :ref:`int<class_int>` idx **)** |const|
- Returns the tooltip associated with the specified index index ``idx``.
- ----
- .. _class_PopupMenu_method_is_hide_on_window_lose_focus:
- - :ref:`bool<class_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<class_bool>` **is_item_checkable** **(** :ref:`int<class_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<class_bool>` **is_item_checked** **(** :ref:`int<class_int>` idx **)** |const|
- Returns ``true`` if the item at index ``idx`` is checked.
- ----
- .. _class_PopupMenu_method_is_item_disabled:
- - :ref:`bool<class_bool>` **is_item_disabled** **(** :ref:`int<class_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<class_PopupMenu_method_set_item_disabled>` for more info on how to disable an item.
- ----
- .. _class_PopupMenu_method_is_item_radio_checkable:
- - :ref:`bool<class_bool>` **is_item_radio_checkable** **(** :ref:`int<class_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<class_bool>` **is_item_separator** **(** :ref:`int<class_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<class_PopupMenu_method_add_separator>` for more info on how to add a separator.
- ----
- .. _class_PopupMenu_method_is_item_shortcut_disabled:
- - :ref:`bool<class_bool>` **is_item_shortcut_disabled** **(** :ref:`int<class_int>` idx **)** |const|
- Returns ``true`` if the specified item's shortcut is disabled.
- ----
- .. _class_PopupMenu_method_remove_item:
- - void **remove_item** **(** :ref:`int<class_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<class_bool>` enable **)**
- Hides the ``PopupMenu`` when the window loses focus.
- ----
- .. _class_PopupMenu_method_set_item_accelerator:
- - void **set_item_accelerator** **(** :ref:`int<class_int>` idx, :ref:`int<class_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<class_int>` idx, :ref:`bool<class_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<class_int>` idx, :ref:`bool<class_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<class_int>` idx, :ref:`bool<class_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<class_int>` idx, :ref:`bool<class_bool>` checked **)**
- Sets the checkstate status of the item at index ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_disabled:
- - void **set_item_disabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_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<class_int>` idx, :ref:`Texture<class_Texture>` icon **)**
- Replaces the :ref:`Texture<class_Texture>` icon of the specified ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_id:
- - void **set_item_id** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)**
- Sets the ``id`` of the item at index ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_metadata:
- - void **set_item_metadata** **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)**
- Sets the metadata of an item, which may be of any type. You can later get it with :ref:`get_item_metadata<class_PopupMenu_method_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<class_int>` idx, :ref:`int<class_int>` state **)**
- Sets the state of an multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
- ----
- .. _class_PopupMenu_method_set_item_shortcut:
- - void **set_item_shortcut** **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_ShortCut>` shortcut, :ref:`bool<class_bool>` global=false **)**
- Sets a :ref:`ShortCut<class_ShortCut>` for the specified item ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_shortcut_disabled:
- - void **set_item_shortcut_disabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**
- Disables the :ref:`ShortCut<class_ShortCut>` of the specified index ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_submenu:
- - void **set_item_submenu** **(** :ref:`int<class_int>` idx, :ref:`String<class_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<class_int>` idx, :ref:`String<class_String>` text **)**
- Sets the text of the item at index ``idx``.
- ----
- .. _class_PopupMenu_method_set_item_tooltip:
- - void **set_item_tooltip** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tooltip **)**
- Sets the :ref:`String<class_String>` tooltip of the item at the specified index ``idx``.
- ----
- .. _class_PopupMenu_method_toggle_item_checked:
- - void **toggle_item_checked** **(** :ref:`int<class_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<class_int>` idx **)**
- Cycle to the next state of an multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
- .. |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.)`
|