2018-05-28 20:53:15 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 09:03:48 +08:00
<class name= "EditorProperty" inherits= "Container" version= "4.0" >
2018-05-28 20:53:15 +08:00
<brief_description >
2019-06-22 07:04:47 +08:00
Custom control to edit properties for adding into the inspector.
2018-05-28 20:53:15 +08:00
</brief_description>
<description >
2019-04-24 03:39:09 +08:00
This control allows property editing for one or multiple properties into [EditorInspector]. It is added via [EditorInspectorPlugin].
2018-05-28 20:53:15 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2021-05-16 05:48:59 +08:00
<method name= "_update_property" qualifiers= "virtual" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2021-05-16 05:48:59 +08:00
<description >
When this virtual function is called, you must update your editor.
</description>
</method>
2019-04-24 03:39:09 +08:00
<method name= "add_focusable" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "control" type= "Control" />
2019-04-24 03:39:09 +08:00
<description >
2019-04-24 13:49:38 +08:00
If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed.
2019-04-24 03:39:09 +08:00
</description>
</method>
2019-01-27 05:21:53 +08:00
<method name= "emit_changed" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "property" type= "StringName" />
<argument index= "1" name= "value" type= "Variant" />
<argument index= "2" name= "field" type= "StringName" default= "&""" />
<argument index= "3" name= "changing" type= "bool" default= "false" />
2019-01-27 05:21:53 +08:00
<description >
2019-06-22 07:04:47 +08:00
If one or several properties have changed, this must be called. [code]field[/code] is used in case your editor can modify fields separately (as an example, Vector3.x). The [code]changing[/code] argument avoids the editor requesting this property to be refreshed (leave as [code]false[/code] if unsure).
2019-01-27 05:21:53 +08:00
</description>
</method>
2018-05-28 20:53:15 +08:00
<method name= "get_edited_object" >
2021-07-30 21:28:05 +08:00
<return type= "Object" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Gets the edited object.
2018-05-28 20:53:15 +08:00
</description>
</method>
<method name= "get_edited_property" >
2021-07-30 21:28:05 +08:00
<return type= "StringName" />
2018-05-28 20:53:15 +08:00
<description >
2021-05-16 05:48:59 +08:00
Gets the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin._parse_property]), then this will return the property.
2018-05-28 20:53:15 +08:00
</description>
</method>
2018-07-26 17:56:21 +08:00
<method name= "get_tooltip_text" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "String" />
2018-07-26 17:56:21 +08:00
<description >
2021-08-07 02:01:00 +08:00
Must be implemented to provide a custom tooltip to the property editor.
2019-04-24 03:39:09 +08:00
</description>
</method>
<method name= "set_bottom_editor" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "editor" type= "Control" />
2019-04-24 03:39:09 +08:00
<description >
2021-08-07 02:01:00 +08:00
Puts the [code]editor[/code] control below the property label. The control must be previously added using [method Node.add_child].
2018-07-26 17:56:21 +08:00
</description>
</method>
2021-08-22 09:52:44 +08:00
<method name= "update_property" >
<return type= "void" />
<description >
</description>
</method>
2018-05-28 20:53:15 +08:00
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "checkable" type= "bool" setter= "set_checkable" getter= "is_checkable" default= "false" >
2020-07-18 23:17:00 +08:00
Used by the inspector, set to [code]true[/code] when the property is checkable.
2018-05-28 20:53:15 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "checked" type= "bool" setter= "set_checked" getter= "is_checked" default= "false" >
2020-07-18 23:17:00 +08:00
Used by the inspector, set to [code]true[/code] when the property is checked.
2018-05-28 20:53:15 +08:00
</member>
2020-04-20 17:48:00 +08:00
<member name= "deletable" type= "bool" setter= "set_deletable" getter= "is_deletable" default= "false" >
2020-07-18 23:17:00 +08:00
Used by the inspector, set to [code]true[/code] when the property can be deleted by the user.
2020-04-20 17:48:00 +08:00
</member>
2021-09-30 23:08:04 +08:00
<member name= "draw_warning" type= "bool" setter= "set_draw_warning" getter= "is_draw_warning" default= "false" >
Used by the inspector, set to [code]true[/code] when the property is drawn with the editor theme's warning color. This is used for editable children's properties.
2018-05-28 20:53:15 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "keying" type= "bool" setter= "set_keying" getter= "is_keying" default= "false" >
2020-07-18 23:17:00 +08:00
Used by the inspector, set to [code]true[/code] when the property can add keys for animation.
2018-05-28 20:53:15 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "label" type= "String" setter= "set_label" getter= "get_label" default= """" >
2020-07-18 23:17:00 +08:00
Set this property to change the label (if you want to show one).
2018-05-28 20:53:15 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "read_only" type= "bool" setter= "set_read_only" getter= "is_read_only" default= "false" >
2020-07-18 23:17:00 +08:00
Used by the inspector, set to [code]true[/code] when the property is read-only.
2018-05-28 20:53:15 +08:00
</member>
</members>
<signals >
<signal name= "multiple_properties_changed" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "properties" type= "PackedStringArray" />
<argument index= "1" name= "value" type= "Array" />
2018-05-28 20:53:15 +08:00
<description >
2021-05-16 05:48:59 +08:00
Emit it if you want multiple properties modified at the same time. Do not use if added via [method EditorInspectorPlugin._parse_property].
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "object_id_selected" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
<argument index= "1" name= "id" type= "int" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Used by sub-inspectors. Emit it if what was selected was an Object ID.
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "property_changed" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
<argument index= "1" name= "value" type= "Variant" />
2018-05-28 20:53:15 +08:00
<description >
2019-04-24 03:39:09 +08:00
Do not emit this manually, use the [method emit_changed] method instead.
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "property_checked" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
<argument index= "1" name= "bool" type= "String" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Emitted when a property was checked. Used internally.
2018-05-28 20:53:15 +08:00
</description>
</signal>
2020-04-20 17:48:00 +08:00
<signal name= "property_deleted" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
2020-04-20 17:48:00 +08:00
<description >
2020-07-18 23:17:00 +08:00
Emitted when a property was deleted. Used internally.
2020-04-20 17:48:00 +08:00
</description>
</signal>
2018-05-28 20:53:15 +08:00
<signal name= "property_keyed" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Emit it if you want to add this value as an animation key (check for keying being enabled first).
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "property_keyed_with_value" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "property" type= "StringName" />
<argument index= "1" name= "value" type= "Variant" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Emit it if you want to key a property with a single value.
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "resource_selected" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "path" type= "String" />
<argument index= "1" name= "resource" type= "Resource" />
2018-05-28 20:53:15 +08:00
<description >
2019-04-24 03:39:09 +08:00
If you want a sub-resource to be edited, emit this signal with the resource.
2018-05-28 20:53:15 +08:00
</description>
</signal>
<signal name= "selected" >
2021-07-30 21:28:05 +08:00
<argument index= "0" name= "path" type= "String" />
<argument index= "1" name= "focusable_idx" type= "int" />
2018-05-28 20:53:15 +08:00
<description >
2019-06-22 07:04:47 +08:00
Emitted when selected. Used internally.
2018-05-28 20:53:15 +08:00
</description>
</signal>
</signals>
</class>