OLD | NEW |
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/native_textfield_win.h" | 5 #include "ui/views/controls/textfield/native_textfield_win.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/i18n/case_conversion.h" | 9 #include "base/i18n/case_conversion.h" |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
11 #include "base/strings/string_util.h" | 11 #include "base/strings/string_util.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "base/win/metro.h" | 13 #include "base/win/metro.h" |
14 #include "base/win/windows_version.h" | 14 #include "base/win/windows_version.h" |
15 #include "grit/ui_strings.h" | 15 #include "grit/ui_strings.h" |
16 #include "skia/ext/skia_utils_win.h" | 16 #include "skia/ext/skia_utils_win.h" |
17 #include "ui/base/accessibility/accessible_view_state.h" | 17 #include "ui/base/accessibility/accessible_view_state.h" |
18 #include "ui/base/clipboard/clipboard.h" | 18 #include "ui/base/clipboard/clipboard.h" |
19 #include "ui/base/clipboard/scoped_clipboard_writer.h" | 19 #include "ui/base/clipboard/scoped_clipboard_writer.h" |
20 #include "ui/base/events/event.h" | 20 #include "ui/base/events/event.h" |
21 #include "ui/base/ime/win/tsf_bridge.h" | 21 #include "ui/base/ime/win/tsf_bridge.h" |
22 #include "ui/base/keycodes/keyboard_codes.h" | 22 #include "ui/base/keycodes/keyboard_codes.h" |
23 #include "ui/base/l10n/l10n_util.h" | 23 #include "ui/base/l10n/l10n_util.h" |
24 #include "ui/base/l10n/l10n_util_win.h" | 24 #include "ui/base/l10n/l10n_util_win.h" |
25 #include "ui/base/range/range.h" | |
26 #include "ui/base/win/hwnd_util.h" | 25 #include "ui/base/win/hwnd_util.h" |
27 #include "ui/base/win/mouse_wheel_util.h" | 26 #include "ui/base/win/mouse_wheel_util.h" |
| 27 #include "ui/gfx/range/range.h" |
28 #include "ui/native_theme/native_theme_win.h" | 28 #include "ui/native_theme/native_theme_win.h" |
29 #include "ui/views/controls/label.h" | 29 #include "ui/views/controls/label.h" |
30 #include "ui/views/controls/menu/menu_item_view.h" | 30 #include "ui/views/controls/menu/menu_item_view.h" |
31 #include "ui/views/controls/menu/menu_model_adapter.h" | 31 #include "ui/views/controls/menu/menu_model_adapter.h" |
32 #include "ui/views/controls/menu/menu_runner.h" | 32 #include "ui/views/controls/menu/menu_runner.h" |
33 #include "ui/views/controls/native/native_view_host.h" | 33 #include "ui/views/controls/native/native_view_host.h" |
34 #include "ui/views/controls/textfield/textfield.h" | 34 #include "ui/views/controls/textfield/textfield.h" |
35 #include "ui/views/controls/textfield/textfield_controller.h" | 35 #include "ui/views/controls/textfield/textfield_controller.h" |
36 #include "ui/views/focus/focus_manager.h" | 36 #include "ui/views/focus/focus_manager.h" |
37 #include "ui/views/metrics.h" | 37 #include "ui/views/metrics.h" |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 HIMC imm_context = ImmGetContext(m_hWnd); | 333 HIMC imm_context = ImmGetContext(m_hWnd); |
334 if (!imm_context) | 334 if (!imm_context) |
335 return false; | 335 return false; |
336 | 336 |
337 const int composition_size = ImmGetCompositionString(imm_context, GCS_COMPSTR, | 337 const int composition_size = ImmGetCompositionString(imm_context, GCS_COMPSTR, |
338 NULL, 0); | 338 NULL, 0); |
339 ImmReleaseContext(m_hWnd, imm_context); | 339 ImmReleaseContext(m_hWnd, imm_context); |
340 return composition_size > 0; | 340 return composition_size > 0; |
341 } | 341 } |
342 | 342 |
343 ui::Range NativeTextfieldWin::GetSelectedRange() const { | 343 gfx::Range NativeTextfieldWin::GetSelectedRange() const { |
344 // TODO(tommi): Implement. | 344 // TODO(tommi): Implement. |
345 NOTIMPLEMENTED(); | 345 NOTIMPLEMENTED(); |
346 return ui::Range(); | 346 return gfx::Range(); |
347 } | 347 } |
348 | 348 |
349 void NativeTextfieldWin::SelectRange(const ui::Range& range) { | 349 void NativeTextfieldWin::SelectRange(const gfx::Range& range) { |
350 // TODO(tommi): Implement. | 350 // TODO(tommi): Implement. |
351 NOTIMPLEMENTED(); | 351 NOTIMPLEMENTED(); |
352 } | 352 } |
353 | 353 |
354 gfx::SelectionModel NativeTextfieldWin::GetSelectionModel() const { | 354 gfx::SelectionModel NativeTextfieldWin::GetSelectionModel() const { |
355 // TODO(tommi): Implement. | 355 // TODO(tommi): Implement. |
356 NOTIMPLEMENTED(); | 356 NOTIMPLEMENTED(); |
357 return gfx::SelectionModel(); | 357 return gfx::SelectionModel(); |
358 } | 358 } |
359 | 359 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 } | 394 } |
395 | 395 |
396 ui::TextInputClient* NativeTextfieldWin::GetTextInputClient() { | 396 ui::TextInputClient* NativeTextfieldWin::GetTextInputClient() { |
397 return NULL; | 397 return NULL; |
398 } | 398 } |
399 | 399 |
400 void NativeTextfieldWin::SetColor(SkColor value) { | 400 void NativeTextfieldWin::SetColor(SkColor value) { |
401 NOTREACHED(); | 401 NOTREACHED(); |
402 } | 402 } |
403 | 403 |
404 void NativeTextfieldWin::ApplyColor(SkColor value, const ui::Range& range) { | 404 void NativeTextfieldWin::ApplyColor(SkColor value, const gfx::Range& range) { |
405 NOTREACHED(); | 405 NOTREACHED(); |
406 } | 406 } |
407 | 407 |
408 void NativeTextfieldWin::SetStyle(gfx::TextStyle style, bool value) { | 408 void NativeTextfieldWin::SetStyle(gfx::TextStyle style, bool value) { |
409 NOTREACHED(); | 409 NOTREACHED(); |
410 } | 410 } |
411 | 411 |
412 void NativeTextfieldWin::ApplyStyle(gfx::TextStyle style, | 412 void NativeTextfieldWin::ApplyStyle(gfx::TextStyle style, |
413 bool value, | 413 bool value, |
414 const ui::Range& range) { | 414 const gfx::Range& range) { |
415 NOTREACHED(); | 415 NOTREACHED(); |
416 } | 416 } |
417 | 417 |
418 void NativeTextfieldWin::ClearEditHistory() { | 418 void NativeTextfieldWin::ClearEditHistory() { |
419 NOTREACHED(); | 419 NOTREACHED(); |
420 } | 420 } |
421 | 421 |
422 int NativeTextfieldWin::GetFontHeight() { | 422 int NativeTextfieldWin::GetFontHeight() { |
423 return textfield_->font_list().GetHeight(); | 423 return textfield_->font_list().GetHeight(); |
424 } | 424 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 case IDS_APP_UNDO: Undo(); break; | 486 case IDS_APP_UNDO: Undo(); break; |
487 case IDS_APP_CUT: Cut(); break; | 487 case IDS_APP_CUT: Cut(); break; |
488 case IDS_APP_COPY: Copy(); break; | 488 case IDS_APP_COPY: Copy(); break; |
489 case IDS_APP_PASTE: Paste(); break; | 489 case IDS_APP_PASTE: Paste(); break; |
490 case IDS_APP_SELECT_ALL: SelectAll(false); break; | 490 case IDS_APP_SELECT_ALL: SelectAll(false); break; |
491 default: NOTREACHED(); break; | 491 default: NOTREACHED(); break; |
492 } | 492 } |
493 OnAfterPossibleChange(true); | 493 OnAfterPossibleChange(true); |
494 } | 494 } |
495 | 495 |
496 void NativeTextfieldWin::OnTextUpdated(const ui::Range& composition_range) { | 496 void NativeTextfieldWin::OnTextUpdated(const gfx::Range& composition_range) { |
497 if (ime_discard_composition_) { | 497 if (ime_discard_composition_) { |
498 ime_composition_start_ = composition_range.start(); | 498 ime_composition_start_ = composition_range.start(); |
499 ime_composition_length_ = composition_range.length(); | 499 ime_composition_length_ = composition_range.length(); |
500 } else { | 500 } else { |
501 ime_composition_start_ = 0; | 501 ime_composition_start_ = 0; |
502 ime_composition_length_ = 0; | 502 ime_composition_length_ = 0; |
503 } | 503 } |
504 OnAfterPossibleChange(false); | 504 OnAfterPossibleChange(false); |
505 text_before_change_.clear(); | 505 text_before_change_.clear(); |
506 } | 506 } |
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 return true; | 1310 return true; |
1311 MSG msg(*GetCurrentMessage()); | 1311 MSG msg(*GetCurrentMessage()); |
1312 // ATL doesn't set the |time| field. | 1312 // ATL doesn't set the |time| field. |
1313 if (!msg.time) | 1313 if (!msg.time) |
1314 msg.time = GetMessageTime(); | 1314 msg.time = GetMessageTime(); |
1315 ui::MouseEvent mouse_event(msg); | 1315 ui::MouseEvent mouse_event(msg); |
1316 return !controller->HandleMouseEvent(textfield_, mouse_event); | 1316 return !controller->HandleMouseEvent(textfield_, mouse_event); |
1317 } | 1317 } |
1318 | 1318 |
1319 } // namespace views | 1319 } // namespace views |
OLD | NEW |