- 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;
- void set_pointer_focus(Widget *);
- void set_input_focus(Widget *);
- Widget *get_child_at(int, int);
+ const char *get_class() const override { return "panel"; }
+
+ Layout &get_or_create_layout();
+
+protected:
+ void autosize_special(const Part &, Geometry &) const override;
+ void render_special(const Part &, GL::Renderer &) const override;
+
+public:
+ bool navigate(Navigation) override;
+protected:
+ Widget *find_next_child(int, int, int, int, int) const;
+ static int compute_delta(int, int, int, int, int);
+
+ void on_size_change() override;
+ void on_child_added(Widget &) override;
+ void on_child_removed(Widget &) override;