| Index: views/controls/textfield/native_textfield_views.h
|
| diff --git a/views/controls/textfield/native_textfield_views.h b/views/controls/textfield/native_textfield_views.h
|
| index d474a72b6dd5c6b1fc774d3361d1777313f987a7..fb567cf55b1b1c02c7aabb4b9b365424cf8780f0 100644
|
| --- a/views/controls/textfield/native_textfield_views.h
|
| +++ b/views/controls/textfield/native_textfield_views.h
|
| @@ -14,6 +14,10 @@
|
| #include "views/controls/textfield/native_textfield_wrapper.h"
|
| #include "views/view.h"
|
|
|
| +namespace base {
|
| +class Time;
|
| +}
|
| +
|
| namespace gfx {
|
| class Canvas;
|
| } // namespace
|
| @@ -108,6 +112,13 @@ class NativeTextfieldViews : public views::View,
|
| // Enable/Disable TextfieldViews implementation for Textfield.
|
| static void SetEnableTextfieldViews(bool enabled);
|
|
|
| + enum ClickState {
|
| + TRACKING_DOUBLE_CLICK,
|
| + TRACKING_TRIPLE_CLICK,
|
| + NONE,
|
| + };
|
| +
|
| +
|
| private:
|
| friend class NativeTextfieldViewsTest;
|
|
|
| @@ -162,6 +173,13 @@ class NativeTextfieldViews : public views::View,
|
| // Find a cusor position for given |point| in this views coordinates.
|
| size_t FindCursorPosition(const gfx::Point& point) const;
|
|
|
| + // Mouse event handler. Returns true if textfield needs to be repainted.
|
| + bool HandleMousePressed(const views::MouseEvent& e);
|
| +
|
| + // Helper function that sets the cursor position at the location of mouse
|
| + // event.
|
| + void SetCursorForMouseClick(const views::MouseEvent& e);
|
| +
|
| // Utility function to inform the parent textfield (and its controller if any)
|
| // that the text in the textfield has changed.
|
| void PropagateTextChange();
|
| @@ -193,6 +211,15 @@ class NativeTextfieldViews : public views::View,
|
| // A runnable method factory for callback to update the cursor.
|
| ScopedRunnableMethodFactory<NativeTextfieldViews> cursor_timer_;
|
|
|
| + // Time of last LEFT mouse press. Used for tracking double/triple click.
|
| + base::Time last_mouse_press_time_;
|
| +
|
| + // Position of last LEFT mouse press. Used for tracking double/triple click.
|
| + gfx::Point last_mouse_press_location_;
|
| +
|
| + // State variable to track double and triple clicks.
|
| + ClickState click_state_;
|
| +
|
| // Context menu and its content list for the textfield.
|
| scoped_ptr<ui::SimpleMenuModel> context_menu_contents_;
|
| scoped_ptr<Menu2> context_menu_menu_;
|
|
|