summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/widgets/tabbedarea.cpp14
-rw-r--r--src/gui/widgets/tabbedarea.h3
2 files changed, 12 insertions, 5 deletions
diff --git a/src/gui/widgets/tabbedarea.cpp b/src/gui/widgets/tabbedarea.cpp
index 13bb884b..dd2e62dd 100644
--- a/src/gui/widgets/tabbedarea.cpp
+++ b/src/gui/widgets/tabbedarea.cpp
@@ -28,6 +28,8 @@ TabbedArea::TabbedArea() : gcn::TabbedArea()
{
mWidgetContainer->setOpaque(false);
addWidgetListener(this);
+
+ widgetResized(NULL);
}
int TabbedArea::getNumberOfTabs() const
@@ -161,14 +163,20 @@ void TabbedArea::setSelectedTab(gcn::Tab *tab)
if (newTab)
newTab->setCurrent();
+
+ widgetResized(NULL);
}
void TabbedArea::widgetResized(const gcn::Event &event)
{
- int width = getWidth() - 2 * getFrameSize();
- int height = getHeight() - 2 * getFrameSize() - mTabContainer->getHeight();
+ int width = getWidth() - 2 * getFrameSize()
+ - 2 * mWidgetContainer->getFrameSize();
+ int height = getHeight() - 2 * getFrameSize() - mWidgetContainer->getY()
+ - 2 * mWidgetContainer->getFrameSize();
mWidgetContainer->setSize(width, height);
+
gcn::Widget *w = getCurrentWidget();
if (w)
- w->setSize(width, height);
+ w->setSize(width,
+ height);
}
diff --git a/src/gui/widgets/tabbedarea.h b/src/gui/widgets/tabbedarea.h
index a64d855f..7944b5d5 100644
--- a/src/gui/widgets/tabbedarea.h
+++ b/src/gui/widgets/tabbedarea.h
@@ -101,8 +101,7 @@ class TabbedArea : public gcn::TabbedArea, public gcn::WidgetListener
int getContainerHeight() const
{ return mWidgetContainer->getHeight(); }
- void setSelectedTab(unsigned int index)
- { gcn::TabbedArea::setSelectedTab(index); }
+ using gcn::TabbedArea::setSelectedTab;
void setSelectedTab(gcn::Tab *tab);