- const char *get_class() const { return "panel"; }
- void render_part(const Part &) const;
- void on_button_press(int, int, unsigned);
- void on_button_release(int, int, unsigned);
+public:
+ Panel();
+ virtual ~Panel();
+
+ template<typename T>
+ static void register_child_type(const std::string &);
+
+ const char *get_class() const override { return "panel"; }
+
+ void set_layout(Layout *);
+ Layout *get_layout() { return 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;