]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/widget.h
Add protected functions for manipulating widget state
[libs/gltk.git] / source / widget.h
index 51728c35e0424bb63a5564e7108366ff55ee725c..9bdc2c0e13eba4a24eca88e585b577a2a706e996 100644 (file)
@@ -97,6 +97,12 @@ public:
        bool is_focusable() const { return focusable; }
        void set_focus();
 
+protected:
+       void set_state(State s) { set_state(s, s); }
+       void clear_state(State s) { set_state(s, NORMAL); }
+       void set_state(State, State);
+
+public:
        void render() const;
 protected:
        virtual void render_special(const Part &) const { }
@@ -108,8 +114,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: