X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwidget.h;h=3653970a2f470e4a03ad6ff66af225802eafeb93;hb=033732b500a35f3737bad515349d884cb3f123f0;hp=bc9b90a69696a8e944af0d88042ad318ab481ec1;hpb=2bdaf4955fdb94e73704adcdcf0adc2b353f0ff0;p=libs%2Fgltk.git diff --git a/source/widget.h b/source/widget.h index bc9b90a..3653970 100644 --- a/source/widget.h +++ b/source/widget.h @@ -9,6 +9,7 @@ Distributed under the LGPL #define MSP_GLTK_WIDGET_H_ #include +#include #include "geometry.h" #include "state.h" @@ -29,14 +30,10 @@ class Widget friend class Container; public: - class Loader: public Msp::DataFile::Loader + class Loader: public DataFile::ObjectLoader { - protected: - Widget &wdg; - public: Loader(Widget &); - Widget &get_object() const { return wdg; } private: void position(int, int); void size(unsigned, unsigned); @@ -44,6 +41,7 @@ public: }; sigc::signal signal_visibility_changed; + sigc::signal signal_autosize_changed; sigc::signal signal_request_focus; sigc::signal signal_grab_pointer; sigc::signal signal_ungrab_pointer; @@ -69,7 +67,7 @@ public: void set_position(int, int); void set_size(unsigned, unsigned); - virtual void autosize() { } + virtual void autosize(); void set_geometry(const Geometry &); const Geometry &get_geometry() const { return geom; } @@ -79,8 +77,9 @@ protected: calling this function with a non-null parameter. */ void set_parent(Container *); - public: + Container *get_parent() const { return parent; } + /** Sets the widget style. The final style name is constructed by concatenating the widget class and the style name with a dash.