EditorProperty

Inherits: Container < Control < CanvasItem < Node < Object

Custom control to edit properties for adding into the inspector.

Description

This control allows property editing for one or multiple properties into EditorInspector. It is added via EditorInspectorPlugin.

Properties

bool

checkable

false

bool

checked

false

bool

draw_red

false

bool

keying

false

String

label

""

bool

read_only

false

Methods

void

add_focusable ( Control control )

void

emit_changed ( String property, Variant value, String field="", bool changing=false )

Object

get_edited_object ( )

String

get_edited_property ( )

String

get_tooltip_text ( ) const

void

set_bottom_editor ( Control editor )

void

update_property ( ) virtual


Signals

multiple_properties_changed ( PoolStringArray properties, Array value )

Emit it if you want multiple properties modified at the same time. Do not use if added via EditorInspectorPlugin.parse_property.


object_id_selected ( String property, int id )

Used by sub-inspectors. Emit it if what was selected was an Object ID.


property_changed ( String property, Variant value, String field, bool changing )

Do not emit this manually, use the emit_changed method instead.


property_checked ( String property, bool checked )

Emitted when a property was checked. Used internally.


property_keyed ( String property )

Emit it if you want to add this value as an animation key (check for keying being enabled first).


property_keyed_with_value ( String property, Variant value )

Emit it if you want to key a property with a single value.


property_pinned ( String property, bool pinned )

Emit it if you want to mark (or unmark) the value of a property for being saved regardless of being equal to the default value.

The default value is the one the property will get when the node is just instantiated and can come from an ancestor scene in the inheritance/instancing chain, a script or a builtin class.


resource_selected ( String path, Resource resource )

If you want a sub-resource to be edited, emit this signal with the resource.


selected ( String path, int focusable_idx )

Emitted when selected. Used internally.


Property Descriptions

bool checkable = false

  • void set_checkable ( bool value )

  • bool is_checkable ( )

Used by the inspector, set to true when the property is checkable.


bool checked = false

  • void set_checked ( bool value )

  • bool is_checked ( )

Used by the inspector, set to true when the property is checked.


bool draw_red = false

  • void set_draw_red ( bool value )

  • bool is_draw_red ( )

Used by the inspector, set to true when the property is drawn with the editor theme's warning color. This is used for editable children's properties.


bool keying = false

  • void set_keying ( bool value )

  • bool is_keying ( )

Used by the inspector, set to true when the property can add keys for animation.


String label = ""

Set this property to change the label (if you want to show one).


bool read_only = false

  • void set_read_only ( bool value )

  • bool is_read_only ( )

Used by the inspector, set to true when the property is read-only.


Method Descriptions

void add_focusable ( Control control )

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.


void emit_changed ( String property, Variant value, String field="", bool changing=false )

If one or several properties have changed, this must be called. field is used in case your editor can modify fields separately (as an example, Vector3.x). The changing argument avoids the editor requesting this property to be refreshed (leave as false if unsure).


Object get_edited_object ( )

Gets the edited object.


String get_edited_property ( )

Gets the edited property. If your editor is for a single property (added via EditorInspectorPlugin.parse_property), then this will return the property.


String get_tooltip_text ( ) const

Must be implemented to provide a custom tooltip to the property editor.


void set_bottom_editor ( Control editor )

Puts the editor control below the property label. The control must be previously added using Node.add_child.


void update_property ( ) virtual

When this virtual function is called, you must update your editor.