X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=43c0f41b64d91a0241d9211f761e5702f9d5a47e;hb=90d5f5f2ebaeb8aaa4aa47a0c2207f96758cba8c;hp=22f03a22a7174cd32838e6eb7fed6b8f95d6bd5b;hpb=56c41b294aa47a38ac3e1be70d4868f260cb4274;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index 22f03a2..43c0f41 100644 --- a/source/panel.h +++ b/source/panel.h @@ -36,7 +36,6 @@ public: Loader(Panel &, WidgetMap &); private: - Layout &get_layout(); Widget &get_last_widget(); template void arrangement(); @@ -46,7 +45,7 @@ public: void expand(bool, bool); void ghost(bool); void gravity(int, int); - void grid(unsigned); + void grid(std::size_t); void layout(); template void unnamed_child(); @@ -67,13 +66,11 @@ private: protected: std::vector nav_order; - Layout *layout; + Layout *layout = nullptr; static TypeRegistry widget_registry; static bool widget_registry_init_done; - Panel(const Panel &); - Panel &operator=(const Panel &); public: Panel(); virtual ~Panel(); @@ -81,24 +78,23 @@ public: template static void register_child_type(const std::string &); - virtual const char *get_class() const { return "panel"; } + const char *get_class() const override { return "panel"; } - void set_layout(Layout *); - Layout *get_layout() { return layout; } + Layout &get_or_create_layout(); protected: - virtual void autosize_special(const Part &, Geometry &) const; - virtual void render_special(const Part &, GL::Renderer &) const; + void autosize_special(const Part &, Geometry &) const override; + void render_special(const Part &, GL::Renderer &) const override; public: - virtual bool navigate(Navigation); + bool navigate(Navigation) override; protected: Widget *find_next_child(int, int, int, int, int) const; static int compute_delta(int, int, int, int, int); - virtual void on_size_change(); - virtual void on_child_added(Widget &); - virtual void on_child_removed(Widget &); + void on_size_change() override; + void on_child_added(Widget &) override; + void on_child_removed(Widget &) override; };