3 This file is part of libmspgltk
4 Copyright © 2009-2011 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
8 #ifndef MSP_GLTK_CONTAINER_H_
9 #define MSP_GLTK_CONTAINER_H_
12 #include <sigc++/trackable.h>
18 class Container: virtual public Widget
21 struct Child: public sigc::trackable
26 Child(Container &, Widget *);
29 void visibility_changed(bool);
32 std::list<Child *> children;
34 unsigned click_button;
41 void remove(Widget &);
43 virtual Child *create_child(Widget *);
45 std::list<Widget *> get_children() const;
46 Widget *get_child_at(int, int);
47 Widget *get_descendant_at(int, int);
49 virtual void button_press(int, int, unsigned);
50 virtual void button_release(int, int, unsigned);
51 virtual void pointer_motion(int, int);
52 virtual void pointer_leave();
54 virtual void on_reparent();