*in progress*
[winnie] / src / window.cc
index f5b1ada..2a8b6f5 100644 (file)
@@ -13,6 +13,7 @@ Window::Window()
        memset(&callbacks, 0, sizeof callbacks);
        dirty = true;
        managed = true;
+       focusable = true;
 }
 
 Window::~Window()
@@ -113,6 +114,16 @@ bool Window::get_managed() const
        return managed;
 }
 
+void Window::set_focusable(bool focusable)
+{
+       this->focusable = focusable;
+}
+
+bool Window::get_focusable() const
+{
+       return focusable;
+}
+
 void Window::set_display_callback(DisplayFuncType func)
 {
        callbacks.display = func;
@@ -172,6 +183,19 @@ void Window::remove_child(Window *win)
        }
 }
 
+Window **Window::get_children()
+{
+       if(children.empty()) {
+               return 0;
+       }
+       return &children[0];
+}
+
+int Window::get_children_count() const
+{
+       return (int)children.size();
+}
+
 const Window *Window::get_parent() const
 {
        return parent;