From 3f05799e412cc115f86e99964bb76ad0b1453cd5 Mon Sep 17 00:00:00 2001 From: Jesse Buhagiar Date: Sun, 8 Sep 2019 00:13:26 +1000 Subject: [PATCH] LibGUI: GTabWidget can now return active tab index `GTabWidget` now allows the user/caller to get the currently active tab widget, meaning that actions that are applied globally (such as an 'Apply' or 'OK' button) can now react to specific tabs etc. --- Libraries/LibGUI/GTabWidget.cpp | 11 +++++++++++ Libraries/LibGUI/GTabWidget.h | 1 + 2 files changed, 12 insertions(+) diff --git a/Libraries/LibGUI/GTabWidget.cpp b/Libraries/LibGUI/GTabWidget.cpp index 180ddb5138..530fb7f0f8 100644 --- a/Libraries/LibGUI/GTabWidget.cpp +++ b/Libraries/LibGUI/GTabWidget.cpp @@ -208,3 +208,14 @@ void GTabWidget::set_tab_position(TabPosition tab_position) m_active_widget->set_relative_rect(child_rect_for_size(size())); update(); } + +int GTabWidget::get_active_tab() const +{ + for(int i = 0; i < m_tabs.size(); i++) + { + if(m_tabs.at(i).widget == m_active_widget) + return i; + } + + return -1; +} diff --git a/Libraries/LibGUI/GTabWidget.h b/Libraries/LibGUI/GTabWidget.h index 9eedaa35b9..395b238b3d 100644 --- a/Libraries/LibGUI/GTabWidget.h +++ b/Libraries/LibGUI/GTabWidget.h @@ -15,6 +15,7 @@ public: TabPosition tab_position() const { return m_tab_position; } void set_tab_position(TabPosition); + int get_active_tab() const; GWidget* active_widget() const { return m_active_widget; } void set_active_widget(GWidget*);