2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 02:03:48 +01:00
<class name= "PopupMenu" inherits= "Popup" version= "4.0" >
2017-09-12 22:42:36 +02:00
<brief_description >
PopupMenu displays a list of options.
</brief_description>
<description >
2022-02-09 03:34:30 +01:00
[PopupMenu] is a modal window used to display a list of options. They are popular in toolbars or context menus.
2020-09-02 01:43:11 +02:00
The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents.
If no maximum size is set, or if it is set to 0, the [PopupMenu] height will be limited by its parent rect.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_check_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" />
<argument index= "1" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "2" name= "accel" type= "int" enum= "Key" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Adds a new checkable item with text [code]label[/code].
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_check_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "shortcut" type= "Shortcut" />
<argument index= "1" name= "id" type= "int" default= "-1" />
<argument index= "2" name= "global" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2020-09-09 21:53:24 +02:00
Adds a new checkable item and assigns the specified [Shortcut] to it. Sets the label of the checkbox to the [Shortcut]'s name.
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_icon_check_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "label" type= "String" />
<argument index= "2" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "3" name= "accel" type= "int" enum= "Key" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Adds a new checkable item with text [code]label[/code] and icon [code]texture[/code].
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_icon_check_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "shortcut" type= "Shortcut" />
<argument index= "2" name= "id" type= "int" default= "-1" />
<argument index= "3" name= "global" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2020-09-09 21:53:24 +02:00
Adds a new checkable item and assigns the specified [Shortcut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [Shortcut]'s name.
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_icon_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "label" type= "String" />
<argument index= "2" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "3" name= "accel" type= "int" enum= "Key" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Adds a new item with text [code]label[/code] and icon [code]texture[/code].
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-10-08 08:28:26 +02:00
<method name= "add_icon_radio_check_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "label" type= "String" />
<argument index= "2" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "3" name= "accel" type= "int" enum= "Key" default= "0" />
2019-10-08 08:28:26 +02:00
<description >
Same as [method add_icon_check_item], but uses a radio check button.
</description>
</method>
<method name= "add_icon_radio_check_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "shortcut" type= "Shortcut" />
<argument index= "2" name= "id" type= "int" default= "-1" />
<argument index= "3" name= "global" type= "bool" default= "false" />
2019-10-08 08:28:26 +02:00
<description >
Same as [method add_icon_check_shortcut], but uses a radio check button.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "add_icon_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "texture" type= "Texture2D" />
<argument index= "1" name= "shortcut" type= "Shortcut" />
<argument index= "2" name= "id" type= "int" default= "-1" />
<argument index= "3" name= "global" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2020-09-09 21:53:24 +02:00
Adds a new item and assigns the specified [Shortcut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [Shortcut]'s name.
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" />
<argument index= "1" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "2" name= "accel" type= "int" enum= "Key" default= "0" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Adds a new item with text [code]label[/code].
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
2021-12-08 13:02:42 +01:00
[b]Note:[/b] The provided [code]id[/code] is used only in [signal id_pressed] and [signal id_focused] signals. It's not related to the [code]index[/code] arguments in e.g. [method set_item_checked].
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-10-08 08:28:26 +02:00
<method name= "add_multistate_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" />
<argument index= "1" name= "max_states" type= "int" />
<argument index= "2" name= "default_state" type= "int" default= "0" />
<argument index= "3" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "4" name= "accel" type= "int" enum= "Key" default= "0" />
2019-10-08 08:28:26 +02:00
<description >
Adds a new multistate item with text [code]label[/code].
Contrarily to normal binary items, multistate items can have more than two states, as defined by [code]max_states[/code]. Each press or activate of the item will increase the state by one. The default value is defined by [code]default_state[/code].
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
</description>
</method>
2018-04-10 10:12:42 +02:00
<method name= "add_radio_check_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" />
<argument index= "1" name= "id" type= "int" default= "-1" />
2021-08-13 23:31:57 +02:00
<argument index= "2" name= "accel" type= "int" enum= "Key" default= "0" />
2018-04-10 10:12:42 +02:00
<description >
2019-10-08 08:28:26 +02:00
Adds a new radio check button with text [code]label[/code].
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2018-04-10 10:12:42 +02:00
</description>
</method>
<method name= "add_radio_check_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "shortcut" type= "Shortcut" />
<argument index= "1" name= "id" type= "int" default= "-1" />
<argument index= "2" name= "global" type= "bool" default= "false" />
2018-04-10 10:12:42 +02:00
<description >
2020-09-09 21:53:24 +02:00
Adds a new radio check button and assigns a [Shortcut] to it. Sets the label of the checkbox to the [Shortcut]'s name.
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
2018-04-10 10:12:42 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "add_separator" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" default= """" />
<argument index= "1" name= "id" type= "int" default= "-1" />
2017-09-12 22:42:36 +02:00
<description >
2020-12-27 13:18:47 +01:00
Adds a separator between items. Separators also occupy an index, which you can set by using the [code]id[/code] parameter.
2020-12-03 15:36:03 +01:00
A [code]label[/code] can optionally be provided, which will appear at the center of the separator.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "shortcut" type= "Shortcut" />
<argument index= "1" name= "id" type= "int" default= "-1" />
<argument index= "2" name= "global" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2020-09-09 21:53:24 +02:00
Adds a [Shortcut].
2019-06-19 21:35:00 +02:00
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_submenu_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "label" type= "String" />
<argument index= "1" name= "submenu" type= "String" />
<argument index= "2" name= "id" type= "int" default= "-1" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Adds an item that will act as a submenu of the parent [PopupMenu] node when clicked. The [code]submenu[/code] argument is the name of the child [PopupMenu] node that will be shown when the item is clicked.
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "clear" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Removes all items from the [PopupMenu].
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "clear_item_opentype_features" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2020-08-12 13:49:10 +02:00
<description >
Removes all OpenType features form the item's text.
</description>
</method>
2020-05-11 13:23:39 +02:00
<method name= "get_current_index" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2020-05-11 13:23:39 +02:00
<description >
2021-07-08 06:55:35 +02:00
Returns the index of the currently focused item. Returns [code]-1[/code] if no item is focused.
2020-05-11 13:23:39 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_item_accelerator" qualifiers= "const" >
2021-08-13 23:31:57 +02:00
<return type= "int" enum= "Key" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the accelerator of the item at the given [code]index[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_item_icon" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Texture2D" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the icon of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_item_id" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the id of the item at the given [code]index[/code]. [code]id[/code] can be manually assigned, while index can not.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_item_index" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
<argument index= "0" name= "id" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the index of the item containing the specified [code]id[/code]. Index is automatically assigned to each item by the engine and can not be set manually.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "get_item_language" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2020-08-12 13:49:10 +02:00
<description >
Returns item's text language code.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_item_metadata" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Variant" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Returns the metadata of the specified item, which might be of any type. You can set it with [method set_item_metadata], which provides a simple way of assigning context data to items.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "get_item_opentype_feature" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "tag" type= "String" />
2020-08-12 13:49:10 +02:00
<description >
Returns OpenType feature [code]tag[/code] of the item's text.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_item_shortcut" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Shortcut" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the [Shortcut] associated with the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_item_submenu" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the submenu name of the item at the given [code]index[/code]. See [method add_submenu_item] for more info on how to add a submenu.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_item_text" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the text of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "get_item_text_direction" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Control.TextDirection" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2020-08-12 13:49:10 +02:00
<description >
Returns item's text base writing direction.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_item_tooltip" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns the tooltip associated with the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_item_checkable" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns [code]true[/code] if the item at the given [code]index[/code] is checkable in some way, i.e. if it has a checkbox or radio button.
2019-06-22 01:04:47 +02:00
[b]Note:[/b] Checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
2018-03-23 21:55:40 +01:00
</description>
</method>
2018-04-10 10:12:42 +02:00
<method name= "is_item_checked" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2018-03-23 21:55:40 +01:00
<description >
2021-12-08 13:02:42 +01:00
Returns [code]true[/code] if the item at the given [code]index[/code] is checked.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-04-10 10:12:42 +02:00
<method name= "is_item_disabled" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns [code]true[/code] if the item at the given [code]index[/code] is disabled. When it is disabled it can't be selected, or its action invoked.
2019-06-19 21:35:00 +02:00
See [method set_item_disabled] for more info on how to disable an item.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-04-10 10:12:42 +02:00
<method name= "is_item_radio_checkable" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Returns [code]true[/code] if the item at the given [code]index[/code] has radio button-style checkability.
2019-06-22 01:04:47 +02:00
[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_item_separator" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-19 21:35:00 +02:00
Returns [code]true[/code] if the item is a separator. If it is, it will be displayed as a line. See [method add_separator] for more info on how to add a separator.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-06-11 18:41:16 +02:00
<method name= "is_item_shortcut_disabled" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2018-06-11 18:41:16 +02:00
<description >
2020-01-02 02:08:19 +01:00
Returns [code]true[/code] if the specified item's shortcut is disabled.
2018-06-11 18:41:16 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "remove_item" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Removes the item at the given [code]index[/code] from the menu.
2019-06-22 01:04:47 +02:00
[b]Note:[/b] The indices of items after the removed item will be shifted by one.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-02-06 03:47:00 +01:00
<method name= "scroll_to_item" >
<return type= "void" />
<argument index= "0" name= "index" type= "int" />
<description >
Moves the scroll view to make the item at the given [code]index[/code] visible.
</description>
</method>
2022-01-20 12:44:27 +01:00
<method name= "set_current_index" >
<return type= "void" />
<argument index= "0" name= "index" type= "int" />
<description >
Sets the currently focused item as the given [code]index[/code].
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_item_accelerator" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-08-13 23:31:57 +02:00
<argument index= "1" name= "accel" type= "int" enum= "Key" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the accelerator of the item at the given [code]index[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_as_checkable" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "enable" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets whether the item at the given [code]index[/code] has a checkbox. If [code]false[/code], sets the type of the item to plain text.
2019-06-22 01:04:47 +02:00
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-03-23 21:55:40 +01:00
<method name= "set_item_as_radio_checkable" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "enable" type= "bool" />
2018-03-23 21:55:40 +01:00
<description >
2021-12-08 13:02:42 +01:00
Sets the type of the item at the given [code]index[/code] to radio button. If [code]false[/code], sets the type of the item to plain text.
2018-03-23 21:55:40 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_item_as_separator" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "enable" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Mark the item at the given [code]index[/code] as a separator, which means that it would be displayed as a line. If [code]false[/code], sets the type of the item to plain text.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_checked" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "checked" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the checkstate status of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_disabled" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "disabled" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Enables/disables the item at the given [code]index[/code]. When it is disabled, it can't be selected and its action can't be invoked.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_icon" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "icon" type= "Texture2D" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Replaces the [Texture2D] icon of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_id" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "id" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the [code]id[/code] of the item at the given [code]index[/code].
The [code]id[/code] is used in [signal id_pressed] and [signal id_focused] signals.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "set_item_language" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "language" type= "String" />
2020-08-12 13:49:10 +02:00
<description >
Sets language code of item's text used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_item_metadata" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "metadata" type= "Variant" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Sets the metadata of an item, which may be of any type. You can later get it with [method get_item_metadata], which provides a simple way of assigning context data to items.
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-12-14 00:07:39 +01:00
<method name= "set_item_multistate" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "state" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-03-18 12:04:28 +01:00
Sets the state of a multistate item. See [method add_multistate_item] for details.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "set_item_opentype_feature" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "tag" type= "String" />
<argument index= "2" name= "value" type= "int" />
2020-08-12 13:49:10 +02:00
<description >
Sets OpenType feature [code]tag[/code] for the item's text. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url].
</description>
</method>
2017-12-14 00:07:39 +01:00
<method name= "set_item_shortcut" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "shortcut" type= "Shortcut" />
<argument index= "2" name= "global" type= "bool" default= "false" />
2017-12-10 15:10:54 +01:00
<description >
2021-12-08 13:02:42 +01:00
Sets a [Shortcut] for the item at the given [code]index[/code].
2017-12-10 15:10:54 +01:00
</description>
</method>
2018-06-11 18:41:16 +02:00
<method name= "set_item_shortcut_disabled" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "disabled" type= "bool" />
2018-06-11 18:41:16 +02:00
<description >
2021-12-08 13:02:42 +01:00
Disables the [Shortcut] of the item at the given [code]index[/code].
2018-06-11 18:41:16 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_item_submenu" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "submenu" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the submenu of the item at the given [code]index[/code]. The submenu is the name of a child [PopupMenu] node that would be shown when the item is clicked.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_item_text" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "text" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the text of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-08-12 13:49:10 +02:00
<method name= "set_item_text_direction" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "direction" type= "int" enum= "Control.TextDirection" />
2020-08-12 13:49:10 +02:00
<description >
Sets item's text base writing direction.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_item_tooltip" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "tooltip" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Sets the [String] tooltip of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "toggle_item_checked" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-08 13:02:42 +01:00
Toggles the check state of the item at the given [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-12-12 03:37:37 +01:00
<method name= "toggle_item_multistate" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-12-08 13:02:42 +01:00
<argument index= "0" name= "index" type= "int" />
2017-12-10 15:10:54 +01:00
<description >
2021-03-18 12:04:28 +01:00
Cycle to the next state of a multistate item. See [method add_multistate_item] for details.
2017-12-10 15:10:54 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2020-05-20 15:29:37 +02:00
<member name= "allow_search" type= "bool" setter= "set_allow_search" getter= "get_allow_search" default= "true" >
2021-03-18 12:04:28 +01:00
If [code]true[/code], allows navigating [PopupMenu] with letter keys.
2019-06-01 12:34:29 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "hide_on_checkable_item_selection" type= "bool" setter= "set_hide_on_checkable_item_selection" getter= "is_hide_on_checkable_item_selection" default= "true" >
2019-06-19 21:35:00 +02:00
If [code]true[/code], hides the [PopupMenu] when a checkbox or radio button is selected.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "hide_on_item_selection" type= "bool" setter= "set_hide_on_item_selection" getter= "is_hide_on_item_selection" default= "true" >
2019-06-19 21:35:00 +02:00
If [code]true[/code], hides the [PopupMenu] when an item is selected.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "hide_on_state_item_selection" type= "bool" setter= "set_hide_on_state_item_selection" getter= "is_hide_on_state_item_selection" default= "false" >
2019-06-19 21:35:00 +02:00
If [code]true[/code], hides the [PopupMenu] when a state item is selected.
2018-01-11 23:38:35 +01:00
</member>
2021-12-07 04:09:31 +01:00
<member name= "item_count" type= "int" setter= "set_item_count" getter= "get_item_count" default= "0" >
2021-11-03 03:08:58 +01:00
The number of items currently in the list.
</member>
2019-06-29 12:38:01 +02:00
<member name= "submenu_popup_delay" type= "float" setter= "set_submenu_popup_delay" getter= "get_submenu_popup_delay" default= "0.3" >
2019-06-29 15:24:23 +02:00
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.
2018-07-09 14:16:06 +02:00
</member>
2017-09-12 22:42:36 +02:00
</members>
<signals >
2018-04-10 10:12:42 +02:00
<signal name= "id_focused" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "id" type= "int" />
2018-04-10 10:12:42 +02:00
<description >
2019-06-22 01:04:47 +02:00
Emitted when user navigated to an item of some [code]id[/code] using [code]ui_up[/code] or [code]ui_down[/code] action.
2018-04-10 10:12:42 +02:00
</description>
</signal>
2017-09-12 22:42:36 +02:00
<signal name= "id_pressed" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "id" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Emitted when an item of some [code]id[/code] is pressed or its accelerator is activated.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "index_pressed" >
2021-07-30 15:28:05 +02:00
<argument index= "0" name= "index" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Emitted when an item of some [code]index[/code] is pressed or its accelerator is activated.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<theme_items >
2021-08-04 18:54:41 +02:00
<theme_item name= "font_accelerator_color" data_type= "color" type= "Color" default= "Color(0.7, 0.7, 0.7, 0.8)" >
2020-01-27 02:15:37 +01:00
The text [Color] used for shortcuts and accelerators that show next to the menu item name when defined. See [method get_item_accelerator] for more info on accelerators.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-30 17:22:06 +01:00
<theme_item name= "font_color" data_type= "color" type= "Color" default= "Color(0.875, 0.875, 0.875, 1)" >
2021-01-28 11:26:37 +01:00
The default text [Color] for menu items' names.
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "font_disabled_color" data_type= "color" type= "Color" default= "Color(0.4, 0.4, 0.4, 0.8)" >
2020-01-27 02:15:37 +01:00
[Color] used for disabled menu items' text.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-30 17:22:06 +01:00
<theme_item name= "font_hover_color" data_type= "color" type= "Color" default= "Color(0.875, 0.875, 0.875, 1)" >
2020-01-27 02:15:37 +01:00
[Color] used for the hovered text.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "font_outline_color" data_type= "color" type= "Color" default= "Color(1, 1, 1, 1)" >
2020-12-25 22:45:28 +01:00
The tint of text outline of the menu item.
</theme_item>
2021-12-30 17:22:06 +01:00
<theme_item name= "font_separator_color" data_type= "color" type= "Color" default= "Color(0.875, 0.875, 0.875, 1)" >
2020-12-03 15:36:03 +01:00
[Color] used for labeled separators' text. See [method add_separator].
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "hseparation" data_type= "constant" type= "int" default= "4" >
2020-01-27 02:15:37 +01:00
The horizontal space between the item's name and the shortcut text/submenu arrow.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "item_end_padding" data_type= "constant" type= "int" default= "2" >
2021-02-19 13:35:31 +01:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "item_start_padding" data_type= "constant" type= "int" default= "2" >
2021-02-19 13:35:31 +01:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "outline_size" data_type= "constant" type= "int" default= "0" >
2020-12-25 22:45:28 +01:00
The size of the item text outline.
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "vseparation" data_type= "constant" type= "int" default= "4" >
The vertical space between each menu item.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "font" data_type= "font" type= "Font" >
[Font] used for the menu items.
</theme_item>
<theme_item name= "font_size" data_type= "font_size" type= "int" >
Font size of the menu items.
</theme_item>
<theme_item name= "checked" data_type= "icon" type= "Texture2D" >
[Texture2D] icon for the checked checkbox items.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "radio_checked" data_type= "icon" type= "Texture2D" >
2020-02-12 09:59:06 +01:00
[Texture2D] icon for the checked radio button items.
2018-04-10 10:12:42 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "radio_unchecked" data_type= "icon" type= "Texture2D" >
2020-02-12 09:59:06 +01:00
[Texture2D] icon for the unchecked radio button items.
2018-04-10 10:12:42 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "submenu" data_type= "icon" type= "Texture2D" >
2020-08-12 13:49:10 +02:00
[Texture2D] icon for the submenu arrow (for left-to-right layouts).
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "submenu_mirrored" data_type= "icon" type= "Texture2D" >
2020-08-12 13:49:10 +02:00
[Texture2D] icon for the submenu arrow (for right-to-left layouts).
2017-09-12 22:42:36 +02:00
</theme_item>
2021-08-04 18:54:41 +02:00
<theme_item name= "unchecked" data_type= "icon" type= "Texture2D" >
2020-02-12 09:59:06 +01:00
[Texture2D] icon for the unchecked checkbox items.
2017-09-12 22:42:36 +02:00
</theme_item>
2021-12-01 19:02:20 +01:00
<theme_item name= "hover" data_type= "style" type= "StyleBox" >
[StyleBox] displayed when the [PopupMenu] item is hovered.
</theme_item>
<theme_item name= "labeled_separator_left" data_type= "style" type= "StyleBox" >
[StyleBox] for the left side of labeled separator. See [method add_separator].
</theme_item>
<theme_item name= "labeled_separator_right" data_type= "style" type= "StyleBox" >
[StyleBox] for the right side of labeled separator. See [method add_separator].
</theme_item>
<theme_item name= "panel" data_type= "style" type= "StyleBox" >
Default [StyleBox] of the [PopupMenu] items.
</theme_item>
<theme_item name= "panel_disabled" data_type= "style" type= "StyleBox" >
[StyleBox] used when the [PopupMenu] item is disabled.
</theme_item>
<theme_item name= "separator" data_type= "style" type= "StyleBox" >
[StyleBox] used for the separators. See [method add_separator].
2017-09-12 22:42:36 +02:00
</theme_item>
</theme_items>
</class>