<?xml version="1.0" encoding="UTF-8" ?>
<class name="Tabs" inherits="Control" category="Core" version="3.2">
	<brief_description>
		Tabs control.
	</brief_description>
	<description>
		Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interact with children.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="add_tab">
			<return type="void">
			</return>
			<argument index="0" name="title" type="String" default="&quot;&quot;">
			</argument>
			<argument index="1" name="icon" type="Texture" default="null">
			</argument>
			<description>
				Adds a new tab.
			</description>
		</method>
		<method name="ensure_tab_visible">
			<return type="void">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
				Moves the scroll view to make the tab visible.
			</description>
		</method>
		<method name="get_offset_buttons_visible" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns [code]true[/code] if the offset buttons (the ones that appear when there's not enough space for all tabs) are visible.
			</description>
		</method>
		<method name="get_select_with_rmb" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns [code]true[/code] if select with right mouse button is enabled.
			</description>
		</method>
		<method name="get_tab_count" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the number of tabs.
			</description>
		</method>
		<method name="get_tab_disabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
				Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
			</description>
		</method>
		<method name="get_tab_icon" qualifiers="const">
			<return type="Texture">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
				Returns the [Texture] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture].
			</description>
		</method>
		<method name="get_tab_offset" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the number of hidden tabs offsetted to the left.
			</description>
		</method>
		<method name="get_tab_rect" qualifiers="const">
			<return type="Rect2">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
				Returns tab [Rect2] with local position and size.
			</description>
		</method>
		<method name="get_tab_title" qualifiers="const">
			<return type="String">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
				Returns the title of the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node, but this can be overridden with [method set_tab_title].
			</description>
		</method>
		<method name="get_tabs_rearrange_group" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the [Tabs]' rearrange group ID.
			</description>
		</method>
		<method name="move_tab">
			<return type="void">
			</return>
			<argument index="0" name="from" type="int">
			</argument>
			<argument index="1" name="to" type="int">
			</argument>
			<description>
				Moves a tab from [code]from[/code] to [code]to[/code].
			</description>
		</method>
		<method name="remove_tab">
			<return type="void">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
				Removes the tab at index [code]tab_idx[/code].
			</description>
		</method>
		<method name="set_select_with_rmb">
			<return type="void">
			</return>
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
				If [code]true[/code], enables selecting a tab with the right mouse button.
			</description>
		</method>
		<method name="set_tab_disabled">
			<return type="void">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="disabled" type="bool">
			</argument>
			<description>
				If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code].
				[b]Note:[/b] Its title text will remain unless it is also removed with [method set_tab_title].
			</description>
		</method>
		<method name="set_tab_icon">
			<return type="void">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="icon" type="Texture">
			</argument>
			<description>
				Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code].
			</description>
		</method>
		<method name="set_tab_title">
			<return type="void">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="title" type="String">
			</argument>
			<description>
				Sets a [code]title[/code] for the tab at index [code]tab_idx[/code].
			</description>
		</method>
		<method name="set_tabs_rearrange_group">
			<return type="void">
			</return>
			<argument index="0" name="group_id" type="int">
			</argument>
			<description>
				Defines the rearrange group ID. Choose for each [Tabs] the same value to dragging tabs between [Tabs]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code].
			</description>
		</method>
	</methods>
	<members>
		<member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0">
			Select tab at index [code]tab_idx[/code].
		</member>
		<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
			If [code]true[/code], tabs can be rearranged with mouse drag.
		</member>
		<member name="scrolling_enabled" type="bool" setter="set_scrolling_enabled" getter="get_scrolling_enabled" default="true">
			if [code]true[/code], the mouse's scroll wheel cab be used to navigate the scroll view.
		</member>
		<member name="tab_align" type="int" setter="set_tab_align" getter="get_tab_align" enum="Tabs.TabAlign" default="1">
			The alignment of all tabs. See [enum TabAlign] for details.
		</member>
		<member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="Tabs.CloseButtonDisplayPolicy" default="0">
			Sets when the close button will appear on the tabs. See [enum CloseButtonDisplayPolicy] for details.
		</member>
	</members>
	<signals>
		<signal name="reposition_active_tab_request">
			<argument index="0" name="idx_to" type="int">
			</argument>
			<description>
				Emitted when the active tab is rearranged via mouse drag. See [member drag_to_rearrange_enabled].
			</description>
		</signal>
		<signal name="right_button_pressed">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
				Emitted when a tab is right-clicked.
			</description>
		</signal>
		<signal name="tab_changed">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
				Emitted when switching to another tab.
			</description>
		</signal>
		<signal name="tab_clicked">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
				Emitted when a tab is clicked, even if it is the current tab.
			</description>
		</signal>
		<signal name="tab_close">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
				Emitted when a tab is closed.
			</description>
		</signal>
		<signal name="tab_hover">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
				Emitted when a tab is hovered by the mouse.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="ALIGN_LEFT" value="0" enum="TabAlign">
			Align the tabs to the left.
		</constant>
		<constant name="ALIGN_CENTER" value="1" enum="TabAlign">
			Align the tabs to the center.
		</constant>
		<constant name="ALIGN_RIGHT" value="2" enum="TabAlign">
			Align the tabs to the right.
		</constant>
		<constant name="ALIGN_MAX" value="3" enum="TabAlign">
			Represents the size of the [enum TabAlign] enum.
		</constant>
		<constant name="CLOSE_BUTTON_SHOW_NEVER" value="0" enum="CloseButtonDisplayPolicy">
			Never show the close buttons.
		</constant>
		<constant name="CLOSE_BUTTON_SHOW_ACTIVE_ONLY" value="1" enum="CloseButtonDisplayPolicy">
			Only show the close button on the currently active tab.
		</constant>
		<constant name="CLOSE_BUTTON_SHOW_ALWAYS" value="2" enum="CloseButtonDisplayPolicy">
			Show the close button on all tabs.
		</constant>
		<constant name="CLOSE_BUTTON_MAX" value="3" enum="CloseButtonDisplayPolicy">
			Represents the size of the [enum CloseButtonDisplayPolicy] enum.
		</constant>
	</constants>
	<theme_items>
		<theme_item name="button" type="StyleBox">
		</theme_item>
		<theme_item name="button_pressed" type="StyleBox">
		</theme_item>
		<theme_item name="close" type="Texture">
		</theme_item>
		<theme_item name="decrement" type="Texture">
		</theme_item>
		<theme_item name="decrement_highlight" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="font_color_bg" type="Color" default="Color( 0.69, 0.69, 0.69, 1 )">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
		</theme_item>
		<theme_item name="font_color_fg" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )">
		</theme_item>
		<theme_item name="hseparation" type="int" default="4">
		</theme_item>
		<theme_item name="increment" type="Texture">
		</theme_item>
		<theme_item name="increment_highlight" type="Texture">
		</theme_item>
		<theme_item name="label_valign_bg" type="int" default="2">
		</theme_item>
		<theme_item name="label_valign_fg" type="int" default="0">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
		<theme_item name="tab_bg" type="StyleBox">
		</theme_item>
		<theme_item name="tab_disabled" type="StyleBox">
		</theme_item>
		<theme_item name="tab_fg" type="StyleBox">
		</theme_item>
		<theme_item name="top_margin" type="int" default="24">
		</theme_item>
	</theme_items>
</class>
