EditorInspector
继承: ScrollContainer < Container < Control < CanvasItem < Node < Object
用于编辑对象属性的控件。
描述
这是为编辑器的“设置”对话框、“检查器”面板等实现属性编辑的控件。要获取编辑器的“检查器”面板中所使用的 EditorInspector,请使用 EditorInterface.get_inspector()。
EditorInspector 展示属性的顺序与 Object.get_property_list() 返回的数组一致。
如果属性的名称为路径形式(即包含正斜杠),EditorInspector 会为该路径上的各个“目录”创建嵌套的部分。例如,如果某个属性名为 highlighting/gdscript/node_path_color,那么就会显示为“Node Path Color”,位于嵌套在“Highlighting”部分的“GDScript”部分中。
如果属性包含 @GlobalScope.PROPERTY_USAGE_GROUP 用法,就会将其后续属性中,名称以其提示字符串开头的属性合为一组。如果遇到不以该提示字符串开头的属性,或者开始了一个新的分组,那么这个分组就会结束。分组名称为空的效果为结束当前分组。EditorInspector 会为每个分组都创建一个顶层的部分。例如,如果有个包含分组用法的属性名叫 Collide With,其提示字符串为 collide_with_,那么后续的 collide_with_area 属性就会以“Area”的名称出现在“Collide With”部分中。另外还有一种特殊情况:提示字符串包含属性名称时,该属性也会被划入该分组。这样做的目的是将类似 font、font_color、font_size 的属性分在一起(使用 font_ 提示字符串)
如果属性包含 @GlobalScope.PROPERTY_USAGE_SUBGROUP 用法,就会用和分组一样的方法创建子分组,每个子分组都会创建一个二级部分。
注意:与根据路径形式的名称而创建的部分不同,EditorInspector 不会对根据分组创建的部分的名称进行首字母大写。因此,包含分组用法的属性通常使用首字母大写的名称,而不是 snake_case。
属性
draw_focus_border |
|
|
focus_mode |
|
|
follow_focus |
|
|
horizontal_scroll_mode |
|
方法
void |
|
get_selected_path() const |
|
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 的“编辑”按钮时发出。这主要用于远程场景树检查器。
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) 🔗
在检查器中切换布尔属性时发出。
注意:如果启用了内部 autoclear 属性,则该信号永远不会触发。由于该属性在编辑器检查器中始终处于启用状态,因此编辑器本身绝不会发出该信号。
resource_selected(resource: Resource, path: String) 🔗
在检查器中选择资源时触发。
restart_requested() 🔗
在检查器中编辑需要重启应用的属性时触发。仅在项目设置和编辑器设置中使用。
方法说明
在该检查器中显示 object 对象的属性,用于编辑。要清空检查器,请用 null 调用该方法。
注意:如果你想要在编辑器的主检查器中编辑对象,请改用 EditorInterface 中的 edit_* 方法。
返回当前在该检查器中选择的对象。
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 中指定属性。