12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115 |
- :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.)`
|