EditorProperty

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

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

描述

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

属性

bool

checkable

false

bool

checked

false

bool

deletable

false

bool

draw_warning

false

bool

keying

false

String

label

“”

bool

read_only

false

方法

void

_set_read_only(read_only: bool) virtual

void

_update_property() virtual

void

add_focusable(control: Control)

void

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

Object

get_edited_object()

StringName

get_edited_property() const

void

set_bottom_editor(editor: Control)

void

update_property()


信号

multiple_properties_changed(properties: PackedStringArray, value: Array) 🔗

如果想要同时修改多个属性,请发出它。如果属性是通过 EditorInspectorPlugin._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_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_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 = "" 🔗

设置此属性可改变标签(如果你想显示标签)。


bool read_only = false 🔗

  • void set_read_only(value: bool)

  • bool is_read_only()

用于检查器,该属性为只读时设置为 true


方法说明

void _set_read_only(read_only: bool) virtual 🔗

当属性的只读状态被改变时被调用。它可用于将自定义控件改变为只读或可修改的状态。


void _update_property() virtual 🔗

当这个虚函数被调用时,你必须更新你的编辑器。


void add_focusable(control: Control) 🔗

如果添加的任何控件可以获得键盘焦点,将其添加到此处。这样可以确保在检查器被刷新时恢复焦点。


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 添加),则返回该属性。


void set_bottom_editor(editor: Control) 🔗

editor 控件放在属性标签的下方。该控件必须事先用 Node.add_child 添加。


void update_property() 🔗

强制刷新属性显示。