-rw-r--r-- | libopie/otabwidget.cpp | 24 | ||||
-rw-r--r-- | libopie/otabwidget.h | 15 |
2 files changed, 38 insertions, 1 deletions
diff --git a/libopie/otabwidget.cpp b/libopie/otabwidget.cpp index aaf14ce..bed7ef1 100644 --- a/libopie/otabwidget.cpp +++ b/libopie/otabwidget.cpp @@ -140,9 +140,9 @@ void OTabWidget::addTab( QWidget *child, const QString &icon, const QString &lab } void OTabWidget::removePage( QWidget *childwidget ) { - if ( childwidget ) + if ( childwidget ) { OTabInfo *tab = tabs.first(); while ( tab && tab->control() != childwidget ) { @@ -200,8 +200,21 @@ void OTabWidget::setCurrentTab( const QString &tabname ) selectTab( newtab ); } } +void OTabWidget::setCurrentTab(int tabindex) { + OTabInfo *newtab = tabs.first(); + while ( newtab && newtab->id() != tabindex ) + { + newtab = tabs.next(); + } + if ( newtab && newtab->id() == tabindex ) + { + selectTab( newtab ); + } +} + + OTabWidget::TabStyle OTabWidget::tabStyle() const { return tabBarStyle; } @@ -304,4 +317,13 @@ QSize OTabWidget::sizeHint() const void OTabWidget::resizeEvent( QResizeEvent * ) { setUpLayout(); } + +int OTabWidget::getCurrentTab() { + if ( currentTab ) + { + return currentTab->id(); + } + return -1; +} + diff --git a/libopie/otabwidget.h b/libopie/otabwidget.h index d61fe9e..74d683b 100644 --- a/libopie/otabwidget.h +++ b/libopie/otabwidget.h @@ -169,13 +169,27 @@ public: */ void setCurrentTab( const QString & ); /** + * @fn setCurrentTab( int ) + * @brief Selects and brings to top the desired widget, by using id. + * + * @param tab id for widget to select. + */ + void setCurrentTab(int); + +/** * @fn sizeHint() * @brief Reimplemented for internal purposes. */ QSize sizeHint() const; +/** + * @fn getCurrentTab( ) + * @brief returns current tab id. + */ + int getCurrentTab(); + protected: /** @@ -218,8 +232,9 @@ private: * @brief Internal function to adjust layout. */ void setUpLayout(); + signals: /** * @fn currentChanegd( QWidget *widget ) * @brief This signal is emitted whenever the widget has changed. |