]> 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 82a9d79f259e62d6969ee82aba7671a33c316c78..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());
@@ -70,15 +73,21 @@ private:
        virtual void render_special(const Part &, GL::Renderer &) const;
 
 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);
 };