EditorInspectorPlugin

Наследует: RefCounted < Object

Плагин для добавления пользовательских редакторов свойств в инспектор.

Описание

EditorInspectorPlugin позволяет добавлять пользовательские редакторы свойств в EditorInspector.

При редактировании объекта вызывается функция _can_handle(), которая должна возвращать true, если тип объекта поддерживается.

Если поддерживается, будет вызвана функция _parse_begin(), позволяющая размещать пользовательские элементы управления в начале класса.

Затем для каждой категории и свойства вызываются _parse_category() и _parse_property(). Они также предоставляют возможность добавлять пользовательские элементы управления в инспектор.

Наконец, будет вызван _parse_end().

При каждом из этих вызовов можно вызывать функции «add».

Чтобы использовать EditorInspectorPlugin, сначала зарегистрируйте его с помощью метода EditorPlugin.add_inspector_plugin().

Обучающие материалы

Методы

bool

_can_handle(object: Object) virtual const

void

_parse_begin(object: Object) virtual

void

_parse_category(object: Object, category: String) virtual

void

_parse_end(object: Object) virtual

void

_parse_group(object: Object, group: String) virtual

bool

_parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual

void

add_custom_control(control: Control)

void

add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "")

void

add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control)


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

bool _can_handle(object: Object) virtual const 🔗

Возвращает true, если этот объект может быть обработан этим плагином.


void _parse_begin(object: Object) virtual 🔗

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


void _parse_category(object: Object, category: String) virtual 🔗

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


void _parse_end(object: Object) virtual 🔗

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


void _parse_group(object: Object, group: String) virtual 🔗

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


bool _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual 🔗

Вызывается, чтобы разрешить добавление редакторов, специфичных для свойств, в список свойств для object. Добавленный элемент управления редактором должен расширять EditorProperty. Возврат true удаляет встроенный редактор для этого свойства, в противном случае позволяет вставить пользовательский редактор перед встроенным.


void add_custom_control(control: Control) 🔗

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


void add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "") 🔗

Добавляет редактор свойств для отдельного свойства. Элемент управления editor должен расширять EditorProperty.

Для свойства может быть несколько редакторов свойств. Если add_to_end равен true, этот недавно добавленный редактор будет отображаться после всех других редакторов свойства, у которых add_to_end равен false. Например, редактор использует этот параметр для добавления кнопки «Редактировать область» для Sprite2D.region_rect под обычным редактором Rect2.

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


void add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) 🔗

Добавляет редактор, позволяющий изменять несколько свойств. Элемент управления editor должен расширять EditorProperty.