X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwidget.h;h=665ca9d0e7605161ab8e5a3f0648e45d1d55994e;hb=c8f5fd14a1fbdaaa9e1216dd5163d1f5c1b5ff27;hp=bc9b90a69696a8e944af0d88042ad318ab481ec1;hpb=2bdaf4955fdb94e73704adcdcf0adc2b353f0ff0;p=libs%2Fgltk.git diff --git a/source/widget.h b/source/widget.h index bc9b90a..665ca9d 100644 --- a/source/widget.h +++ b/source/widget.h @@ -1,14 +1,8 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007-2011 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_GLTK_WIDGET_H_ #define MSP_GLTK_WIDGET_H_ #include +#include #include "geometry.h" #include "state.h" @@ -29,14 +23,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 +34,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 +60,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 +70,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. @@ -116,8 +108,9 @@ public: virtual void pointer_motion(int, int) { } virtual void pointer_enter(); virtual void pointer_leave(); - virtual void key_press(unsigned, unsigned, wchar_t) { } + virtual void key_press(unsigned, unsigned) { } virtual void key_release(unsigned, unsigned) { } + virtual void character(wchar_t) { } virtual void focus_in(); virtual void focus_out(); protected: