<?xml version="1.0" encoding="UTF-8" ?> <class name="EditorProperty" inherits="Container" version="4.0"> <brief_description> Custom control to edit properties for adding into the inspector. </brief_description> <description> This control allows property editing for one or multiple properties into [EditorInspector]. It is added via [EditorInspectorPlugin]. </description> <tutorials> </tutorials> <methods> <method name="add_focusable"> <return type="void"> </return> <argument index="0" name="control" type="Control"> </argument> <description> 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. </description> </method> <method name="emit_changed"> <return type="void"> </return> <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> <argument index="2" name="field" type="StringName" default="@"""> </argument> <argument index="3" name="changing" type="bool" default="false"> </argument> <description> 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). </description> </method> <method name="get_edited_object"> <return type="Object"> </return> <description> Gets the edited object. </description> </method> <method name="get_edited_property"> <return type="StringName"> </return> <description> Gets the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin.parse_property]), then this will return the property. </description> </method> <method name="get_tooltip_text" qualifiers="const"> <return type="String"> </return> <description> Override if you want to allow a custom tooltip over your property. </description> </method> <method name="set_bottom_editor"> <return type="void"> </return> <argument index="0" name="editor" type="Control"> </argument> <description> Adds controls with this function if you want them on the bottom (below the label). </description> </method> <method name="update_property" qualifiers="virtual"> <return type="void"> </return> <description> When this virtual function is called, you must update your editor. </description> </method> </methods> <members> <member name="checkable" type="bool" setter="set_checkable" getter="is_checkable" default="false"> Used by the inspector, set when property is checkable. </member> <member name="checked" type="bool" setter="set_checked" getter="is_checked" default="false"> Used by the inspector, when the property is checked. </member> <member name="draw_red" type="bool" setter="set_draw_red" getter="is_draw_red" default="false"> Used by the inspector, when the property must draw with error color. </member> <member name="keying" type="bool" setter="set_keying" getter="is_keying" default="false"> Used by the inspector, when the property can add keys for animation. </member> <member name="label" type="String" setter="set_label" getter="get_label" default=""""> Sets this property to change the label (if you want to show one). </member> <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false"> Used by the inspector, when the property is read-only. </member> </members> <signals> <signal name="multiple_properties_changed"> <argument index="0" name="properties" type="PackedStringArray"> </argument> <argument index="1" name="value" type="Array"> </argument> <description> Emit it if you want multiple properties modified at the same time. Do not use if added via [method EditorInspectorPlugin.parse_property]. </description> </signal> <signal name="object_id_selected"> <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="id" type="int"> </argument> <description> Used by sub-inspectors. Emit it if what was selected was an Object ID. </description> </signal> <signal name="property_changed"> <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> <description> Do not emit this manually, use the [method emit_changed] method instead. </description> </signal> <signal name="property_checked"> <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="bool" type="String"> </argument> <description> Emitted when a property was checked. Used internally. </description> </signal> <signal name="property_keyed"> <argument index="0" name="property" type="StringName"> </argument> <description> Emit it if you want to add this value as an animation key (check for keying being enabled first). </description> </signal> <signal name="property_keyed_with_value"> <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> <description> Emit it if you want to key a property with a single value. </description> </signal> <signal name="resource_selected"> <argument index="0" name="path" type="String"> </argument> <argument index="1" name="resource" type="Resource"> </argument> <description> If you want a sub-resource to be edited, emit this signal with the resource. </description> </signal> <signal name="selected"> <argument index="0" name="path" type="String"> </argument> <argument index="1" name="focusable_idx" type="int"> </argument> <description> Emitted when selected. Used internally. </description> </signal> </signals> <constants> </constants> </class>