summaryrefslogtreecommitdiff
path: root/libopie
Side-by-side diff
Diffstat (limited to 'libopie') (more/less context) (show whitespace changes)
-rw-r--r--libopie/otabwidget.cpp22
-rw-r--r--libopie/otabwidget.h15
2 files changed, 37 insertions, 0 deletions
diff --git a/libopie/otabwidget.cpp b/libopie/otabwidget.cpp
index aaf14ce..bed7ef1 100644
--- a/libopie/otabwidget.cpp
+++ b/libopie/otabwidget.cpp
@@ -192,24 +192,37 @@ void OTabWidget::setCurrentTab( const QString &tabname )
{
OTabInfo *newtab = tabs.first();
while ( newtab && newtab->label() != tabname )
{
newtab = tabs.next();
}
if ( newtab && newtab->label() == 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;
}
void OTabWidget::setTabStyle( TabStyle s )
{
tabBarStyle = s;
}
OTabWidget::TabPosition OTabWidget::tabPosition() const
{
@@ -296,12 +309,21 @@ void OTabWidget::setUpLayout()
QSize OTabWidget::sizeHint() const
{
QSize s( widgetStack->sizeHint() );
QSize t( tabBarStack->sizeHint() );
return QSize( QMAX( s.width(), t.width()), s.height() + t.height() );
}
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
@@ -161,29 +161,43 @@ public:
*/
void setCurrentTab( QWidget * );
/**
* @fn setCurrentTab( const QString &tabname )
* @brief Selects and brings to top the desired widget, by using label.
*
* @param tabname Text label for widget to select.
*/
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:
/**
* @fn resizeEvent( QResizeEvent * )
* @brief Reimplemented for internal purposes.
*/
void resizeEvent( QResizeEvent * );
private:
OTabInfoList tabs;
OTabInfo *currentTab;
@@ -210,24 +224,25 @@ private:
* @brief Internal function to select desired widget.
*
* @param tab Pointer to data for widget.
*/
void selectTab( OTabInfo * );
/**
* @fn setUpLayout()
* @brief Internal function to adjust layout.
*/
void setUpLayout();
+
signals:
/**
* @fn currentChanegd( QWidget *widget )
* @brief This signal is emitted whenever the widget has changed.
*
* @param widget Pointer to new current widget.
*/
void currentChanged( QWidget * );
private slots:
/**