virtualx-engine/doc/classes/EditorInspectorPlugin.xml
Rémi Verschelde 81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00

95 lines
4.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorInspectorPlugin" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Plugin for adding custom property editors on the 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="_can_handle" qualifiers="virtual const">
<return type="bool" />
<param 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" />
<param index="0" name="object" type="Object" />
<description>
Called to allow adding controls at the beginning of the property list for [param object].
</description>
</method>
<method name="_parse_category" qualifiers="virtual">
<return type="void" />
<param index="0" name="object" type="Object" />
<param index="1" name="category" type="String" />
<description>
Called to allow adding controls at the beginning of a category in the property list for [param object].
</description>
</method>
<method name="_parse_end" qualifiers="virtual">
<return type="void" />
<param index="0" name="object" type="Object" />
<description>
Called to allow adding controls at the end of the property list for [param object].
</description>
</method>
<method name="_parse_group" qualifiers="virtual">
<return type="void" />
<param index="0" name="object" type="Object" />
<param index="1" name="group" type="String" />
<description>
Called to allow adding controls at the beginning of a group or a sub-group in the property list for [param object].
</description>
</method>
<method name="_parse_property" qualifiers="virtual">
<return type="bool" />
<param index="0" name="object" type="Object" />
<param index="1" name="type" type="int" enum="Variant.Type" />
<param index="2" name="name" type="String" />
<param index="3" name="hint_type" type="int" enum="PropertyHint" />
<param index="4" name="hint_string" type="String" />
<param index="5" name="usage_flags" type="int" enum="PropertyUsageFlags" is_bitfield="true" />
<param index="6" name="wide" type="bool" />
<description>
Called to allow adding property-specific editors to the property list for [param object]. The added editor control must extend [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>
<method name="add_custom_control">
<return type="void" />
<param 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" />
<param index="0" name="property" type="String" />
<param index="1" name="editor" type="Control" />
<param index="2" name="add_to_end" type="bool" default="false" />
<description>
Adds a property editor for an individual property. The [param editor] control must extend [EditorProperty].
</description>
</method>
<method name="add_property_editor_for_multiple_properties">
<return type="void" />
<param index="0" name="label" type="String" />
<param index="1" name="properties" type="PackedStringArray" />
<param index="2" name="editor" type="Control" />
<description>
Adds an editor that allows modifying multiple properties. The [param editor] control must extend [EditorProperty].
</description>
</method>
</methods>
</class>