Theme

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

Ресурс, що використовується для укладки / skinning Controls і Windows.

Опис

Ресурс, що використовується для стилізації/скинінгу вузлів Control та Window. Хоча окремі елементи керування можна стилізувати за допомогою їхніх локальних перевизначень тем (див. Control.add_theme_color_override()), ресурси тем дозволяють зберігати та застосовувати однакові налаштування до всіх елементів керування одного типу (наприклад, стилізувати всі Button однаково). Один ресурс теми можна використовувати для всього проекту, але ви також можете встановити окремий ресурс теми для гілки вузлів керування. Ресурс теми, призначений елементу керування, застосовується до самого елемента керування, а також до всіх його прямих та непрямих дочірніх елементів (за умови, що ланцюжок елементів керування не переривається).

Використовуйте ProjectSettings.gui/theme/custom, щоб налаштувати тему на рівні проекту, яка буде доступна для кожного елемента керування у вашому проекті.

Використовуйте Control.theme будь-якого вузла керування, щоб налаштувати тему, яка буде доступна для цього елемента керування та всіх його прямих та непрямих дочірніх елементів.

Посібники

Властивості

float

default_base_scale

0.0

Font

default_font

int

default_font_size

-1

Методи

void

add_type(theme_type: StringName)

void

clear()

void

clear_color(name: StringName, theme_type: StringName)

void

clear_constant(name: StringName, theme_type: StringName)

void

clear_font(name: StringName, theme_type: StringName)

void

clear_font_size(name: StringName, theme_type: StringName)

void

clear_icon(name: StringName, theme_type: StringName)

void

clear_stylebox(name: StringName, theme_type: StringName)

void

clear_theme_item(data_type: DataType, name: StringName, theme_type: StringName)

void

clear_type_variation(theme_type: StringName)

Color

get_color(name: StringName, theme_type: StringName) const

PackedStringArray

get_color_list(theme_type: String) const

PackedStringArray

get_color_type_list() const

int

get_constant(name: StringName, theme_type: StringName) const

PackedStringArray

get_constant_list(theme_type: String) const

PackedStringArray

get_constant_type_list() const

Font

get_font(name: StringName, theme_type: StringName) const

PackedStringArray

get_font_list(theme_type: String) const

int

get_font_size(name: StringName, theme_type: StringName) const

PackedStringArray

get_font_size_list(theme_type: String) const

PackedStringArray

get_font_size_type_list() const

PackedStringArray

get_font_type_list() const

Texture2D

get_icon(name: StringName, theme_type: StringName) const

PackedStringArray

get_icon_list(theme_type: String) const

PackedStringArray

get_icon_type_list() const

StyleBox

get_stylebox(name: StringName, theme_type: StringName) const

PackedStringArray

get_stylebox_list(theme_type: String) const

PackedStringArray

get_stylebox_type_list() const

Variant

get_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const

PackedStringArray

get_theme_item_list(data_type: DataType, theme_type: String) const

PackedStringArray

get_theme_item_type_list(data_type: DataType) const

PackedStringArray

get_type_list() const

StringName

get_type_variation_base(theme_type: StringName) const

PackedStringArray

get_type_variation_list(base_type: StringName) const

bool

has_color(name: StringName, theme_type: StringName) const

bool

has_constant(name: StringName, theme_type: StringName) const

bool

has_default_base_scale() const

bool

has_default_font() const

bool

has_default_font_size() const

bool

has_font(name: StringName, theme_type: StringName) const

bool

has_font_size(name: StringName, theme_type: StringName) const

bool

has_icon(name: StringName, theme_type: StringName) const

bool

has_stylebox(name: StringName, theme_type: StringName) const

bool

has_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const

bool

is_type_variation(theme_type: StringName, base_type: StringName) const

void

merge_with(other: Theme)

void

remove_type(theme_type: StringName)

void

rename_color(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_constant(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_font(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_font_size(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_icon(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_stylebox(old_name: StringName, name: StringName, theme_type: StringName)

void

rename_theme_item(data_type: DataType, old_name: StringName, name: StringName, theme_type: StringName)

void

rename_type(old_theme_type: StringName, theme_type: StringName)

void

set_color(name: StringName, theme_type: StringName, color: Color)

void

set_constant(name: StringName, theme_type: StringName, constant: int)

void

set_font(name: StringName, theme_type: StringName, font: Font)

void

set_font_size(name: StringName, theme_type: StringName, font_size: int)

void

set_icon(name: StringName, theme_type: StringName, texture: Texture2D)

void

set_stylebox(name: StringName, theme_type: StringName, texture: StyleBox)

void

set_theme_item(data_type: DataType, name: StringName, theme_type: StringName, value: Variant)

void

set_type_variation(theme_type: StringName, base_type: StringName)


Переліки

enum DataType: 🔗

DataType DATA_TYPE_COLOR = 0

Теми Color Тип елемента.

DataType DATA_TYPE_CONSTANT = 1

Тип постійного елемента теми.

DataType DATA_TYPE_FONT = 2

Теми Font тип елемента.

DataType DATA_TYPE_FONT_SIZE = 3

Тип елемента шрифту Теми.

DataType DATA_TYPE_ICON = 4

Теми ікони Texture2D Тип елемента.

DataType DATA_TYPE_STYLEBOX = 5

Теми StyleBox Тип елемента.

DataType DATA_TYPE_MAX = 6

Максимальне значення для кодування даних.


Описи властивостей

float default_base_scale = 0.0 🔗

  • void set_default_base_scale(value: float)

  • float get_default_base_scale()

За замовчуванням базовий ваговий фактор цього тематичного ресурсу. Використовуються деякими контрольними засобами для масштабування своїх візуальних властивостей на основі глобального фактора масштабу. Якщо це значення встановлено до 0.0, використовується глобальний фактор масштабу (див. ThemeDB.fallback_base_scale).

Використовуйте has_default_base_scale() для перевірки, якщо це значення діє.


Font default_font 🔗

  • void set_default_font(value: Font)

  • Font get_default_font()

Типовий шрифт цього тематичного ресурсу. Використовуються як значення за замовчуванням при спробі викопувати шрифтовий ресурс, який не існує в цій темі або є в недійсному стані. Якщо тип за замовчуванням також відсутній або невірний, використовується значення повернення двигуна (див. email protected.

Використовуйте has_default_font() для перевірки, якщо це значення є дійсним.


int default_font_size = -1 🔗

  • void set_default_font_size(value: int)

  • int get_default_font_size()

Розмір шрифту за замовчуванням цього тематичного ресурсу. Використовуються як значення за замовчуванням при спробі викопувати значення шрифту, яка не існує в цій темі або є в недійсному стані. Якщо розмір шрифту за замовчуванням також відсутній або невірний, використовується значення повернення двигуна (див. ThemeDB.fallback_font_size).

Ціни нижче 1 недійсними і можуть використовуватися для невизначення майна. Використовуйте has_default_font_size() для перевірки, якщо це значення діє.


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

void add_type(theme_type: StringName) 🔗

Додайте порожній тип теми для кожного дійсного типу даних.

Примітка: Типи Empty не зберігаються з темою. Цей метод існує лише для виконання безсмертних змін до ресурсу. Використовуйте доступні set_* методи додавання елементів теми.


void clear() 🔗

Видаліть всі тематичні властивості, визначені на тематичному ресурсі.


void clear_color(name: StringName, theme_type: StringName) 🔗

Видаляє властивість Color, визначену параметрами name та theme_type, якщо вона існує.

Не вдається виконати дію, якщо вона не існує. Використовуйте метод has_color() для перевірки її існування.


void clear_constant(name: StringName, theme_type: StringName) 🔗

Видаляє константну властивість, визначену name та theme_type, якщо вона існує.

Не вдається, якщо вона не існує. Використовуйте has_constant() для перевірки її існування.


void clear_font(name: StringName, theme_type: StringName) 🔗

Видаляє властивість Font, визначену параметрами name та theme_type, якщо вона існує.

Не вдається виконати перевірку, якщо вона не існує. Використовуйте метод has_font() для перевірки її існування.


void clear_font_size(name: StringName, theme_type: StringName) 🔗

Видаляє властивість розміру шрифту, визначену параметрами name та theme_type, якщо вона існує.

Не вдається виконати перевірку, якщо вона не існує. Використовуйте метод has_font_size() для перевірки наявності.


void clear_icon(name: StringName, theme_type: StringName) 🔗

Видаляє властивість icon, визначену за допомогою name та theme_type, якщо вона існує.

Не вдається виконати перевірку, якщо вона не існує. Використовуйте has_icon() для перевірки її існування.


void clear_stylebox(name: StringName, theme_type: StringName) 🔗

Видаляє властивість StyleBox, визначену параметрами name та theme_type, якщо вона існує.

Не вдається виконати перевірку, якщо вона не існує. Використовуйте метод has_stylebox() для перевірки її існування.


void clear_theme_item(data_type: DataType, name: StringName, theme_type: StringName) 🔗

Вилучає тему data_type name і theme_type, якщо він існує.

Не існує. Використовуйте has_theme_item() для перевірки існування.

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


void clear_type_variation(theme_type: StringName) 🔗

Знімає позначку theme_type як варіації іншого типу теми. Див. set_type_variation().


Color get_color(name: StringName, theme_type: StringName) const 🔗

Повертає властивість Color, визначену параметрами name та theme_type, якщо вона існує.

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


PackedStringArray get_color_list(theme_type: String) const 🔗

Повертає список назв для властивостей Color, визначених за допомогою theme_type. Використовуйте get_color_type_list() для отримання списку можливих назв типів тем.


PackedStringArray get_color_type_list() const 🔗

Повертає список всіх унікальних назв тематичних типів Color. Використовуйте get_type_list(), щоб отримати список всіх унікальних типів тем.


int get_constant(name: StringName, theme_type: StringName) const 🔗

Повертає константну властивість, визначену параметрами name та theme_type, якщо вона існує.

Повертає 0, якщо властивість не існує. Використовуйте has_constant() для перевірки її існування.


PackedStringArray get_constant_list(theme_type: String) const 🔗

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


PackedStringArray get_constant_type_list() const 🔗

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


Font get_font(name: StringName, theme_type: StringName) const 🔗

Повернути майно Font, визначене name та theme_type, якщо він існує.

Повертає шрифт теми за замовчуванням, якщо властивість не існує, а шрифт теми за замовчуванням встановлюється (див. default_font). Використовуйте has_font(), щоб перевірити наявність майна та has_default_font(), щоб перевірити наявність шрифту теми за замовчуванням.

Повертає значення шрифту двигуна, якщо ні немає (див. ThemeDB.fallback_font).


PackedStringArray get_font_list(theme_type: String) const 🔗

Повертає список імен для властивостей Font, визначених theme_type. Використовуйте get_font_type_list() для отримання списку можливих назв типу теми.


int get_font_size(name: StringName, theme_type: StringName) const 🔗

Повертає властивість розміру шрифту, визначену параметрами name та theme_type, якщо вона існує.

Повертає розмір шрифту теми за замовчуванням, якщо властивість не існує, а розмір шрифту теми за замовчуванням встановлено (див. default_font_size). Використовуйте метод has_font_size() для перевірки існування властивості та метод has_default_font_size() для перевірки існування шрифту теми за замовчуванням.

Повертає значення резервного розміру шрифту движка, якщо жодного з них не існує (див. ThemeDB.fallback_font_size).


PackedStringArray get_font_size_list(theme_type: String) const 🔗

Повертає список імен для властивостей шрифтів, визначених theme_type. Використовуйте get_font_size_type_list(), щоб отримати список можливих назв типу теми.


PackedStringArray get_font_size_type_list() const 🔗

Повертає список всіх унікальних назв тем для властивостей шрифтів. Використовуйте get_type_list(), щоб отримати список всіх унікальних типів тем.


PackedStringArray get_font_type_list() const 🔗

Повертає список всіх унікальних назв тематичних типів Font. Використовуйте get_type_list(), щоб отримати список всіх унікальних типів тем.


Texture2D get_icon(name: StringName, theme_type: StringName) const 🔗

Повертає властивість значка, визначену параметрами name та theme_type, якщо вона існує.

Повертає значення значка резервного скрипта, якщо властивість не існує (див. ThemeDB.fallback_icon). Використовуйте метод has_icon() для перевірки наявності.


PackedStringArray get_icon_list(theme_type: String) const 🔗

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


PackedStringArray get_icon_type_list() const 🔗

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


StyleBox get_stylebox(name: StringName, theme_type: StringName) const 🔗

Повертає властивість StyleBox, визначену параметрами name та theme_type, якщо вона існує.

Повертає резервне значення stylebox рушія, якщо властивість не існує (див. ThemeDB.fallback_stylebox). Використовуйте метод has_stylebox() для перевірки наявності.


PackedStringArray get_stylebox_list(theme_type: String) const 🔗

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


PackedStringArray get_stylebox_type_list() const 🔗

Повертає список всіх унікальних назв тематичних типів StyleBox. Використовуйте get_type_list(), щоб отримати список всіх унікальних типів тем.


Variant get_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const 🔗

Повертає властивість теми data_type, визначену name та theme_type, якщо вона існує.

Повертає резервне значення движка, якщо властивість не існує (див. ThemeDB). Використовуйте has_theme_item() для перевірки наявності.

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


PackedStringArray get_theme_item_list(data_type: DataType, theme_type: String) const 🔗

Повертає список імен для властивостей data_type, визначених theme_type. Використовуйте get_theme_item_type_list() для отримання списку можливих темних імен.

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


PackedStringArray get_theme_item_type_list(data_type: DataType) const 🔗

Повертає список всіх унікальних назв типів тем data_type. Використовуйте get_type_list(), щоб отримати список всіх унікальних типів тем.

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


PackedStringArray get_type_list() const 🔗

Повертає список всіх унікальних назв тем. Використовуйте відповідні get_*_type_list метод отримання списку унікальних типів тем для одного типу даних.


StringName get_type_variation_base(theme_type: StringName) const 🔗

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


PackedStringArray get_type_variation_list(base_type: StringName) const 🔗

Повертає список усіх варіацій типу для заданого base_type.


bool has_color(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо існує властивість Color, визначена name і theme_type.

Повертає false, якщо його не існує. Використовуйте set_color(), щоб визначити його.


bool has_constant(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо існує властивість константи, визначена name і theme_type.

Повертає false, якщо його не існує. Використовуйте set_constant(), щоб визначити його.


bool has_default_base_scale() const 🔗

Повертає true, якщо default_base_scale має дійсне значення.

false якщо це не так. Вартість повинна бути більшою, ніж 0.0, щоб вважати дійсним.


bool has_default_font() const 🔗

Повертає true, якщо default_font має дійсне значення.

Повертає false, якщо це не так.


bool has_default_font_size() const 🔗

Повертає true, якщо default_font_size має дійсне значення.

Повертає false, якщо ні. Значення має бути більше ніж 0, щоб вважатися дійсним.


bool has_font(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо Font майно, визначене name і theme_type існує, або якщо за замовчуванням тема шрифту встановлена (див. has_default_font()).

Повертає false, якщо ні немає. Використовуйте set_font() для визначення майна.


bool has_font_size(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо розмір шрифту, визначений назвою name і theme_type існує, або якщо типовий розмір шрифту (див. has_default_font_size().

Повертає false, якщо ні немає. Використовуйте set_font_size() для визначення майна.


bool has_icon(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо існує властивість піктограми, визначена name і theme_type.

Повертає false, якщо його не існує. Використовуйте set_icon(), щоб визначити його.


bool has_stylebox(name: StringName, theme_type: StringName) const 🔗

Повертає true, якщо існує властивість StyleBox, визначена name і theme_type.

Повертає false, якщо його не існує. Використовуйте set_stylebox(), щоб визначити його.


bool has_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const 🔗

true, якщо існує тема data_type, визначена name і theme_type.

false, якщо це не існує. Використовуйте set_theme_item(), щоб визначити його.

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


bool is_type_variation(theme_type: StringName, base_type: StringName) const 🔗

true if theme_type позначений як варіація base_type.


void merge_with(other: Theme) 🔗

Додає відсутню та наділені існуючі визначення з значеннями other тематичного ресурсу.

Примітка: Цей модіфікує поточну тему. Якщо ви хочете об'єднати дві теми разом, не змінюючи один, створити нову порожню тему і об'єднати інші два в неї після іншого.


void remove_type(theme_type: StringName) 🔗

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


void rename_color(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменування майна Color, визначеного old_name та theme_type до name, якщо він існує.

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


void rename_constant(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменувати постійне майно, визначене old_name і theme_type до name, якщо він існує.

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


void rename_font(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменування майна Font, визначеного old_name та theme_type до name, якщо він існує.

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


void rename_font_size(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменування розміру шрифту, визначеного old_name та theme_type до name, якщо він існує.

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


void rename_icon(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменування ікони, визначеного old_name і theme_type до name, якщо він існує.

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


void rename_stylebox(old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменування майна StyleBox, визначеного old_name та theme_type до name, якщо він існує.

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


void rename_theme_item(data_type: DataType, old_name: StringName, name: StringName, theme_type: StringName) 🔗

Перейменуйте тему data_type, визначену old_name та theme_type до name, якщо він існує.

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

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


void rename_type(old_theme_type: StringName, theme_type: StringName) 🔗

Перейменовує тип теми old_theme_type на theme_type, якщо старий тип існує, а новий не існує.

Примітка: Перейменування типу теми на порожнє ім'я або варіації на тип, пов'язаний із вбудованим класом, видаляє зв'язки варіації типу таким чином, що це неможливо скасувати лише скасуванням перейменування.


void set_color(name: StringName, theme_type: StringName, color: Color) 🔗

Створює або змінює значення властивості Color, визначеної параметрами name та theme_type. Використовуйте метод clear_color() для видалення властивості.


void set_constant(name: StringName, theme_type: StringName, constant: int) 🔗

Створює або змінює значення константної властивості, визначеної параметрами name та theme_type. Використовуйте метод clear_constant() для видалення властивості.


void set_font(name: StringName, theme_type: StringName, font: Font) 🔗

Створює або змінює значення об’єкта Font, визначеного name та theme_type. Використовуйте clear_font() для видалення майна.


void set_font_size(name: StringName, theme_type: StringName, font_size: int) 🔗

Створює або змінює значення властивості розміру шрифту, визначеної параметрами name та theme_type. Використовуйте метод clear_font_size для видалення властивості.


void set_icon(name: StringName, theme_type: StringName, texture: Texture2D) 🔗

Створює або змінює значення властивості icon, визначеної параметрами name та theme_type. Використовуйте метод clear_icon() для видалення властивості.


void set_stylebox(name: StringName, theme_type: StringName, texture: StyleBox) 🔗

Створює або змінює значення властивості StyleBox, визначеної параметрами name та theme_type. Використовуйте метод clear_stylebox() для видалення властивості.


void set_theme_item(data_type: DataType, name: StringName, theme_type: StringName, value: Variant) 🔗

Створює або змінює значення теми data_type, визначеного name та theme_type. Використовуйте clear_theme_item() для видалення майна.

Якщо значення value не приймається data_type.

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


void set_type_variation(theme_type: StringName, base_type: StringName) 🔗

Марки theme_type як варіація base_type.

Цей додаток theme_type як запропонований варіант для Control.theme_type_variation на Control, який є base_type клас.

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

Примітка: Якщо цей тематичний ресурс є частиною теми за замовчуванням проекту. Див. ProjectSettings.gui/theme/custom.