Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: ui/views/controls/textfield/textfield.cc

Issue 2348143003: MacViews: Implement Force Touch/Mac dictionary lookup for Textfields. (Closed)
Patch Set: Address nits. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/controls/textfield/textfield.h ('k') | ui/views/controls/textfield/textfield_model.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/controls/textfield/textfield.h" 5 #include "ui/views/controls/textfield/textfield.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 OnBeforeUserAction(); 642 OnBeforeUserAction();
643 drag_selection_timer_.Stop(); 643 drag_selection_timer_.Stop();
644 // Cancel suspected drag initiations, the user was clicking in the selection. 644 // Cancel suspected drag initiations, the user was clicking in the selection.
645 if (initiating_drag_) 645 if (initiating_drag_)
646 MoveCursorTo(event.location(), false); 646 MoveCursorTo(event.location(), false);
647 initiating_drag_ = false; 647 initiating_drag_ = false;
648 UpdateSelectionClipboard(); 648 UpdateSelectionClipboard();
649 OnAfterUserAction(); 649 OnAfterUserAction();
650 } 650 }
651 651
652 WordLookupClient* Textfield::GetWordLookupClient() {
653 return this;
654 }
655
652 bool Textfield::OnKeyPressed(const ui::KeyEvent& event) { 656 bool Textfield::OnKeyPressed(const ui::KeyEvent& event) {
653 ui::TextEditCommand edit_command = scheduled_text_edit_command_; 657 ui::TextEditCommand edit_command = scheduled_text_edit_command_;
654 scheduled_text_edit_command_ = ui::TextEditCommand::INVALID_COMMAND; 658 scheduled_text_edit_command_ = ui::TextEditCommand::INVALID_COMMAND;
655 659
656 // Since HandleKeyEvent() might destroy |this|, get a weak pointer and verify 660 // Since HandleKeyEvent() might destroy |this|, get a weak pointer and verify
657 // it isn't null before proceeding. 661 // it isn't null before proceeding.
658 base::WeakPtr<Textfield> textfield(weak_ptr_factory_.GetWeakPtr()); 662 base::WeakPtr<Textfield> textfield(weak_ptr_factory_.GetWeakPtr());
659 663
660 bool handled = controller_ && controller_->HandleKeyEvent(this, event); 664 bool handled = controller_ && controller_->HandleKeyEvent(this, event);
661 665
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 return drag_operations; 1094 return drag_operations;
1091 } 1095 }
1092 1096
1093 bool Textfield::CanStartDragForView(View* sender, 1097 bool Textfield::CanStartDragForView(View* sender,
1094 const gfx::Point& press_pt, 1098 const gfx::Point& press_pt,
1095 const gfx::Point& p) { 1099 const gfx::Point& p) {
1096 return initiating_drag_ && GetRenderText()->IsPointInSelection(press_pt); 1100 return initiating_drag_ && GetRenderText()->IsPointInSelection(press_pt);
1097 } 1101 }
1098 1102
1099 //////////////////////////////////////////////////////////////////////////////// 1103 ////////////////////////////////////////////////////////////////////////////////
1104 // Textfield, WordLookupClient overrides:
1105
1106 bool Textfield::GetDecoratedWordAtPoint(const gfx::Point& point,
1107 gfx::DecoratedText* decorated_word,
1108 gfx::Point* baseline_point) {
1109 return GetRenderText()->GetDecoratedWordAtPoint(point, decorated_word,
1110 baseline_point);
1111 }
1112
1113 ////////////////////////////////////////////////////////////////////////////////
1100 // Textfield, ui::TouchEditable overrides: 1114 // Textfield, ui::TouchEditable overrides:
1101 1115
1102 void Textfield::SelectRect(const gfx::Point& start, const gfx::Point& end) { 1116 void Textfield::SelectRect(const gfx::Point& start, const gfx::Point& end) {
1103 if (GetTextInputType() == ui::TEXT_INPUT_TYPE_NONE) 1117 if (GetTextInputType() == ui::TEXT_INPUT_TYPE_NONE)
1104 return; 1118 return;
1105 1119
1106 gfx::SelectionModel start_caret = GetRenderText()->FindCursorPosition(start); 1120 gfx::SelectionModel start_caret = GetRenderText()->FindCursorPosition(start);
1107 gfx::SelectionModel end_caret = GetRenderText()->FindCursorPosition(end); 1121 gfx::SelectionModel end_caret = GetRenderText()->FindCursorPosition(end);
1108 gfx::SelectionModel selection( 1122 gfx::SelectionModel selection(
1109 gfx::Range(start_caret.caret_pos(), end_caret.caret_pos()), 1123 gfx::Range(start_caret.caret_pos(), end_caret.caret_pos()),
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after
2059 } 2073 }
2060 2074
2061 void Textfield::OnCursorBlinkTimerFired() { 2075 void Textfield::OnCursorBlinkTimerFired() {
2062 DCHECK(ShouldBlinkCursor()); 2076 DCHECK(ShouldBlinkCursor());
2063 gfx::RenderText* render_text = GetRenderText(); 2077 gfx::RenderText* render_text = GetRenderText();
2064 render_text->set_cursor_visible(!render_text->cursor_visible()); 2078 render_text->set_cursor_visible(!render_text->cursor_visible());
2065 RepaintCursor(); 2079 RepaintCursor();
2066 } 2080 }
2067 2081
2068 } // namespace views 2082 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/controls/textfield/textfield.h ('k') | ui/views/controls/textfield/textfield_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698