<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorInspector" inherits="ScrollContainer" version="3.8">
	<brief_description>
		A control used to edit properties of an object.
	</brief_description>
	<description>
		This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc. To get the [EditorInspector] used in the editor's Inspector dock, use [method EditorInterface.get_inspector].
		[EditorInspector] will show properties in the same order as the array returned by [method Object.get_property_list].
		If a property's name is path-like (i.e. if it contains forward slashes), [EditorInspector] will create nested sections for "directories" along the path. For example, if a property is named [code]highlighting/gdscript/node_path_color[/code], it will be shown as "Node Path Color" inside the "GDScript" section nested inside the "Highlighting" section.
		If a property has [constant @GlobalScope.PROPERTY_USAGE_GROUP] usage, it will group subsequent properties whose name starts with the property's hint string. The group ends when a property does not start with that hint string or when a new group starts. An empty group name effectively ends the current group. [EditorInspector] will create a top-level section for each group. For example, if a property with group usage is named [code]Collide With[/code] and its hint string is [code]collide_with_[/code], a subsequent [code]collide_with_area[/code] property will be shown as "Area" inside the "Collide With" section.
		[b]Note:[/b] Unlike sections created from path-like property names, [EditorInspector] won't capitalize the name for sections created from groups. So properties with group usage usually use capitalized names instead of snake_cased names.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="refresh">
			<return type="void" />
			<description>
				Refreshes the inspector.
				[b]Note:[/b] To save on CPU resources, calling this method will do nothing if the time specified in [code]docks/property_editor/auto_refresh_interval[/code] editor setting hasn't passed yet since this method was last called. (By default, this interval is set to 0.3 seconds.)
			</description>
		</method>
	</methods>
	<members>
		<member name="scroll_horizontal_enabled" type="bool" setter="set_enable_h_scroll" getter="is_h_scroll_enabled" overrides="ScrollContainer" default="false" />
	</members>
	<signals>
		<signal name="object_id_selected">
			<argument index="0" name="id" type="int" />
			<description>
				Emitted when the Edit button of an [Object] has been pressed in the inspector. This is mainly used in the remote scene tree inspector.
			</description>
		</signal>
		<signal name="property_edited">
			<argument index="0" name="property" type="String" />
			<description>
				Emitted when a property is edited in the inspector.
			</description>
		</signal>
		<signal name="property_keyed">
			<argument index="0" name="property" type="String" />
			<description>
				Emitted when a property is keyed in the inspector. Properties can be keyed by clicking the "key" icon next to a property when the Animation panel is toggled.
			</description>
		</signal>
		<signal name="property_selected">
			<argument index="0" name="property" type="String" />
			<description>
				Emitted when a property is selected in the inspector.
			</description>
		</signal>
		<signal name="property_toggled">
			<argument index="0" name="property" type="String" />
			<argument index="1" name="checked" type="bool" />
			<description>
				Emitted when a boolean property is toggled in the inspector.
				[b]Note:[/b] This signal is never emitted if the internal [code]autoclear[/code] property enabled. Since this property is always enabled in the editor inspector, this signal is never emitted by the editor itself.
			</description>
		</signal>
		<signal name="resource_selected">
			<argument index="0" name="res" type="Object" />
			<argument index="1" name="prop" type="String" />
			<description>
				Emitted when a resource is selected in the inspector.
			</description>
		</signal>
		<signal name="restart_requested">
			<description>
				Emitted when a property that requires a restart to be applied is edited in the inspector. This is only used in the Project Settings and Editor Settings.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
