<?xml version="1.0" encoding="UTF-8" ?> <class name="EditorInspectorPlugin" inherits="Reference" version="4.0"> <brief_description> Plugin for adding custom property editors on inspector. </brief_description> <description> These plugins allow adding custom property editors to [EditorInspector]. Plugins are registered via [method EditorPlugin.add_inspector_plugin]. When an object is edited, the [method can_handle] function is called and must return [code]true[/code] if the object type is supported. If supported, the function [method parse_begin] will be called, allowing to place custom controls at the beginning of the class. Subsequently, the [method parse_category] and [method parse_property] are called for every category and property. They offer the ability to add custom controls to the inspector too. Finally, [method parse_end] will be called. On each of these calls, the "add" functions can be called. </description> <tutorials> </tutorials> <methods> <method name="add_custom_control"> <return type="void"> </return> <argument index="0" name="control" type="Control"> </argument> <description> Adds a custom control, not necessarily a property editor. </description> </method> <method name="add_property_editor"> <return type="void"> </return> <argument index="0" name="property" type="String"> </argument> <argument index="1" name="editor" type="Control"> </argument> <description> Adds a property editor, this must inherit [EditorProperty]. </description> </method> <method name="add_property_editor_for_multiple_properties"> <return type="void"> </return> <argument index="0" name="label" type="String"> </argument> <argument index="1" name="properties" type="PackedStringArray"> </argument> <argument index="2" name="editor" type="Control"> </argument> <description> Adds an editor that allows modifying multiple properties, this must inherit [EditorProperty]. </description> </method> <method name="can_handle" qualifiers="virtual"> <return type="bool"> </return> <argument index="0" name="object" type="Object"> </argument> <description> Returns [code]true[/code] if this object can be handled by this plugin. </description> </method> <method name="parse_begin" qualifiers="virtual"> <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> <description> Called to allow adding controls at the beginning of the list. </description> </method> <method name="parse_category" qualifiers="virtual"> <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> <argument index="1" name="category" type="String"> </argument> <description> Called to allow adding controls at the beginning of the category. </description> </method> <method name="parse_end" qualifiers="virtual"> <return type="void"> </return> <description> Called to allow adding controls at the end of the list. </description> </method> <method name="parse_property" qualifiers="virtual"> <return type="bool"> </return> <argument index="0" name="object" type="Object"> </argument> <argument index="1" name="type" type="int"> </argument> <argument index="2" name="path" type="String"> </argument> <argument index="3" name="hint" type="int"> </argument> <argument index="4" name="hint_text" type="String"> </argument> <argument index="5" name="usage" type="int"> </argument> <description> Called to allow adding property specific editors to the inspector. Usually these inherit [EditorProperty]. Returning [code]true[/code] removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one. </description> </method> </methods> <constants> </constants> </class>