b087538119
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
87 lines
3.9 KiB
XML
87 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="EditorInspectorPlugin" inherits="Reference" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Plugin for adding custom property editors on inspector.
|
|
</brief_description>
|
|
<description>
|
|
[EditorInspectorPlugin] allows adding custom property editors to [EditorInspector].
|
|
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.
|
|
To use [EditorInspectorPlugin], register it using the [method EditorPlugin.add_inspector_plugin] method first.
|
|
</description>
|
|
<tutorials>
|
|
<link title="Inspector plugins">$DOCS_URL/tutorials/plugins/editor/inspector_plugins.html</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="add_custom_control">
|
|
<return type="void" />
|
|
<argument index="0" name="control" type="Control" />
|
|
<description>
|
|
Adds a custom control, which is not necessarily a property editor.
|
|
</description>
|
|
</method>
|
|
<method name="add_property_editor">
|
|
<return type="void" />
|
|
<argument index="0" name="property" type="String" />
|
|
<argument index="1" name="editor" type="Control" />
|
|
<description>
|
|
Adds a property editor for an individual property. The [code]editor[/code] control must extend [EditorProperty].
|
|
</description>
|
|
</method>
|
|
<method name="add_property_editor_for_multiple_properties">
|
|
<return type="void" />
|
|
<argument index="0" name="label" type="String" />
|
|
<argument index="1" name="properties" type="PoolStringArray" />
|
|
<argument index="2" name="editor" type="Control" />
|
|
<description>
|
|
Adds an editor that allows modifying multiple properties. The [code]editor[/code] control must extend [EditorProperty].
|
|
</description>
|
|
</method>
|
|
<method name="can_handle" qualifiers="virtual">
|
|
<return type="bool" />
|
|
<argument index="0" name="object" type="Object" />
|
|
<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" />
|
|
<argument index="0" name="object" type="Object" />
|
|
<description>
|
|
Called to allow adding controls at the beginning of the list.
|
|
</description>
|
|
</method>
|
|
<method name="parse_category" qualifiers="virtual">
|
|
<return type="void" />
|
|
<argument index="0" name="object" type="Object" />
|
|
<argument index="1" name="category" type="String" />
|
|
<description>
|
|
Called to allow adding controls at the beginning of the category.
|
|
</description>
|
|
</method>
|
|
<method name="parse_end" qualifiers="virtual">
|
|
<return type="void" />
|
|
<description>
|
|
Called to allow adding controls at the end of the list.
|
|
</description>
|
|
</method>
|
|
<method name="parse_property" qualifiers="virtual">
|
|
<return type="bool" />
|
|
<argument index="0" name="object" type="Object" />
|
|
<argument index="1" name="type" type="int" />
|
|
<argument index="2" name="path" type="String" />
|
|
<argument index="3" name="hint" type="int" />
|
|
<argument index="4" name="hint_text" type="String" />
|
|
<argument index="5" name="usage" type="int" />
|
|
<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>
|