EditorInspector

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

用于编辑对象属性的控件。

描述

这是在编辑器的设置对话框、检查器停靠区等中实现属性编辑的控件。要获取编辑器检查器停靠区中使用的EditorInspector,请使用EditorInterface.get_inspector()

EditorInspector将以与Object.get_property_list()返回的数组相同的顺序显示属性。

如果一个属性的名称是类似路径的(即如果它包含正斜杠),EditorInspector将为路径上的“目录”创建嵌套部分。例如,如果一个属性被命名为突出显示/s3script/node_path_color,它将在嵌套在“突出显示”部分内的“S3Script”部分内显示为“节点路径颜色”。

如果一个属性有@GlobalScope.PROPERTY_USAGE_GROUP用法,它将对名称以该属性的提示字符串开头的后续属性进行分组。当一个属性没有以该提示字符串开头或一个新组开始时,该组结束。空组名称有效地结束当前组。EditorInspector将为每个组创建一个顶级部分。例如,如果一个使用组的属性名为Collide With,其提示字符串为collide_with_,则后续的collide_with_area属性将在“Collide With”部分中显示为“Area”。还有一种特殊情况:当提示字符串包含一个属性的名称时,该属性也会被分组。这主要是为了帮助分组属性,如字体font_colorfont_size(使用提示字符串font_)。

如果属性具有@GlobalScope.PROPERTY_USAGE_SUBGROUP用法,则将以与组相同的方式创建子组,并为每个子组创建二级部分。

注意:与从类路径属性名称创建的部分不同,EditorInspector不会将从组创建的部分的名称大写。因此,使用组的属性通常使用大写名称而不是snake_cased名称。

属性

bool

draw_focus_border

true (overrides ScrollContainer)

FocusMode

focus_mode

2 (overrides Control)

ScrollMode

horizontal_scroll_mode

0 (overrides ScrollContainer)

方法

void

edit(object: Object)

Object

get_edited_object()

String

get_selected_path() const

EditorProperty

instantiate_property_editor(object: Object, type: Variant.Type, path: String, hint: PropertyHint, hint_text: String, usage: int, wide: bool = false) static


信号

edited_object_changed() 🔗

当检查器正在编辑的对象发生变化时发出。


object_id_selected(id: int) 🔗

在检查器中按下Object的编辑按钮时发出。这主要用于远程场景树检查器。


property_deleted(property: String) 🔗

当属性从检查器处移除时发出。


property_edited(property: String) 🔗

在检查器中编辑属性时发出。


property_keyed(property: String, value: Variant, advance: bool) 🔗

在检查器中键入属性时发出。切换动画面板时,可以通过单击属性旁边的“键”图标来键入属性。


property_selected(property: String) 🔗

在检查器中选择属性时发出。


property_toggled(property: String, checked: bool) 🔗

在检查器中切换布尔属性时发出。

注意:如果启用了内部自动清除属性,则永远不会发出此信号。由于编辑器检查器中始终启用此属性,因此编辑器本身永远不会发出此信号。


resource_selected(resource: Resource, path: String) 🔗

在检查器中选择资源时发出。


restart_requested() 🔗

在检查器中编辑需要重新启动才能应用的属性时发出。这仅在项目设置和编辑器设置中使用。


方法说明

void edit(object: Object) 🔗

在此检查器中显示给定object的属性以进行编辑。要清除检查器,请使用null调用此方法。

注意:如果要在编辑器的主检查器中编辑对象,请改用EditorInterface中的edit_*方法。


Object get_edited_object() 🔗

返回当前在此检查器中选择的对象。


String get_selected_path() const 🔗

获取当前选定属性的路径。


EditorProperty instantiate_property_editor(object: Object, type: Variant.Type, path: String, hint: PropertyHint, hint_text: String, usage: int, wide: bool = false) static 🔗

创建一个属性编辑器,插件UI可以使用它来编辑object的指定属性。