From 574bf11742c40203a4433c0b69264014b10b5a96 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 12 Oct 2008 17:27:00 +0000 Subject: container widget --- src/ui/window.cc | 51 ++++++++++++++++----------------------------------- 1 file changed, 16 insertions(+), 35 deletions(-) (limited to 'src/ui/window.cc') diff --git a/src/ui/window.cc b/src/ui/window.cc index 4a60056..e79262f 100644 --- a/src/ui/window.cc +++ b/src/ui/window.cc @@ -10,19 +10,24 @@ namespace ui { -Window::Window(Window *parent) : Widget(static_cast(parent)) +Window::Window(Widget *parent) : Widget(parent) { set_label("window"); set_border(true); - - if (parent) { - parent->add_window(this); - } + set_background(true); + + set_focus(); } Window::~Window() { - window_children.clear(); +} + +void Window::show() { + resize(); + Widget::show(); + raise(); + set_focus(); } void Window::set_previous(Window *previous) @@ -40,36 +45,12 @@ void Window::draw_border() if (!border()) return; - paint::color(palette()->foreground()); - paint::border(global_location(), size()); -} - -Window::Windows::iterator Window::find_window(Window *window) -{ - Windows::iterator it; - for (it = window_children.begin(); it != window_children.end(); it++) { - if ((*it) == window) - return it; - } - - return it; -} - -void Window::add_window(Window *window) -{ - Windows::iterator it = find_window(window); - if (it == window_children.end()) { - window_children.push_back(window); - } -} - -void Window::remove_window(Window *window) -{ - Windows::iterator it = find_window(window); - if (it != window_children.end()) { - remove_child(*it); - window_children.erase(it); + if(focus()) { + paint::color(palette()->foreground()); + } else { + paint::color(palette()->border()); } + paint::border(global_location(), size()); } } -- cgit v1.2.3