X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=8d67d14ffe46ff7b7ef5afaedfb83ce912da09b9;hb=2b3940dd34611a6f669278de9a5146b6e85f6119;hp=8d83b66334bac182cdb80320df3e2b1e8227333c;hpb=d2d5b4c4dedf90a42dd2baff8334318b1d000f64;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index 8d83b66..8d67d14 100644 --- a/source/panel.h +++ b/source/panel.h @@ -23,10 +23,13 @@ public: protected: WidgetMap &wdg_map; Widget *last_widget; - + public: Loader(Panel &, WidgetMap &); + private: + template + void add_child_type(const std::string &); Layout &get_layout(); Widget &get_last_widget(); template @@ -39,7 +42,8 @@ public: void gravity(int, int); void grid(unsigned); void layout(); - void panel(const std::string &); + template + void unnamed_child(); }; private: @@ -65,11 +69,18 @@ public: virtual const char *get_class() const { return "panel"; } void set_layout(Layout *); + Layout *get_layout() { return layout; } protected: - virtual void autosize_special(const Part &, Geometry &); + virtual void autosize_special(const Part &, Geometry &) const; virtual void render_special(const Part &, GL::Renderer &) const; +public: + virtual bool navigate(Navigation); +protected: + Widget *find_next_child(int, int, int, int, int) const; + static int compute_delta(int, int, int, int, int); + virtual void on_geometry_change(); virtual void on_child_added(Widget &); virtual void on_child_removed(Widget &);