Documentation
¶
Overview ¶
Package NativeMenu provides methods for working with NativeMenu object instances.
Index ¶
- func AddCheckItem(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddCheckItemOptions(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddIconCheckItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddIconCheckItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddIconItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddIconItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddIconRadioCheckItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddIconRadioCheckItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, ...) int
- func AddItem(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddItemOptions(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddMultistateItem(rid RID.NativeMenu, label string, max_states int, default_state int, ...) int
- func AddMultistateItemOptions(rid RID.NativeMenu, label string, max_states int, default_state int, ...) int
- func AddRadioCheckItem(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddRadioCheckItemOptions(rid RID.NativeMenu, label string, callback func(tag any), ...) int
- func AddSeparator(rid RID.NativeMenu) int
- func AddSeparatorOptions(rid RID.NativeMenu, index int) int
- func AddSubmenuItem(rid RID.NativeMenu, label string, submenu_rid RID.NativeMenu, tag any) int
- func AddSubmenuItemOptions(rid RID.NativeMenu, label string, submenu_rid RID.NativeMenu, tag any, ...) int
- func Advanced() class
- func Clear(rid RID.NativeMenu)
- func CreateMenu() RID.NativeMenu
- func FindItemIndexWithSubmenu(rid RID.NativeMenu, submenu_rid RID.NativeMenu) int
- func FindItemIndexWithTag(rid RID.NativeMenu, tag any) int
- func FindItemIndexWithText(rid RID.NativeMenu, text string) int
- func FreeMenu(rid RID.NativeMenu)
- func GetItemAccelerator(rid RID.NativeMenu, idx int) Input.Key
- func GetItemCallback(rid RID.NativeMenu, idx int) Callable.Function
- func GetItemCount(rid RID.NativeMenu) int
- func GetItemIcon(rid RID.NativeMenu, idx int) Texture2D.Instance
- func GetItemIndentationLevel(rid RID.NativeMenu, idx int) int
- func GetItemKeyCallback(rid RID.NativeMenu, idx int) Callable.Function
- func GetItemMaxStates(rid RID.NativeMenu, idx int) int
- func GetItemState(rid RID.NativeMenu, idx int) int
- func GetItemSubmenu(rid RID.NativeMenu, idx int) RID.NativeMenu
- func GetItemTag(rid RID.NativeMenu, idx int) any
- func GetItemText(rid RID.NativeMenu, idx int) string
- func GetItemTooltip(rid RID.NativeMenu, idx int) string
- func GetMinimumWidth(rid RID.NativeMenu) Float.X
- func GetPopupCloseCallback(rid RID.NativeMenu) Callable.Function
- func GetPopupOpenCallback(rid RID.NativeMenu) Callable.Function
- func GetSize(rid RID.NativeMenu) Vector2.XY
- func GetSystemMenu(menu_id SystemMenus) RID.NativeMenu
- func GetSystemMenuName(menu_id SystemMenus) string
- func HasFeature(feature Feature) bool
- func HasMenu(rid RID.NativeMenu) bool
- func HasSystemMenu(menu_id SystemMenus) bool
- func IsItemCheckable(rid RID.NativeMenu, idx int) bool
- func IsItemChecked(rid RID.NativeMenu, idx int) bool
- func IsItemDisabled(rid RID.NativeMenu, idx int) bool
- func IsItemHidden(rid RID.NativeMenu, idx int) bool
- func IsItemRadioCheckable(rid RID.NativeMenu, idx int) bool
- func IsOpened(rid RID.NativeMenu) bool
- func IsSystemMenu(rid RID.NativeMenu) bool
- func Popup(rid RID.NativeMenu, position Vector2i.XY)
- func RemoveItem(rid RID.NativeMenu, idx int)
- func SetInterfaceDirection(rid RID.NativeMenu, is_rtl bool)
- func SetItemAccelerator(rid RID.NativeMenu, idx int, keycode Input.Key)
- func SetItemCallback(rid RID.NativeMenu, idx int, callback func(tag any))
- func SetItemCheckable(rid RID.NativeMenu, idx int, checkable bool)
- func SetItemChecked(rid RID.NativeMenu, idx int, checked bool)
- func SetItemDisabled(rid RID.NativeMenu, idx int, disabled bool)
- func SetItemHidden(rid RID.NativeMenu, idx int, hidden bool)
- func SetItemHoverCallbacks(rid RID.NativeMenu, idx int, callback func(tag any))
- func SetItemIcon(rid RID.NativeMenu, idx int, icon Texture2D.Instance)
- func SetItemIndentationLevel(rid RID.NativeMenu, idx int, level int)
- func SetItemKeyCallback(rid RID.NativeMenu, idx int, key_callback func(tag any))
- func SetItemMaxStates(rid RID.NativeMenu, idx int, max_states int)
- func SetItemRadioCheckable(rid RID.NativeMenu, idx int, checkable bool)
- func SetItemState(rid RID.NativeMenu, idx int, state int)
- func SetItemSubmenu(rid RID.NativeMenu, idx int, submenu_rid RID.NativeMenu)
- func SetItemTag(rid RID.NativeMenu, idx int, tag any)
- func SetItemText(rid RID.NativeMenu, idx int, text string)
- func SetItemTooltip(rid RID.NativeMenu, idx int, tooltip string)
- func SetMinimumWidth(rid RID.NativeMenu, width Float.X)
- func SetPopupCloseCallback(rid RID.NativeMenu, callback func())
- func SetPopupOpenCallback(rid RID.NativeMenu, callback func())
- type Extension
- type Feature
- type ID
- type Instance
- type SystemMenus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddCheckItem ¶
func AddCheckItem(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddCheckItemOptions ¶
func AddCheckItemOptions(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddIconCheckItem ¶
func AddIconCheckItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddIconCheckItemOptions ¶
func AddIconCheckItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddIconItem ¶
func AddIconItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddIconItemOptions ¶
func AddIconItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddIconRadioCheckItem ¶
func AddIconRadioCheckItem(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddIconRadioCheckItemOptions ¶
func AddIconRadioCheckItemOptions(rid RID.NativeMenu, icon Texture2D.Instance, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddItem ¶
func AddItem(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddItemOptions ¶
func AddItemOptions(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddMultistateItem ¶
func AddMultistateItem(rid RID.NativeMenu, label string, max_states int, default_state int, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddMultistateItemOptions ¶
func AddMultistateItemOptions(rid RID.NativeMenu, label string, max_states int, default_state int, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddRadioCheckItem ¶
func AddRadioCheckItem(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key) int
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.
func AddRadioCheckItemOptions ¶
func AddRadioCheckItemOptions(rid RID.NativeMenu, label string, callback func(tag any), key_callback func(tag any), tag any, accelerator Input.Key, index int) int
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.
func AddSeparator ¶
func AddSeparator(rid RID.NativeMenu) int
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.
func AddSeparatorOptions ¶
func AddSeparatorOptions(rid RID.NativeMenu, index int) int
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.
func AddSubmenuItem ¶
func AddSubmenuItem(rid RID.NativeMenu, label string, submenu_rid RID.NativeMenu, tag any) int
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.
func AddSubmenuItemOptions ¶
func AddSubmenuItemOptions(rid RID.NativeMenu, label string, submenu_rid RID.NativeMenu, tag any, index int) int
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.
func Advanced ¶
func Advanced() class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
func Clear ¶
func Clear(rid RID.NativeMenu)
Removes all items from the global menu [param rid]. [b]Note:[/b] This method is implemented on macOS and Windows.
func CreateMenu ¶
func CreateMenu() RID.NativeMenu
Creates a new global menu object. [b]Note:[/b] This method is implemented on macOS and Windows.
func FindItemIndexWithSubmenu ¶
func FindItemIndexWithSubmenu(rid RID.NativeMenu, submenu_rid RID.NativeMenu) int
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.
func FindItemIndexWithTag ¶
func FindItemIndexWithTag(rid RID.NativeMenu, tag any) int
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.
func FindItemIndexWithText ¶
func FindItemIndexWithText(rid RID.NativeMenu, text string) int
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.
func FreeMenu ¶
func FreeMenu(rid RID.NativeMenu)
Frees a global menu object created by this [NativeMenu]. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetItemAccelerator ¶
func GetItemAccelerator(rid RID.NativeMenu, idx int) Input.Key
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.
func GetItemCallback ¶
func GetItemCallback(rid RID.NativeMenu, idx int) Callable.Function
Returns the callback of the item at index [param idx]. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetItemCount ¶
func GetItemCount(rid RID.NativeMenu) int
Returns number of items in the global menu [param rid]. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetItemIcon ¶
func GetItemIcon(rid RID.NativeMenu, idx int) Texture2D.Instance
Returns the icon of the item at index [param idx]. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetItemIndentationLevel ¶
func GetItemIndentationLevel(rid RID.NativeMenu, idx int) int
Returns the horizontal offset of the item at the given [param idx]. [b]Note:[/b] This method is implemented only on macOS.
func GetItemKeyCallback ¶
func GetItemKeyCallback(rid RID.NativeMenu, idx int) Callable.Function
Returns the callback of the item accelerator at index [param idx]. [b]Note:[/b] This method is implemented only on macOS.
func GetItemMaxStates ¶
func GetItemMaxStates(rid RID.NativeMenu, idx int) int
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.
func GetItemState ¶
func GetItemState(rid RID.NativeMenu, idx int) int
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.
func GetItemSubmenu ¶
func GetItemSubmenu(rid RID.NativeMenu, idx int) RID.NativeMenu
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.
func GetItemTag ¶
func GetItemTag(rid RID.NativeMenu, idx int) any
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.
func GetItemText ¶
func GetItemText(rid RID.NativeMenu, idx int) string
Returns the text of the item at index [param idx]. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetItemTooltip ¶
func GetItemTooltip(rid RID.NativeMenu, idx int) string
Returns the tooltip associated with the specified index [param idx]. [b]Note:[/b] This method is implemented only on macOS.
func GetMinimumWidth ¶
func GetMinimumWidth(rid RID.NativeMenu) Float.X
Returns global menu minimum width. [b]Note:[/b] This method is implemented only on macOS.
func GetPopupCloseCallback ¶
func GetPopupCloseCallback(rid RID.NativeMenu) Callable.Function
Returns global menu close callback. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetPopupOpenCallback ¶
func GetPopupOpenCallback(rid RID.NativeMenu) Callable.Function
Returns global menu open callback. b]Note:[/b] This method is implemented only on macOS.
func GetSize ¶
func GetSize(rid RID.NativeMenu) Vector2.XY
Returns global menu size. [b]Note:[/b] This method is implemented on macOS and Windows.
func GetSystemMenu ¶
func GetSystemMenu(menu_id SystemMenus) RID.NativeMenu
Returns RID of a special system menu. [b]Note:[/b] This method is implemented only on macOS.
func GetSystemMenuName ¶
func GetSystemMenuName(menu_id SystemMenus) string
Returns readable name of a special system menu. [b]Note:[/b] This method is implemented only on macOS.
func HasFeature ¶
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.
func HasMenu ¶
func HasMenu(rid RID.NativeMenu) bool
Returns [code]true[/code] if [param rid] is valid global menu. [b]Note:[/b] This method is implemented on macOS and Windows.
func HasSystemMenu ¶
func HasSystemMenu(menu_id SystemMenus) bool
Returns [code]true[/code] if a special system menu is supported. [b]Note:[/b] This method is implemented only on macOS.
func IsItemCheckable ¶
func IsItemCheckable(rid RID.NativeMenu, idx int) bool
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.
func IsItemChecked ¶
func IsItemChecked(rid RID.NativeMenu, idx int) bool
Returns [code]true[/code] if the item at index [param idx] is checked. [b]Note:[/b] This method is implemented on macOS and Windows.
func IsItemDisabled ¶
func IsItemDisabled(rid RID.NativeMenu, idx int) bool
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.
func IsItemHidden ¶
func IsItemHidden(rid RID.NativeMenu, idx int) bool
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.
func IsItemRadioCheckable ¶
func IsItemRadioCheckable(rid RID.NativeMenu, idx int) bool
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.
func IsOpened ¶
func IsOpened(rid RID.NativeMenu) bool
Returns [code]true[/code] if the menu is currently opened. [b]Note:[/b] This method is implemented only on macOS.
func IsSystemMenu ¶
func IsSystemMenu(rid RID.NativeMenu) bool
Return [code]true[/code] is global menu is a special system menu. [b]Note:[/b] This method is implemented only on macOS.
func Popup ¶
func Popup(rid RID.NativeMenu, position Vector2i.XY)
Shows the global menu at [param position] in the screen coordinates. [b]Note:[/b] This method is implemented on macOS and Windows.
func RemoveItem ¶
func RemoveItem(rid RID.NativeMenu, idx int)
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.
func SetInterfaceDirection ¶
func SetInterfaceDirection(rid RID.NativeMenu, is_rtl bool)
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.
func SetItemAccelerator ¶
func SetItemAccelerator(rid RID.NativeMenu, idx int, keycode Input.Key)
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.
func SetItemCallback ¶
func SetItemCallback(rid RID.NativeMenu, idx int, callback func(tag any))
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.
func SetItemCheckable ¶
func SetItemCheckable(rid RID.NativeMenu, idx int, checkable bool)
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.
func SetItemChecked ¶
func SetItemChecked(rid RID.NativeMenu, idx int, checked bool)
Sets the checkstate status of the item at index [param idx]. [b]Note:[/b] This method is implemented on macOS and Windows.
func SetItemDisabled ¶
func SetItemDisabled(rid RID.NativeMenu, idx int, disabled bool)
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.
func SetItemHidden ¶
func SetItemHidden(rid RID.NativeMenu, idx int, hidden bool)
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.
func SetItemHoverCallbacks ¶
func SetItemHoverCallbacks(rid RID.NativeMenu, idx int, callback func(tag any))
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.
func SetItemIcon ¶
func SetItemIcon(rid RID.NativeMenu, idx int, icon Texture2D.Instance)
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.
func SetItemIndentationLevel ¶
func SetItemIndentationLevel(rid RID.NativeMenu, idx int, level int)
Sets the horizontal offset of the item at the given [param idx]. [b]Note:[/b] This method is implemented only on macOS.
func SetItemKeyCallback ¶
func SetItemKeyCallback(rid RID.NativeMenu, idx int, key_callback func(tag any))
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.
func SetItemMaxStates ¶
func SetItemMaxStates(rid RID.NativeMenu, idx int, max_states int)
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.
func SetItemRadioCheckable ¶
func SetItemRadioCheckable(rid RID.NativeMenu, idx int, checkable bool)
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.
func SetItemState ¶
func SetItemState(rid RID.NativeMenu, idx int, state int)
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.
func SetItemSubmenu ¶
func SetItemSubmenu(rid RID.NativeMenu, idx int, submenu_rid RID.NativeMenu)
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.
func SetItemTag ¶
func SetItemTag(rid RID.NativeMenu, idx int, tag any)
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.
func SetItemText ¶
func SetItemText(rid RID.NativeMenu, idx int, text string)
Sets the text of the item at index [param idx]. [b]Note:[/b] This method is implemented on macOS and Windows.
func SetItemTooltip ¶
func SetItemTooltip(rid RID.NativeMenu, idx int, tooltip string)
Sets the [String] tooltip of the item at the specified index [param idx]. [b]Note:[/b] This method is implemented only on macOS.
func SetMinimumWidth ¶
func SetMinimumWidth(rid RID.NativeMenu, width Float.X)
Sets the minimum width of the global menu. [b]Note:[/b] This method is implemented only on macOS.
func SetPopupCloseCallback ¶
func SetPopupCloseCallback(rid RID.NativeMenu, callback func())
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 on macOS and Windows.
func SetPopupOpenCallback ¶
func SetPopupOpenCallback(rid RID.NativeMenu, callback func())
Registers callable to emit after the menu is closed. [b]Note:[/b] This method is implemented only on macOS.
Types ¶
type Extension ¶
Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension
type Feature ¶
type Feature int //gd:NativeMenu.Feature
const ( /*[NativeMenu] supports native global main menu.*/ FeatureGlobalMenu Feature = 0 /*[NativeMenu] supports native popup menus.*/ FeaturePopupMenu Feature = 1 /*[NativeMenu] supports menu open and close callbacks.*/ FeatureOpenCloseCallback Feature = 2 /*[NativeMenu] supports menu item hover callback.*/ FeatureHoverCallback Feature = 3 /*[NativeMenu] supports menu item accelerator/key callback.*/ FeatureKeyCallback Feature = 4 )
type ID ¶
ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.
type Instance ¶
type Instance [1]gdclass.NativeMenu
[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]
type SystemMenus ¶
type SystemMenus int //gd:NativeMenu.SystemMenus
const ( /*Invalid special system menu ID.*/ InvalidMenuId SystemMenus = 0 /*Global main menu ID.*/ MainMenuId SystemMenus = 1 /*Application (first menu after "Apple" menu on macOS) menu ID.*/ ApplicationMenuId SystemMenus = 2 /*"Window" menu ID (on macOS this menu includes standard window control items and a list of open windows).*/ WindowMenuId SystemMenus = 3 /*"Help" menu ID (on macOS this menu includes help search bar).*/ HelpMenuId SystemMenus = 4 /*Dock icon right-click menu ID (on macOS this menu include standard application control items and a list of open windows).*/ DockMenuId SystemMenus = 5 )