- Panel(const Resources &);
- ~Panel();
-
- void add(Widget &);
-
- void button_press(int, int, unsigned);
- void button_release(int, int, unsigned);
- void pointer_motion(int, int);
- void key_press(unsigned, unsigned, wchar_t);
- void key_release(unsigned, unsigned);
- void focus_out();
-private:
- const char *get_class() const { return "panel"; }
- void render_part(const Part &) const;
+ Panel();
+
+ virtual const char *get_class() const { return "panel"; }
+
+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, wchar_t);
+ virtual void key_release(unsigned, unsigned);
+ virtual void focus_out();
+
+protected: