mirror of
https://github.com/godotengine/godot.git
synced 2024-11-22 12:12:28 +00:00
760 lines
37 KiB
XML
760 lines
37 KiB
XML
<?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.
|
|
[b]Note:[/b] This is low-level API, consider using [MenuBar] with [member MenuBar.prefer_global_menu] set to [code]true[/code], and [PopupMenu] with [member PopupMenu.prefer_native_menu] set to [code]true[/code].
|
|
To create a menu, use [method create_menu], add menu items using [code]add_*_item[/code] methods. To remove a menu, use [method free_menu].
|
|
[codeblock]
|
|
var menu
|
|
|
|
func _menu_callback(item_id):
|
|
if item_id == "ITEM_CUT":
|
|
cut()
|
|
elif item_id == "ITEM_COPY":
|
|
copy()
|
|
elif item_id == "ITEM_PASTE":
|
|
paste()
|
|
|
|
func _enter_tree():
|
|
# Create new menu and add items:
|
|
menu = NativeMenu.create_menu()
|
|
NativeMenu.add_item(menu, "Cut", _menu_callback, Callable(), "ITEM_CUT")
|
|
NativeMenu.add_item(menu, "Copy", _menu_callback, Callable(), "ITEM_COPY")
|
|
NativeMenu.add_separator(menu)
|
|
NativeMenu.add_item(menu, "Paste", _menu_callback, Callable(), "ITEM_PASTE")
|
|
|
|
func _on_button_pressed():
|
|
# Show popup menu at mouse position:
|
|
NativeMenu.popup(menu, DisplayServer.mouse_get_position())
|
|
|
|
func _exit_tree():
|
|
# Remove menu when it's no longer needed:
|
|
NativeMenu.free_menu(menu)
|
|
[/codeblock]
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
[b]Note:[/b] On Windows, [param accelerator] and [param key_callback] are ignored.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</description>
|
|
</method>
|
|
<method name="create_menu">
|
|
<return type="RID" />
|
|
<description>
|
|
Creates a new global menu object.
|
|
[b]Note:[/b] This method is implemented on macOS and Windows.
|
|
</description>
|
|
</method>
|
|
<method name="find_item_index_with_submenu" qualifiers="const">
|
|
<return type="int" />
|
|
<param index="0" name="rid" type="RID" />
|
|
<param index="1" name="submenu_rid" type="RID" />
|
|
<description>
|
|
Returns the index of the item with the submenu specified by [param submenu_rid]. Indices are automatically assigned to each item by the engine, and cannot be set manually.
|
|
[b]Note:[/b] This method is implemented on macOS and Windows.
|
|
</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]. Indices are automatically assigned to each item by the engine, and cannot be set manually.
|
|
[b]Note:[/b] This method is implemented on macOS and Windows.
|
|
</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]. Indices are automatically assigned to each item by the engine, and cannot be set manually.
|
|
[b]Note:[/b] This method is implemented on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</description>
|
|
</method>
|
|
<method name="is_opened" qualifiers="const">
|
|
<return type="bool" />
|
|
<param index="0" name="rid" type="RID" />
|
|
<description>
|
|
Returns [code]true[/code] if the menu is currently opened.
|
|
[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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</description>
|
|
</method>
|
|
<method name="set_interface_direction">
|
|
<return type="void" />
|
|
<param index="0" name="rid" type="RID" />
|
|
<param index="1" name="is_rtl" type="bool" />
|
|
<description>
|
|
Sets the menu text layout direction from right-to-left if [param is_rtl] is [code]true[/code].
|
|
[b]Note:[/b] This method is implemented on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
[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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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 on macOS and Windows.
|
|
</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.
|
|
[b]Note:[/b] The OS can simulate menu opening to track menu item changes and global shortcuts, in which case the corresponding close callback is not triggered. Use [method is_opened] to check if the menu is currently opened.
|
|
[b]Note:[/b] This method is implemented only on macOS.
|
|
</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 after the menu is closed.
|
|
[b]Note:[/b] This method is implemented only on macOS.
|
|
</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="FEATURE_OPEN_CLOSE_CALLBACK" value="2" enum="Feature">
|
|
[NativeMenu] supports menu open and close callbacks.
|
|
</constant>
|
|
<constant name="FEATURE_HOVER_CALLBACK" value="3" enum="Feature">
|
|
[NativeMenu] supports menu item hover callback.
|
|
</constant>
|
|
<constant name="FEATURE_KEY_CALLBACK" value="4" enum="Feature">
|
|
[NativeMenu] supports menu item accelerator/key callback.
|
|
</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>
|