rt300@0: // rt300@0: // UIElementContainer.cpp rt300@0: // emptyExample rt300@0: // rt300@0: // Created by Robert Tubb on 22/05/2013. rt300@0: // rt300@0: // rt300@0: rt300@0: #include "UIElementContainer.h" rt300@0: #include "ButtronXY.h" rt300@0: #include "ButtronSlider.h" rt300@0: rt300@0: //----------------------------------------------------------------------------- rt300@0: UIElementContainer::UIElementContainer(float ax, rt300@0: float ay, rt300@0: float awidth, rt300@0: float aheight, rt300@0: const UIProps& aprops) : rt300@0: UIElement(ax,ay,awidth,aheight,aprops.generalBackground) rt300@0: { rt300@0: cout << "UIElementContainer contructor\n"; rt300@0: rt300@0: myProps = aprops; rt300@0: cthickness = 0.; rt300@0: rt300@0: } rt300@0: rt300@0: //----------------------------------------------------------------------------- rt300@0: int UIElementContainer::getNumberOfControls(){ rt300@0: return subElements.size(); rt300@0: } rt300@0: rt300@0: rt300@0: //----------------------------------------------------------------------------- rt300@0: rt300@0: void UIElementContainer::removeAllSubelements(){ rt300@0: vector::iterator UIitr; rt300@0: for(UIitr = subElements.begin(); UIitr < subElements.end(); UIitr++){ rt300@0: delete (*UIitr); rt300@0: } rt300@0: subElements.clear(); rt300@0: } rt300@0: //------------------------------------------------------------------- rt300@0: void UIElementContainer::draw(){ rt300@0: if(hidden) return; rt300@0: //cout << "DRAWING CONTAINER"<< endl; rt300@0: UIElement::draw(); rt300@0: // draw me rt300@0: if(cthickness != 0.){ rt300@0: // doh, duplicate code from buttron? rt300@0: drawBorder(); rt300@0: } rt300@0: rt300@0: // draw my subelems rt300@0: vector::iterator UIitr; rt300@0: for(UIitr = subElements.begin(); UIitr < subElements.end(); UIitr++){ rt300@0: (*UIitr)->draw(); rt300@0: } rt300@0: }; rt300@0: //------------------------------------------------------------------- rt300@0: void UIElementContainer::drawBorder(){ rt300@0: ofSetLineWidth(cthickness); rt300@0: ofSetColor(myProps.borderColor); rt300@0: // top rt300@0: ofLine(x,y,x+width,y); rt300@0: // left rt300@0: ofLine(x,y,x,y+height); rt300@0: //right rt300@0: ofLine(x+width-cthickness,y,x+width-cthickness,y+height); rt300@0: // bottom rt300@0: ofLine(x-cthickness,y+height,x+width-cthickness,y+height); rt300@0: } rt300@0: //-------------------------------------------------------------------