Changeset 9546 in orxonox.OLD for branches/proxy/src/lib/gui/gl/glgui_fixedposition_box.cc
- Timestamp:
- Jul 28, 2006, 11:13:00 AM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/proxy/src/lib/gui/gl/glgui_fixedposition_box.cc
r9541 r9546 16 16 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GUI 17 17 18 #include "glgui_box.h" 18 #include "glgui_fixedposition_box.h" 19 #include "glgui_handler.h" 19 20 #include <cassert> 20 21 … … 24 25 * standard constructor 25 26 */ 26 GLGuiBox::GLGuiBox (OrxGui::Orientation orientation) 27 GLGuiFixedpositionBox::GLGuiFixedpositionBox (OrxGui::Position position, OrxGui::Orientation orientation) 28 GLGuiBox(orientation) 27 29 { 28 this->init();29 30 this->setOrientation(orientation);31 30 } 32 31 … … 35 34 * standard deconstructor 36 35 */ 37 GLGui Box::~GLGuiBox()36 GLGuiFixedpositionBox::~GLGuiFixedpositionBox() 38 37 {} 39 38 40 /** 41 * initializes the GUI-element 42 */ 43 void GLGuiBox::init() 39 40 void GLGuiFixedpositionBox::setPosition(OrxGui::Position position) 44 41 { 45 this->setClassID(CL_GLGUI_BOX, "GLGuiBox"); 46 } 47 48 void GLGuiBox::pack(GLGuiWidget* widget) 49 { 50 assert (widget != NULL); 51 52 this->children.push_back(widget); 53 widget->setParentWidget(this); 54 55 this->resize(); 42 this->_position = position; 43 this->resize; 56 44 } 57 45 58 46 59 void GLGui Box::unpack(GLGuiWidget* widget)47 void GLGuiFixedpositionBox::resize() 60 48 { 61 assert(widget != NULL);49 GLGuiBox::resize(); 62 50 63 std::vector<GLGuiWidget*>::iterator delWidget = std::find(this->children.begin(), this->children.end(), widget); 64 if (delWidget != this->children.end()) 51 switch (this->position) 65 52 { 66 (*delWidget)->setParentWidget(NULL); 67 this->children.erase(delWidget); 53 case OrxGui::Center: 54 this->setAbsCoor2D(GuiHandler::getInstance()->resolution() - this->getSize2D() / 2.0); 55 break; 56 68 57 } 69 this->resize();70 }71 72 void GLGuiBox::clear()73 {74 this->children.clear();75 this->resize();76 }77 78 void GLGuiBox::showAll()79 {80 std::vector<GLGuiWidget*>::iterator itC = this->children.begin();81 while (itC != this->children.end())82 {83 if ((*itC)->isA(CL_GLGUI_CONTAINER))84 static_cast<GLGuiContainer*>(*itC)->showAll();85 else86 (*itC)->show();87 itC++;88 }89 90 this->show();91 }92 93 void GLGuiBox::hideAll()94 {95 std::vector<GLGuiWidget*>::iterator itC = this->children.begin();96 while (itC != this->children.end())97 {98 if ((*itC)->isA(CL_GLGUI_CONTAINER))99 static_cast<GLGuiContainer*>(*itC)->hideAll();100 else101 (*itC)->hide();102 itC++;103 }104 105 this->hide();106 }107 108 void GLGuiBox::resize()109 {110 if (orientation() == OrxGui::Vertical)111 {112 float height = borderTop();113 float width = 0.0f;114 std::vector<GLGuiWidget*>::iterator widget;115 116 // find out how big the Widgets are.117 for (widget = this->children.begin(); widget != this->children.end(); ++widget)118 {119 (*widget)->setRelCoor2D(borderLeft(), height);120 height += (*widget)->getSizeY2D();121 width = fmax(width, (*widget)->getSizeX2D());122 }123 124 width += borderLeft() + borderRight();125 height += borderBottom(); /* *2 done further up */126 127 this->setSize2D(width, height);128 }129 else130 {131 float height = borderTop();132 float width = borderLeft();133 std::vector<GLGuiWidget*>::iterator widget;134 135 // find out how big the Widgets are.136 for (widget = this->children.begin(); widget != this->children.end(); ++widget)137 {138 (*widget)->setRelCoor2D(width, borderTop());139 height = fmax(height, (*widget)->getSizeY2D());140 width += (*widget)->getSizeX2D();141 }142 143 width += borderRight() ;144 height += borderBottom(); /* *2 done further up */145 146 this->setSize2D(width, height);147 }148 GLGuiWidget::resize();149 150 58 // resize everything. 151 59 //for (widget = this->children.begin(); widget != this->children.end(); ++widget) … … 153 61 } 154 62 155 /**156 * @brief draws the GLGuiBox157 */158 void GLGuiBox::draw() const159 {160 this->beginDraw();161 GLGuiWidget::draw();162 this->endDraw();163 }164 63 }
Note: See TracChangeset
for help on using the changeset viewer.