NativeMenu

Успадковує: Object

Інтерфейс сервера для ОС рідних меню.

Опис

NativeMenu обробляє низькорівневий доступ до внутрішньої глобальної панелі меню та спливних меню ОС.

Примітка: Це низькорівневий API, розгляньте можливість використання MenuBar із MenuBar.prefer_global_menu, установленим на true, і PopupMenu з PopupMenu.prefer_native_menu, встановленим на true.

Щоб створити меню, використовуйте create_menu(), додайте пункти меню за допомогою методів add_*_item. Щоб видалити меню, використовуйте free_menu().

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():
    # Створіть нове меню та додайте елементи:
    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():
    # Показувати спливаюче меню в положенні миші:
    NativeMenu.popup(menu, DisplayServer.mouse_get_position())

func _exit_tree():
    # Видалити меню, коли воно більше не потрібне:
    NativeMenu.free_menu(menu)

Методи

int

add_check_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_icon_check_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_icon_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_icon_radio_check_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_multistate_item(rid: RID, label: String, max_states: int, default_state: int, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_radio_check_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1)

int

add_separator(rid: RID, index: int = -1)

int

add_submenu_item(rid: RID, label: String, submenu_rid: RID, tag: Variant = null, index: int = -1)

void

clear(rid: RID)

RID

create_menu()

int

find_item_index_with_submenu(rid: RID, submenu_rid: RID) const

int

find_item_index_with_tag(rid: RID, tag: Variant) const

int

find_item_index_with_text(rid: RID, text: String) const

void

free_menu(rid: RID)

Key

get_item_accelerator(rid: RID, idx: int) const

Callable

get_item_callback(rid: RID, idx: int) const

int

get_item_count(rid: RID) const

Texture2D

get_item_icon(rid: RID, idx: int) const

int

get_item_indentation_level(rid: RID, idx: int) const

Callable

get_item_key_callback(rid: RID, idx: int) const

int

get_item_max_states(rid: RID, idx: int) const

int

get_item_state(rid: RID, idx: int) const

RID

get_item_submenu(rid: RID, idx: int) const

Variant

get_item_tag(rid: RID, idx: int) const

String

get_item_text(rid: RID, idx: int) const

String

get_item_tooltip(rid: RID, idx: int) const

float

get_minimum_width(rid: RID) const

Callable

get_popup_close_callback(rid: RID) const

Callable

get_popup_open_callback(rid: RID) const

Vector2

get_size(rid: RID) const

RID

get_system_menu(menu_id: SystemMenus) const

String

get_system_menu_name(menu_id: SystemMenus) const

bool

has_feature(feature: Feature) const

bool

has_menu(rid: RID) const

bool

has_system_menu(menu_id: SystemMenus) const

bool

is_item_checkable(rid: RID, idx: int) const

bool

is_item_checked(rid: RID, idx: int) const

bool

is_item_disabled(rid: RID, idx: int) const

bool

is_item_hidden(rid: RID, idx: int) const

bool

is_item_radio_checkable(rid: RID, idx: int) const

bool

is_opened(rid: RID) const

bool

is_system_menu(rid: RID) const

void

popup(rid: RID, position: Vector2i)

void

remove_item(rid: RID, idx: int)

void

set_interface_direction(rid: RID, is_rtl: bool)

void

set_item_accelerator(rid: RID, idx: int, keycode: Key)

void

set_item_callback(rid: RID, idx: int, callback: Callable)

void

set_item_checkable(rid: RID, idx: int, checkable: bool)

void

set_item_checked(rid: RID, idx: int, checked: bool)

void

set_item_disabled(rid: RID, idx: int, disabled: bool)

void

set_item_hidden(rid: RID, idx: int, hidden: bool)

void

set_item_hover_callbacks(rid: RID, idx: int, callback: Callable)

void

set_item_icon(rid: RID, idx: int, icon: Texture2D)

void

set_item_indentation_level(rid: RID, idx: int, level: int)

void

set_item_key_callback(rid: RID, idx: int, key_callback: Callable)

void

set_item_max_states(rid: RID, idx: int, max_states: int)

void

set_item_radio_checkable(rid: RID, idx: int, checkable: bool)

void

set_item_state(rid: RID, idx: int, state: int)

void

set_item_submenu(rid: RID, idx: int, submenu_rid: RID)

void

set_item_tag(rid: RID, idx: int, tag: Variant)

void

set_item_text(rid: RID, idx: int, text: String)

void

set_item_tooltip(rid: RID, idx: int, tooltip: String)

void

set_minimum_width(rid: RID, width: float)

void

set_popup_close_callback(rid: RID, callback: Callable)

void

set_popup_open_callback(rid: RID, callback: Callable)


Переліки

enum Feature: 🔗

Feature FEATURE_GLOBAL_MENU = 0

NativeMenu підтримує рідне глобальне меню.

Feature FEATURE_POPUP_MENU = 1

NativeMenu підтримує рідні меню поштових повідомлень.

Feature FEATURE_OPEN_CLOSE_CALLBACK = 2

NativeMenu підтримує меню відкритими та закритими викликами.

Feature FEATURE_HOVER_CALLBACK = 3

NativeMenu підтримує пункт меню hover callback.

Feature FEATURE_KEY_CALLBACK = 4

NativeMenu підтримує пункт меню акселератор/ключний дзвінок.


enum SystemMenus: 🔗

SystemMenus INVALID_MENU_ID = 0

Вказана спеціальна система ID.

SystemMenus MAIN_MENU_ID = 1

Глобальний ідентифікатор головного меню.

SystemMenus APPLICATION_MENU_ID = 2

Додаток (перше меню після меню «Додати» на macOS).

SystemMenus WINDOW_MENU_ID = 3

"Віндов" ідентифікатор меню (на macOS це меню включає стандартні елементи керування вікнами та список відкритих вікон).

SystemMenus HELP_MENU_ID = 4

В меню "Допомога" в меню "Допомога" в меню "Допомогти"".

SystemMenus DOCK_MENU_ID = 5

Dock icon right-click меню ID (на macOS це меню включає в себе стандартні елементи керування додатками і список відкритих вікон).


Описи методів

int add_check_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додати новий зареєстрований пункт з текстом label до глобального меню index.

Повертає індекс вставленого пункту, не гарантується таким же, як index значення.

accelerator може бути визначений, який є клавіатурним ярликом, який можна натиснути, щоб запустити меню кнопка, навіть якщо це не відкрито. accelerator, як правило, поєднання KeyModifierMasks і Key, використовуючи бітум OR, такі як KEY_MASK_CTRL KEY_A (Ctrl + A).

Note: callback і key_callback Увімкнення необхідно приймати саме один параметр Variant, параметр, переданий до Callables, буде значення, передане до tag.

Примітка: Цей метод реалізується на macOS і Windows.

Примітка: На Windows, accelerator і key_callback ігноруються.


int add_icon_check_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додає новий елемент-прапорець з текстом label та іконою icon до глобального меню з ID rid.

Повертає індекс вставленого елемента, який може відрізнятися від index.

Можна вказати accelerator, який є комбінацією клавіш, яку можна натиснути, для активації елементу меню навіть якщо меню ще не відкрите. accelerator, як правило, є поєднанням декількох KeyModifierMask і Key за допомогою побітового АБО, таких як KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примітка: Функції callback і key_callback мають приймати рівно один параметр Variant, причому цей параметр буде значенням, переданим до tag.

Примітка: Цей метод реалізується для macOS і Windows.

Примітка: У Windows, accelerator і key_callback будуть проігноровані.


int add_icon_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додає новий елемент з текстом label і іконкою icon до глобального меню парам позбутися.

Повертає індекс вставленого пункту, не гарантується таким же, як index значення.

accelerator може бути визначений, який є клавіатурним ярликом, який можна натиснути, щоб запустити меню кнопка, навіть якщо це не відкрито. accelerator, як правило, поєднання KeyModifierMasks і Key, використовуючи бітум OR, такі як KEY_MASK_CTRL КЛЮЧ_A (Ctrl + A).

Примітка: callback і key_callback Увімкнення необхідно приймати саме один параметр Variant, параметр, переданий до Callables, буде значення, передане до tag.

Примітка: Цей метод реалізується на macOS і Windows.

Примітка: На Windows, accelerator і key_callback ігноруються.


int add_icon_radio_check_item(rid: RID, icon: Texture2D, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додає новий елемент-радіокнопка з текстом label та іконкою icon до глобального меню rid.

Повертає індекс вставленого елемента, який може відрізнятися від index.

Можна вказати accelerator, який є комбінацією клавіш, яку можна натиснути, для активації елементу меню навіть якщо меню ще не відкрите. accelerator, як правило, є поєднанням декількох KeyModifierMask і Key за допомогою побітового АБО, таких як KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примітка: Елементи-радіокнопки просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.

Примітка: Функції callback і key_callback мають приймати рівно один параметр Variant, причому цей параметр буде значенням, переданим до tag.

Примітка: Цей метод реалізується для macOS і Windows.

Примітка: У Windows, accelerator і key_callback будуть проігноровані.


int add_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додайте новий елемент з текстом label до глобального меню rid.

Повертає індекс вставленого пункту, не гарантується таким же, як index значення.

accelerator може бути визначений, який є клавіатурним ярликом, який можна натиснути, щоб запустити меню кнопка, навіть якщо це не відкрито. accelerator, як правило, поєднання KeyModifierMask і Key з використанням бітумних OR, таких як KEY_MASK_CTRL Ключ_A (Ctrl + A).

Примітка: callback і key_callback Увімкнення необхідно приймати саме один параметр Variant, параметр, переданий до Callables, буде значення, передане до tag.

Примітка: Цей метод реалізується на macOS і Windows.

Примітка: На Windows, accelerator і key_callback ігноруються.


int add_multistate_item(rid: RID, label: String, max_states: int, default_state: int, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додайте новий елемент з текстом label до глобального меню rid.

Всупереч нормальним бінарним елементам, багатостатеві елементи можуть мати більше двох станів, як визначені max_states. Кожна преса або активація елемента збільшить стан одним. Значення за замовчуванням визначається default_state.

Повертає індекс вставленого пункту, не гарантується таким же, як index значення.

accelerator може бути визначений, який є клавіатурним ярликом, який можна натиснути, щоб запустити меню кнопка, навіть якщо це не відкрито. accelerator, як правило, поєднання KeyModifierMasks і Key, використовуючи бітум OR, такі як KEY_MASK_CTRL КЛЮЧ_A (Ctrl + A).

Примітка: За замовчуванням немає показання поточного стану елемента, його слід змінити вручну.

Примітка: callback і key_callback Увімкнення необхідно приймати саме один параметр Variant, параметр, переданий до Callables, буде значення, передане до tag.

Примітка: Цей метод реалізується на macOS і Windows.

Примітка: на Windows, параметра і key_callback ігноруються.


int add_radio_check_item(rid: RID, label: String, callback: Callable = Callable(), key_callback: Callable = Callable(), tag: Variant = null, accelerator: Key = 0, index: int = -1) 🔗

Додає новий елемент-радіокнопка з текстом label до глобального меню rid.

Повертає індекс вставленого елемента, який може відрізнятися від index.

Можна вказати accelerator, який є комбінацією клавіш, яку можна натиснути, для активації елементу меню навіть якщо меню ще не відкрите. accelerator, як правило, є поєднанням декількох KeyModifierMask і Key за допомогою побітового АБО, таких як KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примітка: Елементи-радіокнопки просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.

Примітка: Функції callback і key_callback мають приймати рівно один параметр Variant, причому цей параметр буде значенням, переданим до tag.

Примітка: Цей метод реалізується для macOS і Windows.

Примітка: У Windows, accelerator і key_callback будуть проігноровані.


int add_separator(rid: RID, index: int = -1) 🔗

Додає роздільник між предметами в глобальне меню rid. Сепаратори також займають індекс.

Повертає індекс вставленого пункту, не гарантується таким же, як ``index значення.

[b``Примітка:** Цей метод реалізується на macOS і Windows.


int add_submenu_item(rid: RID, label: String, submenu_rid: RID, tag: Variant = null, index: int = -1) 🔗

Додає елемент, який буде діяти як підменю глобального меню rid. submenu_rid аргумент є RID глобального меню, яке буде показано, коли пункт натискається.

Повертає індекс вставленого пункту, не гарантується таким же, як index значення.

Примітка: Цей метод реалізується на macOS і Windows.


void clear(rid: RID) 🔗

Видаляє всі елементи з глобального меню rid.

Примітка: Цей метод реалізується на macOS і Windows.


RID create_menu() 🔗

Створення нового об’єкту глобального меню.

Примітка: Цей метод реалізується на macOS і Windows.


int find_item_index_with_submenu(rid: RID, submenu_rid: RID) const 🔗

Повернення індексу пункту з субменю, вказаним submenu_rid. Індикатори автоматично призначають кожному елементу двигуном, і не можна встановлювати вручну.

Примітка: Цей метод реалізується на macOS і Windows.


int find_item_index_with_tag(rid: RID, tag: Variant) const 🔗

Повернення індексу пункту з вказаною tag. Індикатори автоматично призначають кожному елементу двигуном, і не можна встановлювати вручну.

Примітка: Цей метод реалізується на macOS і Windows.


int find_item_index_with_text(rid: RID, text: String) const 🔗

Повернення індексу пункту за вказаною text. Індикатори автоматично призначають кожному елементу двигуном, і не можна встановлювати вручну.

Примітка: Цей метод реалізується на macOS і Windows.


void free_menu(rid: RID) 🔗

Звільняє глобальний об'єкт меню, створений цим NativeMenu.

Примітка: Цей метод реалізовано в macOS та Windows.


Key get_item_accelerator(rid: RID, idx: int) const 🔗

Повернення акселератора пункту за індексом idx. Прискорювачі - це спеціальні комбінації ключів, які активують предмет, незалежно від того, який контроль фокусується.

Примітка: Цей метод реалізується тільки на macOS.


Callable get_item_callback(rid: RID, idx: int) const 🔗

Повертає обернений виклик елемента за індексом idx.

Примітка: Цей метод реалізується на macOS і Windows.


int get_item_count(rid: RID) const 🔗

Повертаємо кількість предметів у глобальному меню rid.

Примітка: Цей метод реалізується на macOS і Windows.


Texture2D get_item_icon(rid: RID, idx: int) const 🔗

Повертає ікону елемента в індексі idx.

Примітка: Цей метод реалізується на macOS і Windows.


int get_item_indentation_level(rid: RID, idx: int) const 🔗

Повертає горизонтальний зсув елемента на даній idx.

Примітка: Цей метод реалізується тільки на macOS.


Callable get_item_key_callback(rid: RID, idx: int) const 🔗

Повернення виклику прискорювача пункту за індексом idx.

Примітка: Цей метод реалізується тільки на macOS.


int get_item_max_states(rid: RID, idx: int) const 🔗

Повертає кількість станів багатодержавного пункту. Див. add_multistate_item() для деталей.

Примітка: Цей метод реалізується на macOS і Windows.


int get_item_state(rid: RID, idx: int) const 🔗

Повертає стан багатодержавного елемента. Див. add_multistate_item() для деталей.

Примітка: Цей метод реалізується на macOS і Windows.


RID get_item_submenu(rid: RID, idx: int) const 🔗

Повернення субмену на індекс idx. Детальніше про те, як додати підменю.

Примітка: Цей метод реалізується на macOS і Windows.


Variant get_item_tag(rid: RID, idx: int) const 🔗

Повернення метаданих зазначеного елемента, який може бути будь-яким типом. Ви можете встановити його з set_item_tag(), що забезпечує простий спосіб присвоєння контекстних даних до елементів.

Примітка: Цей метод реалізується на macOS і Windows.


String get_item_text(rid: RID, idx: int) const 🔗

Повертає текст пункту за індексом idx.

Примітка: Цей метод реалізується на macOS і Windows.


String get_item_tooltip(rid: RID, idx: int) const 🔗

Повертає інструмент, пов'язаний з вказаним індексом idx.

Примітка: Цей метод реалізується тільки на macOS.


float get_minimum_width(rid: RID) const 🔗

Повернутися до глобального меню мінімальної ширини.

Примітка: Цей метод реалізується тільки на macOS.


Callable get_popup_close_callback(rid: RID) const 🔗

Повертає зворотний виклик із закриття глобального меню.

Примітка. Цей метод реалізовано в macOS і Windows.


Callable get_popup_open_callback(rid: RID) const 🔗

Повертає зворотний виклик відкритого глобального меню.

Примітка. Цей метод реалізовано лише в macOS.


Vector2 get_size(rid: RID) const 🔗

Повертаємо розмір глобального меню.

Примітка: Цей метод реалізується на macOS і Windows.


RID get_system_menu(menu_id: SystemMenus) const 🔗

Повернення RID спеціального меню системи.

Примітка: Цей метод реалізується тільки на macOS.


String get_system_menu_name(menu_id: SystemMenus) const 🔗

Повернення читабельного імені спеціального меню системи.

Примітка: Цей метод реалізується тільки на macOS.


bool has_feature(feature: Feature) const 🔗

Повертає true, якщо вказаний feature підтримується поточним NativeMenu, в іншому випадку false.

Примітка: Цей метод реалізовано в macOS та Windows.


bool has_menu(rid: RID) const 🔗

Повернення true, якщо rid є чинним глобальним меню.

Примітка: Цей метод реалізується на macOS і Windows.


bool has_system_menu(menu_id: SystemMenus) const 🔗

Повернення true, якщо підтримується спеціальне меню системи.

Примітка: Цей метод реалізується тільки на macOS.


bool is_item_checkable(rid: RID, idx: int) const 🔗

Повертаємо true, якщо пункт в індексі idx перевіряється якось, тобто якщо він має прапорець або радіокнопку.

Примітка: Цей метод реалізується на macOS і Windows.


bool is_item_checked(rid: RID, idx: int) const 🔗

Повертає true, якщо товар у позиції idx відмічено.

Примітка: Цей метод реалізується на macOS і Windows.


bool is_item_disabled(rid: RID, idx: int) const 🔗

Повертає true, якщо товар в індексі idx вимкнено. Коли його вимкнено, він не може бути обраний, а його дія — викликана.

Дивитися set_item_disabled() для подробиць про те, як вимкнути елемент.

Примітка: Цей метод реалізується на macOS і Windows.


bool is_item_hidden(rid: RID, idx: int) const 🔗

Повертаємо true, якщо товар в індексі idx прихований.

Дивитися set_item_hidden() для подробиць про те, як приховати елемент.

Примітка: Цей метод реалізується тільки на macOS.


bool is_item_radio_checkable(rid: RID, idx: int) const 🔗

Повертаємо true, якщо пункт в індексі idx має можливість перевірки кнопки-стиль.

Примітка: Це чисто косметичний, необхідно додати логіку для перевірки/розшуку предметів в радіо групах.

Примітка: Цей метод реалізується на macOS і Windows.


bool is_opened(rid: RID) const 🔗

Повертаємо true, якщо меню вже відкрито.

Примітка: Цей метод реалізується тільки на macOS.


bool is_system_menu(rid: RID) const 🔗

true є глобальним меню.

Примітка: Цей метод реалізується тільки на macOS.


void popup(rid: RID, position: Vector2i) 🔗

Відображається глобальне меню в position в координатах екрана.

Примітка: Цей метод реалізується на macOS і Windows.


void remove_item(rid: RID, idx: int) 🔗

Видаліть пункт в індексі idx з глобального меню rid.

Примітка: Індикатори елементів після вилученого елемента будуть переміщені одним.

Примітка: Цей метод реалізується на macOS і Windows.


void set_interface_direction(rid: RID, is_rtl: bool) 🔗

Встановлює напрямок текстового макета меню з правого вліво, якщо is_rtl true.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_accelerator(rid: RID, idx: int, keycode: Key) 🔗

Встановлює прискорювач елемента за індексом idx. keycode може бути одним Key або комбінацією KeyModifierMask і Key з використанням побітового АБО, наприклад KEY_MASK_CTRL | KEY_A (Ctrl + A).

Примітка: Цей метод реалізовано лише в macOS.


void set_item_callback(rid: RID, idx: int, callback: Callable) 🔗

Встановлює зворотний виклик пункту в індексі idx. Зворотний виклик викликається при натисканні елемента.

Примітка: callback значення має приймати точно один параметр Variant, параметр, що надходить до Callable, буде передано як параметр tag при створенні пункту меню.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_checkable(rid: RID, idx: int, checkable: bool) 🔗

Встановлює, чи є пункт в індексі idx, має прапорець. Якщо false, встановлюємо тип пункту на звичайний текст.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_checked(rid: RID, idx: int, checked: bool) 🔗

Встановлює стан контрольного стану елемента в індексі idx.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_disabled(rid: RID, idx: int, disabled: bool) 🔗

Увімкнути/вимкнути елемент в індексі idx. Коли він вимкнений, він не може бути обраний і його дія не може бути викликана.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_hidden(rid: RID, idx: int, hidden: bool) 🔗

Приховує/показує індекс в індексі idx. Коли він прихований, елемент не з'являється в меню і його дію не можна викликати.

Примітка: Цей метод реалізується тільки на macOS.


void set_item_hover_callbacks(rid: RID, idx: int, callback: Callable) 🔗

Встановлює зворотний виклик пункту в індексі idx. Зворотний виклик викликається при наведенні на елемент.

Note: Callable callback значення, що має прийняти точно один параметр Variant-а, параметр, що надходить до Callable, буде значенням, переданим до параметра tag, при створенні пункту меню.

Примітка: Цей метод реалізується тільки на macOS.


void set_item_icon(rid: RID, idx: int, icon: Texture2D) 🔗

Заміна іконки Texture2D вказаного idx.

Примітка: Цей метод реалізується на macOS і Windows.

Примітка: Цей метод не підтримується пунктами меню macOS Dock.


void set_item_indentation_level(rid: RID, idx: int, level: int) 🔗

Встановлює горизонтальний зсув елемента на даній idx.

Примітка: Цей метод реалізується тільки на macOS.


void set_item_key_callback(rid: RID, idx: int, key_callback: Callable) 🔗

Встановлює зворотний зв'язок пункту в індексі idx. Під час активації його акселератора видається зворотний дзвінок.

Примітка: key_callback Увімкнено значення, що необхідно прийняти точно один параметр Variant, параметр, що надходить до Callable, буде значення, передане параметру tag при створенні пункту меню.

Примітка: Цей метод реалізується тільки на macOS.


void set_item_max_states(rid: RID, idx: int, max_states: int) 🔗

Встановлює кількість стану багатостатевого елемента. Див. add_multistate_item() для деталей.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_radio_checkable(rid: RID, idx: int, checkable: bool) 🔗

Встановлює тип пункту за вказаним індексом idx на кнопку радіо. Якщо false, встановлюємо тип пункту на звичайний текст.

Примітка: Це чисто косметичний, необхідно додати логіку для перевірки/розшуку предметів в радіо групах.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_state(rid: RID, idx: int, state: int) 🔗

Встановлює стан багатодержавного елемента. Див. add_multistate_item() для деталей.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_submenu(rid: RID, idx: int, submenu_rid: RID) 🔗

Встановлює субмену RID пункту в індексі idx. Підмену є глобальним меню, яке буде показано при натисканні пункту.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_tag(rid: RID, idx: int, tag: Variant) 🔗

Встановлює метадані елемента, який може бути будь-яким типом. Ви можете отримати його за допомогою get_item_tag(), який забезпечує простий спосіб присвоєння контекстних даних до предметів.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_text(rid: RID, idx: int, text: String) 🔗

Встановлює текст елемента в індексі idx.

Примітка: Цей метод реалізується на macOS і Windows.


void set_item_tooltip(rid: RID, idx: int, tooltip: String) 🔗

Налаштовує інструментарій String пункту за вказаним індексом idx.

Примітка: Цей метод реалізується тільки на macOS.


void set_minimum_width(rid: RID, width: float) 🔗

Налаштування мінімальної ширини глобального меню.

Примітка: Цей метод реалізується тільки на macOS.


void set_popup_close_callback(rid: RID, callback: Callable) 🔗

Реєстри, що викликаються, щоб випустити, коли меню ось-ось відобразиться.

Примітка: ОС може імітувати відкриття меню для відстеження змін пунктів меню та глобальних ярликів, у цьому випадку відповідний зворотний виклик закриття не запускається. Використовуйте is_opened(), щоб перевірити, чи відкрито меню в даний момент.

Примітка. Цей метод реалізовано в macOS і Windows.


void set_popup_open_callback(rid: RID, callback: Callable) 🔗

Записи, що випускаються після закінчення меню.

Примітка: Цей метод реалізується тільки на macOS.