summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/classes/TabContainer.xml7
-rw-r--r--scene/gui/tab_container.cpp5
-rw-r--r--scene/gui/tab_container.h2
3 files changed, 14 insertions, 0 deletions
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 940eb89dab..013ab3bd77 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -30,6 +30,13 @@
Returns the previously active tab index.
</description>
</method>
+ <method name="get_tab_bar" qualifiers="const">
+ <return type="TabBar" />
+ <description>
+ Returns the [TabBar] contained in this container.
+ [b]Warning:[/b] This is a required internal node, removing and freeing it or editing its tabs may cause a crash. If you wish to edit the tabs, use the methods provided in [TabContainer].
+ </description>
+ </method>
<method name="get_tab_button_icon" qualifiers="const">
<return type="Texture2D" />
<param index="0" name="tab_idx" type="int" />
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index 14bc87ad40..bad85560d1 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -585,6 +585,10 @@ void TabContainer::remove_child_notify(Node *p_child) {
}
}
+TabBar *TabContainer::get_tab_bar() const {
+ return tab_bar;
+}
+
int TabContainer::get_tab_count() const {
return tab_bar->get_tab_count();
}
@@ -912,6 +916,7 @@ void TabContainer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_current_tab"), &TabContainer::get_current_tab);
ClassDB::bind_method(D_METHOD("get_previous_tab"), &TabContainer::get_previous_tab);
ClassDB::bind_method(D_METHOD("get_current_tab_control"), &TabContainer::get_current_tab_control);
+ ClassDB::bind_method(D_METHOD("get_tab_bar"), &TabContainer::get_tab_bar);
ClassDB::bind_method(D_METHOD("get_tab_control", "tab_idx"), &TabContainer::get_tab_control);
ClassDB::bind_method(D_METHOD("set_tab_alignment", "alignment"), &TabContainer::set_tab_alignment);
ClassDB::bind_method(D_METHOD("get_tab_alignment"), &TabContainer::get_tab_alignment);
diff --git a/scene/gui/tab_container.h b/scene/gui/tab_container.h
index 2bcc640d05..9919565f1e 100644
--- a/scene/gui/tab_container.h
+++ b/scene/gui/tab_container.h
@@ -111,6 +111,8 @@ protected:
static void _bind_methods();
public:
+ TabBar *get_tab_bar() const;
+
int get_tab_idx_at_point(const Point2 &p_point) const;
int get_tab_idx_from_control(Control *p_child) const;