Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PopupMenu
Успадковує: Popup < Window < Viewport < Node < Object
Модульне вікно, яке використовується для відображення списку варіантів.
Опис
PopupMenu – це модальне вікно, яке використовується для відображення списку опцій. Корисно для панелей інструментів та контекстних меню.
Розмір PopupMenu можна обмежити за допомогою Window.max_size. Якщо висота списку елементів більша за максимальну висоту PopupMenu, ScrollContainer у спливаючому вікні дозволить користувачеві прокручувати вміст. Якщо максимальний розмір не встановлено або якщо він встановлено на 0, висота PopupMenu буде обмежена його батьківським прямокутником.
Усі методи set_* дозволяють від'ємні індекси елементів, тобто -1 для доступу до останнього елемента, -2 для вибору передостаннього елемента тощо.
Інкрементальний пошук: Як і ItemList та Tree, PopupMenu підтримує пошук у списку, коли елемент керування перебуває у фокусі. Натисніть клавішу, яка відповідає першій літері назви елемента, щоб вибрати перший елемент, що починається з заданої літери. Після цього є два способи виконати поступовий пошук: 1) Натисніть ту саму клавішу ще раз до закінчення часу очікування, щоб вибрати наступний елемент, що починається з тієї ж літери. 2) Натисніть клавіші з літерами, які відповідають решті слова до закінчення часу очікування, щоб вибрати потрібний елемент безпосередньо. Обидві ці дії будуть скинуті до початку списку, якщо час очікування минув з моменту реєстрації останнього натискання клавіші. Ви можете налаштувати час очікування, змінивши ProjectSettings.gui/timers/incremental_search_max_interval_msec.
Примітка: PopupMenu за замовчуванням невидимий. Щоб зробити його видимим, викличте один із методів popup_* з Window на вузлі, наприклад Window.popup_centered_clamped().
Примітка: Значення ідентифікаторів, що використовуються для елементів, обмежені 32 бітами, а не повними 64 бітами int. Це має діапазон від
-2^32до2^32 - 1, тобто від-2147483648до2147483647.
Властивості
|
||
canvas_item_default_texture_filter |
|
|
canvas_item_default_texture_repeat |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
transparent |
|
|
transparent_bg |
|
Методи
activate_item_by_event(event: InputEvent, for_global_only: bool = false) |
|
void |
add_check_item(label: String, id: int = -1, accel: Key = 0) |
void |
add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) |
void |
|
void |
add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) |
void |
add_radio_check_item(label: String, id: int = -1, accel: Key = 0) |
void |
add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_separator(label: String = "", id: int = -1) |
void |
add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) |
void |
add_submenu_item(label: String, submenu: String, id: int = -1) |
void |
add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) |
void |
|
get_focused_item() const |
|
get_item_accelerator(index: int) const |
|
get_item_auto_translate_mode(index: int) const |
|
get_item_icon(index: int) const |
|
get_item_icon_max_width(index: int) const |
|
get_item_icon_modulate(index: int) const |
|
get_item_id(index: int) const |
|
get_item_indent(index: int) const |
|
get_item_index(id: int) const |
|
get_item_language(index: int) const |
|
get_item_metadata(index: int) const |
|
get_item_multistate(index: int) const |
|
get_item_multistate_max(index: int) const |
|
get_item_shortcut(index: int) const |
|
get_item_submenu(index: int) const |
|
get_item_submenu_node(index: int) const |
|
get_item_text(index: int) const |
|
get_item_text_direction(index: int) const |
|
get_item_tooltip(index: int) const |
|
is_item_checkable(index: int) const |
|
is_item_checked(index: int) const |
|
is_item_disabled(index: int) const |
|
is_item_radio_checkable(index: int) const |
|
is_item_separator(index: int) const |
|
is_item_shortcut_disabled(index: int) const |
|
is_native_menu() const |
|
is_system_menu() const |
|
void |
remove_item(index: int) |
void |
scroll_to_item(index: int) |
void |
set_focused_item(index: int) |
void |
set_item_accelerator(index: int, accel: Key) |
void |
set_item_as_checkable(index: int, enable: bool) |
void |
set_item_as_radio_checkable(index: int, enable: bool) |
void |
set_item_as_separator(index: int, enable: bool) |
void |
set_item_auto_translate_mode(index: int, mode: AutoTranslateMode) |
void |
set_item_checked(index: int, checked: bool) |
void |
set_item_disabled(index: int, disabled: bool) |
void |
set_item_icon(index: int, icon: Texture2D) |
void |
set_item_icon_max_width(index: int, width: int) |
void |
set_item_icon_modulate(index: int, modulate: Color) |
void |
set_item_id(index: int, id: int) |
void |
set_item_indent(index: int, indent: int) |
void |
set_item_index(index: int, target_index: int) |
void |
set_item_language(index: int, language: String) |
void |
set_item_metadata(index: int, metadata: Variant) |
void |
set_item_multistate(index: int, state: int) |
void |
set_item_multistate_max(index: int, max_states: int) |
void |
set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) |
void |
set_item_shortcut_disabled(index: int, disabled: bool) |
void |
set_item_submenu(index: int, submenu: String) |
void |
set_item_submenu_node(index: int, submenu: PopupMenu) |
void |
set_item_text(index: int, text: String) |
void |
set_item_text_direction(index: int, direction: TextDirection) |
void |
set_item_tooltip(index: int, tooltip: String) |
void |
toggle_item_checked(index: int) |
void |
toggle_item_multistate(index: int) |
Властивості теми
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Сигнали
Випробувано, коли користувач навігував на предмет деяких id за допомогою ProjectSettings.input/ui_up або ProjectSettings.input/ui_down вхідних дій.
Викликається при натисканні елемента з деяким id. Також викликається при активації його акселератора на macOS.
Примітка: Якщо id є від'ємним (явно або через переповнення), це поверне відповідний індекс.
Викликається при натисканні елемента деякого index. Також викликається при активації його прискорювача на macOS.
menu_changed() 🔗
При додаванні будь-якого виробу, змінного або видаленого.
Описи властивостей
Якщо true, дозволяє навігації PopupMenu з літерними ключами.
bool hide_on_checkable_item_selection = true 🔗
Якщо true, приховує PopupMenu, коли вибрано прапорець або кнопка радіо.
bool hide_on_item_selection = true 🔗
Якщо true, приховує PopupMenu, коли вибрано пункт.
bool hide_on_state_item_selection = false 🔗
Якщо true, приховує PopupMenu при виборі державного виробу.
Кількість елементів в даний час в списку.
int item_{index}/checkable = 0 🔗
Тип елемента, який можна позначити галочкою, для елемента з індексом index.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
bool item_{index}/checked = false 🔗
Якщо true, перевіряється елемент під index.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
bool item_{index}/disabled = false 🔗
Якщо true, елемент під index вимкнено.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
Піктограма елемента під номером index.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
Ідентифікатор елемента на index.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
bool item_{index}/separator = false 🔗
Якщо true, елемент під index є роздільником.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
String item_{index}/text = "" 🔗
Текст елемента за адресою index.
Примітка: index — це значення в діапазоні 0 .. item_count - 1.
bool prefer_native_menu = false 🔗
Якщо true, MenuBar буде використовувати рідне меню при підтриманні.
Note: Якщо PopupMenu зв'язується з StatusIndicator, MenuBar, або інший PopupMenu пункт, він може використовувати рідне меню незалежно від цього майна, використовувати is_native_menu() для його перевірки.
bool search_bar_enabled = false 🔗
Якщо true, у верхній частині PopupMenu відображається рядок пошуку для фільтрування елементів. Див. search_bar_min_item_count для динамічного керування його видимістю залежно від кількості елементів.
Примітка: Якщо ця опція увімкнена, значення allow_search ігнорується.
bool search_bar_fuzzy_search_enabled = true 🔗
Якщо true, увімкне неточний пошук у PopupMenu рядку пошуку. Це дозволяє включати до результатів пошуку елементи, які майже відповідають пошуковому запиту, а також елементи, що містять окремі символи пошукового запиту, але не в тому ж порядку.
Використовуйте search_bar_fuzzy_search_max_misses, щоб встановити максимальну кількість допустимих невідповідностей у результатах пошуку.
int search_bar_fuzzy_search_max_misses = 2 🔗
void set_search_bar_fuzzy_search_max_misses(value: int)
int get_search_bar_fuzzy_search_max_misses()
Встановлює максимальну кількість розбіжностей, дозволених у кожному результаті пошуку, якщо для панелі пошуку PopupMenu увімкнено неточний пошук. Усі елементи, що містять більше розбіжностей, будуть приховані в результатах пошуку.
int search_bar_min_item_count = 0 🔗
Встановлює мінімальну кількість елементів, необхідну для відображення панелі пошуку. Щоб це спрацювало, значення search_bar_enabled має дорівнювати true. Елементи-роздільники не враховуються.
Якщо true, PopupMenu зменшується до мінімальної висоти під час відображення.
Якщо true, PopupMenu зменшується до мінімальної ширини під час відображення.
float submenu_popup_delay = 0.2 🔗
Встановлює час затримки в секундах для появи елемента підменю при наведенні курсора миші. Якщо спливаюче меню додається як дочірній елемент іншого (що діє як підменю), воно успадкує час затримки батьківського елемента меню.
Примітка: Якщо миша виходить з елемента підменю з відкритим підменю та входить до іншого елемента підменю, час затримки появи спливаючого підменю залежить від напрямку руху миші до відкритого підменю. Якщо миша рухається до підменю, відкрите підменю чекатиме приблизно 0,5 секунди перед закриттям, що потім дозволяє відкрити елемент підменю, на який наведено курсор. Ця додаткова затримка дає миші час для переходу до відкритого підменю через інші елементи меню без передчасного закриття. Якщо миша не рухається до відкритого підменю, наприклад, у напрямку вниз, відкрите підменю негайно закриється.
SystemMenus system_menu_id = 0 🔗
void set_system_menu(value: SystemMenus)
SystemMenus get_system_menu()
Якщо встановити до одного з значень SystemMenus, це PopupMenu межує зі спеціальним меню системи. Тільки один PopupMenu може бути підключений до кожного спеціального меню одночасно.
Описи методів
bool activate_item_by_event(event: InputEvent, for_global_only: bool = false) 🔗
Перевіряє надану event проти ярликів й акселераторів у PopupMenu, а також активує перший елемент з відповідними подіями. Якщо for_global_only є true, тільки ярлики й акселератори з global встановлюються на true.
Повертає true, якщо елемент був успішно активований.
Примітка: Деякі Control, такі як MenuButton, викликають цей метод автоматично.
void add_check_item(label: String, id: int = -1, accel: Key = 0) 🔗
Додає новий елемент-прапорець з текстом label.
Можна також вказати id, а також акселератор accel. Якщо id не надано, то його буде створено з індексу. Якщо accel не надано, то значення за замовчуванням 0 (відповідно до @GlobalScope.KEY_NONE) буде призначено елементу (що позначає відсутність акселератора). Дивитись get_item_accelerator() для подробиць щодо акселераторів.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Додає новий елемент-прапорець і призначає зазначений Shortcut. Встановлює текст до прапорця на назву Shortcut.
Можна також вказати id. Якщо id не надано, то його буде створено з індексу.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
Додає новий елемент-прапорець з текстом label та іконкою texture.
Можна також вказати id, а також акселератор accel. Якщо id не надано, то його буде створено з індексу. Якщо accel не надано, то значення за замовчуванням 0 (відповідно до @GlobalScope.KEY_NONE) буде призначено елементу (що позначає відсутність акселератора). Дивитись get_item_accelerator() для подробиць щодо акселераторів.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Додає новий елемент-прапорець і призначає зазначений Shortcut та іконку texture. Встановлює текст до прапорця на назву Shortcut.
Можна також вказати id. Якщо id не надано, то його буде створено з індексу.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
Додавання нового елемента з текстом пам'ячим міткою та іконкою texture.
id може бути додатково, а також акселератор (accel). Якщо немає id, він буде створений з індексу. Якщо немає accel, то значення за замовчуванням 0 (відповідно до @GlobalScope.KEY_NONE) буде призначено до пункту (що означає, що він не має ніякого прискорювача). Детальніше про акселератори.
void add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
Те саме, що й add_icon_check_item(), але використовує кнопку перемикання.
void add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Те саме, що й add_icon_check_shortcut(), але використовує кнопку перемикання.
void add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗
Додає новий елемент і призначає зазначений Shortcut і іконку текстура. Встановлює етикетку прапорця на назву Shortcut.
id може бути додатково. Якщо немає id, він буде створений з індексу.
Якщо allow_echo є true, то ярлик можна активувати з луновими подіями.
void add_item(label: String, id: int = -1, accel: Key = 0) 🔗
Додати новий елемент з текстом label.
id може бути додатково, а також акселератор (accel). Якщо немає id, він буде створений з індексу. Якщо немає accel, то значення за замовчуванням 0 (відповідно до @GlobalScope.KEY_NONE) буде призначено до пункту (що означає, що він не має ніякого прискорювача). Детальніше про акселератори.
Примітка: Надана id використовується тільки в id_pressed і id_focused сигнали. Це не пов'язано з index аргументи в e.g. set_item_checked().
void add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) 🔗
Додає новий елемент із кількома станами з текстом label.
На відміну від звичайних бінарних елементів, елементи з кількома станами можуть мати більше двох станів, як визначено max_states. Значення за замовчуванням визначається default_state.
Опціонально можна надати id, а також прискорювач (accel). Якщо id не вказано, його буде створено з індексу. Якщо accel не надано, тоді елементу буде призначено значення за замовчуванням 0 (що відповідає @GlobalScope.KEY_NONE) (це означає, що він не матиме прискорювача). Дивіться get_item_accelerator(), щоб дізнатися більше про прискорювачі.
func _ready():
add_multistate_item("Елемент", 3, 0)
index_pressed.connect(func(index: int):
toggle_item_multistate(index)
match get_item_multistate(index):
0:
print("Перший стан")
1:
print("Другий стан")
2:
print("Третій стан")
)
Примітка. Елементи з кількома станами не оновлюють свій стан автоматично, це потрібно робити вручну. Перегляньте toggle_item_multistate(), set_item_multistate() і get_item_multistate(), щоб дізнатися більше про те, як ним керувати.
void add_radio_check_item(label: String, id: int = -1, accel: Key = 0) 🔗
Додає нову радіокнопку з текстом label.
Можна також вказати id, а також акселератор accel. Якщо id не надано, то його буде створено з індексу. Якщо accel не надано, то значення за замовчуванням 0 (відповідно до @GlobalScope.KEY_NONE) буде призначено елементу (що позначає відсутність акселератора). Дивитись get_item_accelerator() для подробиць щодо акселераторів.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Додає нову радіокнопку і призначає зазначений Shortcut. Встановлює текст до прапорця на назву Shortcut.
Можна також вказати id. Якщо id не надано, то його буде створено з індексу.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну. Дивитись set_item_checked() для додаткової інформації щодо того, як ними керувати.
void add_separator(label: String = "", id: int = -1) 🔗
Додавання сепаратора між предметами. Сепаратори також займають індекс, який можна встановити за допомогою параметра id.
label може бути надана додатково, яка з'явиться в центрі сепаратора.
void add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗
Додати Shortcut.
id може бути додатково. Якщо немає id, він буде створений з індексу.
Якщо allow_echo є true, ярлик можна активувати з луновими подіями.
void add_submenu_item(label: String, submenu: String, id: int = -1) 🔗
Застаріло: Prefer using add_submenu_node_item() instead.
Додає елемент, який буде діяти як підменю батьківського вузла PopupMenu при натисканні. submenu аргумент повинен бути ім'ям існуючого PopupMenu, який було додано в якості дитини в цей вузол. Цей субмену буде показано, коли елемент натискається, переповнений протягом тривалого часу або активований за допомогою ui_select або ui_right вхідних дій.
id може бути додатково. Якщо немає id, він буде створений з індексу.
void add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) 🔗
Додає елемент, який буде діяти як підменю батьківського вузла PopupMenu при натисканні. Цей субмену буде показано, коли елемент натискається, переповнений протягом тривалого часу або активований за допомогою ui_select або ui_right вхідні дії.
submenu повинен бути або дитина цього PopupMenu або не має материнського вузла (в якому випадку він буде автоматично додано як дитина). Якщо у submenu popup є інший батько, цей метод не буде.
id може бути додатково. Якщо немає id, він буде створений з індексу.
void clear(free_submenus: bool = false) 🔗
Видаляє всі елементи з PopupMenu. Якщо free_submenus є true, вузли підменю автоматично звільняються.
int get_focused_item() const 🔗
Повернення індексу вказаного елемента. Повертає -1, якщо не фокусується предмет.
Key get_item_accelerator(index: int) const 🔗
Повернення акселератора пункту на даній index. Акселератор - це клавішний ярлик, який можна натиснути, щоб запустити меню, навіть якщо це не відкрито. Значення повернення є ціле, яке, як правило, поєднання KeyModifierMasks і Keys using bitwise OR, такі як KEY_MASK_CTRL KEY_A (Ctrl + A). Якщо не визначено акселератор для вказаного index, get_item_accelerator() повертає 0 (constant @GlobalScope.KEY_NONE]).
AutoTranslateMode get_item_auto_translate_mode(index: int) const 🔗
Повертає режим автоматичного перекладання елемента за заданим index.
Texture2D get_item_icon(index: int) const 🔗
Повертає значок елемента на даному index.
int get_item_icon_max_width(index: int) const 🔗
Повертаємо максимальну допустиму ширину ікони для пункту наведено index.
Color get_item_icon_modulate(index: int) const 🔗
Повертаємо іконку Color, що модулює іконку елемента на даній index.
int get_item_id(index: int) const 🔗
Повертає ідентифікатор елемента за вказаним index.
int get_item_indent(index: int) const 🔗
Повертаємо горизонтальний зсув елемента на даній index.
int get_item_index(id: int) const 🔗
Повертає індекс елемента, що містить вказаний id. Індекс автоматично присвоюється кожному елементу движком під час додавання і визначає порядок, у якому елементи будуть відображатися.
String get_item_language(index: int) const 🔗
Повертає код мови тексту елемента.
Variant get_item_metadata(index: int) const 🔗
Повернення метаданих зазначеного елемента, який може бути будь-яким типом. Ви можете встановити його з set_item_metadata(), що забезпечує простий спосіб присвоєння контекстних даних до предметів.
int get_item_multistate(index: int) const 🔗
Повертає стан елемента у даному index.
int get_item_multistate_max(index: int) const 🔗
Повертаємо максимальні стани пункту на даній index.
Shortcut get_item_shortcut(index: int) const 🔗
Повертаємо Shortcut, пов'язану з пунктом на даній index.
String get_item_submenu(index: int) const 🔗
Застаріло: Prefer using get_item_submenu_node() instead.
Повертає назву підменю елемента за заданим index. Див. add_submenu_item() для отримання додаткової інформації про те, як додати підменю.
PopupMenu get_item_submenu_node(index: int) const 🔗
Повертає підменю елемента за заданим index або null, якщо підменю не було додано. Див. add_submenu_node_item() для отримання додаткової інформації про те, як додати підменю.
String get_item_text(index: int) const 🔗
Повертає текст елементу на даному index.
TextDirection get_item_text_direction(index: int) const 🔗
Повертає напрямок написання тексту елемента.
String get_item_tooltip(index: int) const 🔗
Повертає інструмент, пов'язаний з пунктом наведено index.
bool is_item_checkable(index: int) const 🔗
Повертає true, якщо елемент на index можна обрати, тобто якщо він є прапорцем чи радіокнопкою.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну.
bool is_item_checked(index: int) const 🔗
Повертаємо true, якщо пункт надана index перевіряється.
bool is_item_disabled(index: int) const 🔗
Повертає true, якщо товар на даному index вимкнено. Коли його вимкнено, він не може бути обраний, а його дія — викликана.
Дивитися set_item_disabled() для подробиць про те, як вимкнути елемент.
bool is_item_radio_checkable(index: int) const 🔗
Повертаємо true, якщо пункт надана index має можливість перевірки відповідності радіоносія.
Примітка: Це чисто косметичний, необхідно додати логіку для перевірки/розшуку предметів в радіо групах.
bool is_item_separator(index: int) const 🔗
Повертаємо true, якщо елемент є сепаратором. Якщо це буде показано як рядок. Детальніше про те, як додати сепаратор.
bool is_item_shortcut_disabled(index: int) const 🔗
Повертаємо true, якщо позначений пункт вимкнено.
Повертає true, якщо надана система підтримується і в даний час використовується цей PopupMenu.
Повернення true, якщо меню підключено до спеціального меню системи.
void remove_item(index: int) 🔗
Видаліть пункт у даній index з меню.
Примітка: Індикатори елементів після вилученого елемента будуть переміщені одним.
void scroll_to_item(index: int) 🔗
Переміщує вид з прокруткою, щоб зробити елемент у позиції index видимим.
void set_focused_item(index: int) 🔗
Встановлює поточний сфокусований елемент, як зазначений index.
Передача -1 як індексу робить так, що жоден елемент не фокусується.
void set_item_accelerator(index: int, accel: Key) 🔗
Встановлює акселератор елемента на даній index. Акселератор - це клавішний ярлик, який можна натиснути, щоб запустити меню, навіть якщо це не відкрито. accel, як правило, поєднання KeyModifierMasks and Keys using bitwise OR: KEY_MASK_CTRL KEY_A (Ctrl + A).
void set_item_as_checkable(index: int, enable: bool) 🔗
Установлює, чи елемент на index має прапорець. Якщо false, установлює тип елемента на звичайний текст.
Примітка: Елементи-прапорці просто показують галочку, але не мають ніякої вбудованої поведінки щодо вмикання та вимикання, тому потребують робити це вручну.
void set_item_as_radio_checkable(index: int, enable: bool) 🔗
Встановлює тип елемента на даній index на радіокнопці. Якщо false, встановлюємо тип пункту на звичайний текст.
void set_item_as_separator(index: int, enable: bool) 🔗
Позначити елемент на даній index як сепаратор, який означає, що він буде відображатися як рядок. Якщо false, встановлюємо тип елемента на звичайний текст.
void set_item_auto_translate_mode(index: int, mode: AutoTranslateMode) 🔗
Встановлює режим автоматичного перекладу елемента за заданим index.
Елементи використовують Node.AUTO_TRANSLATE_MODE_INHERIT за замовчуванням, який використовує той самий режим автоматичного перекладу, що й сам PopupMenu.
void set_item_checked(index: int, checked: bool) 🔗
Налаштовує статус контрольного стану елемента на даній index.
void set_item_disabled(index: int, disabled: bool) 🔗
Увімкнути/вимкнути елемент у даному index. Коли він вимкнений, він не може бути обраний і його дія не може бути викликана.
void set_item_icon(index: int, icon: Texture2D) 🔗
Замінює іконку Texture2D на даній index.
void set_item_icon_max_width(index: int, width: int) 🔗
Встановлюємо максимальну допустиму ширину ікони для елемента на даній index. Цей ліміт наноситься зверху за замовчуванням, розмір іконки і зверху icon_max_width. Висота регульована відповідно до співвідношення ікони.
void set_item_icon_modulate(index: int, modulate: Color) 🔗
Встановлює модулюючу іконку елемента на даній index.
void set_item_id(index: int, id: int) 🔗
Встановіть id пункту наведено index.
id використовується в id_pressed і id_focused сигнали.
void set_item_indent(index: int, indent: int) 🔗
Встановлює горизонтальний зсув елемента на даній index.
void set_item_index(index: int, target_index: int) 🔗
Змінює індекс елемента з індексу index на індекс target_index. Цю функцію можна використовувати для переміщення елемента над іншими елементами. Переміщений елемент збереже той самий ідентифікатор, навіть якщо він був згенерований на основі початкового індексу.
Примітка: Індекси всіх елементів між індексом index та індексом target_index будуть зміщені на один.
void set_item_language(index: int, language: String) 🔗
Встановлює мовний код тексту для елемента за заданим індексом на language. Це використовується для алгоритмів розриву рядків та формування тексту. Якщо language порожній, використовується поточна локалізація.
void set_item_metadata(index: int, metadata: Variant) 🔗
Встановлює метадані елемента, який може бути будь-яким типом. Ви можете отримати його за допомогою get_item_metadata(), який забезпечує простий спосіб присвоєння контекстних даних до предметів.
void set_item_multistate(index: int, state: int) 🔗
Встановлює стан багатодержавного елемента. Див. add_multistate_item() для деталей.
void set_item_multistate_max(index: int, max_states: int) 🔗
Налаштовує максимальні стани багатодержавного елемента. Див. add_multistate_item() для деталей.
void set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) 🔗
Встановіть Shortcut для пункту наведено index.
void set_item_shortcut_disabled(index: int, disabled: bool) 🔗
Вимкнено Shortcut пункту на даній index.
void set_item_submenu(index: int, submenu: String) 🔗
Застаріло: Prefer using set_item_submenu_node() instead.
Встановлює субмену пункту на даній index. Підменю є ім'я дитини PopupMenu вузол, який буде показано, коли пункт натискається.
void set_item_submenu_node(index: int, submenu: PopupMenu) 🔗
Встановлює субмену пункту на даній index. Підмену є вузол PopupMenu, який буде показано, коли пункт натискається. Щоб бути дитиною цього PopupMenu або не має батьків (в якому випадку вона буде автоматично додана як дитина). Якщо у submenu popup є інший батько, цей метод не буде.
void set_item_text(index: int, text: String) 🔗
Встановлює текст елемента на даному index.
void set_item_text_direction(index: int, direction: TextDirection) 🔗
Встановлює напрямок написання тексту елемента.
void set_item_tooltip(index: int, tooltip: String) 🔗
Налаштовує String інструментарій пункту на даній index.
void toggle_item_checked(index: int) 🔗
Вимкнено контрольний стан пункту за вказаною index.
void toggle_item_multistate(index: int) 🔗
Цикл до наступного стану багатодержавного елемента. Див. add_multistate_item() для деталей.
Описи тематичної нерухомості
Color font_accelerator_color = Color(0.7, 0.7, 0.7, 0.8) 🔗
Текст Color використовується для ярликів та акселераторів, які відображають назву меню при визначенні. Детальніше про акселератори.
Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗
Текст за замовчуванням Color для імен меню.
Color font_disabled_color = Color(0.4, 0.4, 0.4, 0.8) 🔗
Color використовується для текстового меню вимкнено.
Color font_hover_color = Color(0.875, 0.875, 0.875, 1) 🔗
Color використовується для переповненого тексту.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
Вміст текстового контуру меню.
Color font_separator_color = Color(0.875, 0.875, 0.875, 1) 🔗
Color використовується для текстових сепараторів етикетки. Див. add_separator().
Color font_separator_outline_color = Color(0, 0, 0, 1) 🔗
Розмітка текстового контуру маркованого сепаратора.
Якщо не 0, область значка буде об'єднана з областю прапорців, коли це можливо. Це діє як логічне значення.
Горизонтальний простір між елементами виробу.
Максимальна допустима ширина іконки елемента. Цей ліміт наноситься зверху за замовчуванням, розмір іконки, але перед значенням, встановленим set_item_icon_max_width(). Висота регульована відповідно до співвідношення ікони.
Ширина одного рівня відступу.
Горизонтальний натяг з правом предметів (або зліва, в макеті RTL).
Горизонтальний наповнювач зліва від елементів (або праворуч, в макеті RTL).
Розмір контуру пункту.
Примітка: Якщо за допомогою шрифту FontFile.multiканал_signed_distance_field ввімкнено, його FontFile.msdf_pixel_range необхідно встановити принаймні twice значення index_size для позначення, що дає змогу виглядати правильно. В іншому випадку контур може з'явитися, щоб зрізати раніше, ніж призначений.
int search_bar_separation = 4 🔗
Відстань між рядком пошуку та пунктами меню.
int separator_outline_size = 0 🔗
Розмір наклеєного сепаратора текстового контуру.
Вертикальний простір між кожним пунктом меню.
Font використовується для елементів меню.
Font використовується для позначеного роздільника.
Розмір шрифту маркованого сепаратора.
Розмір шрифту меню.
Texture2D іконка для зареєстрованих елементів прапорця.
Texture2D значок для зареєстрованих елементів прапорця, коли вони вимкнені.
Texture2D іконка для зареєстрованих радіоносіях.
Texture2D radio_checked_disabled 🔗
Texture2D значок для зареєстрованих радіоносіях, коли вони вимкнені.
Texture2D іконка для штампованих радіоносіях.
Texture2D radio_unchecked_disabled 🔗
Texture2D іконка для знімних радіоносіях, коли вони вимкнені.
Texture2D — піктограма для панелі пошуку.
Texture2D іконка для підменю стріли (для лівих макетів).
Texture2D іконка для підменю стріли (для правого розташування макетів).
Texture2D іконка для штампованих елементів прапорця.
Texture2D unchecked_disabled 🔗
Texture2D іконка для оглянутих елементів прапорця, коли вони вимкнені.
StyleBox відображається, коли елемент PopupMenu передається.
StyleBox labeled_separator_left 🔗
StyleBox на ліву сторону маркованого сепаратора. Див. add_separator().
StyleBox labeled_separator_right 🔗
StyleBox для правої сторони маркованого сепаратора. Див. add_separator().
StyleBox для фонової панелі.
StyleBox використовується для сепараторів. Див. add_separator().