2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 09:03:48 +08:00
<class name= "TabContainer" inherits= "Container" version= "4.0" >
2017-09-13 04:42:36 +08:00
<brief_description >
2019-06-22 07:04:47 +08:00
Tabbed container.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2017-10-21 12:31:45 +08:00
Sets the active tab's [code]visible[/code] property to the value [code]true[/code]. Sets all other children's to [code]false[/code].
2017-10-22 18:56:11 +08:00
Ignores non-[Control] children.
2017-10-21 12:31:45 +08:00
Individual tabs are always visible unless you use [method set_tab_disabled] and [method set_tab_title] to hide it.
2019-03-30 06:37:35 +08:00
To hide only a tab's content, nest the content inside a child [Control], so it receives the [TabContainer]'s visibility setting instead.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "get_current_tab_control" qualifiers= "const" >
<return type= "Control" >
</return>
<description >
2017-10-22 18:56:11 +08:00
Returns the child [Control] node located at the active tab index.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_popup" qualifiers= "const" >
<return type= "Popup" >
</return>
<description >
2017-10-22 18:56:11 +08:00
Returns the [Popup] node instance if one has been set already with [method set_popup].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_previous_tab" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2017-10-22 18:56:11 +08:00
Returns the previously active tab index.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_tab_control" qualifiers= "const" >
<return type= "Control" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
2017-10-22 18:56:11 +08:00
Returns the currently visible tab's [Control] node.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_tab_count" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2017-10-21 12:31:45 +08:00
Returns the number of tabs.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_tab_disabled" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "tab_idx" type= "int" >
</argument>
<description >
2017-10-13 03:29:43 +08:00
Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_tab_icon" qualifiers= "const" >
2020-02-12 16:59:06 +08:00
<return type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</return>
<argument index= "0" name= "tab_idx" type= "int" >
</argument>
<description >
2020-02-12 16:59:06 +08:00
Returns the [Texture2D] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture2D].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_tab_title" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "tab_idx" type= "int" >
</argument>
<description >
2017-10-21 12:31:45 +08:00
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].
2017-09-13 04:42:36 +08:00
</description>
</method>
2018-04-10 16:12:42 +08:00
<method name= "get_tabs_rearrange_group" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2019-03-30 06:37:35 +08:00
Returns the [TabContainer] rearrange group id.
2018-04-10 16:12:42 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_popup" >
<return type= "void" >
</return>
<argument index= "0" name= "popup" type= "Node" >
</argument>
<description >
2019-03-30 06:37:35 +08:00
If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [TabContainer]. Clicking it will expand the [Popup] node.
2017-09-13 04:42:36 +08:00
</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 >
2019-06-22 07:04:47 +08:00
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 also removed with [method set_tab_title].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "set_tab_icon" >
<return type= "void" >
</return>
<argument index= "0" name= "tab_idx" type= "int" >
</argument>
2020-02-12 16:59:06 +08:00
<argument index= "1" name= "icon" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</argument>
<description >
2017-10-21 12:31:45 +08:00
Sets an icon for the tab at index [code]tab_idx[/code].
2017-09-13 04:42:36 +08:00
</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 >
2017-10-21 12:31:45 +08:00
Sets a title for 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].
2017-09-13 04:42:36 +08:00
</description>
</method>
2018-04-10 16:12:42 +08:00
<method name= "set_tabs_rearrange_group" >
<return type= "void" >
</return>
<argument index= "0" name= "group_id" type= "int" >
</argument>
<description >
2019-03-30 06:37:35 +08:00
Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code].
2018-04-10 16:12:42 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "current_tab" type= "int" setter= "set_current_tab" getter= "get_current_tab" default= "0" >
2017-10-22 18:56:11 +08:00
The current tab index. When set, this index's [Control] node's [code]visible[/code] property is set to [code]true[/code] and all others are set to [code]false[/code].
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "drag_to_rearrange_enabled" type= "bool" setter= "set_drag_to_rearrange_enabled" getter= "get_drag_to_rearrange_enabled" default= "false" >
2018-10-14 21:58:06 +08:00
If [code]true[/code], tabs can be rearranged with mouse drag.
2018-04-10 16:12:42 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "tab_align" type= "int" setter= "set_tab_align" getter= "get_tab_align" enum= "TabContainer.TabAlign" default= "1" >
2019-12-07 06:09:20 +08:00
The alignment of all tabs in the tab container. See the [enum TabAlign] constants for details.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "tabs_visible" type= "bool" setter= "set_tabs_visible" getter= "are_tabs_visible" default= "true" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], tabs are visible. If [code]false[/code], tabs' content and titles are hidden.
2017-09-13 04:42:36 +08:00
</member>
2019-09-24 17:44:48 +08:00
<member name= "use_hidden_tabs_for_min_size" type= "bool" setter= "set_use_hidden_tabs_for_min_size" getter= "get_use_hidden_tabs_for_min_size" default= "false" >
2020-01-04 03:48:27 +08:00
If [code]true[/code], children [Control] nodes that are hidden have their minimum size take into account in the total, instead of only the currently visible one.
2019-09-24 17:44:48 +08:00
</member>
2017-09-13 04:42:36 +08:00
</members>
<signals >
<signal name= "pre_popup_pressed" >
<description >
2019-03-30 06:37:35 +08:00
Emitted when the [TabContainer]'s [Popup] button is clicked. See [method set_popup] for details.
2017-09-13 04:42:36 +08:00
</description>
</signal>
<signal name= "tab_changed" >
<argument index= "0" name= "tab" type= "int" >
</argument>
<description >
2017-10-21 12:31:45 +08:00
Emitted when switching to another tab.
2017-09-13 04:42:36 +08:00
</description>
</signal>
<signal name= "tab_selected" >
<argument index= "0" name= "tab" type= "int" >
</argument>
<description >
2017-10-21 12:31:45 +08:00
Emitted when a tab is selected, even if it is the current tab.
2017-09-13 04:42:36 +08:00
</description>
</signal>
</signals>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "ALIGN_LEFT" value= "0" enum= "TabAlign" >
2018-10-14 21:58:06 +08:00
Align the tabs to the left.
2017-09-16 07:46:14 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ALIGN_CENTER" value= "1" enum= "TabAlign" >
2018-10-14 21:58:06 +08:00
Align the tabs to the center.
2017-09-16 07:46:14 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ALIGN_RIGHT" value= "2" enum= "TabAlign" >
2018-10-14 21:58:06 +08:00
Align the tabs to the right.
2017-09-16 07:46:14 +08:00
</constant>
2017-09-13 04:42:36 +08:00
</constants>
<theme_items >
2020-02-12 16:59:06 +08:00
<theme_item name= "decrement" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
2020-02-12 16:59:06 +08:00
<theme_item name= "decrement_highlight" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
<theme_item name= "font" type= "Font" >
</theme_item>
2019-07-09 15:13:00 +08:00
<theme_item name= "font_color_bg" type= "Color" default= "Color( 0.69, 0.69, 0.69, 1 )" >
2017-09-13 04:42:36 +08:00
</theme_item>
2019-06-29 18:38:01 +08:00
<theme_item name= "font_color_disabled" type= "Color" default= "Color( 0.9, 0.9, 0.9, 0.2 )" >
2017-09-13 04:42:36 +08:00
</theme_item>
2019-07-09 15:13:00 +08:00
<theme_item name= "font_color_fg" type= "Color" default= "Color( 0.94, 0.94, 0.94, 1 )" >
2017-09-13 04:42:36 +08:00
</theme_item>
2019-06-29 18:38:01 +08:00
<theme_item name= "hseparation" type= "int" default= "4" >
2017-09-13 04:42:36 +08:00
</theme_item>
2020-02-12 16:59:06 +08:00
<theme_item name= "increment" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
2020-02-12 16:59:06 +08:00
<theme_item name= "increment_highlight" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
2020-02-12 16:59:06 +08:00
<theme_item name= "menu" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
2020-02-12 16:59:06 +08:00
<theme_item name= "menu_highlight" type= "Texture2D" >
2017-09-13 04:42:36 +08:00
</theme_item>
<theme_item name= "panel" type= "StyleBox" >
</theme_item>
2019-06-29 18:38:01 +08:00
<theme_item name= "side_margin" type= "int" default= "8" >
2017-09-13 04:42:36 +08:00
</theme_item>
<theme_item name= "tab_bg" type= "StyleBox" >
</theme_item>
2019-02-16 21:40:52 +08:00
<theme_item name= "tab_disabled" type= "StyleBox" >
</theme_item>
2017-09-13 04:42:36 +08:00
<theme_item name= "tab_fg" type= "StyleBox" >
</theme_item>
</theme_items>
</class>