summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Alexsander <michaelalexsander@protonmail.com>2021-09-24 01:26:59 -0300
committerMichael Alexsander <michaelalexsander@protonmail.com>2021-09-24 01:26:59 -0300
commit7ce02b642eee600b7206563030c8feaa8af3fe5b (patch)
treee3288ff5c98f6d4a7cd5c973b67045698f15a06d
parent01f692c173b9926ae764a4a4c9a54c266a21272b (diff)
Expose `TabContainer`'s tab hidding for scripts
-rw-r--r--doc/classes/TabContainer.xml24
-rw-r--r--doc/classes/Tabs.xml7
-rw-r--r--scene/gui/tab_container.cpp2
3 files changed, 23 insertions, 10 deletions
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 77bd7b1a0a..4c50aa4e1f 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -6,8 +6,6 @@
<description>
Sets the active tab's [code]visible[/code] property to the value [code]true[/code]. Sets all other children's to [code]false[/code].
Ignores non-[Control] children.
- Individual tabs are always visible unless you use [method set_tab_disabled] and [method set_tab_title] to hide it.
- To hide only a tab's content, nest the content inside a child [Control], so it receives the [TabContainer]'s visibility setting instead.
</description>
<tutorials>
</tutorials>
@@ -50,6 +48,13 @@
Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
</description>
</method>
+ <method name="get_tab_hidden" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="tab_idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden.
+ </description>
+ </method>
<method name="get_tab_icon" qualifiers="const">
<return type="Texture2D" />
<argument index="0" name="tab_idx" type="int" />
@@ -89,8 +94,15 @@
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="disabled" type="bool" />
<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 also removed with [method set_tab_title].
+ If [code]disabled[/code] is [code]true[/code], disables the tab at index [code]tab_idx[/code], making it non-interactable.
+ </description>
+ </method>
+ <method name="set_tab_hidden">
+ <return type="void" />
+ <argument index="0" name="tab_idx" type="int" />
+ <argument index="1" name="hidden" type="bool" />
+ <description>
+ If [code]hidden[/code] is [code]true[/code], hides the tab at index [code]tab_idx[/code], making it disappear from the tab area.
</description>
</method>
<method name="set_tab_icon">
@@ -106,14 +118,14 @@
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="title" type="String" />
<description>
- 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].
+ Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node.
</description>
</method>
<method name="set_tabs_rearrange_group">
<return type="void" />
<argument index="0" name="group_id" type="int" />
<description>
- 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].
+ Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [member drag_to_rearrange_enabled].
</description>
</method>
</methods>
diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml
index f4c89a8b16..3ee3feb365 100644
--- a/doc/classes/Tabs.xml
+++ b/doc/classes/Tabs.xml
@@ -108,7 +108,7 @@
<return type="String" />
<argument index="0" name="tab_idx" type="int" />
<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].
+ Returns the title of the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="get_tabs_rearrange_group" qualifiers="const">
@@ -144,8 +144,7 @@
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="disabled" type="bool" />
<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].
+ If [code]disabled[/code] is [code]true[/code], disables the tab at index [code]tab_idx[/code], making it non-interactable.
</description>
</method>
<method name="set_tab_icon">
@@ -193,7 +192,7 @@
<return type="void" />
<argument index="0" name="group_id" type="int" />
<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].
+ Defines the rearrange group ID. Choose for each [Tabs] the same value to dragging tabs between [Tabs]. Enable drag with [member drag_to_rearrange_enabled].
</description>
</method>
</methods>
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index a423dc0173..d63ea776a3 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -1210,6 +1210,8 @@ void TabContainer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_tab_icon", "tab_idx"), &TabContainer::get_tab_icon);
ClassDB::bind_method(D_METHOD("set_tab_disabled", "tab_idx", "disabled"), &TabContainer::set_tab_disabled);
ClassDB::bind_method(D_METHOD("get_tab_disabled", "tab_idx"), &TabContainer::get_tab_disabled);
+ ClassDB::bind_method(D_METHOD("set_tab_hidden", "tab_idx", "hidden"), &TabContainer::set_tab_hidden);
+ ClassDB::bind_method(D_METHOD("get_tab_hidden", "tab_idx"), &TabContainer::get_tab_hidden);
ClassDB::bind_method(D_METHOD("get_tab_idx_at_point", "point"), &TabContainer::get_tab_idx_at_point);
ClassDB::bind_method(D_METHOD("set_popup", "popup"), &TabContainer::set_popup);
ClassDB::bind_method(D_METHOD("get_popup"), &TabContainer::get_popup);