2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 10:33:56 +00:00
<class name= "PopupMenu" inherits= "Popup" category= "Core" version= "3.2" >
2017-09-12 20:42:36 +00:00
<brief_description >
PopupMenu displays a list of options.
</brief_description>
<description >
PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_check_item" >
<return type= "void" >
</return>
<argument index= "0" name= "label" type= "String" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "accel" type= "int" default= "0" >
</argument>
<description >
2019-06-21 23:04:47 +00: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.
[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 20:42:36 +00:00
</description>
</method>
<method name= "add_check_shortcut" >
<return type= "void" >
</return>
<argument index= "0" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "global" type= "bool" default= "false" >
</argument>
<description >
</description>
</method>
<method name= "add_icon_check_item" >
<return type= "void" >
</return>
<argument index= "0" name= "texture" type= "Texture" >
</argument>
<argument index= "1" name= "label" type= "String" >
</argument>
<argument index= "2" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "3" name= "accel" type= "int" default= "0" >
</argument>
<description >
2019-06-21 23:04:47 +00: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.
[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 20:42:36 +00:00
</description>
</method>
<method name= "add_icon_check_shortcut" >
<return type= "void" >
</return>
<argument index= "0" name= "texture" type= "Texture" >
</argument>
<argument index= "1" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "2" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "3" name= "global" type= "bool" default= "false" >
</argument>
<description >
</description>
</method>
<method name= "add_icon_item" >
<return type= "void" >
</return>
<argument index= "0" name= "texture" type= "Texture" >
</argument>
<argument index= "1" name= "label" type= "String" >
</argument>
<argument index= "2" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "3" name= "accel" type= "int" default= "0" >
</argument>
<description >
2019-06-21 23:04:47 +00: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 keybinding ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "add_icon_shortcut" >
<return type= "void" >
</return>
<argument index= "0" name= "texture" type= "Texture" >
</argument>
<argument index= "1" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "2" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "3" name= "global" type= "bool" default= "false" >
</argument>
<description >
</description>
</method>
<method name= "add_item" >
<return type= "void" >
</return>
<argument index= "0" name= "label" type= "String" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "accel" type= "int" default= "0" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Adds a new item with text [code]label[/code]. An [code]id[/code] can optionally be provided, as well as an accelerator keybinding ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
2017-09-12 20:42:36 +00:00
</description>
</method>
2018-04-10 08:12:42 +00:00
<method name= "add_radio_check_item" >
<return type= "void" >
</return>
<argument index= "0" name= "label" type= "String" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "accel" type= "int" default= "0" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
The same as [method add_check_item], but the inserted item will look as a radio button.
[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
2018-04-10 08:12:42 +00:00
</description>
</method>
<method name= "add_radio_check_shortcut" >
<return type= "void" >
</return>
<argument index= "0" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "global" type= "bool" default= "false" >
</argument>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "add_separator" >
<return type= "void" >
</return>
2018-07-26 09:56:21 +00:00
<argument index= "0" name= "label" type= "String" default= """" >
</argument>
2017-09-12 20:42:36 +00:00
<description >
2019-06-21 23:04:47 +00:00
Adds a separator between items. Separators also occupy an index.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "add_shortcut" >
<return type= "void" >
</return>
<argument index= "0" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "1" name= "id" type= "int" default= "-1" >
</argument>
<argument index= "2" name= "global" type= "bool" default= "false" >
</argument>
<description >
</description>
</method>
<method name= "add_submenu_item" >
<return type= "void" >
</return>
<argument index= "0" name= "label" type= "String" >
</argument>
<argument index= "1" name= "submenu" type= "String" >
</argument>
<argument index= "2" name= "id" type= "int" default= "-1" >
</argument>
<description >
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.
</description>
</method>
<method name= "clear" >
<return type= "void" >
</return>
<description >
Clear the popup menu, in effect removing all items.
</description>
</method>
<method name= "get_item_accelerator" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_count" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2019-05-24 02:15:43 +00:00
Returns the amount of items.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_icon" qualifiers= "const" >
<return type= "Texture" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns the icon of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_id" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns the id of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_index" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "id" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Finds and return the index of the item containing a given [code]id[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_metadata" qualifiers= "const" >
<return type= "Variant" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the metadata of an 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 20:42:36 +00:00
</description>
</method>
<method name= "get_item_shortcut" qualifiers= "const" >
<return type= "ShortCut" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "get_item_submenu" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns the submenu name of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_text" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns the text of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_item_tooltip" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
2018-08-20 22:35:30 +00:00
<method name= "is_hide_on_window_lose_focus" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "is_item_checkable" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns [code]true[/code] if the item at index [code]idx[/code] is checkable in some way, i.e. if it has a checkbox or radio button.
[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 20:55:40 +00:00
</description>
</method>
2018-04-10 08:12:42 +00:00
<method name= "is_item_checked" qualifiers= "const" >
2018-03-23 20:55:40 +00:00
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns [code]true[/code] if the item at index [code]idx[/code] is checked.
2017-09-12 20:42:36 +00:00
</description>
</method>
2018-04-10 08:12:42 +00:00
<method name= "is_item_disabled" qualifiers= "const" >
2017-09-12 20:42:36 +00:00
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns [code]true[/code] if the item at index [code]idx[/code] is disabled. When it is disabled it can't be selected, or its action invoked.
2017-09-12 20:42:36 +00:00
</description>
</method>
2018-04-10 08:12:42 +00:00
<method name= "is_item_radio_checkable" qualifiers= "const" >
2017-09-12 20:42:36 +00:00
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns [code]true[/code] if the item at index [code]idx[/code] has radio-button-style checkability.
[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "is_item_separator" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Returns [code]true[/code] if the item is a separator. If it is, it will be displayed as a line.
2017-09-12 20:42:36 +00:00
</description>
</method>
2018-06-11 16:41:16 +00:00
<method name= "is_item_shortcut_disabled" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "remove_item" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Removes the item at index [code]idx[/code] from the menu.
[b]Note:[/b] The indices of items after the removed item will be shifted by one.
2017-09-12 20:42:36 +00:00
</description>
</method>
2018-08-20 22:35:30 +00:00
<method name= "set_hide_on_window_lose_focus" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "set_item_accelerator" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "accel" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_as_checkable" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets whether the item at index [code]idx[/code] has a checkbox.
[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 20:42:36 +00:00
</description>
</method>
2018-03-23 20:55:40 +00:00
<method name= "set_item_as_radio_checkable" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
The same as [method set_item_as_checkable] but placing a radio button in case of enabling. If used for disabling, it's the same.
Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "set_item_as_separator" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Mark the item at index [code]idx[/code] as a separator, which means that it would be displayed as a line.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_checked" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "checked" type= "bool" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the checkstate status of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_disabled" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "disabled" type= "bool" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets whether the item at index [code]idx[/code] is disabled or not. When it is disabled, it can't be selected and its action can't be invoked.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_icon" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "icon" type= "Texture" >
</argument>
<description >
</description>
</method>
<method name= "set_item_id" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "id" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the [code]id[/code] of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_metadata" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "metadata" type= "Variant" >
</argument>
<description >
2019-06-21 23:04:47 +00: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 20:42:36 +00:00
</description>
</method>
2017-12-13 23:07:39 +00:00
<method name= "set_item_multistate" >
2017-09-12 20:42:36 +00:00
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
2017-12-13 23:07:39 +00:00
<argument index= "1" name= "state" type= "int" >
2017-09-12 20:42:36 +00:00
</argument>
<description >
</description>
</method>
2017-12-13 23:07:39 +00:00
<method name= "set_item_shortcut" >
2017-12-10 14:10:54 +00:00
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
2017-12-13 23:07:39 +00:00
<argument index= "1" name= "shortcut" type= "ShortCut" >
</argument>
<argument index= "2" name= "global" type= "bool" default= "false" >
2017-12-10 14:10:54 +00:00
</argument>
<description >
</description>
</method>
2018-06-11 16:41:16 +00:00
<method name= "set_item_shortcut_disabled" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "disabled" type= "bool" >
</argument>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "set_item_submenu" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "submenu" type= "String" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the submenu of the item at index [code]idx[/code]. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_text" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "text" type= "String" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the text of the item at index [code]idx[/code].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_item_tooltip" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<argument index= "1" name= "tooltip" type= "String" >
</argument>
<description >
</description>
</method>
<method name= "toggle_item_checked" >
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
2017-12-12 02:37:37 +00:00
<method name= "toggle_item_multistate" >
2017-12-10 14:10:54 +00:00
<return type= "void" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
</methods>
<members >
2019-06-01 10:34:29 +00:00
<member name= "allow_search" type= "bool" setter= "set_allow_search" getter= "get_allow_search" >
If [code]true[/code], allows to navigate [PopupMenu] with letter keys. Default value: [code]false[/code].
</member>
2017-09-13 06:49:40 +00:00
<member name= "hide_on_checkable_item_selection" type= "bool" setter= "set_hide_on_checkable_item_selection" getter= "is_hide_on_checkable_item_selection" >
2017-09-12 20:42:36 +00:00
</member>
2017-09-13 06:49:40 +00:00
<member name= "hide_on_item_selection" type= "bool" setter= "set_hide_on_item_selection" getter= "is_hide_on_item_selection" >
2017-09-12 20:42:36 +00:00
</member>
2018-01-11 22:38:35 +00:00
<member name= "hide_on_state_item_selection" type= "bool" setter= "set_hide_on_state_item_selection" getter= "is_hide_on_state_item_selection" >
</member>
2018-07-26 09:56:21 +00:00
<member name= "submenu_popup_delay" type= "float" setter= "set_submenu_popup_delay" getter= "get_submenu_popup_delay" >
2018-07-09 12:16:06 +00:00
Sets the delay time 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. Default value: [code]0.3[/code] seconds.
</member>
2017-09-12 20:42:36 +00:00
</members>
<signals >
2018-04-10 08:12:42 +00:00
<signal name= "id_focused" >
2019-05-15 10:51:58 +00:00
<argument index= "0" name= "id" type= "int" >
2018-04-10 08:12:42 +00:00
</argument>
<description >
2019-06-21 23:04:47 +00: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 08:12:42 +00:00
</description>
</signal>
2017-09-12 20:42:36 +00:00
<signal name= "id_pressed" >
2019-05-15 10:51:58 +00:00
<argument index= "0" name= "id" type= "int" >
2017-09-12 20:42:36 +00:00
</argument>
<description >
2019-06-21 23:04:47 +00:00
Emitted when an item of some [code]id[/code] is pressed or its accelerator is activated.
2017-09-12 20:42:36 +00:00
</description>
</signal>
<signal name= "index_pressed" >
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Emitted when an item of some [code]index[/code] is pressed or its accelerator is activated.
2017-09-12 20:42:36 +00:00
</description>
</signal>
</signals>
<constants >
</constants>
<theme_items >
<theme_item name= "checked" type= "Texture" >
</theme_item>
<theme_item name= "font" type= "Font" >
</theme_item>
<theme_item name= "font_color" type= "Color" >
</theme_item>
<theme_item name= "font_color_accel" type= "Color" >
</theme_item>
<theme_item name= "font_color_disabled" type= "Color" >
</theme_item>
<theme_item name= "font_color_hover" type= "Color" >
</theme_item>
<theme_item name= "hover" type= "StyleBox" >
</theme_item>
<theme_item name= "hseparation" type= "int" >
</theme_item>
2018-07-26 09:56:21 +00:00
<theme_item name= "labeled_separator_left" type= "StyleBox" >
</theme_item>
<theme_item name= "labeled_separator_right" type= "StyleBox" >
</theme_item>
2017-09-12 20:42:36 +00:00
<theme_item name= "panel" type= "StyleBox" >
</theme_item>
<theme_item name= "panel_disabled" type= "StyleBox" >
</theme_item>
2018-04-10 08:12:42 +00:00
<theme_item name= "radio_checked" type= "Texture" >
</theme_item>
<theme_item name= "radio_unchecked" type= "Texture" >
</theme_item>
2017-09-12 20:42:36 +00:00
<theme_item name= "separator" type= "StyleBox" >
</theme_item>
<theme_item name= "submenu" type= "Texture" >
</theme_item>
<theme_item name= "unchecked" type= "Texture" >
</theme_item>
<theme_item name= "vseparation" type= "int" >
</theme_item>
</theme_items>
</class>