00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <GLW/GLWTabContainer.h>
00022
00023 REGISTER_CLASS_SOURCE(GLWTabContainer);
00024
00025 GLWTabContainer::GLWTabContainer(float x, float y, float w, float h) :
00026 GLWPanel(x, y, w, h, false, false)
00027 {
00028 }
00029
00030 GLWTabContainer::~GLWTabContainer()
00031 {
00032 }
00033
00034 void GLWTabContainer::layout()
00035 {
00036 float w = 0.0f;
00037 float h = 0.0f;
00038
00039 std::list<GLWPanelEntry>::iterator itor;
00040 for (itor = widgets_.begin();
00041 itor != widgets_.end();
00042 itor++)
00043 {
00044 GLWPanelEntry &entry = *itor;
00045
00046
00047 entry.widget->layout();
00048
00049 w = MAX(entry.widget->getW(), w);
00050 h = MAX(entry.widget->getH() + 20.0f, h);
00051 }
00052
00053 setW(w);
00054 setH(h);
00055
00056 for (itor = widgets_.begin();
00057 itor != widgets_.end();
00058 itor++)
00059 {
00060 GLWPanelEntry &entry = *itor;
00061
00062 entry.widget->setX(0.0f);
00063 entry.widget->setY(0.0f);
00064 entry.widget->setW(w);
00065 entry.widget->setH(h - 20.0f);
00066 }
00067 }
00068
00069 void GLWTabContainer::setX(float x)
00070 {
00071 GLWPanel::setX(x);
00072 }
00073
00074 void GLWTabContainer::setY(float y)
00075 {
00076 GLWPanel::setY(y);
00077 }