class_popupmenu.rst 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_PopupMenu:
  4. PopupMenu
  5. =========
  6. **Inherits:** :ref:`Popup<class_popup>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
  7. **Category:** Core
  8. Brief Description
  9. -----------------
  10. PopupMenu displays a list of options.
  11. Member Functions
  12. ----------------
  13. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | void | :ref:`add_icon_item<class_PopupMenu_add_icon_item>` **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
  15. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | void | :ref:`add_item<class_PopupMenu_add_item>` **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
  17. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | void | :ref:`add_icon_check_item<class_PopupMenu_add_icon_check_item>` **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
  19. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | void | :ref:`add_check_item<class_PopupMenu_add_check_item>` **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)** |
  21. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | void | :ref:`add_submenu_item<class_PopupMenu_add_submenu_item>` **(** :ref:`String<class_string>` label, :ref:`String<class_string>` submenu, :ref:`int<class_int>` id=-1 **)** |
  23. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | void | :ref:`set_item_text<class_PopupMenu_set_item_text>` **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text **)** |
  25. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`set_item_icon<class_PopupMenu_set_item_icon>` **(** :ref:`int<class_int>` idx, :ref:`Object<class_object>` icon **)** |
  27. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | void | :ref:`set_item_accelerator<class_PopupMenu_set_item_accelerator>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` accel **)** |
  29. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | void | :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>` **(** :ref:`int<class_int>` idx, var metadata **)** |
  31. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | void | :ref:`set_item_checked<class_PopupMenu_set_item_checked>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked **)** |
  33. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | void | :ref:`set_item_disabled<class_PopupMenu_set_item_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)** |
  35. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | void | :ref:`set_item_submenu<class_PopupMenu_set_item_submenu>` **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu **)** |
  37. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | void | :ref:`set_item_as_separator<class_PopupMenu_set_item_as_separator>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
  39. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | void | :ref:`set_item_as_checkable<class_PopupMenu_set_item_as_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)** |
  41. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | void | :ref:`set_item_ID<class_PopupMenu_set_item_ID>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)** |
  43. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`String<class_string>` | :ref:`get_item_text<class_PopupMenu_get_item_text>` **(** :ref:`int<class_int>` idx **)** const |
  45. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Object<class_object>` | :ref:`get_item_icon<class_PopupMenu_get_item_icon>` **(** :ref:`int<class_int>` idx **)** const |
  47. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | void | :ref:`get_item_metadata<class_PopupMenu_get_item_metadata>` **(** :ref:`int<class_int>` idx **)** const |
  49. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`int<class_int>` | :ref:`get_item_accelerator<class_PopupMenu_get_item_accelerator>` **(** :ref:`int<class_int>` idx **)** const |
  51. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`String<class_string>` | :ref:`get_item_submenu<class_PopupMenu_get_item_submenu>` **(** :ref:`int<class_int>` idx **)** const |
  53. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`bool<class_bool>` | :ref:`is_item_separator<class_PopupMenu_is_item_separator>` **(** :ref:`int<class_int>` idx **)** const |
  55. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`is_item_checkable<class_PopupMenu_is_item_checkable>` **(** :ref:`int<class_int>` idx **)** const |
  57. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`is_item_checked<class_PopupMenu_is_item_checked>` **(** :ref:`int<class_int>` idx **)** const |
  59. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`bool<class_bool>` | :ref:`is_item_disabled<class_PopupMenu_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** const |
  61. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`int<class_int>` | :ref:`get_item_ID<class_PopupMenu_get_item_ID>` **(** :ref:`int<class_int>` idx **)** const |
  63. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`int<class_int>` | :ref:`get_item_index<class_PopupMenu_get_item_index>` **(** :ref:`int<class_int>` id **)** const |
  65. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`int<class_int>` | :ref:`get_item_count<class_PopupMenu_get_item_count>` **(** **)** const |
  67. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | void | :ref:`add_separator<class_PopupMenu_add_separator>` **(** **)** |
  69. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | void | :ref:`remove_item<class_PopupMenu_remove_item>` **(** :ref:`int<class_int>` idx **)** |
  71. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | void | :ref:`clear<class_PopupMenu_clear>` **(** **)** |
  73. +------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. Signals
  75. -------
  76. - **item_pressed** **(** :ref:`int<class_int>` ID **)**
  77. Description
  78. -----------
  79. PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
  80. Member Function Description
  81. ---------------------------
  82. .. _class_PopupMenu_add_icon_item:
  83. - void **add_icon_item** **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)**
  84. Add a new item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
  85. .. _class_PopupMenu_add_item:
  86. - void **add_item** **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)**
  87. Add a new item with text "label". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
  88. .. _class_PopupMenu_add_icon_check_item:
  89. - void **add_icon_check_item** **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)**
  90. Add a new checkable item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
  91. .. _class_PopupMenu_add_check_item:
  92. - void **add_check_item** **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0 **)**
  93. Add a new checkable item with text "label". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
  94. .. _class_PopupMenu_add_submenu_item:
  95. - void **add_submenu_item** **(** :ref:`String<class_string>` label, :ref:`String<class_string>` submenu, :ref:`int<class_int>` id=-1 **)**
  96. Adds an item with a submenu. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked. An id can optionally be provided, but if is isn't provided, one will be created from the index.
  97. .. _class_PopupMenu_set_item_text:
  98. - void **set_item_text** **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text **)**
  99. Set the text of the item at index "idx".
  100. .. _class_PopupMenu_set_item_icon:
  101. - void **set_item_icon** **(** :ref:`int<class_int>` idx, :ref:`Object<class_object>` icon **)**
  102. Set the icon of the item at index "idx".
  103. .. _class_PopupMenu_set_item_accelerator:
  104. - void **set_item_accelerator** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` accel **)**
  105. Set the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
  106. .. _class_PopupMenu_set_item_metadata:
  107. - void **set_item_metadata** **(** :ref:`int<class_int>` idx, var metadata **)**
  108. Sets the metadata of an item, which might be of any type. You can later get it with :ref:`get_item_metadata<class_PopupMenu_get_item_metadata>`, which provides a simple way of assigning context data to items.
  109. .. _class_PopupMenu_set_item_checked:
  110. - void **set_item_checked** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked **)**
  111. Set the checkstate status of the item at index "idx".
  112. .. _class_PopupMenu_set_item_disabled:
  113. - void **set_item_disabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**
  114. Sets whether the item at index "idx" is disabled or not. When it is disabled it can't be selected, or its action invoked.
  115. .. _class_PopupMenu_set_item_submenu:
  116. - void **set_item_submenu** **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu **)**
  117. 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.
  118. .. _class_PopupMenu_set_item_as_separator:
  119. - void **set_item_as_separator** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**
  120. Mark the item at index "idx" as a seperator, which means that it would be displayed as a mere line.
  121. .. _class_PopupMenu_set_item_as_checkable:
  122. - void **set_item_as_checkable** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**
  123. Set whether the item at index "idx" has a checkbox. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
  124. .. _class_PopupMenu_set_item_ID:
  125. - void **set_item_ID** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)**
  126. Set the id of the item at index "idx".
  127. .. _class_PopupMenu_get_item_text:
  128. - :ref:`String<class_string>` **get_item_text** **(** :ref:`int<class_int>` idx **)** const
  129. Return the text of the item at index "idx".
  130. .. _class_PopupMenu_get_item_icon:
  131. - :ref:`Object<class_object>` **get_item_icon** **(** :ref:`int<class_int>` idx **)** const
  132. Return the icon of the item at index "idx".
  133. .. _class_PopupMenu_get_item_metadata:
  134. - void **get_item_metadata** **(** :ref:`int<class_int>` idx **)** const
  135. Return the metadata of an item, which might be of any type. You can set it with :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>`, which provides a simple way of assigning context data to items.
  136. .. _class_PopupMenu_get_item_accelerator:
  137. - :ref:`int<class_int>` **get_item_accelerator** **(** :ref:`int<class_int>` idx **)** const
  138. Return the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
  139. .. _class_PopupMenu_get_item_submenu:
  140. - :ref:`String<class_string>` **get_item_submenu** **(** :ref:`int<class_int>` idx **)** const
  141. Return the submenu name of the item at index "idx".
  142. .. _class_PopupMenu_is_item_separator:
  143. - :ref:`bool<class_bool>` **is_item_separator** **(** :ref:`int<class_int>` idx **)** const
  144. Return whether the item is a seperator. If it is, it would be displayed as a line.
  145. .. _class_PopupMenu_is_item_checkable:
  146. - :ref:`bool<class_bool>` **is_item_checkable** **(** :ref:`int<class_int>` idx **)** const
  147. Return whether the item at index "idx" has a checkbox. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
  148. .. _class_PopupMenu_is_item_checked:
  149. - :ref:`bool<class_bool>` **is_item_checked** **(** :ref:`int<class_int>` idx **)** const
  150. Return the checkstate status of the item at index "idx".
  151. .. _class_PopupMenu_is_item_disabled:
  152. - :ref:`bool<class_bool>` **is_item_disabled** **(** :ref:`int<class_int>` idx **)** const
  153. Return whether the item at index "idx" is disabled. When it is disabled it can't be selected, or its action invoked.
  154. .. _class_PopupMenu_get_item_ID:
  155. - :ref:`int<class_int>` **get_item_ID** **(** :ref:`int<class_int>` idx **)** const
  156. Return the id of the item at index "idx".
  157. .. _class_PopupMenu_get_item_index:
  158. - :ref:`int<class_int>` **get_item_index** **(** :ref:`int<class_int>` id **)** const
  159. Find and return the index of the item containing a given id.
  160. .. _class_PopupMenu_get_item_count:
  161. - :ref:`int<class_int>` **get_item_count** **(** **)** const
  162. Return the amount of items.
  163. .. _class_PopupMenu_add_separator:
  164. - void **add_separator** **(** **)**
  165. Add a separator between items. Separators also occupy an index.
  166. .. _class_PopupMenu_remove_item:
  167. - void **remove_item** **(** :ref:`int<class_int>` idx **)**
  168. Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
  169. .. _class_PopupMenu_clear:
  170. - void **clear** **(** **)**
  171. Clear the popup menu, in effect removing all items.