EditorInspectorPlugin¶
继承: RefCounted < Object
用于在检查器上添加自定义属性编辑器的插件。
描述¶
EditorInspectorPlugin允许向EditorInspector添加自定义属性编辑器。
编辑对象时,调用_can_handle()函数,如果支持对象类型,则必须返回true。
如果支持,将调用函数_parse_begin(),允许在类的开头放置自定义控件。
随后,为每个类别和属性调用_parse_category()和_parse_property()。它们也提供了向检查器添加自定义控件的能力。
最后,将调用_parse_end()。
在每个调用中,都可以调用“add”函数。
要使用EditorInspectorPlugin,首先使用EditorPlugin.add_inspector_plugin()方法注册它。
方法¶
_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 |
_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的属性的所有其他编辑器之后。
label可用于在检查器中为属性编辑器选择自定义标签。如果留空,则根据属性名称计算标签。
void add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) 🔗
添加允许修改多个属性的编辑器。editor控件必须扩展EditorProperty。