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.

Варіації типу теми

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

../../_images/themecheck.webp

Таким підходом швидко стає важко керувати, якщо вам потрібно використовувати один і той же настроюваний вигляд для кількох елементів керування. Уявіть, що ви використовуєте сірий, синій і червоний варіанти Button у своєму проекті. Налаштовувати його кожного разу, коли ви додаєте новий елемент кнопки до свого інтерфейсу, є виснажливим завданням.

Щоб допомогти з організацією та краще використовувати силу тем, ви можете використовувати варіації типів тем. Вони працюють як звичайні типи тем, але замість того, щоб бути самодостатніми та автономними, вони розширюють інший, базовий тип.

Слідуючи попередньому прикладу, ваша тема може мати деякі стилі, кольори та шрифти, визначені для типу Кнопка, налаштовуючи зовнішній вигляд кожного елемента кнопки у вашому інтерфейсі користувача. Щоб отримати сіру, червону чи синю кнопку, ви повинні створити новий тип, наприклад. GrayButton і позначте його як варіацію базового типу Button.

Варіації типу можуть замінити деякі аспекти базового типу, але зберегти інші. Вони також можуть визначати властивості, які не визначені в базовому стилі. Наприклад, ваша GrayButton може замінити звичайний стиль базового Button і додати font_color, який Button ніколи не визначав. Елемент керування використовуватиме комбінацію обох типів, надаючи пріоритет варіації типу.

Примітка

Спосіб, яким елементи керування визначають, які елементи теми вони використовують для кожного типу та кожної теми, краще описано в розділі Customizing a project статті "Вступ до скінінгу графічного інтерфейсу".

Створення варіанту типу

Щоб створити варіант типу, відкрийте редактор теми, а потім клацніть значок плюса поруч зі спадним меню Тип у правій частині редактора. Введіть у текстове поле назву, яку ви хочете назвати для варіанту типу теми, а потім натисніть Додати тип.

Під спадним меню Тип є вкладки властивостей. Перейдіть на вкладку зі значком гайкового ключа та викрутки.

../../_images/base_type.webp

Натисніть значок плюса поруч із полем Базовий тип. Ви можете вибрати базовий тип, який зазвичай буде назвою класу вузла керування (наприклад, Button, Label тощо). Варіації типів також можуть об’єднувати та розширювати інші варіації типів. Це працює так само, як керуючі вузли успадковують стиль свого базового класу. Наприклад, CheckButton успадковує стилі від Button, оскільки відповідні типи вузлів розширюють один одного.

Після вибору базового типу ви зможете побачити його властивості на інших вкладках у редакторі тем. Ви можете редагувати їх як зазвичай.

Використання варіанту типу

Тепер, коли варіант типу створено, ви можете застосувати його до своїх вузлів. У доці інспектора у властивості Тема вузла керування можна знайти властивість Варіант типу теми. Він порожній за замовчуванням, що означає, що лише базовий тип впливає на цей вузол.

Ви можете вибрати варіант типу зі спадного списку або ввести його назву вручну. Варіанти відображаються в списку, лише якщо варіація типу належить до загальнопроектної теми, яку можна налаштувати в налаштуваннях проекту. У будь-якому іншому випадку вам доведеться ввести назву варіанту вручну. Натисніть на значок олівця праворуч. Потім введіть назву варіанту типу та клацніть значок галочки або натисніть клавішу enter. Якщо варіант типу з такою назвою існує, він тепер використовуватиметься вузлом.