EditorProperty

Наследует: Container < Control < CanvasItem < Node < Object

Пользовательский элемент управления для редактирования свойств, который можно добавить в EditorInspector.

Описание

Пользовательский элемент управления для редактирования свойств, который можно добавить в EditorInspector. Он добавляется через EditorInspectorPlugin.

Свойства

bool

checkable

false

bool

checked

false

bool

deletable

false

bool

draw_background

true

bool

draw_label

true

bool

draw_warning

false

FocusMode

focus_mode

3 (overrides Control)

bool

keying

false

String

label

""

float

name_split_ratio

0.5

bool

read_only

false

bool

selectable

true

bool

use_folding

false

Методы

void

_set_read_only(read_only: bool) virtual

void

_update_property() virtual

void

add_focusable(control: Control)

void

deselect()

void

emit_changed(property: StringName, value: Variant, field: StringName = &"", changing: bool = false)

Object

get_edited_object()

StringName

get_edited_property() const

bool

is_selected() const

void

select(focusable: int = -1)

void

set_bottom_editor(editor: Control)

void

set_label_reference(control: Control)

void

set_object_and_property(object: Object, property: StringName)

void

update_property()


Сигналы

multiple_properties_changed(properties: PackedStringArray, value: Array) 🔗

Выдайте его, если хотите, чтобы несколько свойств были изменены одновременно. Не используйте, если добавлено через EditorInspectorPlugin._parse_property().


object_id_selected(property: StringName, id: int) 🔗

Используется субинспекторами. Выдает его, если выбранным был идентификатор объекта.


property_can_revert_changed(property: StringName, can_revert: bool) 🔗

Генерируется, когда изменилась возможность возврата (т. е. имеет ли свойство значение, отличное от значения по умолчанию, и поэтому отображается со значком возврата).


property_changed(property: StringName, value: Variant, field: StringName, changing: bool) 🔗

Не вызывайте его вручную, вместо этого используйте метод emit_changed().


property_checked(property: StringName, checked: bool) 🔗

Выдается при проверке свойства. Используется внутри.


property_deleted(property: StringName) 🔗

Выдается при удалении свойства. Используется внутри.


property_favorited(property: StringName, favorited: bool) 🔗

Используйте его, если вы хотите отметить свойство как избранное и отобразить его в верхней части инспектора.


property_keyed(property: StringName) 🔗

Выдайте его, если вы хотите добавить это значение в качестве ключа анимации (сначала проверьте, включено ли ключевое воздействие).


property_keyed_with_value(property: StringName, value: Variant) 🔗

Используйте его, если вы хотите присвоить свойству ключ с одним значением.


property_overridden() 🔗

Выдает при запросе переопределения настроек для текущего проекта.


property_pinned(property: StringName, pinned: bool) 🔗

Выдайте его, если вы хотите пометить (или снять пометку) значение свойства для сохранения независимо от того, равно ли оно значению по умолчанию.

Значение по умолчанию — это то, которое свойство получит, когда узел только что инстанцируется, и может быть получено из родительской сцены в цепочке наследования/инстанцирования, скрипта или встроенного класса.


resource_selected(path: String, resource: Resource) 🔗

Если вы хотите, чтобы подресурс был отредактирован, отправьте этот сигнал вместе с ресурсом.


selected(path: String, focusable_idx: int) 🔗

Выдается при выборе. Используется внутри.


Описания свойств

bool checkable = false 🔗

  • void set_checkable(value: bool)

  • bool is_checkable()

Используется инспектором, устанавливается в true, когда свойство можно проверить.


bool checked = false 🔗

  • void set_checked(value: bool)

  • bool is_checked()

Используется инспектором, устанавливается в true при проверке свойства.


bool deletable = false 🔗

  • void set_deletable(value: bool)

  • bool is_deletable()

Используется инспектором, устанавливается в true, когда свойство может быть удалено пользователем.


bool draw_background = true 🔗

  • void set_draw_background(value: bool)

  • bool is_draw_background()

Используется инспектором, устанавливается в true при прорисовке фона свойства.


bool draw_label = true 🔗

  • void set_draw_label(value: bool)

  • bool is_draw_label()

Используется инспектором, устанавливается в true при рисовании метки свойства.


bool draw_warning = false 🔗

  • void set_draw_warning(value: bool)

  • bool is_draw_warning()

Используется инспектором, устанавливается в true, когда свойство отображается с предупреждающим цветом темы редактора. Используется для редактируемых дочерних свойств.


bool keying = false 🔗

  • void set_keying(value: bool)

  • bool is_keying()

Используется инспектором, устанавливается в true, когда свойство может добавлять ключи для анимации.


String label = "" 🔗

Установите это свойство, чтобы изменить метку (если вы хотите ее отобразить).


float name_split_ratio = 0.5 🔗

  • void set_name_split_ratio(value: float)

  • float get_name_split_ratio()

Соотношение распределения пространства между меткой и полем редактирования.


bool read_only = false 🔗

  • void set_read_only(value: bool)

  • bool is_read_only()

Используется инспектором, устанавливается в true, когда свойство доступно только для чтения.


bool selectable = true 🔗

  • void set_selectable(value: bool)

  • bool is_selectable()

Используется инспектором, устанавливается в true, когда свойство можно выбрать.


bool use_folding = false 🔗

  • void set_use_folding(value: bool)

  • bool is_using_folding()

Используется инспектором, устанавливается в true, когда свойство использует свертывание.


Описания метода

void _set_read_only(read_only: bool) virtual 🔗

Вызывается при изменении статуса свойства «только для чтения». Может использоваться для изменения пользовательских элементов управления в состояние «только для чтения» или «изменяемое».


void _update_property() virtual 🔗

При вызове этой виртуальной функции вам необходимо обновить свой редактор.


void add_focusable(control: Control) 🔗

Если какой-либо из добавленных элементов управления может получить фокус клавиатуры, добавьте его здесь. Это гарантирует, что фокус будет восстановлен при обновлении инспектора.


void deselect() 🔗

Рисовать свойство как не выбранное. Используется инспектором.


void emit_changed(property: StringName, value: Variant, field: StringName = &"", changing: bool = false) 🔗

Если одно или несколько свойств изменились, это должно быть вызвано. field используется в случае, если ваш редактор может изменять поля по отдельности (например, Vector3.x). Аргумент changing позволяет избежать запроса редактора на обновление этого свойства (оставьте как false, если не уверены).


Object get_edited_object() 🔗

Возвращает отредактированный объект.

Примечание: Этот метод может вернуть null, если редактор еще не был связан со свойством. Однако в _update_property() и _set_read_only() это значение гарантированно не будет null.


StringName get_edited_property() const 🔗

Возвращает отредактированное свойство. Если ваш редактор предназначен для одного свойства (добавленного через EditorInspectorPlugin._parse_property()), то это вернет свойство.

Примечание: Этот метод может вернуть null, если редактор еще не был связан со свойством. Однако в _update_property() и _set_read_only() это значение гарантированно не будет null.


bool is_selected() const 🔗

Возвращает true, если свойство нарисовано как выбранное. Используется инспектором.


void select(focusable: int = -1) 🔗

Свойство рисования выбрано. Используется инспектором.


void set_bottom_editor(editor: Control) 🔗

Размещает элемент управления editor под меткой свойства. Элемент управления должен быть предварительно добавлен с помощью Node.add_child().


void set_label_reference(control: Control) 🔗

Используется инспектором, задает элемент управления, который будет использоваться в качестве эталона для расчета размера этикетки.


void set_object_and_property(object: Object, property: StringName) 🔗

Назначает объект и свойство для редактирования.


void update_property() 🔗

Принудительно обновляет отображение свойств.