:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the EditorInspectorPlugin.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_EditorInspectorPlugin: EditorInspectorPlugin ===================== **Inherits:** :ref:`RefCounted` **<** :ref:`Object` Plugin for adding custom property editors on inspector. Description ----------- ``EditorInspectorPlugin`` allows adding custom property editors to :ref:`EditorInspector`. When an object is edited, the :ref:`_can_handle` function is called and must return ``true`` if the object type is supported. If supported, the function :ref:`_parse_begin` will be called, allowing to place custom controls at the beginning of the class. Subsequently, the :ref:`_parse_category` and :ref:`_parse_property` are called for every category and property. They offer the ability to add custom controls to the inspector too. Finally, :ref:`_parse_end` will be called. On each of these calls, the "add" functions can be called. To use ``EditorInspectorPlugin``, register it using the :ref:`EditorPlugin.add_inspector_plugin` method first. Tutorials --------- - :doc:`Inspector plugins <../tutorials/plugins/editor/inspector_plugins>` Methods ------- +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_can_handle` **(** :ref:`Variant` object **)** |virtual| |const| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_parse_begin` **(** :ref:`Object` object **)** |virtual| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_parse_category` **(** :ref:`Object` object, :ref:`String` category **)** |virtual| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_parse_end` **(** :ref:`Object` object **)** |virtual| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_parse_group` **(** :ref:`Object` object, :ref:`String` group **)** |virtual| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_parse_property` **(** :ref:`Object` object, :ref:`int` type, :ref:`String` name, :ref:`int` hint_type, :ref:`String` hint_string, :ref:`int` usage_flags, :ref:`bool` wide **)** |virtual| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_custom_control` **(** :ref:`Control` control **)** | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_property_editor` **(** :ref:`String` property, :ref:`Control` editor **)** | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_property_editor_for_multiple_properties` **(** :ref:`String` label, :ref:`PackedStringArray` properties, :ref:`Control` editor **)** | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- .. _class_EditorInspectorPlugin_method__can_handle: - :ref:`bool` **_can_handle** **(** :ref:`Variant` object **)** |virtual| |const| Returns ``true`` if this object can be handled by this plugin. ---- .. _class_EditorInspectorPlugin_method__parse_begin: - void **_parse_begin** **(** :ref:`Object` object **)** |virtual| Called to allow adding controls at the beginning of the property list for ``object``. ---- .. _class_EditorInspectorPlugin_method__parse_category: - void **_parse_category** **(** :ref:`Object` object, :ref:`String` category **)** |virtual| Called to allow adding controls at the beginning of a category in the property list for ``object``. ---- .. _class_EditorInspectorPlugin_method__parse_end: - void **_parse_end** **(** :ref:`Object` object **)** |virtual| Called to allow adding controls at the end of the property list for ``object``. ---- .. _class_EditorInspectorPlugin_method__parse_group: - void **_parse_group** **(** :ref:`Object` object, :ref:`String` group **)** |virtual| Called to allow adding controls at the beginning of a group or a sub-group in the property list for ``object``. ---- .. _class_EditorInspectorPlugin_method__parse_property: - :ref:`bool` **_parse_property** **(** :ref:`Object` object, :ref:`int` type, :ref:`String` name, :ref:`int` hint_type, :ref:`String` hint_string, :ref:`int` usage_flags, :ref:`bool` wide **)** |virtual| Called to allow adding property-specific editors to the property list for ``object``. The added editor control must extend :ref:`EditorProperty`. Returning ``true`` removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one. ---- .. _class_EditorInspectorPlugin_method_add_custom_control: - void **add_custom_control** **(** :ref:`Control` control **)** Adds a custom control, which is not necessarily a property editor. ---- .. _class_EditorInspectorPlugin_method_add_property_editor: - void **add_property_editor** **(** :ref:`String` property, :ref:`Control` editor **)** Adds a property editor for an individual property. The ``editor`` control must extend :ref:`EditorProperty`. ---- .. _class_EditorInspectorPlugin_method_add_property_editor_for_multiple_properties: - void **add_property_editor_for_multiple_properties** **(** :ref:`String` label, :ref:`PackedStringArray` properties, :ref:`Control` editor **)** Adds an editor that allows modifying multiple properties. The ``editor`` control must extend :ref:`EditorProperty`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`