class_popupmenu.rst 77 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the PopupMenu.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_PopupMenu:
  6. PopupMenu
  7. =========
  8. **Inherits:** :ref:`Popup<class_Popup>` **<** :ref:`Window<class_Window>` **<** :ref:`Viewport<class_Viewport>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  9. PopupMenu displays a list of options.
  10. Description
  11. -----------
  12. ``PopupMenu`` is a :ref:`Control<class_Control>` that displays a list of options. They are popular in toolbars or context menus.
  13. 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.
  14. If no maximum size is set, or if it is set to 0, the ``PopupMenu`` height will be limited by its parent rect.
  15. Properties
  16. ----------
  17. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  18. | :ref:`bool<class_bool>` | :ref:`allow_search<class_PopupMenu_property_allow_search>` | ``true`` |
  19. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  20. | :ref:`bool<class_bool>` | :ref:`hide_on_checkable_item_selection<class_PopupMenu_property_hide_on_checkable_item_selection>` | ``true`` |
  21. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  22. | :ref:`bool<class_bool>` | :ref:`hide_on_item_selection<class_PopupMenu_property_hide_on_item_selection>` | ``true`` |
  23. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  24. | :ref:`bool<class_bool>` | :ref:`hide_on_state_item_selection<class_PopupMenu_property_hide_on_state_item_selection>` | ``false`` |
  25. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  26. | :ref:`int<class_int>` | :ref:`items_count<class_PopupMenu_property_items_count>` | ``0`` |
  27. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  28. | :ref:`float<class_float>` | :ref:`submenu_popup_delay<class_PopupMenu_property_submenu_popup_delay>` | ``0.3`` |
  29. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  30. Methods
  31. -------
  32. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | 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 **)** |
  34. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | 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 **)** |
  36. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | 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 **)** |
  38. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | 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 **)** |
  40. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | 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 **)** |
  42. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | 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 **)** |
  44. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | 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 **)** |
  46. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | 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 **)** |
  48. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | 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 **)** |
  50. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | 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 **)** |
  52. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | 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 **)** |
  54. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | 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 **)** |
  56. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | void | :ref:`add_separator<class_PopupMenu_method_add_separator>` **(** :ref:`String<class_String>` label="", :ref:`int<class_int>` id=-1 **)** |
  58. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | 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 **)** |
  60. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | 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 **)** |
  62. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`clear<class_PopupMenu_method_clear>` **(** **)** |
  64. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | void | :ref:`clear_item_opentype_features<class_PopupMenu_method_clear_item_opentype_features>` **(** :ref:`int<class_int>` idx **)** |
  66. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`int<class_int>` | :ref:`get_current_index<class_PopupMenu_method_get_current_index>` **(** **)** |const| |
  68. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` **(** :ref:`int<class_int>` idx **)** |const| |
  70. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_item_icon<class_PopupMenu_method_get_item_icon>` **(** :ref:`int<class_int>` idx **)** |const| |
  72. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`int<class_int>` | :ref:`get_item_id<class_PopupMenu_method_get_item_id>` **(** :ref:`int<class_int>` idx **)** |const| |
  74. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`int<class_int>` | :ref:`get_item_index<class_PopupMenu_method_get_item_index>` **(** :ref:`int<class_int>` id **)** |const| |
  76. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`String<class_String>` | :ref:`get_item_language<class_PopupMenu_method_get_item_language>` **(** :ref:`int<class_int>` idx **)** |const| |
  78. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`Variant<class_Variant>` | :ref:`get_item_metadata<class_PopupMenu_method_get_item_metadata>` **(** :ref:`int<class_int>` idx **)** |const| |
  80. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | :ref:`int<class_int>` | :ref:`get_item_opentype_feature<class_PopupMenu_method_get_item_opentype_feature>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tag **)** |const| |
  82. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | :ref:`Shortcut<class_Shortcut>` | :ref:`get_item_shortcut<class_PopupMenu_method_get_item_shortcut>` **(** :ref:`int<class_int>` idx **)** |const| |
  84. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | :ref:`String<class_String>` | :ref:`get_item_submenu<class_PopupMenu_method_get_item_submenu>` **(** :ref:`int<class_int>` idx **)** |const| |
  86. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | :ref:`String<class_String>` | :ref:`get_item_text<class_PopupMenu_method_get_item_text>` **(** :ref:`int<class_int>` idx **)** |const| |
  88. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`get_item_text_direction<class_PopupMenu_method_get_item_text_direction>` **(** :ref:`int<class_int>` idx **)** |const| |
  90. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | :ref:`String<class_String>` | :ref:`get_item_tooltip<class_PopupMenu_method_get_item_tooltip>` **(** :ref:`int<class_int>` idx **)** |const| |
  92. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | :ref:`bool<class_bool>` | :ref:`is_item_checkable<class_PopupMenu_method_is_item_checkable>` **(** :ref:`int<class_int>` idx **)** |const| |
  94. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | :ref:`bool<class_bool>` | :ref:`is_item_checked<class_PopupMenu_method_is_item_checked>` **(** :ref:`int<class_int>` idx **)** |const| |
  96. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | :ref:`bool<class_bool>` | :ref:`is_item_disabled<class_PopupMenu_method_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** |const| |
  98. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | :ref:`bool<class_bool>` | :ref:`is_item_radio_checkable<class_PopupMenu_method_is_item_radio_checkable>` **(** :ref:`int<class_int>` idx **)** |const| |
  100. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | :ref:`bool<class_bool>` | :ref:`is_item_separator<class_PopupMenu_method_is_item_separator>` **(** :ref:`int<class_int>` idx **)** |const| |
  102. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | :ref:`bool<class_bool>` | :ref:`is_item_shortcut_disabled<class_PopupMenu_method_is_item_shortcut_disabled>` **(** :ref:`int<class_int>` idx **)** |const| |
  104. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | void | :ref:`remove_item<class_PopupMenu_method_remove_item>` **(** :ref:`int<class_int>` idx **)** |
  106. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | void | :ref:`set_item_accelerator<class_PopupMenu_method_set_item_accelerator>` **(** :ref:`int<class_int>` idx, :ref:`Key<enum_@GlobalScope_Key>` accel **)** |
  108. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | void | :ref:`set_item_as_checkable<class_PopupMenu_method_set_item_as_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
  110. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | void | :ref:`set_item_as_radio_checkable<class_PopupMenu_method_set_item_as_radio_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
  112. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | void | :ref:`set_item_as_separator<class_PopupMenu_method_set_item_as_separator>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
  114. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | void | :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked **)** |
  116. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | void | :ref:`set_item_disabled<class_PopupMenu_method_set_item_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)** |
  118. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | void | :ref:`set_item_icon<class_PopupMenu_method_set_item_icon>` **(** :ref:`int<class_int>` idx, :ref:`Texture2D<class_Texture2D>` icon **)** |
  120. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | void | :ref:`set_item_id<class_PopupMenu_method_set_item_id>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)** |
  122. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | void | :ref:`set_item_language<class_PopupMenu_method_set_item_language>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` language **)** |
  124. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | void | :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)** |
  126. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | void | :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` state **)** |
  128. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | void | :ref:`set_item_opentype_feature<class_PopupMenu_method_set_item_opentype_feature>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tag, :ref:`int<class_int>` value **)** |
  130. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | void | :ref:`set_item_shortcut<class_PopupMenu_method_set_item_shortcut>` **(** :ref:`int<class_int>` idx, :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)** |
  132. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | void | :ref:`set_item_shortcut_disabled<class_PopupMenu_method_set_item_shortcut_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)** |
  134. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | void | :ref:`set_item_submenu<class_PopupMenu_method_set_item_submenu>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` submenu **)** |
  136. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | void | :ref:`set_item_text<class_PopupMenu_method_set_item_text>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` text **)** |
  138. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | void | :ref:`set_item_text_direction<class_PopupMenu_method_set_item_text_direction>` **(** :ref:`int<class_int>` idx, :ref:`TextDirection<enum_Control_TextDirection>` direction **)** |
  140. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | void | :ref:`set_item_tooltip<class_PopupMenu_method_set_item_tooltip>` **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tooltip **)** |
  142. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | void | :ref:`toggle_item_checked<class_PopupMenu_method_toggle_item_checked>` **(** :ref:`int<class_int>` idx **)** |
  144. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | void | :ref:`toggle_item_multistate<class_PopupMenu_method_toggle_item_multistate>` **(** :ref:`int<class_int>` idx **)** |
  146. +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. Theme Properties
  148. ----------------
  149. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  150. | :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_PopupMenu_theme_icon_checked>` | |
  151. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  152. | :ref:`Font<class_Font>` | :ref:`font<class_PopupMenu_theme_font_font>` | |
  153. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  154. | :ref:`Color<class_Color>` | :ref:`font_accelerator_color<class_PopupMenu_theme_color_font_accelerator_color>` | ``Color(0.7, 0.7, 0.7, 0.8)`` |
  155. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  156. | :ref:`Color<class_Color>` | :ref:`font_color<class_PopupMenu_theme_color_font_color>` | ``Color(0.88, 0.88, 0.88, 1)`` |
  157. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  158. | :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_PopupMenu_theme_color_font_disabled_color>` | ``Color(0.4, 0.4, 0.4, 0.8)`` |
  159. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  160. | :ref:`Color<class_Color>` | :ref:`font_hover_color<class_PopupMenu_theme_color_font_hover_color>` | ``Color(0.88, 0.88, 0.88, 1)`` |
  161. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  162. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_PopupMenu_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
  163. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  164. | :ref:`Color<class_Color>` | :ref:`font_separator_color<class_PopupMenu_theme_color_font_separator_color>` | ``Color(0.88, 0.88, 0.88, 1)`` |
  165. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  166. | :ref:`int<class_int>` | :ref:`font_size<class_PopupMenu_theme_font_size_font_size>` | |
  167. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  168. | :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_PopupMenu_theme_style_hover>` | |
  169. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  170. | :ref:`int<class_int>` | :ref:`hseparation<class_PopupMenu_theme_constant_hseparation>` | ``4`` |
  171. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  172. | :ref:`int<class_int>` | :ref:`item_end_padding<class_PopupMenu_theme_constant_item_end_padding>` | ``2`` |
  173. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  174. | :ref:`int<class_int>` | :ref:`item_start_padding<class_PopupMenu_theme_constant_item_start_padding>` | ``2`` |
  175. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  176. | :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_left<class_PopupMenu_theme_style_labeled_separator_left>` | |
  177. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  178. | :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_right<class_PopupMenu_theme_style_labeled_separator_right>` | |
  179. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  180. | :ref:`int<class_int>` | :ref:`outline_size<class_PopupMenu_theme_constant_outline_size>` | ``0`` |
  181. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  182. | :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_PopupMenu_theme_style_panel>` | |
  183. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  184. | :ref:`StyleBox<class_StyleBox>` | :ref:`panel_disabled<class_PopupMenu_theme_style_panel_disabled>` | |
  185. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  186. | :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked<class_PopupMenu_theme_icon_radio_checked>` | |
  187. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  188. | :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked<class_PopupMenu_theme_icon_radio_unchecked>` | |
  189. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  190. | :ref:`StyleBox<class_StyleBox>` | :ref:`separator<class_PopupMenu_theme_style_separator>` | |
  191. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  192. | :ref:`Texture2D<class_Texture2D>` | :ref:`submenu<class_PopupMenu_theme_icon_submenu>` | |
  193. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  194. | :ref:`Texture2D<class_Texture2D>` | :ref:`submenu_mirrored<class_PopupMenu_theme_icon_submenu_mirrored>` | |
  195. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  196. | :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_PopupMenu_theme_icon_unchecked>` | |
  197. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  198. | :ref:`int<class_int>` | :ref:`vseparation<class_PopupMenu_theme_constant_vseparation>` | ``4`` |
  199. +-----------------------------------+-------------------------------------------------------------------------------------+--------------------------------+
  200. Signals
  201. -------
  202. .. _class_PopupMenu_signal_id_focused:
  203. - **id_focused** **(** :ref:`int<class_int>` id **)**
  204. Emitted when user navigated to an item of some ``id`` using ``ui_up`` or ``ui_down`` action.
  205. ----
  206. .. _class_PopupMenu_signal_id_pressed:
  207. - **id_pressed** **(** :ref:`int<class_int>` id **)**
  208. Emitted when an item of some ``id`` is pressed or its accelerator is activated.
  209. ----
  210. .. _class_PopupMenu_signal_index_pressed:
  211. - **index_pressed** **(** :ref:`int<class_int>` index **)**
  212. Emitted when an item of some ``index`` is pressed or its accelerator is activated.
  213. Property Descriptions
  214. ---------------------
  215. .. _class_PopupMenu_property_allow_search:
  216. - :ref:`bool<class_bool>` **allow_search**
  217. +-----------+-------------------------+
  218. | *Default* | ``true`` |
  219. +-----------+-------------------------+
  220. | *Setter* | set_allow_search(value) |
  221. +-----------+-------------------------+
  222. | *Getter* | get_allow_search() |
  223. +-----------+-------------------------+
  224. If ``true``, allows navigating ``PopupMenu`` with letter keys.
  225. ----
  226. .. _class_PopupMenu_property_hide_on_checkable_item_selection:
  227. - :ref:`bool<class_bool>` **hide_on_checkable_item_selection**
  228. +-----------+---------------------------------------------+
  229. | *Default* | ``true`` |
  230. +-----------+---------------------------------------------+
  231. | *Setter* | set_hide_on_checkable_item_selection(value) |
  232. +-----------+---------------------------------------------+
  233. | *Getter* | is_hide_on_checkable_item_selection() |
  234. +-----------+---------------------------------------------+
  235. If ``true``, hides the ``PopupMenu`` when a checkbox or radio button is selected.
  236. ----
  237. .. _class_PopupMenu_property_hide_on_item_selection:
  238. - :ref:`bool<class_bool>` **hide_on_item_selection**
  239. +-----------+-----------------------------------+
  240. | *Default* | ``true`` |
  241. +-----------+-----------------------------------+
  242. | *Setter* | set_hide_on_item_selection(value) |
  243. +-----------+-----------------------------------+
  244. | *Getter* | is_hide_on_item_selection() |
  245. +-----------+-----------------------------------+
  246. If ``true``, hides the ``PopupMenu`` when an item is selected.
  247. ----
  248. .. _class_PopupMenu_property_hide_on_state_item_selection:
  249. - :ref:`bool<class_bool>` **hide_on_state_item_selection**
  250. +-----------+-----------------------------------------+
  251. | *Default* | ``false`` |
  252. +-----------+-----------------------------------------+
  253. | *Setter* | set_hide_on_state_item_selection(value) |
  254. +-----------+-----------------------------------------+
  255. | *Getter* | is_hide_on_state_item_selection() |
  256. +-----------+-----------------------------------------+
  257. If ``true``, hides the ``PopupMenu`` when a state item is selected.
  258. ----
  259. .. _class_PopupMenu_property_items_count:
  260. - :ref:`int<class_int>` **items_count**
  261. +-----------+-----------------------+
  262. | *Default* | ``0`` |
  263. +-----------+-----------------------+
  264. | *Setter* | set_item_count(value) |
  265. +-----------+-----------------------+
  266. | *Getter* | get_item_count() |
  267. +-----------+-----------------------+
  268. The number of items currently in the list.
  269. ----
  270. .. _class_PopupMenu_property_submenu_popup_delay:
  271. - :ref:`float<class_float>` **submenu_popup_delay**
  272. +-----------+--------------------------------+
  273. | *Default* | ``0.3`` |
  274. +-----------+--------------------------------+
  275. | *Setter* | set_submenu_popup_delay(value) |
  276. +-----------+--------------------------------+
  277. | *Getter* | get_submenu_popup_delay() |
  278. +-----------+--------------------------------+
  279. 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.
  280. Method Descriptions
  281. -------------------
  282. .. _class_PopupMenu_method_add_check_item:
  283. - void **add_check_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)**
  284. Adds a new checkable item with text ``label``.
  285. 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.
  286. **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.
  287. ----
  288. .. _class_PopupMenu_method_add_check_shortcut:
  289. - void **add_check_shortcut** **(** :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
  290. 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.
  291. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  292. **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.
  293. ----
  294. .. _class_PopupMenu_method_add_icon_check_item:
  295. - 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 **)**
  296. Adds a new checkable item with text ``label`` and icon ``texture``.
  297. 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.
  298. **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.
  299. ----
  300. .. _class_PopupMenu_method_add_icon_check_shortcut:
  301. - 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 **)**
  302. 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.
  303. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  304. **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.
  305. ----
  306. .. _class_PopupMenu_method_add_icon_item:
  307. - 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 **)**
  308. Adds a new item with text ``label`` and icon ``texture``.
  309. 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.
  310. ----
  311. .. _class_PopupMenu_method_add_icon_radio_check_item:
  312. - 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 **)**
  313. Same as :ref:`add_icon_check_item<class_PopupMenu_method_add_icon_check_item>`, but uses a radio check button.
  314. ----
  315. .. _class_PopupMenu_method_add_icon_radio_check_shortcut:
  316. - 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 **)**
  317. Same as :ref:`add_icon_check_shortcut<class_PopupMenu_method_add_icon_check_shortcut>`, but uses a radio check button.
  318. ----
  319. .. _class_PopupMenu_method_add_icon_shortcut:
  320. - 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 **)**
  321. 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.
  322. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  323. ----
  324. .. _class_PopupMenu_method_add_item:
  325. - void **add_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)**
  326. Adds a new item with text ``label``.
  327. 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.
  328. ----
  329. .. _class_PopupMenu_method_add_multistate_item:
  330. - 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 **)**
  331. Adds a new multistate item with text ``label``.
  332. 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``.
  333. 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.
  334. ----
  335. .. _class_PopupMenu_method_add_radio_check_item:
  336. - void **add_radio_check_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>` id=-1, :ref:`Key<enum_@GlobalScope_Key>` accel=0 **)**
  337. Adds a new radio check button with text ``label``.
  338. 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.
  339. **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.
  340. ----
  341. .. _class_PopupMenu_method_add_radio_check_shortcut:
  342. - void **add_radio_check_shortcut** **(** :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
  343. 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.
  344. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  345. **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.
  346. ----
  347. .. _class_PopupMenu_method_add_separator:
  348. - void **add_separator** **(** :ref:`String<class_String>` label="", :ref:`int<class_int>` id=-1 **)**
  349. Adds a separator between items. Separators also occupy an index, which you can set by using the ``id`` parameter.
  350. A ``label`` can optionally be provided, which will appear at the center of the separator.
  351. ----
  352. .. _class_PopupMenu_method_add_shortcut:
  353. - void **add_shortcut** **(** :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`int<class_int>` id=-1, :ref:`bool<class_bool>` global=false **)**
  354. Adds a :ref:`Shortcut<class_Shortcut>`.
  355. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  356. ----
  357. .. _class_PopupMenu_method_add_submenu_item:
  358. - void **add_submenu_item** **(** :ref:`String<class_String>` label, :ref:`String<class_String>` submenu, :ref:`int<class_int>` id=-1 **)**
  359. 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.
  360. An ``id`` can optionally be provided. If no ``id`` is provided, one will be created from the index.
  361. ----
  362. .. _class_PopupMenu_method_clear:
  363. - void **clear** **(** **)**
  364. Removes all items from the ``PopupMenu``.
  365. ----
  366. .. _class_PopupMenu_method_clear_item_opentype_features:
  367. - void **clear_item_opentype_features** **(** :ref:`int<class_int>` idx **)**
  368. Removes all OpenType features form the item's text.
  369. ----
  370. .. _class_PopupMenu_method_get_current_index:
  371. - :ref:`int<class_int>` **get_current_index** **(** **)** |const|
  372. Returns the index of the currently focused item. Returns ``-1`` if no item is focused.
  373. ----
  374. .. _class_PopupMenu_method_get_item_accelerator:
  375. - :ref:`Key<enum_@GlobalScope_Key>` **get_item_accelerator** **(** :ref:`int<class_int>` idx **)** |const|
  376. Returns the accelerator of the item at index ``idx``. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
  377. ----
  378. .. _class_PopupMenu_method_get_item_icon:
  379. - :ref:`Texture2D<class_Texture2D>` **get_item_icon** **(** :ref:`int<class_int>` idx **)** |const|
  380. Returns the icon of the item at index ``idx``.
  381. ----
  382. .. _class_PopupMenu_method_get_item_id:
  383. - :ref:`int<class_int>` **get_item_id** **(** :ref:`int<class_int>` idx **)** |const|
  384. Returns the id of the item at index ``idx``. ``id`` can be manually assigned, while index can not.
  385. ----
  386. .. _class_PopupMenu_method_get_item_index:
  387. - :ref:`int<class_int>` **get_item_index** **(** :ref:`int<class_int>` id **)** |const|
  388. Returns the index of the item containing the specified ``id``. Index is automatically assigned to each item by the engine. Index can not be set manually.
  389. ----
  390. .. _class_PopupMenu_method_get_item_language:
  391. - :ref:`String<class_String>` **get_item_language** **(** :ref:`int<class_int>` idx **)** |const|
  392. Returns item's text language code.
  393. ----
  394. .. _class_PopupMenu_method_get_item_metadata:
  395. - :ref:`Variant<class_Variant>` **get_item_metadata** **(** :ref:`int<class_int>` idx **)** |const|
  396. 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.
  397. ----
  398. .. _class_PopupMenu_method_get_item_opentype_feature:
  399. - :ref:`int<class_int>` **get_item_opentype_feature** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tag **)** |const|
  400. Returns OpenType feature ``tag`` of the item's text.
  401. ----
  402. .. _class_PopupMenu_method_get_item_shortcut:
  403. - :ref:`Shortcut<class_Shortcut>` **get_item_shortcut** **(** :ref:`int<class_int>` idx **)** |const|
  404. Returns the :ref:`Shortcut<class_Shortcut>` associated with the specified ``idx`` item.
  405. ----
  406. .. _class_PopupMenu_method_get_item_submenu:
  407. - :ref:`String<class_String>` **get_item_submenu** **(** :ref:`int<class_int>` idx **)** |const|
  408. Returns the submenu name of the item at index ``idx``. See :ref:`add_submenu_item<class_PopupMenu_method_add_submenu_item>` for more info on how to add a submenu.
  409. ----
  410. .. _class_PopupMenu_method_get_item_text:
  411. - :ref:`String<class_String>` **get_item_text** **(** :ref:`int<class_int>` idx **)** |const|
  412. Returns the text of the item at index ``idx``.
  413. ----
  414. .. _class_PopupMenu_method_get_item_text_direction:
  415. - :ref:`TextDirection<enum_Control_TextDirection>` **get_item_text_direction** **(** :ref:`int<class_int>` idx **)** |const|
  416. Returns item's text base writing direction.
  417. ----
  418. .. _class_PopupMenu_method_get_item_tooltip:
  419. - :ref:`String<class_String>` **get_item_tooltip** **(** :ref:`int<class_int>` idx **)** |const|
  420. Returns the tooltip associated with the specified index index ``idx``.
  421. ----
  422. .. _class_PopupMenu_method_is_item_checkable:
  423. - :ref:`bool<class_bool>` **is_item_checkable** **(** :ref:`int<class_int>` idx **)** |const|
  424. Returns ``true`` if the item at index ``idx`` is checkable in some way, i.e. if it has a checkbox or radio button.
  425. **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.
  426. ----
  427. .. _class_PopupMenu_method_is_item_checked:
  428. - :ref:`bool<class_bool>` **is_item_checked** **(** :ref:`int<class_int>` idx **)** |const|
  429. Returns ``true`` if the item at index ``idx`` is checked.
  430. ----
  431. .. _class_PopupMenu_method_is_item_disabled:
  432. - :ref:`bool<class_bool>` **is_item_disabled** **(** :ref:`int<class_int>` idx **)** |const|
  433. Returns ``true`` if the item at index ``idx`` is disabled. When it is disabled it can't be selected, or its action invoked.
  434. See :ref:`set_item_disabled<class_PopupMenu_method_set_item_disabled>` for more info on how to disable an item.
  435. ----
  436. .. _class_PopupMenu_method_is_item_radio_checkable:
  437. - :ref:`bool<class_bool>` **is_item_radio_checkable** **(** :ref:`int<class_int>` idx **)** |const|
  438. Returns ``true`` if the item at index ``idx`` has radio button-style checkability.
  439. **Note:** This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
  440. ----
  441. .. _class_PopupMenu_method_is_item_separator:
  442. - :ref:`bool<class_bool>` **is_item_separator** **(** :ref:`int<class_int>` idx **)** |const|
  443. 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.
  444. ----
  445. .. _class_PopupMenu_method_is_item_shortcut_disabled:
  446. - :ref:`bool<class_bool>` **is_item_shortcut_disabled** **(** :ref:`int<class_int>` idx **)** |const|
  447. Returns ``true`` if the specified item's shortcut is disabled.
  448. ----
  449. .. _class_PopupMenu_method_remove_item:
  450. - void **remove_item** **(** :ref:`int<class_int>` idx **)**
  451. Removes the item at index ``idx`` from the menu.
  452. **Note:** The indices of items after the removed item will be shifted by one.
  453. ----
  454. .. _class_PopupMenu_method_set_item_accelerator:
  455. - void **set_item_accelerator** **(** :ref:`int<class_int>` idx, :ref:`Key<enum_@GlobalScope_Key>` accel **)**
  456. Sets the accelerator of the item at index ``idx``. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
  457. ----
  458. .. _class_PopupMenu_method_set_item_as_checkable:
  459. - void **set_item_as_checkable** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**
  460. Sets whether the item at index ``idx`` has a checkbox. If ``false``, sets the type of the item to plain text.
  461. **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
  462. ----
  463. .. _class_PopupMenu_method_set_item_as_radio_checkable:
  464. - void **set_item_as_radio_checkable** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**
  465. Sets the type of the item at the specified index ``idx`` to radio button. If ``false``, sets the type of the item to plain text.
  466. ----
  467. .. _class_PopupMenu_method_set_item_as_separator:
  468. - void **set_item_as_separator** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**
  469. Mark the item at index ``idx`` as a separator, which means that it would be displayed as a line. If ``false``, sets the type of the item to plain text.
  470. ----
  471. .. _class_PopupMenu_method_set_item_checked:
  472. - void **set_item_checked** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked **)**
  473. Sets the checkstate status of the item at index ``idx``.
  474. ----
  475. .. _class_PopupMenu_method_set_item_disabled:
  476. - void **set_item_disabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**
  477. Enables/disables the item at index ``idx``. When it is disabled, it can't be selected and its action can't be invoked.
  478. ----
  479. .. _class_PopupMenu_method_set_item_icon:
  480. - void **set_item_icon** **(** :ref:`int<class_int>` idx, :ref:`Texture2D<class_Texture2D>` icon **)**
  481. Replaces the :ref:`Texture2D<class_Texture2D>` icon of the specified ``idx``.
  482. ----
  483. .. _class_PopupMenu_method_set_item_id:
  484. - void **set_item_id** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)**
  485. Sets the ``id`` of the item at index ``idx``.
  486. ----
  487. .. _class_PopupMenu_method_set_item_language:
  488. - void **set_item_language** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` language **)**
  489. Sets language code of item's text used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  490. ----
  491. .. _class_PopupMenu_method_set_item_metadata:
  492. - void **set_item_metadata** **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)**
  493. 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.
  494. ----
  495. .. _class_PopupMenu_method_set_item_multistate:
  496. - void **set_item_multistate** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` state **)**
  497. Sets the state of a multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
  498. ----
  499. .. _class_PopupMenu_method_set_item_opentype_feature:
  500. - void **set_item_opentype_feature** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tag, :ref:`int<class_int>` value **)**
  501. Sets OpenType feature ``tag`` for the item's text. More info: `OpenType feature tags <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>`__.
  502. ----
  503. .. _class_PopupMenu_method_set_item_shortcut:
  504. - void **set_item_shortcut** **(** :ref:`int<class_int>` idx, :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)**
  505. Sets a :ref:`Shortcut<class_Shortcut>` for the specified item ``idx``.
  506. ----
  507. .. _class_PopupMenu_method_set_item_shortcut_disabled:
  508. - void **set_item_shortcut_disabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**
  509. Disables the :ref:`Shortcut<class_Shortcut>` of the specified index ``idx``.
  510. ----
  511. .. _class_PopupMenu_method_set_item_submenu:
  512. - void **set_item_submenu** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` submenu **)**
  513. Sets the submenu of the item at index ``idx``. The submenu is the name of a child ``PopupMenu`` node that would be shown when the item is clicked.
  514. ----
  515. .. _class_PopupMenu_method_set_item_text:
  516. - void **set_item_text** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` text **)**
  517. Sets the text of the item at index ``idx``.
  518. ----
  519. .. _class_PopupMenu_method_set_item_text_direction:
  520. - void **set_item_text_direction** **(** :ref:`int<class_int>` idx, :ref:`TextDirection<enum_Control_TextDirection>` direction **)**
  521. Sets item's text base writing direction.
  522. ----
  523. .. _class_PopupMenu_method_set_item_tooltip:
  524. - void **set_item_tooltip** **(** :ref:`int<class_int>` idx, :ref:`String<class_String>` tooltip **)**
  525. Sets the :ref:`String<class_String>` tooltip of the item at the specified index ``idx``.
  526. ----
  527. .. _class_PopupMenu_method_toggle_item_checked:
  528. - void **toggle_item_checked** **(** :ref:`int<class_int>` idx **)**
  529. Toggles the check state of the item of the specified index ``idx``.
  530. ----
  531. .. _class_PopupMenu_method_toggle_item_multistate:
  532. - void **toggle_item_multistate** **(** :ref:`int<class_int>` idx **)**
  533. Cycle to the next state of a multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details.
  534. Theme Property Descriptions
  535. ---------------------------
  536. .. _class_PopupMenu_theme_icon_checked:
  537. - :ref:`Texture2D<class_Texture2D>` **checked**
  538. :ref:`Texture2D<class_Texture2D>` icon for the checked checkbox items.
  539. ----
  540. .. _class_PopupMenu_theme_font_font:
  541. - :ref:`Font<class_Font>` **font**
  542. :ref:`Font<class_Font>` used for the menu items.
  543. ----
  544. .. _class_PopupMenu_theme_color_font_accelerator_color:
  545. - :ref:`Color<class_Color>` **font_accelerator_color**
  546. +-----------+-------------------------------+
  547. | *Default* | ``Color(0.7, 0.7, 0.7, 0.8)`` |
  548. +-----------+-------------------------------+
  549. 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.
  550. ----
  551. .. _class_PopupMenu_theme_color_font_color:
  552. - :ref:`Color<class_Color>` **font_color**
  553. +-----------+--------------------------------+
  554. | *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
  555. +-----------+--------------------------------+
  556. The default text :ref:`Color<class_Color>` for menu items' names.
  557. ----
  558. .. _class_PopupMenu_theme_color_font_disabled_color:
  559. - :ref:`Color<class_Color>` **font_disabled_color**
  560. +-----------+-------------------------------+
  561. | *Default* | ``Color(0.4, 0.4, 0.4, 0.8)`` |
  562. +-----------+-------------------------------+
  563. :ref:`Color<class_Color>` used for disabled menu items' text.
  564. ----
  565. .. _class_PopupMenu_theme_color_font_hover_color:
  566. - :ref:`Color<class_Color>` **font_hover_color**
  567. +-----------+--------------------------------+
  568. | *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
  569. +-----------+--------------------------------+
  570. :ref:`Color<class_Color>` used for the hovered text.
  571. ----
  572. .. _class_PopupMenu_theme_color_font_outline_color:
  573. - :ref:`Color<class_Color>` **font_outline_color**
  574. +-----------+-----------------------+
  575. | *Default* | ``Color(1, 1, 1, 1)`` |
  576. +-----------+-----------------------+
  577. The tint of text outline of the menu item.
  578. ----
  579. .. _class_PopupMenu_theme_color_font_separator_color:
  580. - :ref:`Color<class_Color>` **font_separator_color**
  581. +-----------+--------------------------------+
  582. | *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
  583. +-----------+--------------------------------+
  584. :ref:`Color<class_Color>` used for labeled separators' text. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
  585. ----
  586. .. _class_PopupMenu_theme_font_size_font_size:
  587. - :ref:`int<class_int>` **font_size**
  588. Font size of the menu items.
  589. ----
  590. .. _class_PopupMenu_theme_style_hover:
  591. - :ref:`StyleBox<class_StyleBox>` **hover**
  592. :ref:`StyleBox<class_StyleBox>` displayed when the ``PopupMenu`` item is hovered.
  593. ----
  594. .. _class_PopupMenu_theme_constant_hseparation:
  595. - :ref:`int<class_int>` **hseparation**
  596. +-----------+-------+
  597. | *Default* | ``4`` |
  598. +-----------+-------+
  599. The horizontal space between the item's name and the shortcut text/submenu arrow.
  600. ----
  601. .. _class_PopupMenu_theme_constant_item_end_padding:
  602. - :ref:`int<class_int>` **item_end_padding**
  603. +-----------+-------+
  604. | *Default* | ``2`` |
  605. +-----------+-------+
  606. ----
  607. .. _class_PopupMenu_theme_constant_item_start_padding:
  608. - :ref:`int<class_int>` **item_start_padding**
  609. +-----------+-------+
  610. | *Default* | ``2`` |
  611. +-----------+-------+
  612. ----
  613. .. _class_PopupMenu_theme_style_labeled_separator_left:
  614. - :ref:`StyleBox<class_StyleBox>` **labeled_separator_left**
  615. :ref:`StyleBox<class_StyleBox>` for the left side of labeled separator. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
  616. ----
  617. .. _class_PopupMenu_theme_style_labeled_separator_right:
  618. - :ref:`StyleBox<class_StyleBox>` **labeled_separator_right**
  619. :ref:`StyleBox<class_StyleBox>` for the right side of labeled separator. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
  620. ----
  621. .. _class_PopupMenu_theme_constant_outline_size:
  622. - :ref:`int<class_int>` **outline_size**
  623. +-----------+-------+
  624. | *Default* | ``0`` |
  625. +-----------+-------+
  626. The size of the item text outline.
  627. ----
  628. .. _class_PopupMenu_theme_style_panel:
  629. - :ref:`StyleBox<class_StyleBox>` **panel**
  630. Default :ref:`StyleBox<class_StyleBox>` of the ``PopupMenu`` items.
  631. ----
  632. .. _class_PopupMenu_theme_style_panel_disabled:
  633. - :ref:`StyleBox<class_StyleBox>` **panel_disabled**
  634. :ref:`StyleBox<class_StyleBox>` used when the ``PopupMenu`` item is disabled.
  635. ----
  636. .. _class_PopupMenu_theme_icon_radio_checked:
  637. - :ref:`Texture2D<class_Texture2D>` **radio_checked**
  638. :ref:`Texture2D<class_Texture2D>` icon for the checked radio button items.
  639. ----
  640. .. _class_PopupMenu_theme_icon_radio_unchecked:
  641. - :ref:`Texture2D<class_Texture2D>` **radio_unchecked**
  642. :ref:`Texture2D<class_Texture2D>` icon for the unchecked radio button items.
  643. ----
  644. .. _class_PopupMenu_theme_style_separator:
  645. - :ref:`StyleBox<class_StyleBox>` **separator**
  646. :ref:`StyleBox<class_StyleBox>` used for the separators. See :ref:`add_separator<class_PopupMenu_method_add_separator>`.
  647. ----
  648. .. _class_PopupMenu_theme_icon_submenu:
  649. - :ref:`Texture2D<class_Texture2D>` **submenu**
  650. :ref:`Texture2D<class_Texture2D>` icon for the submenu arrow (for left-to-right layouts).
  651. ----
  652. .. _class_PopupMenu_theme_icon_submenu_mirrored:
  653. - :ref:`Texture2D<class_Texture2D>` **submenu_mirrored**
  654. :ref:`Texture2D<class_Texture2D>` icon for the submenu arrow (for right-to-left layouts).
  655. ----
  656. .. _class_PopupMenu_theme_icon_unchecked:
  657. - :ref:`Texture2D<class_Texture2D>` **unchecked**
  658. :ref:`Texture2D<class_Texture2D>` icon for the unchecked checkbox items.
  659. ----
  660. .. _class_PopupMenu_theme_constant_vseparation:
  661. - :ref:`int<class_int>` **vseparation**
  662. +-----------+-------+
  663. | *Default* | ``4`` |
  664. +-----------+-------+
  665. The vertical space between each menu item.
  666. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  667. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  668. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  669. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  670. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  671. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`