summaryrefslogtreecommitdiffstats
path: root/doc/classes/NativeMenu.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes/NativeMenu.xml')
-rw-r--r--doc/classes/NativeMenu.xml685
1 files changed, 685 insertions, 0 deletions
diff --git a/doc/classes/NativeMenu.xml b/doc/classes/NativeMenu.xml
new file mode 100644
index 0000000000..159666ded8
--- /dev/null
+++ b/doc/classes/NativeMenu.xml
@@ -0,0 +1,685 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="NativeMenu" inherits="Object" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ A server interface for OS native menus.
+ </brief_description>
+ <description>
+ [NativeMenu] handles low-level access to the OS native global menu bar and popup menus.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="add_check_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="label" type="String" />
+ <param index="2" name="callback" type="Callable" default="Callable()" />
+ <param index="3" name="key_callback" type="Callable" default="Callable()" />
+ <param index="4" name="tag" type="Variant" default="null" />
+ <param index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new checkable item with text [param label] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_icon_check_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="icon" type="Texture2D" />
+ <param index="2" name="label" type="String" />
+ <param index="3" name="callback" type="Callable" default="Callable()" />
+ <param index="4" name="key_callback" type="Callable" default="Callable()" />
+ <param index="5" name="tag" type="Variant" default="null" />
+ <param index="6" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="7" name="index" type="int" default="-1" />
+ <description>
+ Adds a new checkable item with text [param label] and icon [param icon] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_icon_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="icon" type="Texture2D" />
+ <param index="2" name="label" type="String" />
+ <param index="3" name="callback" type="Callable" default="Callable()" />
+ <param index="4" name="key_callback" type="Callable" default="Callable()" />
+ <param index="5" name="tag" type="Variant" default="null" />
+ <param index="6" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="7" name="index" type="int" default="-1" />
+ <description>
+ Adds a new item with text [param label] and icon [param icon] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_icon_radio_check_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="icon" type="Texture2D" />
+ <param index="2" name="label" type="String" />
+ <param index="3" name="callback" type="Callable" default="Callable()" />
+ <param index="4" name="key_callback" type="Callable" default="Callable()" />
+ <param index="5" name="tag" type="Variant" default="null" />
+ <param index="6" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="7" name="index" type="int" default="-1" />
+ <description>
+ Adds a new radio-checkable item with text [param label] and icon [param icon] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] Radio-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.
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="label" type="String" />
+ <param index="2" name="callback" type="Callable" default="Callable()" />
+ <param index="3" name="key_callback" type="Callable" default="Callable()" />
+ <param index="4" name="tag" type="Variant" default="null" />
+ <param index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new item with text [param label] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_multistate_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="label" type="String" />
+ <param index="2" name="max_states" type="int" />
+ <param index="3" name="default_state" type="int" />
+ <param index="4" name="callback" type="Callable" default="Callable()" />
+ <param index="5" name="key_callback" type="Callable" default="Callable()" />
+ <param index="6" name="tag" type="Variant" default="null" />
+ <param index="7" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="8" name="index" type="int" default="-1" />
+ <description>
+ Adds a new item with text [param label] to the global menu [param rid].
+ Contrarily to normal binary items, multistate items can have more than two states, as defined by [param max_states]. Each press or activate of the item will increase the state by one. The default value is defined by [param default_state].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] By default, there's no indication of the current item state, it should be changed manually.
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_radio_check_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="label" type="String" />
+ <param index="2" name="callback" type="Callable" default="Callable()" />
+ <param index="3" name="key_callback" type="Callable" default="Callable()" />
+ <param index="4" name="tag" type="Variant" default="null" />
+ <param index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <param index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new radio-checkable item with text [param label] to the global menu [param rid].
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ An [param accelerator] can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The [param accelerator] is generally a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] Radio-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.
+ [b]Note:[/b] The [param callback] and [param key_callback] Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to [param tag].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_separator">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="index" type="int" default="-1" />
+ <description>
+ Adds a separator between items to the global menu [param rid]. Separators also occupy an index.
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="add_submenu_item">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="label" type="String" />
+ <param index="2" name="submenu_rid" type="RID" />
+ <param index="3" name="tag" type="Variant" default="null" />
+ <param index="4" name="index" type="int" default="-1" />
+ <description>
+ Adds an item that will act as a submenu of the global menu [param rid]. The [param submenu_rid] argument is the RID of the global menu that will be shown when the item is clicked.
+ Returns index of the inserted item, it's not guaranteed to be the same as [param index] value.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="clear">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Removes all items from the global menu [param rid].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="create_menu">
+ <return type="RID" />
+ <description>
+ Creates a new global menu object.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="find_item_index_with_tag" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="tag" type="Variant" />
+ <description>
+ Returns the index of the item with the specified [param tag]. Index is automatically assigned to each item by the engine. Index can not be set manually.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="find_item_index_with_text" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="text" type="String" />
+ <description>
+ Returns the index of the item with the specified [param text]. Index is automatically assigned to each item by the engine. Index can not be set manually.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="free_menu">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Frees a global menu object created by this [NativeMenu].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_accelerator" qualifiers="const">
+ <return type="int" enum="Key" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the accelerator of the item at index [param idx]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_callback" qualifiers="const">
+ <return type="Callable" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the callback of the item at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_count" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns number of items in the global menu [param rid].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_icon" qualifiers="const">
+ <return type="Texture2D" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the icon of the item at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_indentation_level" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the horizontal offset of the item at the given [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_key_callback" qualifiers="const">
+ <return type="Callable" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the callback of the item accelerator at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_max_states" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns number of states of a multistate item. See [method add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_state" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the state of a multistate item. See [method add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_submenu" qualifiers="const">
+ <return type="RID" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the submenu ID of the item at index [param idx]. See [method add_submenu_item] for more info on how to add a submenu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_tag" qualifiers="const">
+ <return type="Variant" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the metadata of the specified item, which might be of any type. You can set it with [method set_item_tag], which provides a simple way of assigning context data to items.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_text" qualifiers="const">
+ <return type="String" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the text of the item at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_item_tooltip" qualifiers="const">
+ <return type="String" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns the tooltip associated with the specified index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_minimum_width" qualifiers="const">
+ <return type="float" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns global menu minimum width.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_popup_close_callback" qualifiers="const">
+ <return type="Callable" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns global menu close callback.
+ b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_popup_open_callback" qualifiers="const">
+ <return type="Callable" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns global menu open callback.
+ b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_size" qualifiers="const">
+ <return type="Vector2" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns global menu size.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_system_menu" qualifiers="const">
+ <return type="RID" />
+ <param index="0" name="menu_id" type="int" enum="NativeMenu.SystemMenus" />
+ <description>
+ Returns RID of a special system menu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="get_system_menu_name" qualifiers="const">
+ <return type="String" />
+ <param index="0" name="menu_id" type="int" enum="NativeMenu.SystemMenus" />
+ <description>
+ Returns readable name of a special system menu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="has_feature" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="feature" type="int" enum="NativeMenu.Feature" />
+ <description>
+ Returns [code]true[/code] if the specified [param feature] is supported by the current [NativeMenu], [code]false[/code] otherwise.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="has_menu" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Returns [code]true[/code] if [param rid] is valid global menu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="has_system_menu" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="menu_id" type="int" enum="NativeMenu.SystemMenus" />
+ <description>
+ Returns [code]true[/code] if a special system menu is supported.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_item_checkable" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [param idx] is checkable in some way, i.e. if it has a checkbox or radio button.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_item_checked" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [param idx] is checked.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_item_disabled" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [param idx] is disabled. When it is disabled it can't be selected, or its action invoked.
+ See [method set_item_disabled] for more info on how to disable an item.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_item_hidden" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [param idx] is hidden.
+ See [method set_item_hidden] for more info on how to hide an item.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_item_radio_checkable" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [param idx] has radio button-style checkability.
+ [b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="is_system_menu" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ Return [code]true[/code] is global menu is a special system menu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="popup">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="position" type="Vector2i" />
+ <description>
+ Shows the global menu at [param position] in the screen coordinates.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="remove_item">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <description>
+ Removes the item at index [param idx] from the global menu [param rid].
+ [b]Note:[/b] The indices of items after the removed item will be shifted by one.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_accelerator">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="keycode" type="int" enum="Key" />
+ <description>
+ Sets the accelerator of the item at index [param idx]. [param keycode] can be a single [enum Key], or a combination of [enum KeyModifierMask]s and [enum Key]s using bitwise OR such as [code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_callback">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="callback" type="Callable" />
+ <description>
+ Sets the callback of the item at index [param idx]. Callback is emitted when an item is pressed.
+ [b]Note:[/b] The [param callback] Callable needs to accept exactly one Variant parameter, the parameter passed to the Callable will be the value passed to the [code]tag[/code] parameter when the menu item was created.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_checkable">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="checkable" type="bool" />
+ <description>
+ Sets whether the item at index [param idx] has a checkbox. If [code]false[/code], sets the type of the item to plain text.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_checked">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="checked" type="bool" />
+ <description>
+ Sets the checkstate status of the item at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_disabled">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="disabled" type="bool" />
+ <description>
+ Enables/disables the item at index [param idx]. When it is disabled, it can't be selected and its action can't be invoked.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_hidden">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="hidden" type="bool" />
+ <description>
+ Hides/shows the item at index [param idx]. When it is hidden, an item does not appear in a menu and its action cannot be invoked.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_hover_callbacks">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="callback" type="Callable" />
+ <description>
+ Sets the callback of the item at index [param idx]. The callback is emitted when an item is hovered.
+ [b]Note:[/b] The [param callback] Callable needs to accept exactly one Variant parameter, the parameter passed to the Callable will be the value passed to the [code]tag[/code] parameter when the menu item was created.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_icon">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="icon" type="Texture2D" />
+ <description>
+ Replaces the [Texture2D] icon of the specified [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ [b]Note:[/b] This method is not supported by macOS "_dock" menu items.
+ </description>
+ </method>
+ <method name="set_item_indentation_level">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="level" type="int" />
+ <description>
+ Sets the horizontal offset of the item at the given [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_key_callback">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="key_callback" type="Callable" />
+ <description>
+ Sets the callback of the item at index [param idx]. Callback is emitted when its accelerator is activated.
+ [b]Note:[/b] The [param key_callback] Callable needs to accept exactly one Variant parameter, the parameter passed to the Callable will be the value passed to the [code]tag[/code] parameter when the menu item was created.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_max_states">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="max_states" type="int" />
+ <description>
+ Sets number of state of a multistate item. See [method add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_radio_checkable">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="checkable" type="bool" />
+ <description>
+ Sets the type of the item at the specified index [param idx] to radio button. If [code]false[/code], sets the type of the item to plain text.
+ [b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_state">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="state" type="int" />
+ <description>
+ Sets the state of a multistate item. See [method add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_submenu">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="submenu_rid" type="RID" />
+ <description>
+ Sets the submenu RID of the item at index [param idx]. The submenu is a global menu that would be shown when the item is clicked.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_tag">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="tag" type="Variant" />
+ <description>
+ Sets the metadata of an item, which may be of any type. You can later get it with [method get_item_tag], which provides a simple way of assigning context data to items.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_text">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="text" type="String" />
+ <description>
+ Sets the text of the item at index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_item_tooltip">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="idx" type="int" />
+ <param index="2" name="tooltip" type="String" />
+ <description>
+ Sets the [String] tooltip of the item at the specified index [param idx].
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_minimum_width">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="width" type="float" />
+ <description>
+ Sets the minimum width of the global menu.
+ [b]Note:[/b] This method is implemented only on macOS.
+ </description>
+ </method>
+ <method name="set_popup_close_callback">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="callback" type="Callable" />
+ <description>
+ Registers callable to emit when the menu is about to show.
+ </description>
+ </method>
+ <method name="set_popup_open_callback">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <param index="1" name="callback" type="Callable" />
+ <description>
+ Registers callable to emit when the menu is about to closed.
+ </description>
+ </method>
+ </methods>
+ <constants>
+ <constant name="FEATURE_GLOBAL_MENU" value="0" enum="Feature">
+ [NativeMenu] supports native global main menu.
+ </constant>
+ <constant name="FEATURE_POPUP_MENU" value="1" enum="Feature">
+ [NativeMenu] supports native popup menus.
+ </constant>
+ <constant name="INVALID_MENU_ID" value="0" enum="SystemMenus">
+ Invalid special system menu ID.
+ </constant>
+ <constant name="MAIN_MENU_ID" value="1" enum="SystemMenus">
+ Global main menu ID.
+ </constant>
+ <constant name="APPLICATION_MENU_ID" value="2" enum="SystemMenus">
+ Application (first menu after "Apple" menu on macOS) menu ID.
+ </constant>
+ <constant name="WINDOW_MENU_ID" value="3" enum="SystemMenus">
+ "Window" menu ID (on macOS this menu includes standard window control items and a list of open windows).
+ </constant>
+ <constant name="HELP_MENU_ID" value="4" enum="SystemMenus">
+ "Help" menu ID (on macOS this menu includes help search bar).
+ </constant>
+ <constant name="DOCK_MENU_ID" value="5" enum="SystemMenus">
+ Dock icon right-click menu ID (on macOS this menu include standard application control items and a list of open windows).
+ </constant>
+ </constants>
+</class>