/* ui/container.cc This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #include "ui/container.h" #include "ui/paint.h" #include "ui/ui.h" namespace ui { // TODO Container::direction Container::Container(Widget *parent) : Window(parent) { set_label("container"); set_border(true); set_background(true); } Container::~Container() { } void Container::resize() { float w = UI::elementsize.width() * 1.5f; float h = children().size() * (UI::elementsize.height() + UI::elementmargin) + UI::elementsize.height(); set_size(w, h); const float x = UI::elementsize.width() * 0.25f; float y = UI::elementsize.height() * 0.5f; // reposition all children within the container for (Children::iterator it = children().begin(); it != children().end(); it++) { Widget *w = (*it); w->set_size(UI::elementsize); w->set_location(x, y); y += UI::elementsize.height() + UI::elementmargin; } } void Container::draw_border() { if(focus()) { paint::color(palette()->foreground()); } else { paint::color(palette()->border()); } paint::border(global_location(), size()); } }