X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=8d67d14ffe46ff7b7ef5afaedfb83ce912da09b9;hb=91583e23889a7654fab6669821979b36c1819606;hp=d224596098d95b05dc281e925abc95b9f380a9b6;hpb=754751fd474c6eac073fa7e89a18142fc89cb4fb;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index d224596..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: @@ -68,9 +72,15 @@ public: 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 &);