]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/entry.h
Implement a selection feature in Entry widget
[libs/gltk.git] / source / entry.h
index a3b160735b61ad22b31704296db48ff9c71b5d70..a5b03fcdd64e77571237f62a4ec4e81c90111ff9 100644 (file)
@@ -45,6 +45,9 @@ private:
        const Part *text_part;
        VSlider *slider;
        bool got_key_press;
+       bool cursor_blink;
+       bool selection_active;
+       unsigned selection_pos;
 
 public:
        Entry(const std::string & = std::string());
@@ -73,13 +76,18 @@ public:
        virtual void touch_press(int, int, unsigned);
        virtual bool key_press(unsigned, unsigned);
        virtual bool character(wchar_t);
+       virtual void focus_in();
        virtual void focus_out();
        virtual bool navigate(Navigation);
+       virtual void animate(const Time::TimeDelta &);
 private:
        virtual void on_geometry_change();
        virtual void on_style_change();
 
-       void set_edit_position(unsigned);
+       void move_edit_position(Navigation, bool);
+       void set_edit_position(unsigned, bool);
+       void erase_selection();
+       void check_cursor_blink();
        void check_view_range();
        void slider_value_changed(double);
 };