]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/panel.cpp
Render text in Dropdown directly from the List
[libs/gltk.git] / source / panel.cpp
index f17439a5eca810b8510d3537fc750a53c2b5868a..ac277a98ae1bfaa4b4823fd0ffe83401f2d73eb4 100644 (file)
@@ -5,6 +5,7 @@ Copyright © 2007  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
+#include <algorithm>
 #include <msp/core/refptr.h>
 #include "button.h"
 #include "dropdown.h"
@@ -15,6 +16,7 @@ Distributed under the LGPL
 #include "list.h"
 #include "panel.h"
 #include "part.h"
+#include "table.h"
 #include "toggle.h"
 #include "vslider.h"
 
@@ -49,6 +51,11 @@ void Panel::remove(Widget &wdg)
        ChildSeq::iterator i=find(children.begin(), children.end(), &wdg);
        if(i!=children.end())
        {
+               if(&wdg==pointer_focus)
+                       set_pointer_focus(0, 0);
+               if(&wdg==input_focus)
+                       set_input_focus(0);
+
                set_parent(wdg, 0);
                children.erase(i);
        }
@@ -233,6 +240,7 @@ Panel::Loader::Loader(Panel &p, map<string, Widget *> &m):
        add("label",     &Loader::child<Label>);
        add("list",      &Loader::child<List>);
        add("panel",     &Loader::panel);
+       add("table",     &Loader::child<Table>);
        add("toggle",    &Loader::child<Toggle>);
        add("vslider",   &Loader::child<VSlider>);
 }