+public:
+ Panel();
+ virtual ~Panel();
+
+ virtual const char *get_class() const { return "panel"; }
+
+ void set_layout(Layout *);
+
+protected:
+ virtual Child *create_child(Widget *);
+
+public:
+ void raise(Widget &);
+ Widget *get_input_focus() const { return input_focus; }
+ Widget *get_final_input_focus() const;
+
+protected:
+ virtual void render_special(const Part &) const;
+
+public:
+ virtual void button_press(int, int, unsigned);
+ virtual void button_release(int, int, unsigned);
+ virtual void pointer_motion(int, int);
+ virtual void pointer_leave();
+ virtual void key_press(unsigned, unsigned);
+ virtual void key_release(unsigned, unsigned);
+ virtual void character(wchar_t);
+ virtual void focus_out();
+protected:
+ virtual void on_geometry_change();
+ virtual void on_child_added(Widget &);
+ virtual void on_child_removed(Widget &);
+