1 #ifndef MSP_GLTK_CONTAINER_H_
2 #define MSP_GLTK_CONTAINER_H_
5 #include <sigc++/trackable.h>
11 class Container: virtual public Widget
14 struct Child: public sigc::trackable
19 Child(Container &, Widget *);
22 void visibility_changed(bool);
25 std::list<Child *> children;
27 unsigned click_button;
34 void remove(Widget &);
36 virtual Child *create_child(Widget *);
38 std::list<Widget *> get_children() const;
39 Widget *get_child_at(int, int);
40 Widget *get_descendant_at(int, int);
42 virtual void button_press(int, int, unsigned);
43 virtual void button_release(int, int, unsigned);
44 virtual void pointer_motion(int, int);
45 virtual void pointer_leave();
47 virtual void on_reparent();
48 virtual void on_child_added(Widget &) { }
49 virtual void on_child_removed(Widget &) { }