:github_url: hide .. _class_NativeMenu: NativeMenu ========== **Наследует:** :ref:`Object` Серверный интерфейс для собственных меню ОС. .. rst-class:: classref-introduction-group Описание ---------------- **NativeMenu** обрабатывает низкоуровневый доступ к собственной глобальной строке меню ОС и всплывающим меню. \ **Примечание:** Это низкоуровневый API, рассмотрите возможность использования :ref:`MenuBar` с :ref:`MenuBar.prefer_global_menu`, установленным на ``true``, и :ref:`PopupMenu` с :ref:`PopupMenu.prefer_native_menu`, установленным на ``true``. Чтобы создать меню, используйте :ref:`create_menu()`, добавьте пункты меню с помощью методов ``add_*_item``. Чтобы удалить меню, используйте :ref:`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) .. rst-class:: classref-reftable-group Методы ------------ .. table:: :widths: auto +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_check_item`\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_icon_check_item`\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_icon_item`\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_icon_radio_check_item`\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_item`\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_multistate_item`\ (\ rid\: :ref:`RID`, label\: :ref:`String`, max_states\: :ref:`int`, default_state\: :ref:`int`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_radio_check_item`\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_separator`\ (\ rid\: :ref:`RID`, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_submenu_item`\ (\ rid\: :ref:`RID`, label\: :ref:`String`, submenu_rid\: :ref:`RID`, tag\: :ref:`Variant` = null, index\: :ref:`int` = -1\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ rid\: :ref:`RID`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`create_menu`\ (\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_item_index_with_submenu`\ (\ rid\: :ref:`RID`, submenu_rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_item_index_with_tag`\ (\ rid\: :ref:`RID`, tag\: :ref:`Variant`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_item_index_with_text`\ (\ rid\: :ref:`RID`, text\: :ref:`String`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`free_menu`\ (\ rid\: :ref:`RID`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Key` | :ref:`get_item_accelerator`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Callable` | :ref:`get_item_callback`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_count`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_item_icon`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_indentation_level`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Callable` | :ref:`get_item_key_callback`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_max_states`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_item_state`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_item_submenu`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_item_tag`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_text`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_tooltip`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_minimum_width`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Callable` | :ref:`get_popup_close_callback`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Callable` | :ref:`get_popup_open_callback`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_system_menu`\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_system_menu_name`\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_system_menu_text`\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_feature`\ (\ feature\: :ref:`Feature`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_menu`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_system_menu`\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_checkable`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_checked`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_disabled`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_hidden`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_item_radio_checkable`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_opened`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_system_menu`\ (\ rid\: :ref:`RID`\ ) |const| | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`popup`\ (\ rid\: :ref:`RID`, position\: :ref:`Vector2i`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_item`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_interface_direction`\ (\ rid\: :ref:`RID`, is_rtl\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_accelerator`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, keycode\: :ref:`Key`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_callback`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, callback\: :ref:`Callable`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_checkable`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checkable\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_checked`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checked\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_disabled`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, disabled\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_hidden`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, hidden\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_hover_callbacks`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, callback\: :ref:`Callable`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_icon`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, icon\: :ref:`Texture2D`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_indentation_level`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, level\: :ref:`int`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_key_callback`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, key_callback\: :ref:`Callable`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_max_states`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, max_states\: :ref:`int`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_radio_checkable`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checkable\: :ref:`bool`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_state`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, state\: :ref:`int`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_submenu`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, submenu_rid\: :ref:`RID`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_tag`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, tag\: :ref:`Variant`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_text`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, text\: :ref:`String`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_item_tooltip`\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, tooltip\: :ref:`String`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_minimum_width`\ (\ rid\: :ref:`RID`, width\: :ref:`float`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_popup_close_callback`\ (\ rid\: :ref:`RID`, callback\: :ref:`Callable`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_popup_open_callback`\ (\ rid\: :ref:`RID`, callback\: :ref:`Callable`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_system_menu_text`\ (\ menu_id\: :ref:`SystemMenus`, name\: :ref:`String`\ ) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Перечисления ------------------------ .. _enum_NativeMenu_Feature: .. rst-class:: classref-enumeration enum **Feature**: :ref:`🔗` .. _class_NativeMenu_constant_FEATURE_GLOBAL_MENU: .. rst-class:: classref-enumeration-constant :ref:`Feature` **FEATURE_GLOBAL_MENU** = ``0`` **NativeMenu** поддерживает собственное глобальное главное меню. .. _class_NativeMenu_constant_FEATURE_POPUP_MENU: .. rst-class:: classref-enumeration-constant :ref:`Feature` **FEATURE_POPUP_MENU** = ``1`` **NativeMenu** поддерживает собственные всплывающие меню. .. _class_NativeMenu_constant_FEATURE_OPEN_CLOSE_CALLBACK: .. rst-class:: classref-enumeration-constant :ref:`Feature` **FEATURE_OPEN_CLOSE_CALLBACK** = ``2`` **NativeMenu** поддерживает обратные вызовы открытия и закрытия меню. .. _class_NativeMenu_constant_FEATURE_HOVER_CALLBACK: .. rst-class:: classref-enumeration-constant :ref:`Feature` **FEATURE_HOVER_CALLBACK** = ``3`` **NativeMenu** поддерживает обратный вызов при наведении на пункт меню. .. _class_NativeMenu_constant_FEATURE_KEY_CALLBACK: .. rst-class:: classref-enumeration-constant :ref:`Feature` **FEATURE_KEY_CALLBACK** = ``4`` **NativeMenu** поддерживает обратный вызов ускорителя/клавиши пункта меню. .. rst-class:: classref-item-separator ---- .. _enum_NativeMenu_SystemMenus: .. rst-class:: classref-enumeration enum **SystemMenus**: :ref:`🔗` .. _class_NativeMenu_constant_INVALID_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **INVALID_MENU_ID** = ``0`` Неверный идентификатор специального системного меню. .. _class_NativeMenu_constant_MAIN_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **MAIN_MENU_ID** = ``1`` Глобальный идентификатор главного меню. .. _class_NativeMenu_constant_APPLICATION_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **APPLICATION_MENU_ID** = ``2`` Идентификатор меню приложения (первое меню после меню «Apple» в macOS). .. _class_NativeMenu_constant_WINDOW_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **WINDOW_MENU_ID** = ``3`` Идентификатор меню «Window» (в macOS это меню включает стандартные элементы управления окнами и список открытых окон). .. _class_NativeMenu_constant_HELP_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **HELP_MENU_ID** = ``4`` Идентификатор меню «Справка» (в macOS это меню включает панель поиска справки). .. _class_NativeMenu_constant_DOCK_MENU_ID: .. rst-class:: classref-enumeration-constant :ref:`SystemMenus` **DOCK_MENU_ID** = ``5`` Идентификатор контекстного меню значка Dock (в macOS это меню включает стандартные элементы управления приложениями и список открытых окон). .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания метода ------------------------------ .. _class_NativeMenu_method_add_check_item: .. rst-class:: classref-method :ref:`int` **add_check_item**\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый отмечаемый элемент с текстом ``label`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Вызываемые ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_icon_check_item: .. rst-class:: classref-method :ref:`int` **add_icon_check_item**\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый отмечаемый элемент с текстом ``label`` и значком ``icon`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Вызываемые ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_icon_item: .. rst-class:: classref-method :ref:`int` **add_icon_item**\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый элемент с текстом ``label`` и значком ``icon`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Вызываемые ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_icon_radio_check_item: .. rst-class:: classref-method :ref:`int` **add_icon_radio_check_item**\ (\ rid\: :ref:`RID`, icon\: :ref:`Texture2D`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый элемент с возможностью радио-отметки с текстом ``label`` и значком ``icon`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Элементы с возможностью радио-отметки просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. :ref:`set_item_checked()` для получения дополнительной информации о том, как управлять этим. \ **Примечание:** Вызываемые объекты ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_item: .. rst-class:: classref-method :ref:`int` **add_item**\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый элемент с текстом ``label`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Вызываемые ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_multistate_item: .. rst-class:: classref-method :ref:`int` **add_multistate_item**\ (\ rid\: :ref:`RID`, label\: :ref:`String`, max_states\: :ref:`int`, default_state\: :ref:`int`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый элемент с текстом ``label`` в глобальное меню ``rid``. В отличие от обычных двоичных элементов, элементы с несколькими состояниями могут иметь более двух состояний, как определено ``max_states``. Каждое нажатие или активация элемента увеличит состояние на единицу. Значение по умолчанию определяется ``default_state``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Необязательно может быть определен ``accelerator``, представляющий собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** По умолчанию нет указания на текущее состояние элемента, его следует изменить вручную. \ **Примечание:** Вызываемые объекты ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_radio_check_item: .. rst-class:: classref-method :ref:`int` **add_radio_check_item**\ (\ rid\: :ref:`RID`, label\: :ref:`String`, callback\: :ref:`Callable` = Callable(), key_callback\: :ref:`Callable` = Callable(), tag\: :ref:`Variant` = null, accelerator\: :ref:`Key` = 0, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет новый элемент с возможностью радио-отметки с текстом ``label`` в глобальное меню ``rid``. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. Дополнительно можно определить ``accelerator``, который представляет собой сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. ``accelerator`` обычно представляет собой комбинацию :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Элементы с возможностью радио-отметки просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. :ref:`set_item_checked()` для получения дополнительной информации о том, как управлять этим. \ **Примечание:** Вызываемые объекты ``callback`` и ``key_callback`` должны принимать ровно один параметр Variant, параметр, переданный в вызываемые объекты, будет значением, переданным в ``tag``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** В Windows ``accelerator`` и ``key_callback`` игнорируются. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_separator: .. rst-class:: classref-method :ref:`int` **add_separator**\ (\ rid\: :ref:`RID`, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет разделитель между элементами в глобальное меню ``rid``. Разделители также занимают индекс. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_add_submenu_item: .. rst-class:: classref-method :ref:`int` **add_submenu_item**\ (\ rid\: :ref:`RID`, label\: :ref:`String`, submenu_rid\: :ref:`RID`, tag\: :ref:`Variant` = null, index\: :ref:`int` = -1\ ) :ref:`🔗` Добавляет элемент, который будет действовать как подменю глобального меню ``rid``. Аргумент ``submenu_rid`` — это RID глобального меню, которое будет показано при щелчке по элементу. Возвращает индекс вставленного элемента, он не обязательно будет таким же, как значение ``index``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_clear: .. rst-class:: classref-method |void| **clear**\ (\ rid\: :ref:`RID`\ ) :ref:`🔗` Удаляет все элементы из глобального меню ``rid``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_create_menu: .. rst-class:: classref-method :ref:`RID` **create_menu**\ (\ ) :ref:`🔗` Создает новый глобальный объект меню. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_find_item_index_with_submenu: .. rst-class:: classref-method :ref:`int` **find_item_index_with_submenu**\ (\ rid\: :ref:`RID`, submenu_rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает индекс элемента с подменю, указанным ``submenu_rid``. Индексы автоматически назначаются каждому элементу движком и не могут быть установлены вручную. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_find_item_index_with_tag: .. rst-class:: classref-method :ref:`int` **find_item_index_with_tag**\ (\ rid\: :ref:`RID`, tag\: :ref:`Variant`\ ) |const| :ref:`🔗` Возвращает индекс элемента с указанным ``tag``. Индексы автоматически назначаются каждому элементу движком и не могут быть установлены вручную. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_find_item_index_with_text: .. rst-class:: classref-method :ref:`int` **find_item_index_with_text**\ (\ rid\: :ref:`RID`, text\: :ref:`String`\ ) |const| :ref:`🔗` Возвращает индекс элемента с указанным ``text``. Индексы автоматически назначаются каждому элементу движком и не могут быть установлены вручную. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_free_menu: .. rst-class:: classref-method |void| **free_menu**\ (\ rid\: :ref:`RID`\ ) :ref:`🔗` Освобождает глобальный объект меню, созданный этим **NativeMenu**. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_accelerator: .. rst-class:: classref-method :ref:`Key` **get_item_accelerator**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ускоритель элемента по индексу ``idx``. Ускорители — это специальные комбинации клавиш, которые активируют элемент, независимо от того, какой элемент управления находится в фокусе. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_callback: .. rst-class:: classref-method :ref:`Callable` **get_item_callback**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает обратный вызов элемента с индексом ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_count: .. rst-class:: classref-method :ref:`int` **get_item_count**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает количество пунктов в глобальном меню ``rid``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_icon: .. rst-class:: classref-method :ref:`Texture2D` **get_item_icon**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает значок элемента по индексу ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_indentation_level: .. rst-class:: classref-method :ref:`int` **get_item_indentation_level**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает горизонтальное смещение элемента по указанному ``idx``. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_key_callback: .. rst-class:: classref-method :ref:`Callable` **get_item_key_callback**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает обратный вызов ускорителя элемента по индексу ``idx``. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_max_states: .. rst-class:: classref-method :ref:`int` **get_item_max_states**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает количество состояний элемента с несколькими состояниями. Подробности см. в :ref:`add_multistate_item()`. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_state: .. rst-class:: classref-method :ref:`int` **get_item_state**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает состояние элемента с несколькими состояниями. Подробности см. в :ref:`add_multistate_item()`. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_submenu: .. rst-class:: classref-method :ref:`RID` **get_item_submenu**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает идентификатор подменю элемента с индексом ``idx``. Подробнее о том, как добавить подменю, см. в :ref:`add_submenu_item()`. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_tag: .. rst-class:: classref-method :ref:`Variant` **get_item_tag**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает метаданные указанного элемента, которые могут быть любого типа. Вы можете задать их с помощью :ref:`set_item_tag()`, который обеспечивает простой способ назначения контекстных данных элементам. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_text: .. rst-class:: classref-method :ref:`String` **get_item_text**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает текст элемента по индексу ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_item_tooltip: .. rst-class:: classref-method :ref:`String` **get_item_tooltip**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает подсказку, связанную с указанным индексом ``idx``. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_minimum_width: .. rst-class:: classref-method :ref:`float` **get_minimum_width**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает минимальную ширину глобального меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_popup_close_callback: .. rst-class:: classref-method :ref:`Callable` **get_popup_close_callback**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает глобальный обратный вызов закрытия меню. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_popup_open_callback: .. rst-class:: classref-method :ref:`Callable` **get_popup_open_callback**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает глобальный обратный вызов открытия меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_size: .. rst-class:: classref-method :ref:`Vector2` **get_size**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает глобальный размер меню. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_system_menu: .. rst-class:: classref-method :ref:`RID` **get_system_menu**\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| :ref:`🔗` Возвращает RID специального системного меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_system_menu_name: .. rst-class:: classref-method :ref:`String` **get_system_menu_name**\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| :ref:`🔗` Возвращает читаемое имя специального системного меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_get_system_menu_text: .. rst-class:: classref-method :ref:`String` **get_system_menu_text**\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| :ref:`🔗` Returns the text of the system menu item. \ **Note:** This method is implemented on macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_has_feature: .. rst-class:: classref-method :ref:`bool` **has_feature**\ (\ feature\: :ref:`Feature`\ ) |const| :ref:`🔗` Возвращает ``true``, если указанная ``feature`` поддерживается текущим **NativeMenu**, ``false`` в противном случае. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_has_menu: .. rst-class:: classref-method :ref:`bool` **has_menu**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает ``true``, если ``rid`` является допустимым глобальным меню. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_has_system_menu: .. rst-class:: classref-method :ref:`bool` **has_system_menu**\ (\ menu_id\: :ref:`SystemMenus`\ ) |const| :ref:`🔗` Возвращает ``true``, если поддерживается специальное системное меню. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_item_checkable: .. rst-class:: classref-method :ref:`bool` **is_item_checkable**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ``true``, если элемент с индексом ``idx`` можно отметить каким-либо образом, например, если у него есть флажок или переключатель. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_item_checked: .. rst-class:: classref-method :ref:`bool` **is_item_checked**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ``true``, если элемент с индексом ``idx`` можно отметить каким-либо образом, например, если у него есть флажок или переключатель. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_item_disabled: .. rst-class:: classref-method :ref:`bool` **is_item_disabled**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ``true``, если элемент с индексом ``idx`` отключен. Когда он отключен, его нельзя выбрать или вызвать его действие. См. :ref:`set_item_disabled()` для получения дополнительной информации о том, как отключить элемент. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_item_hidden: .. rst-class:: classref-method :ref:`bool` **is_item_hidden**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ``true``, если элемент с индексом ``idx`` скрыт. См. :ref:`set_item_hidden()` для получения дополнительной информации о том, как скрыть элемент. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_item_radio_checkable: .. rst-class:: classref-method :ref:`bool` **is_item_radio_checkable**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает ``true``, если элемент с индексом ``idx`` имеет возможность отмечать в стиле радиокнопки. \ **Примечание:** Это чисто косметическое действие; необходимо добавить логику для отметки/снятия отметки элементов в группах радиокнопок. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_opened: .. rst-class:: classref-method :ref:`bool` **is_opened**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возвращает ``true``, если меню в данный момент открыто. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_is_system_menu: .. rst-class:: classref-method :ref:`bool` **is_system_menu**\ (\ rid\: :ref:`RID`\ ) |const| :ref:`🔗` Возврат ``true`` — глобальное меню — это специальное системное меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_popup: .. rst-class:: classref-method |void| **popup**\ (\ rid\: :ref:`RID`, position\: :ref:`Vector2i`\ ) :ref:`🔗` Показывает глобальное меню в ``position`` в экранных координатах. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_remove_item: .. rst-class:: classref-method |void| **remove_item**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`\ ) :ref:`🔗` Удаляет элемент с индексом ``idx`` из глобального меню ``rid``. \ **Примечание:** Индексы элементов после удаленного элемента будут смещены на единицу. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_interface_direction: .. rst-class:: classref-method |void| **set_interface_direction**\ (\ rid\: :ref:`RID`, is_rtl\: :ref:`bool`\ ) :ref:`🔗` Устанавливает направление макета текста меню справа налево, если ``is_rtl`` равен ``true``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_accelerator: .. rst-class:: classref-method |void| **set_item_accelerator**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, keycode\: :ref:`Key`\ ) :ref:`🔗` Устанавливает акселератор элемента с индексом ``idx``. ``keycode`` может быть одним :ref:`Key` или комбинацией :ref:`KeyModifierMask` и :ref:`Key` с использованием побитового ИЛИ, например ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_callback: .. rst-class:: classref-method |void| **set_item_callback**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, callback\: :ref:`Callable`\ ) :ref:`🔗` Устанавливает обратный вызов элемента с индексом ``idx``. Обратный вызов отправляется при нажатии элемента. \ **Примечание:** Вызываемый ``callback`` должен принимать ровно один параметр Variant, параметр, переданный в вызываемый, будет значением, переданным параметру ``tag`` при создании элемента меню. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_checkable: .. rst-class:: classref-method |void| **set_item_checkable**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checkable\: :ref:`bool`\ ) :ref:`🔗` Устанавливает, есть ли у элемента с индексом ``idx`` флажок. Если ``false``, задает тип элемента как обычный текст. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_checked: .. rst-class:: classref-method |void| **set_item_checked**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checked\: :ref:`bool`\ ) :ref:`🔗` Устанавливает статус checkstate (контрольное состояние) элемента по индексу ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_disabled: .. rst-class:: classref-method |void| **set_item_disabled**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, disabled\: :ref:`bool`\ ) :ref:`🔗` Включает/отключает элемент с индексом ``idx``. Когда он отключен, его нельзя выбрать и его действие нельзя вызвать. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_hidden: .. rst-class:: classref-method |void| **set_item_hidden**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, hidden\: :ref:`bool`\ ) :ref:`🔗` Скрывает/показывает элемент с индексом ``idx``. Когда он скрыт, элемент не отображается в меню и его действие не может быть вызвано. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_hover_callbacks: .. rst-class:: classref-method |void| **set_item_hover_callbacks**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, callback\: :ref:`Callable`\ ) :ref:`🔗` Устанавливает обратный вызов элемента с индексом ``idx``. Обратный вызов срабатывает при наведении на элемент. \ **Примечание:** Вызываемый ``callback`` должен принимать ровно один параметр Variant, параметр, переданный в вызываемый, будет значением, переданным параметру ``tag`` при создании элемента меню. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_icon: .. rst-class:: classref-method |void| **set_item_icon**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, icon\: :ref:`Texture2D`\ ) :ref:`🔗` Заменяет значок :ref:`Texture2D` указанного ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. \ **Примечание:** Этот метод не поддерживается элементами меню Dock macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_indentation_level: .. rst-class:: classref-method |void| **set_item_indentation_level**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, level\: :ref:`int`\ ) :ref:`🔗` Устанавливает горизонтальное смещение элемента по указанному ``idx``. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_key_callback: .. rst-class:: classref-method |void| **set_item_key_callback**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, key_callback\: :ref:`Callable`\ ) :ref:`🔗` Устанавливает обратный вызов элемента с индексом ``idx``. Обратный вызов отправляется при активации его ускорителя. \ **Примечание:** Вызываемый объект ``key_callback`` должен принимать ровно один параметр Variant, параметр, переданный в вызываемый объект, будет значением, переданным параметру ``tag`` при создании элемента меню. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_max_states: .. rst-class:: classref-method |void| **set_item_max_states**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, max_states\: :ref:`int`\ ) :ref:`🔗` Устанавливает номер состояния элемента с несколькими состояниями. Подробности см. в :ref:`add_multistate_item()`. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_radio_checkable: .. rst-class:: classref-method |void| **set_item_radio_checkable**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, checkable\: :ref:`bool`\ ) :ref:`🔗` Устанавливает тип элемента с указанным индексом ``idx`` на радиокнопку. Если ``false``, устанавливает тип элемента на обычный текст. \ **Примечание:** Это чисто косметическое действие; необходимо добавить логику для установки/снятия отметок элементов в группах радиокнопок. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_state: .. rst-class:: classref-method |void| **set_item_state**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, state\: :ref:`int`\ ) :ref:`🔗` Устанавливает состояние элемента с несколькими состояниями. Подробности см. в :ref:`add_multistate_item()`. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_submenu: .. rst-class:: classref-method |void| **set_item_submenu**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, submenu_rid\: :ref:`RID`\ ) :ref:`🔗` Устанавливает RID подменю элемента с индексом ``idx``. Подменю — это глобальное меню, которое будет показано при щелчке по элементу. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_tag: .. rst-class:: classref-method |void| **set_item_tag**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, tag\: :ref:`Variant`\ ) :ref:`🔗` Устанавливает метаданные элемента, которые могут быть любого типа. Позже вы можете получить их с помощью :ref:`get_item_tag()`, который предоставляет простой способ назначения контекстных данных элементам. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_text: .. rst-class:: classref-method |void| **set_item_text**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, text\: :ref:`String`\ ) :ref:`🔗` Устанавливает текст элемента по индексу ``idx``. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_item_tooltip: .. rst-class:: classref-method |void| **set_item_tooltip**\ (\ rid\: :ref:`RID`, idx\: :ref:`int`, tooltip\: :ref:`String`\ ) :ref:`🔗` Устанавливает подсказку :ref:`String` элемента по указанному индексу ``idx``. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_minimum_width: .. rst-class:: classref-method |void| **set_minimum_width**\ (\ rid\: :ref:`RID`, width\: :ref:`float`\ ) :ref:`🔗` Устанавливает минимальную ширину глобального меню. \ **Примечание:** Этот метод реализован только на macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_popup_close_callback: .. rst-class:: classref-method |void| **set_popup_close_callback**\ (\ rid\: :ref:`RID`, callback\: :ref:`Callable`\ ) :ref:`🔗` Регистрирует callable, которые можно вызывать, когда меню вот-вот отобразится. \ **Примечание:** ОС может имитировать открытие меню для отслеживания изменений пунктов меню и глобальных сочетаний клавиш, в этом случае соответствующий обратный вызов закрытия не запускается. Используйте :ref:`is_opened()`, чтобы проверить, открыто ли меню в данный момент. \ **Примечание:** Этот метод реализован в macOS и Windows. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_popup_open_callback: .. rst-class:: classref-method |void| **set_popup_open_callback**\ (\ rid\: :ref:`RID`, callback\: :ref:`Callable`\ ) :ref:`🔗` Регистры, которые можно вызвать для испускания после закрытия меню. \ **Примечание:** Этот метод реализован только в macOS. .. rst-class:: classref-item-separator ---- .. _class_NativeMenu_method_set_system_menu_text: .. rst-class:: classref-method |void| **set_system_menu_text**\ (\ menu_id\: :ref:`SystemMenus`, name\: :ref:`String`\ ) :ref:`🔗` Sets the text of the system menu item. \ **Note:** This method is implemented on macOS. .. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)` .. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)` .. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)` .. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)` .. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)` .. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)` .. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`