EditorProperty

继承: Container < Control < CanvasItem < Item < Object

用于编辑可添加到EditorInspector的属性的自定义控件。

描述

用于编辑属性的自定义控件,可以添加到EditorInspector。它是通过EditorInspectorPlugin添加的。

属性

方法

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) 🔗

如果您希望同时修改多个属性,请发出它。不要使用if add viaEditorInspectorPlugin._parse_property()


object_id_selected(property: StringName, id: int) 🔗

由子检查器使用。如果选择的是对象ID,则发出它。


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_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() 🔗

获取已编辑的对象。


StringName get_edited_property() const 🔗

获取已编辑的属性。如果您的编辑器用于单个属性(通过EditorInspectorPlugin._parse_property()添加),则这将返回该属性。


bool is_selected() const 🔗

如果属性按选定绘制,则返回true。由检查器使用。


void select(focusable: int = -1) 🔗

绘制选定的属性。检查器使用。


void set_bottom_editor(editor: Control) 🔗

editor控件置于属性标签下方。必须事先使用Item.add_child()添加该控件。


void set_label_reference(control: Control) 🔗

由检查器使用,设置为一个控件,该控件将用作计算标签大小的参考。


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

分配要编辑的对象和属性。


void update_property() 🔗

强制刷新属性显示。