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...
ItemList
Успадковує: Control < CanvasItem < Node < Object
Вертикальний список виділених елементів з одним або декількома стовпчиками.
Опис
Цей контроль забезпечує вертикальний список вибраних елементів, які можуть бути в одному або в декількох стовпчиках, з кожним елементом, що має параметри для тексту і іконки. Підтримуються та можуть бути різними для кожного елемента в списку.
Вибрані елементи в списку можуть бути вибрані або вилучені і багаторазові виділення можуть бути включені. Підбір з правою кнопкою миші також може бути включений, щоб дозволити використовувати контекстні меню. Товари можуть бути "активовані" за допомогою подвійного затискання їх або натиснувши Enter.
Текст тільки підтримує однолінійні рядки. Нові символи (наприклад, \n) в рядку не виготовить новий рядок. Текстове обгортання ввімкнено в режимі ICON_MODE_TOP, але ширина стовпця регульована для повністю придатного його вмісту за замовчуванням. Вам потрібно встановити fixed_column_width більше нуля, щоб обгорнути текст.
Всі set_* методи дозволяють індексувати негативний елемент, тобто -1 для доступу до останнього елемента -2 для вибору другого елемента, і так далі.
Incremental search: Подібно PopupMenu і Tree, ItemList підтримує пошук у списку, коли фокусується контроль. Натисніть клавішу, яка відповідає першому листу назви пункту, щоб вибрати перший елемент, починаючи з даного листа. Після того, як точка, є два способи виконання вступного пошуку: 1) Натисніть той же ключ знову до закінчення часу, щоб вибрати наступний пункт, починаючи з того ж листа. 2) Натисніть клавіші літери, які відповідають решті слова перед тривалістю часу, щоб відповідати вибору пункту прямо. І з цих дій буде скидання на початок списку, якщо тривалість від’їзду з останнього ключа було зареєстровано. Ви можете налаштувати тривалість часу, змінивши ProjectSettings.gui/timers/incremental_search_max_interval_msec.
Властивості
|
||
|
||
|
||
|
||
|
||
clip_contents |
|
|
|
||
Vector2i |
|
|
focus_mode |
|
|
|
||
|
||
|
||
|
||
Texture2D |
||
|
||
String |
|
|
|
||
|
||
|
||
|
||
|
||
OverrunBehavior |
|
|
|
||
|
Методи
add_icon_item(icon: Texture2D, selectable: bool = true) |
|
add_item(text: String, icon: Texture2D = null, selectable: bool = true) |
|
void |
center_on_current(center_verically: bool = true, center_horizontally: bool = true) |
void |
clear() |
void |
|
void |
|
void |
|
void |
|
get_item_at_position(position: Vector2, exact: bool = false) const |
|
AutoTranslateMode |
get_item_auto_translate_mode(idx: int) const |
get_item_custom_bg_color(idx: int) const |
|
get_item_custom_fg_color(idx: int) const |
|
Texture2D |
get_item_icon(idx: int) const |
get_item_icon_modulate(idx: int) const |
|
Rect2 |
get_item_icon_region(idx: int) const |
String |
get_item_language(idx: int) const |
Variant |
get_item_metadata(idx: int) const |
Rect2 |
get_item_rect(idx: int, expand: bool = true) const |
String |
get_item_text(idx: int) const |
get_item_text_direction(idx: int) const |
|
String |
get_item_tooltip(idx: int) const |
PackedInt32Array |
|
VScrollBar |
|
is_item_disabled(idx: int) const |
|
is_item_icon_transposed(idx: int) const |
|
is_item_selectable(idx: int) const |
|
is_item_tooltip_enabled(idx: int) const |
|
is_selected(idx: int) const |
|
void |
|
void |
remove_item(idx: int) |
void |
|
void |
set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) |
void |
set_item_custom_bg_color(idx: int, custom_bg_color: Color) |
void |
set_item_custom_fg_color(idx: int, custom_fg_color: Color) |
void |
set_item_disabled(idx: int, disabled: bool) |
void |
set_item_icon(idx: int, icon: Texture2D) |
void |
set_item_icon_modulate(idx: int, modulate: Color) |
void |
set_item_icon_region(idx: int, rect: Rect2) |
void |
set_item_icon_transposed(idx: int, transposed: bool) |
void |
set_item_language(idx: int, language: String) |
void |
set_item_metadata(idx: int, metadata: Variant) |
void |
set_item_selectable(idx: int, selectable: bool) |
void |
set_item_text(idx: int, text: String) |
void |
set_item_text_direction(idx: int, direction: TextDirection) |
void |
set_item_tooltip(idx: int, tooltip: String) |
void |
set_item_tooltip_enabled(idx: int, enable: bool) |
void |
Властивості теми
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Texture2D |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
||
StyleBox |
Сигнали
empty_clicked(at_position: Vector2, mouse_button_index: int) 🔗
Випускається, коли будь-яке клацання мишею виконується в правій частині списку, але на порожньому місці.
at_position — це позиція клацання в локальній системі координат цього елемента керування.
Видається, коли вказаний елемент списку активується подвійним клацанням або натисканням Enter.
item_clicked(index: int, at_position: Vector2, mouse_button_index: int) 🔗
Видається, коли вказаний елемент списку клацнуто будь-якою кнопкою миші.
at_position — це позиція клацання в локальній системі координат цього елемента керування.
Видається, коли вибрано вказаний елемент. Застосовується лише в режимі одного вибору.
Для повторного вибору елемента потрібно ввімкнути allow_reselect.
multi_selected(index: int, selected: bool) 🔗
Випускається, коли множинний вибір змінюється у списку, що дозволяє множинний вибір.
Переліки
enum IconMode: 🔗
IconMode ICON_MODE_TOP = 0
Ікона намальована над текстом.
IconMode ICON_MODE_LEFT = 1
Ікона тягнеться зліва від тексту.
enum SelectMode: 🔗
SelectMode SELECT_SINGLE = 0
Тільки дозволяє вибрати один елемент.
SelectMode SELECT_MULTI = 1
Дозволяє вибрати декілька елементів за допомогою холдингу Ctrl або Shift.
SelectMode SELECT_TOGGLE = 2
Дозволяє вибирати кілька елементів, умикаючи та вимикаючи їх.
enum ScrollHintMode: 🔗
ScrollHintMode SCROLL_HINT_MODE_DISABLED = 0
Підказки прокручування ніколи не відображатимуться.
ScrollHintMode SCROLL_HINT_MODE_BOTH = 1
Підказки прокручування будуть відображатися зверху та знизу.
ScrollHintMode SCROLL_HINT_MODE_TOP = 2
Буде показано лише верхню підказку прокручування.
ScrollHintMode SCROLL_HINT_MODE_BOTTOM = 3
Буде показано лише нижню підказку прокручування.
Описи властивостей
Якщо true, в даний час вибраний пункт можна вибрати знову.
bool allow_rmb_select = false 🔗
Якщо true, клацніть правою кнопкою миші можна вибрати елементи.
Якщо true, дозволяє навігувати ItemList з літерними ключами через незнімний пошук.
Якщо true, контроль буде автоматично змінювати висоту, щоб відповідати його вмісту.
Якщо true, елемент керування автоматично змінить розмір ширини відповідно до вмісту.
Ширина всіх стовпчиків буде регулюватися.
Значення нульового відключення регулювання, кожен елемент буде мати ширину його вмісту і стовпці будуть мати нерівну ширину.
Vector2i fixed_icon_size = Vector2i(0, 0) 🔗
void set_fixed_icon_size(value: Vector2i)
Vector2i get_fixed_icon_size()
Розмір всіх іконок буде регулюватися.
Якщо компонент X або Y не більше нуль, розмір ікони не буде впливати.
Положення значка, над текстом чи ліворуч від нього. Див. константи IconMode.
Масштаб значка, застосований після fixed_icon_size та транспонування, набуває чинності.
Кількість елементів в даний час в списку.
bool item_{index}/disabled = false 🔗
If true, the item at index is disabled.
Note: index is a value in the 0 .. item_count - 1 range.
Texture2D item_{index}/icon 🔗
The icon of the item at index.
Note: index is a value in the 0 .. item_count - 1 range.
bool item_{index}/selectable = true 🔗
If true, the item at index is selectable.
Note: index is a value in the 0 .. item_count - 1 range.
String item_{index}/text = "" 🔗
The text of the item at index.
Note: index is a value in the 0 .. item_count - 1 range.
Максимальна кількість стовпців буде мати список.
Якщо більше нуль, вміст буде розбити серед зазначених стовпчиків.
Значення нуля означає необмежені стовпчики, тобто всі елементи будуть розміщені в одному ряду.
Максимальні лінії тексту дозволені в кожному елементі. Простір буде зарезервований навіть якщо не вистачає рядків для відображення.
Примітка: Ця властивість діє тільки тоді, коли icon_mode ICON_MODE_TOP. Щоб зробити текстове обгортання, fixed_column_width повинна бути більш ніж нуль.
bool same_column_width = false 🔗
Якщо всі стовпчики будуть мати однакову ширину.
Якщо true, ширина дорівнює найбільшій ширини колонки всіх стовпчиків.
ScrollHintMode scroll_hint_mode = 0 🔗
void set_scroll_hint_mode(value: ScrollHintMode)
ScrollHintMode get_scroll_hint_mode()
Спосіб відображення підказок прокручування (індикаторів, що показують, що вміст все ще можна прокручувати в певному напрямку).
SelectMode select_mode = 0 🔗
void set_select_mode(value: SelectMode)
SelectMode get_select_mode()
Дозволяє вибрати один або кілька елементів. Дивитися SelectMode константи.
OverrunBehavior text_overrun_behavior = 3 🔗
void set_text_overrun_behavior(value: OverrunBehavior)
OverrunBehavior get_text_overrun_behavior()
Поведінка відсікання, коли текст виходить за межі прямокутника, що обмежує елемент.
bool tile_scroll_hint = false 🔗
Якщо значення true, текстура підказки прокручування буде розкладена мозаїкою, а не розтягнута. Див. scroll_hint_mode.
bool wraparound_items = true 🔗
Якщо true, елемент керування автоматично перемістить елементи в новий рядок відповідно до його вмісту. Перегляньте також HFlowContainer для цієї поведінки.
Якщо false, елемент керування додасть горизонтальну смугу прокручування, щоб усі елементи були видимими.
Описи методів
int add_icon_item(icon: Texture2D, selectable: bool = true) 🔗
Додає елемент до списку елементів без тексту, тільки з іконкою. Повертає позицію доданого елемента.
int add_item(text: String, icon: Texture2D = null, selectable: bool = true) 🔗
Додає елемент до списку елементів із вказаним текстом. Повертає індекс доданого елемента.
Укажіть icon або використовуйте null як icon для елемента списку без піктограми.
Якщо selectable має значення true, елемент списку можна вибрати.
void center_on_current(center_verically: bool = true, center_horizontally: bool = true) 🔗
Ensures the currently selected item (the first selected item if multiple selection is enabled) is visible, adjusting the scroll position as necessary to place the item at the center of the list if possible. See also ensure_current_is_visible().
Fails and prints an error if both arguments are false.
void clear() 🔗
Видаляє всі елементи зі списку.
Упевнюється, що елемент, пов'язаний з зазначеним індексом, не буде обрано.
void deselect_all() 🔗
Забезпечує, що не обрано жодного елемента.
void ensure_current_is_visible() 🔗
Ensures the currently selected item (the first selected item if multiple selection is enabled) is visible, adjusting the scroll position as necessary. See also center_on_current().
void force_update_list_size() 🔗
Сили оновлення розміру списку на основі його елементів. Це відбувається автоматично, коли будь-який розмір елементів, або інші відповідні параметри, такі як auto_height, зміна. Метод може використовуватися для запуску оновлення на наступний прохід.
HScrollBar get_h_scroll_bar() 🔗
Повертає горизонтальну смугу прокручування.
Попередження: Це обов’язковий внутрішній вузол, його видалення та звільнення може призвести до збою. Якщо ви бажаєте приховати його чи будь-який із його дочірніх елементів, скористайтеся властивістю CanvasItem.visible.
int get_item_at_position(position: Vector2, exact: bool = false) const 🔗
Повертає індекс елемента на даній position.
Коли в тій точці немає елемента, -1 буде повернено, якщо exact true, а інакше буде повернений найближчий індекс.
Примітка: Повернуте значення ненадійне, якщо називається відразу після змін до ItemList, перш ніж він перемальовується в наступному кадрі.
AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗
Повертає режим автоматичного перекладу елемента.
Color get_item_custom_bg_color(idx: int) const 🔗
Повертає користувацький фоновий колір виробу, зазначеного індексом idx.
Color get_item_custom_fg_color(idx: int) const 🔗
Повертає користувацький форвардний колір виробу, зазначеного індексом idx.
Texture2D get_item_icon(idx: int) const 🔗
Повернення іконки, пов'язаної з вказаним індексом.
Color get_item_icon_modulate(idx: int) const 🔗
Повертає іконку Color модулюючий елемент у зазначеному індексі.
Rect2 get_item_icon_region(idx: int) const 🔗
Повернення краю іконки елемента використовується. Вся ікона буде використовуватися, якщо регіон не має місця.
String get_item_language(idx: int) const 🔗
Повертає код мови тексту елемента.
Variant get_item_metadata(idx: int) const 🔗
Повертає значення метаданих вказаного індексу.
Rect2 get_item_rect(idx: int, expand: bool = true) const 🔗
Повертає позицію та розмір пункту з вказаним індексом, в координаційній системі вершини ItemList. Якщо expand є true останнього стовпчика розширюється, щоб заповнити решту рядка.
Примітка: Повернуте значення ненадійне, якщо називається правою після зміни ItemList, перш ніж він почервоний в наступному кадрі.
String get_item_text(idx: int) const 🔗
Повернення тексту, пов'язаного з вказаним індексом.
TextDirection get_item_text_direction(idx: int) const 🔗
Повертає напрямок написання тексту елемента.
String get_item_tooltip(idx: int) const 🔗
Повертає на підказку, пов'язаний з вказаним індексом.
PackedInt32Array get_selected_items() 🔗
Повертає масив з індексами вибраних елементів.
VScrollBar get_v_scroll_bar() 🔗
Повертає вертикальну прокрутку.
Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх CanvasItem.pic.
Повертає true, якщо вибрано один або кілька елементів.
bool is_item_disabled(idx: int) const 🔗
Повертає true, якщо елемент на зазначеній позиції вимкнено.
bool is_item_icon_transposed(idx: int) const 🔗
Повертаємо true, якщо значок елемента буде намальовано, тобто X і Y знімаються.
bool is_item_selectable(idx: int) const 🔗
Повертає true, якщо пункт у зазначеному індексі вибрано.
bool is_item_tooltip_enabled(idx: int) const 🔗
Повертає true, якщо увімкнено інструмент для вказаного індексу пункту.
bool is_selected(idx: int) const 🔗
Повертає true, якщо елемент в зазначеній позиції наразі вибрано.
void move_item(from_idx: int, to_idx: int) 🔗
Перемістити пункт з індексу пара від_idx до to_idx.
Видалити пункт, зазначений індексом idx з списку.
void select(idx: int, single: bool = true) 🔗
Selects the item at the specified index.
Note: This method does not trigger the item selection signal.
void set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) 🔗
Встановлює режим автоматичного перекладу елемента, пов’язаного з указаним індексом.
Елементи за замовчуванням використовують Node.AUTO_TRANSLATE_MODE_INHERIT, який використовує той самий режим автоматичного перекладу, що й сам ItemList.
void set_item_custom_bg_color(idx: int, custom_bg_color: Color) 🔗
Встановлює фоновий колір виробу, зазначеного індексом idx до вказаного Color.
void set_item_custom_fg_color(idx: int, custom_fg_color: Color) 🔗
Встановлює передовий колір виробу, зазначеного індексом idx до вказаного Color.
void set_item_disabled(idx: int, disabled: bool) 🔗
Вимкнення (або дозволяє) елементу в зазначеному індексі.
Вимкнені елементи не можна вибрати і не запускати сигнали активації (при подвійному затисканні або натисканні Enter).
void set_item_icon(idx: int, icon: Texture2D) 🔗
Набори (або замінює) іконки Texture2D, пов'язані з вказаним індексом.
void set_item_icon_modulate(idx: int, modulate: Color) 🔗
Встановлює модуляцію Color пункту, пов'язаної з вказаним індексом.
void set_item_icon_region(idx: int, rect: Rect2) 🔗
Налаштовує область ікони елемента. Вся ікона буде використовуватися, якщо регіон не має місця.
void set_item_icon_transposed(idx: int, transposed: bool) 🔗
Встановлює, чи буде показано значок елемента.
void set_item_language(idx: int, language: String) 🔗
Встановлює мовний код тексту для елемента за заданим індексом на language. Це використовується для алгоритмів розриву рядків та формування тексту. Якщо language порожній, використовується поточна локалізація.
void set_item_metadata(idx: int, metadata: Variant) 🔗
Встановлює значення (з будь-якого типу) для зберігання з пунктом, пов'язаним з вказаним індексом.
void set_item_selectable(idx: int, selectable: bool) 🔗
Дозволяє або заборонити вибір виробу, пов'язаних з вказаним індексом.
void set_item_text(idx: int, text: String) 🔗
Встановлює текст елемента, пов'язаний з вказаним індексом.
void set_item_text_direction(idx: int, direction: TextDirection) 🔗
Встановлює напрямок написання тексту елемента.
void set_item_tooltip(idx: int, tooltip: String) 🔗
Налаштовує натиснення інструменту для предмету, пов'язаного з вказаним індексом.
void set_item_tooltip_enabled(idx: int, enable: bool) 🔗
Налаштовує, чи включений інструмент для індексу вказаного пункту.
void sort_items_by_text() 🔗
Сортувати за текстом.
Описи тематичної нерухомості
Color font_color = Color(0.65, 0.65, 0.65, 1) 🔗
Текст за замовчуванням Color пункту.
Color font_hovered_color = Color(0.95, 0.95, 0.95, 1) 🔗
Текст Color використовується, коли елемент передається і не вибрано ще.
Color font_hovered_selected_color = Color(1, 1, 1, 1) 🔗
Color тексту, що використовується, коли елемент наведено та вибрано.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
Вміст текстового контуру виробу.
Color font_selected_color = Color(1, 1, 1, 1) 🔗
Color тексту, що використовується, коли елемент вибрано, але не наведено.
Color guide_color = Color(0.7, 0.7, 0.7, 0.25) 🔗
Колор дирекції. Дирекція - лінія, що складається між кожним рядом предметів.
Color scroll_hint_color = Color(0, 0, 0, 1) 🔗
Color використовується для модуляції текстури scroll_hint.
Горизонтальна чистка між предметами.
Спірування іконки елемента та тексту.
Вертикальне обмотування між кожним рядком тексту.
Розмір контуру пункту.
Примітка: Якщо за допомогою шрифту FontFile.multiканал_signed_distance_field ввімкнено, його FontFile.msdf_pixel_range необхідно встановити принаймні twice значення index_size для позначення, що дає змогу виглядати правильно. В іншому випадку контур може з'явитися, щоб зрізати раніше, ніж призначений.
Вертикальне обмотування між предметами.
Font тексту елемента.
Розмір шрифту тексту.
Texture2D scroll_hint 🔗
Індикатор, який відображатиметься, коли вміст все ще можна прокручувати. Див. scroll_hint_mode.
StyleBox cursor 🔗
StyleBox використовується для курсора, коли фокусується ItemList.
StyleBox cursor_unfocused 🔗
StyleBox використовується для курсора, коли ItemList не фокусується.
StyleBox focus 🔗
Сфокусований стиль для ItemList, що малюється поверх усього іншого.
StyleBox hovered 🔗
StyleBox для обхвату, але не вибрані елементи.
StyleBox hovered_selected 🔗
StyleBox для наведених і вибраних елементів, використовується, коли ItemList не в фокусі.
StyleBox hovered_selected_focus 🔗
StyleBox для наведених і вибраних елементів, що використовується під час фокусування ItemList.
StyleBox panel 🔗
Стиль фону для ItemList.
StyleBox selected 🔗
StyleBox для вибраних елементів, які використовуються при ItemList не фокусуються.
StyleBox selected_focus 🔗
StyleBox для вибраних елементів, які використовуються при фокусі ItemList.