<?xml version="1.0" encoding="UTF-8" ?>
<class name="SplitContainer" inherits="Container" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		A container that splits two child controls horizontally or vertically and provides a grabber for adjusting the split ratio.
	</brief_description>
	<description>
		A container that accepts only two child controls, then arranges them horizontally or vertically and creates a divisor between them. The divisor can be dragged around to change the size relation between the child controls.
	</description>
	<tutorials>
		<link title="Using Containers">$DOCS_URL/tutorials/ui/gui_containers.html</link>
	</tutorials>
	<methods>
		<method name="clamp_split_offset">
			<return type="void" />
			<description>
				Clamps the [member split_offset] value to not go outside the currently possible minimal and maximum values.
			</description>
		</method>
	</methods>
	<members>
		<member name="collapsed" type="bool" setter="set_collapsed" getter="is_collapsed" default="false">
			If [code]true[/code], the area of the first [Control] will be collapsed and the dragger will be disabled.
		</member>
		<member name="dragger_visibility" type="int" setter="set_dragger_visibility" getter="get_dragger_visibility" enum="SplitContainer.DraggerVisibility" default="0">
			Determines the dragger's visibility. See [enum DraggerVisibility] for details.
		</member>
		<member name="split_offset" type="int" setter="set_split_offset" getter="get_split_offset" default="0">
			The initial offset of the splitting between the two [Control]s, with [code]0[/code] being at the end of the first [Control].
		</member>
		<member name="vertical" type="bool" setter="set_vertical" getter="is_vertical" default="false">
			If [code]true[/code], the [SplitContainer] will arrange its children vertically, rather than horizontally.
			Can't be changed when using [HSplitContainer] and [VSplitContainer].
		</member>
	</members>
	<signals>
		<signal name="dragged">
			<param index="0" name="offset" type="int" />
			<description>
				Emitted when the dragger is dragged by user.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="DRAGGER_VISIBLE" value="0" enum="DraggerVisibility">
			The split dragger is visible when the cursor hovers it.
		</constant>
		<constant name="DRAGGER_HIDDEN" value="1" enum="DraggerVisibility">
			The split dragger is never visible.
		</constant>
		<constant name="DRAGGER_HIDDEN_COLLAPSED" value="2" enum="DraggerVisibility">
			The split dragger is never visible and its space collapsed.
		</constant>
	</constants>
	<theme_items>
		<theme_item name="autohide" data_type="constant" type="int" default="1">
			Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
		</theme_item>
		<theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6">
			The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item h_grabber] / [theme_item v_grabber]'s thickness are too small, this ensure that the splitting line can still be dragged.
		</theme_item>
		<theme_item name="separation" data_type="constant" type="int" default="12">
			The space between sides of the container.
		</theme_item>
		<theme_item name="grabber" data_type="icon" type="Texture2D">
			The icon used for the grabber drawn in the middle area.
		</theme_item>
		<theme_item name="h_grabber" data_type="icon" type="Texture2D">
			The icon used for the grabber drawn in the middle area when [member vertical] is [code]false[/code].
		</theme_item>
		<theme_item name="v_grabber" data_type="icon" type="Texture2D">
			The icon used for the grabber drawn in the middle area when [member vertical] is [code]true[/code].
		</theme_item>
	</theme_items>
</class>
