mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
1116 lines
79 KiB
ReStructuredText
1116 lines
79 KiB
ReStructuredText
: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/<name>/doc_classes.
|
|
|
|
.. _class_PopupMenu:
|
|
|
|
PopupMenu
|
|
=========
|
|
|
|
**Inherits:** :ref:`Popup<class_Popup>` **<** :ref:`Window<class_Window>` **<** :ref:`Viewport<class_Viewport>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
PopupMenu displays a list of options.
|
|
|
|
Description
|
|
-----------
|
|
|
|
``PopupMenu`` is a modal window used to display a list of options. They are popular in toolbars or context menus.
|
|
|
|
The size of a ``PopupMenu`` can be limited by using :ref:`Window.max_size<class_Window_property_max_size>`. If the height of the list of items is larger than the maximum height of the ``PopupMenu``, a :ref:`ScrollContainer<class_ScrollContainer>` within the popup will allow the user to scroll the contents.
|
|
|
|
If no maximum size is set, or if it is set to 0, the ``PopupMenu`` height will be limited by its parent rect.
|
|
|
|
Properties
|
|
----------
|
|
|
|
+---------------------------+----------------------------------------------------------------------------------------------------+-----------+
|
|
| :ref:`bool<class_bool>` | :ref:`allow_search<class_PopupMenu_property_allow_search>` | ``true`` |
|
|
+---------------------------+----------------------------------------------------------------------------------------------------+-----------+
|
|
| :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:`int<class_int>` | :ref:`item_count<class_PopupMenu_property_item_count>` | ``0`` |
|
|
+---------------------------+----------------------------------------------------------------------------------------------------+-----------+
|
|
| :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:`Key<enum_@GlobalScope_Key>` 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:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`add_icon_check_shortcut<class_PopupMenu_method_add_icon_check_shortcut>` **(** :ref:`Texture2D<class_Texture2D>` 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:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`add_icon_radio_check_item<class_PopupMenu_method_add_icon_radio_check_item>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`add_icon_radio_check_shortcut<class_PopupMenu_method_add_icon_radio_check_shortcut>` **(** :ref:`Texture2D<class_Texture2D>` 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:`Texture2D<class_Texture2D>` 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:`Key<enum_@GlobalScope_Key>` 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:`Key<enum_@GlobalScope_Key>` 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:`Key<enum_@GlobalScope_Key>` 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="", :ref:`int<class_int>` id=-1 **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| 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>` **(** **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`clear_item_opentype_features<class_PopupMenu_method_clear_item_opentype_features>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_current_index<class_PopupMenu_method_get_current_index>` **(** **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_item_icon<class_PopupMenu_method_get_item_icon>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_item_id<class_PopupMenu_method_get_item_id>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_item_index<class_PopupMenu_method_get_item_index>` **(** :ref:`int<class_int>` id **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_item_language<class_PopupMenu_method_get_item_language>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Variant<class_Variant>` | :ref:`get_item_metadata<class_PopupMenu_method_get_item_metadata>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_item_opentype_feature<class_PopupMenu_method_get_item_opentype_feature>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tag **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Shortcut<class_Shortcut>` | :ref:`get_item_shortcut<class_PopupMenu_method_get_item_shortcut>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_item_submenu<class_PopupMenu_method_get_item_submenu>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_item_text<class_PopupMenu_method_get_item_text>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`get_item_text_direction<class_PopupMenu_method_get_item_text_direction>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_item_tooltip<class_PopupMenu_method_get_item_tooltip>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_checkable<class_PopupMenu_method_is_item_checkable>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_checked<class_PopupMenu_method_is_item_checked>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_disabled<class_PopupMenu_method_is_item_disabled>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_radio_checkable<class_PopupMenu_method_is_item_radio_checkable>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_separator<class_PopupMenu_method_is_item_separator>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_item_shortcut_disabled<class_PopupMenu_method_is_item_shortcut_disabled>` **(** :ref:`int<class_int>` index **)** |const| |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`remove_item<class_PopupMenu_method_remove_item>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`scroll_to_item<class_PopupMenu_method_scroll_to_item>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_current_index<class_PopupMenu_method_set_current_index>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_accelerator<class_PopupMenu_method_set_item_accelerator>` **(** :ref:`int<class_int>` index, :ref:`Key<enum_@GlobalScope_Key>` accel **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_as_checkable<class_PopupMenu_method_set_item_as_checkable>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` enable **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_as_radio_checkable<class_PopupMenu_method_set_item_as_radio_checkable>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` enable **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_as_separator<class_PopupMenu_method_set_item_as_separator>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` enable **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` checked **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_disabled<class_PopupMenu_method_set_item_disabled>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` disabled **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_icon<class_PopupMenu_method_set_item_icon>` **(** :ref:`int<class_int>` index, :ref:`Texture2D<class_Texture2D>` icon **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_id<class_PopupMenu_method_set_item_id>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` id **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_language<class_PopupMenu_method_set_item_language>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` language **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>` **(** :ref:`int<class_int>` index, :ref:`Variant<class_Variant>` metadata **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` state **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_opentype_feature<class_PopupMenu_method_set_item_opentype_feature>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tag, :ref:`int<class_int>` value **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_shortcut<class_PopupMenu_method_set_item_shortcut>` **(** :ref:`int<class_int>` index, :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>` index, :ref:`bool<class_bool>` disabled **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_submenu<class_PopupMenu_method_set_item_submenu>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` submenu **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_text<class_PopupMenu_method_set_item_text>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` text **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_text_direction<class_PopupMenu_method_set_item_text_direction>` **(** :ref:`int<class_int>` index, :ref:`TextDirection<enum_Control_TextDirection>` direction **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_item_tooltip<class_PopupMenu_method_set_item_tooltip>` **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tooltip **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`toggle_item_checked<class_PopupMenu_method_toggle_item_checked>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`toggle_item_multistate<class_PopupMenu_method_toggle_item_multistate>` **(** :ref:`int<class_int>` index **)** |
|
|
+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
Theme Properties
|
|
----------------
|
|
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_accelerator_color<class_PopupMenu_theme_color_font_accelerator_color>` | ``Color(0.7, 0.7, 0.7, 0.8)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color<class_PopupMenu_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_PopupMenu_theme_color_font_disabled_color>` | ``Color(0.4, 0.4, 0.4, 0.8)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_hover_color<class_PopupMenu_theme_color_font_hover_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_outline_color<class_PopupMenu_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_separator_color<class_PopupMenu_theme_color_font_separator_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`hseparation<class_PopupMenu_theme_constant_hseparation>` | ``4`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`item_end_padding<class_PopupMenu_theme_constant_item_end_padding>` | ``2`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`item_start_padding<class_PopupMenu_theme_constant_item_start_padding>` | ``2`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`outline_size<class_PopupMenu_theme_constant_outline_size>` | ``0`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`vseparation<class_PopupMenu_theme_constant_vseparation>` | ``4`` |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Font<class_Font>` | :ref:`font<class_PopupMenu_theme_font_font>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`font_size<class_PopupMenu_theme_font_size_font_size>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_PopupMenu_theme_icon_checked>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked<class_PopupMenu_theme_icon_radio_checked>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked<class_PopupMenu_theme_icon_radio_unchecked>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`submenu<class_PopupMenu_theme_icon_submenu>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`submenu_mirrored<class_PopupMenu_theme_icon_submenu_mirrored>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_PopupMenu_theme_icon_unchecked>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_PopupMenu_theme_style_hover>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_left<class_PopupMenu_theme_style_labeled_separator_left>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_right<class_PopupMenu_theme_style_labeled_separator_right>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_PopupMenu_theme_style_panel>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel_disabled<class_PopupMenu_theme_style_panel_disabled>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`separator<class_PopupMenu_theme_style_separator>` | |
|
|
+-----------------------------------+-------------------------------------------------------------------------------------+-----------------------------------+
|
|
|
|
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* | ``true`` |
|
|
+-----------+-------------------------+
|
|
| *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<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_item_count:
|
|
|
|
- :ref:`int<class_int>` **item_count**
|
|
|
|
+-----------+-----------------------+
|
|
| *Default* | ``0`` |
|
|
+-----------+-----------------------+
|
|
| *Setter* | set_item_count(value) |
|
|
+-----------+-----------------------+
|
|
| *Getter* | get_item_count() |
|
|
+-----------+-----------------------+
|
|
|
|
The number of items currently in the list.
|
|
|
|
----
|
|
|
|
.. _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:`Key<enum_@GlobalScope_Key>` 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:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` 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:`Texture2D<class_Texture2D>` 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:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` 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:`Texture2D<class_Texture2D>` texture, :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` 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:`Texture2D<class_Texture2D>` 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:`Texture2D<class_Texture2D>` 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:`Key<enum_@GlobalScope_Key>` 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.
|
|
|
|
\ **Note:** The provided ``id`` is used only in :ref:`id_pressed<class_PopupMenu_signal_id_pressed>` and :ref:`id_focused<class_PopupMenu_signal_id_focused>` signals. It's not related to the ``index`` arguments in e.g. :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>`.
|
|
|
|
----
|
|
|
|
.. _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:`Key<enum_@GlobalScope_Key>` 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:`Key<enum_@GlobalScope_Key>` 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="", :ref:`int<class_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<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_clear_item_opentype_features:
|
|
|
|
- void **clear_item_opentype_features** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Removes all OpenType features form the item's text.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_current_index:
|
|
|
|
- :ref:`int<class_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:`Key<enum_@GlobalScope_Key>` **get_item_accelerator** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the accelerator of the item at the given ``index``. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_icon:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **get_item_icon** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the icon of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_id:
|
|
|
|
- :ref:`int<class_int>` **get_item_id** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the id of the item at the given ``index``. ``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 and can not be set manually.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_language:
|
|
|
|
- :ref:`String<class_String>` **get_item_language** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns item's text language code.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_metadata:
|
|
|
|
- :ref:`Variant<class_Variant>` **get_item_metadata** **(** :ref:`int<class_int>` index **)** |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_opentype_feature:
|
|
|
|
- :ref:`int<class_int>` **get_item_opentype_feature** **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tag **)** |const|
|
|
|
|
Returns OpenType feature ``tag`` of the item's text.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_shortcut:
|
|
|
|
- :ref:`Shortcut<class_Shortcut>` **get_item_shortcut** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the :ref:`Shortcut<class_Shortcut>` associated with the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_submenu:
|
|
|
|
- :ref:`String<class_String>` **get_item_submenu** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the submenu name of the item at the given ``index``. 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>` index **)** |const|
|
|
|
|
Returns the text of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_text_direction:
|
|
|
|
- :ref:`TextDirection<enum_Control_TextDirection>` **get_item_text_direction** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns item's text base writing direction.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_get_item_tooltip:
|
|
|
|
- :ref:`String<class_String>` **get_item_tooltip** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns the tooltip associated with the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_is_item_checkable:
|
|
|
|
- :ref:`bool<class_bool>` **is_item_checkable** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns ``true`` if the item at the given ``index`` 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>` index **)** |const|
|
|
|
|
Returns ``true`` if the item at the given ``index`` is checked.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_is_item_disabled:
|
|
|
|
- :ref:`bool<class_bool>` **is_item_disabled** **(** :ref:`int<class_int>` index **)** |const|
|
|
|
|
Returns ``true`` if the item at the given ``index`` 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>` index **)** |const|
|
|
|
|
Returns ``true`` if the item at the given ``index`` 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>` index **)** |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>` index **)** |const|
|
|
|
|
Returns ``true`` if the specified item's shortcut is disabled.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_remove_item:
|
|
|
|
- void **remove_item** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Removes the item at the given ``index`` from the menu.
|
|
|
|
\ **Note:** The indices of items after the removed item will be shifted by one.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_scroll_to_item:
|
|
|
|
- void **scroll_to_item** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Moves the scroll view to make the item at the given ``index`` visible.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_current_index:
|
|
|
|
- void **set_current_index** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Sets the currently focused item as the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_accelerator:
|
|
|
|
- void **set_item_accelerator** **(** :ref:`int<class_int>` index, :ref:`Key<enum_@GlobalScope_Key>` accel **)**
|
|
|
|
Sets the accelerator of the item at the given ``index``. 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>` index, :ref:`bool<class_bool>` enable **)**
|
|
|
|
Sets whether the item at the given ``index`` 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>` index, :ref:`bool<class_bool>` enable **)**
|
|
|
|
Sets the type of the item at the given ``index`` 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>` index, :ref:`bool<class_bool>` enable **)**
|
|
|
|
Mark the item at the given ``index`` 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>` index, :ref:`bool<class_bool>` checked **)**
|
|
|
|
Sets the checkstate status of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_disabled:
|
|
|
|
- void **set_item_disabled** **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` disabled **)**
|
|
|
|
Enables/disables the item at the given ``index``. 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>` index, :ref:`Texture2D<class_Texture2D>` icon **)**
|
|
|
|
Replaces the :ref:`Texture2D<class_Texture2D>` icon of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_id:
|
|
|
|
- void **set_item_id** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` id **)**
|
|
|
|
Sets the ``id`` of the item at the given ``index``.
|
|
|
|
The ``id`` is used in :ref:`id_pressed<class_PopupMenu_signal_id_pressed>` and :ref:`id_focused<class_PopupMenu_signal_id_focused>` signals.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_language:
|
|
|
|
- void **set_item_language** **(** :ref:`int<class_int>` index, :ref:`String<class_String>` language **)**
|
|
|
|
Sets language code of item's text used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_metadata:
|
|
|
|
- void **set_item_metadata** **(** :ref:`int<class_int>` index, :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>` index, :ref:`int<class_int>` state **)**
|
|
|
|
Sets the state of a multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_opentype_feature:
|
|
|
|
- void **set_item_opentype_feature** **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tag, :ref:`int<class_int>` value **)**
|
|
|
|
Sets OpenType feature ``tag`` for the item's text. More info: `OpenType feature tags <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>`__.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_shortcut:
|
|
|
|
- void **set_item_shortcut** **(** :ref:`int<class_int>` index, :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)**
|
|
|
|
Sets a :ref:`Shortcut<class_Shortcut>` for the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_shortcut_disabled:
|
|
|
|
- void **set_item_shortcut_disabled** **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` disabled **)**
|
|
|
|
Disables the :ref:`Shortcut<class_Shortcut>` of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_submenu:
|
|
|
|
- void **set_item_submenu** **(** :ref:`int<class_int>` index, :ref:`String<class_String>` submenu **)**
|
|
|
|
Sets the submenu of the item at the given ``index``. 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>` index, :ref:`String<class_String>` text **)**
|
|
|
|
Sets the text of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_text_direction:
|
|
|
|
- void **set_item_text_direction** **(** :ref:`int<class_int>` index, :ref:`TextDirection<enum_Control_TextDirection>` direction **)**
|
|
|
|
Sets item's text base writing direction.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_set_item_tooltip:
|
|
|
|
- void **set_item_tooltip** **(** :ref:`int<class_int>` index, :ref:`String<class_String>` tooltip **)**
|
|
|
|
Sets the :ref:`String<class_String>` tooltip of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_toggle_item_checked:
|
|
|
|
- void **toggle_item_checked** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Toggles the check state of the item at the given ``index``.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_method_toggle_item_multistate:
|
|
|
|
- void **toggle_item_multistate** **(** :ref:`int<class_int>` index **)**
|
|
|
|
Cycle to the next state of a multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
|
|
|
|
Theme Property Descriptions
|
|
---------------------------
|
|
|
|
.. _class_PopupMenu_theme_color_font_accelerator_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_accelerator_color**
|
|
|
|
+-----------+-------------------------------+
|
|
| *Default* | ``Color(0.7, 0.7, 0.7, 0.8)`` |
|
|
+-----------+-------------------------------+
|
|
|
|
The text :ref:`Color<class_Color>` used for shortcuts and accelerators that show next to the menu item name when defined. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_color_font_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_color**
|
|
|
|
+-----------+-----------------------------------+
|
|
| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------+-----------------------------------+
|
|
|
|
The default text :ref:`Color<class_Color>` for menu items' names.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_color_font_disabled_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_disabled_color**
|
|
|
|
+-----------+-------------------------------+
|
|
| *Default* | ``Color(0.4, 0.4, 0.4, 0.8)`` |
|
|
+-----------+-------------------------------+
|
|
|
|
:ref:`Color<class_Color>` used for disabled menu items' text.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_color_font_hover_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_hover_color**
|
|
|
|
+-----------+-----------------------------------+
|
|
| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------+-----------------------------------+
|
|
|
|
:ref:`Color<class_Color>` used for the hovered text.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_color_font_outline_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_outline_color**
|
|
|
|
+-----------+-----------------------+
|
|
| *Default* | ``Color(1, 1, 1, 1)`` |
|
|
+-----------+-----------------------+
|
|
|
|
The tint of text outline of the menu item.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_color_font_separator_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_separator_color**
|
|
|
|
+-----------+-----------------------------------+
|
|
| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
|
|
+-----------+-----------------------------------+
|
|
|
|
:ref:`Color<class_Color>` used for labeled separators' text. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_constant_hseparation:
|
|
|
|
- :ref:`int<class_int>` **hseparation**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``4`` |
|
|
+-----------+-------+
|
|
|
|
The horizontal space between the item's name and the shortcut text/submenu arrow.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_constant_item_end_padding:
|
|
|
|
- :ref:`int<class_int>` **item_end_padding**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``2`` |
|
|
+-----------+-------+
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_constant_item_start_padding:
|
|
|
|
- :ref:`int<class_int>` **item_start_padding**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``2`` |
|
|
+-----------+-------+
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_constant_outline_size:
|
|
|
|
- :ref:`int<class_int>` **outline_size**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``0`` |
|
|
+-----------+-------+
|
|
|
|
The size of the item text outline.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_constant_vseparation:
|
|
|
|
- :ref:`int<class_int>` **vseparation**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``4`` |
|
|
+-----------+-------+
|
|
|
|
The vertical space between each menu item.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_font_font:
|
|
|
|
- :ref:`Font<class_Font>` **font**
|
|
|
|
:ref:`Font<class_Font>` used for the menu items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_font_size_font_size:
|
|
|
|
- :ref:`int<class_int>` **font_size**
|
|
|
|
Font size of the menu items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_checked:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **checked**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the checked checkbox items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_radio_checked:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **radio_checked**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the checked radio button items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_radio_unchecked:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **radio_unchecked**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the unchecked radio button items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_submenu:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **submenu**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the submenu arrow (for left-to-right layouts).
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_submenu_mirrored:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **submenu_mirrored**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the submenu arrow (for right-to-left layouts).
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_icon_unchecked:
|
|
|
|
- :ref:`Texture2D<class_Texture2D>` **unchecked**
|
|
|
|
:ref:`Texture2D<class_Texture2D>` icon for the unchecked checkbox items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_hover:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **hover**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` displayed when the ``PopupMenu`` item is hovered.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_labeled_separator_left:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **labeled_separator_left**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` for the left side of labeled separator. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_labeled_separator_right:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **labeled_separator_right**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` for the right side of labeled separator. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_panel:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **panel**
|
|
|
|
Default :ref:`StyleBox<class_StyleBox>` of the ``PopupMenu`` items.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_panel_disabled:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **panel_disabled**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used when the ``PopupMenu`` item is disabled.
|
|
|
|
----
|
|
|
|
.. _class_PopupMenu_theme_style_separator:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **separator**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used for the separators. See :ref:`add_separator<class_PopupMenu_method_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.)`
|
|
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
|
|
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|
|
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|