+ list<Widget *>::iterator i=find(children.begin(), children.end(), &wdg);
+ if(i==children.end())
+ throw InvalidState("That Widget is not in this Panel");
+
+ if(&wdg==pointer_focus)
+ set_pointer_focus(0, 0);
+ if(&wdg==input_focus)
+ set_input_focus(0);
+
+ set_parent(wdg, 0);
+ children.erase(i);