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

Side by Side Diff: chrome/views/text_field.cc

Issue 20029: Reverting 9109. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « chrome/views/native_control.cc ('k') | chrome/views/widget_win.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "chrome/views/text_field.h" 5 #include "chrome/views/text_field.h"
6 6
7 #include <atlbase.h> 7 #include <atlbase.h>
8 #include <atlapp.h> 8 #include <atlapp.h>
9 #include <atlcrack.h> 9 #include <atlcrack.h>
10 #include <atlctrls.h> 10 #include <atlctrls.h>
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 void SetEnabled(bool enabled); 64 void SetEnabled(bool enabled);
65 65
66 void SetBackgroundColor(COLORREF bg_color); 66 void SetBackgroundColor(COLORREF bg_color);
67 67
68 // CWindowImpl 68 // CWindowImpl
69 BEGIN_MSG_MAP(Edit) 69 BEGIN_MSG_MAP(Edit)
70 MSG_WM_CHAR(OnChar) 70 MSG_WM_CHAR(OnChar)
71 MSG_WM_CONTEXTMENU(OnContextMenu) 71 MSG_WM_CONTEXTMENU(OnContextMenu)
72 MSG_WM_COPY(OnCopy) 72 MSG_WM_COPY(OnCopy)
73 MSG_WM_CREATE(OnCreate)
74 MSG_WM_CUT(OnCut) 73 MSG_WM_CUT(OnCut)
75 MSG_WM_DESTROY(OnDestroy)
76 MESSAGE_HANDLER_EX(WM_IME_STARTCOMPOSITION, OnImeStartComposition) 74 MESSAGE_HANDLER_EX(WM_IME_STARTCOMPOSITION, OnImeStartComposition)
77 MESSAGE_HANDLER_EX(WM_IME_COMPOSITION, OnImeComposition) 75 MESSAGE_HANDLER_EX(WM_IME_COMPOSITION, OnImeComposition)
78 MSG_WM_KEYDOWN(OnKeyDown) 76 MSG_WM_KEYDOWN(OnKeyDown)
79 MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk) 77 MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk)
80 MSG_WM_LBUTTONDOWN(OnLButtonDown) 78 MSG_WM_LBUTTONDOWN(OnLButtonDown)
81 MSG_WM_LBUTTONUP(OnLButtonUp) 79 MSG_WM_LBUTTONUP(OnLButtonUp)
82 MSG_WM_MBUTTONDOWN(OnNonLButtonDown) 80 MSG_WM_MBUTTONDOWN(OnNonLButtonDown)
83 MSG_WM_MOUSEMOVE(OnMouseMove) 81 MSG_WM_MOUSEMOVE(OnMouseMove)
84 MSG_WM_MOUSELEAVE(OnMouseLeave) 82 MSG_WM_MOUSELEAVE(OnMouseLeave)
85 MSG_WM_NCCALCSIZE(OnNCCalcSize) 83 MSG_WM_NCCALCSIZE(OnNCCalcSize)
(...skipping 25 matching lines...) Expand all
111 Edit* const edit_; 109 Edit* const edit_;
112 ITextDocument* const text_object_model_; 110 ITextDocument* const text_object_model_;
113 111
114 DISALLOW_EVIL_CONSTRUCTORS(ScopedFreeze); 112 DISALLOW_EVIL_CONSTRUCTORS(ScopedFreeze);
115 }; 113 };
116 114
117 // message handlers 115 // message handlers
118 void OnChar(TCHAR key, UINT repeat_count, UINT flags); 116 void OnChar(TCHAR key, UINT repeat_count, UINT flags);
119 void OnContextMenu(HWND window, const CPoint& point); 117 void OnContextMenu(HWND window, const CPoint& point);
120 void OnCopy(); 118 void OnCopy();
121 LRESULT OnCreate(CREATESTRUCT* create_struct);
122 void OnCut(); 119 void OnCut();
123 void OnDestroy();
124 LRESULT OnImeStartComposition(UINT message, WPARAM wparam, LPARAM lparam); 120 LRESULT OnImeStartComposition(UINT message, WPARAM wparam, LPARAM lparam);
125 LRESULT OnImeComposition(UINT message, WPARAM wparam, LPARAM lparam); 121 LRESULT OnImeComposition(UINT message, WPARAM wparam, LPARAM lparam);
126 void OnKeyDown(TCHAR key, UINT repeat_count, UINT flags); 122 void OnKeyDown(TCHAR key, UINT repeat_count, UINT flags);
127 void OnLButtonDblClk(UINT keys, const CPoint& point); 123 void OnLButtonDblClk(UINT keys, const CPoint& point);
128 void OnLButtonDown(UINT keys, const CPoint& point); 124 void OnLButtonDown(UINT keys, const CPoint& point);
129 void OnLButtonUp(UINT keys, const CPoint& point); 125 void OnLButtonUp(UINT keys, const CPoint& point);
130 void OnMouseLeave(); 126 void OnMouseLeave();
131 void OnMouseMove(UINT keys, const CPoint& point); 127 void OnMouseMove(UINT keys, const CPoint& point);
132 int OnNCCalcSize(BOOL w_param, LPARAM l_param); 128 int OnNCCalcSize(BOOL w_param, LPARAM l_param);
133 void OnNCPaint(HRGN region); 129 void OnNCPaint(HRGN region);
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 407
412 void TextField::Edit::OnCopy() { 408 void TextField::Edit::OnCopy() {
413 const std::wstring text(GetSelectedText()); 409 const std::wstring text(GetSelectedText());
414 410
415 if (!text.empty()) { 411 if (!text.empty()) {
416 ScopedClipboardWriter scw(g_browser_process->clipboard_service()); 412 ScopedClipboardWriter scw(g_browser_process->clipboard_service());
417 scw.WriteText(text); 413 scw.WriteText(text);
418 } 414 }
419 } 415 }
420 416
421 LRESULT TextField::Edit::OnCreate(CREATESTRUCT* create_struct) {
422 TRACK_HWND_CREATION(m_hWnd);
423 return 0;
424 }
425
426 void TextField::Edit::OnCut() { 417 void TextField::Edit::OnCut() {
427 if (parent_->IsReadOnly()) 418 if (parent_->IsReadOnly())
428 return; 419 return;
429 420
430 OnCopy(); 421 OnCopy();
431 422
432 // This replace selection will have no effect (even on the undo stack) if the 423 // This replace selection will have no effect (even on the undo stack) if the
433 // current selection is empty. 424 // current selection is empty.
434 ReplaceSel(L"", true); 425 ReplaceSel(L"", true);
435 } 426 }
436 427
437 void TextField::Edit::OnDestroy() {
438 TRACK_HWND_DESTRUCTION(m_hWnd);
439 }
440
441 LRESULT TextField::Edit::OnImeStartComposition(UINT message, 428 LRESULT TextField::Edit::OnImeStartComposition(UINT message,
442 WPARAM wparam, 429 WPARAM wparam,
443 LPARAM lparam) { 430 LPARAM lparam) {
444 // Users may press alt+shift or control+shift keys to change their keyboard 431 // Users may press alt+shift or control+shift keys to change their keyboard
445 // layouts. So, we retrieve the input locale identifier everytime we start 432 // layouts. So, we retrieve the input locale identifier everytime we start
446 // an IME composition. 433 // an IME composition.
447 int language_id = PRIMARYLANGID(GetKeyboardLayout(0)); 434 int language_id = PRIMARYLANGID(GetKeyboardLayout(0));
448 ime_discard_composition_ = 435 ime_discard_composition_ =
449 language_id == LANG_JAPANESE || language_id == LANG_CHINESE; 436 language_id == LANG_JAPANESE || language_id == LANG_CHINESE;
450 ime_composition_start_ = 0; 437 ime_composition_start_ = 0;
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
1114 1101
1115 COLORREF bg_color; 1102 COLORREF bg_color;
1116 if (!use_default_background_color_) 1103 if (!use_default_background_color_)
1117 bg_color = skia::SkColorToCOLORREF(background_color_); 1104 bg_color = skia::SkColorToCOLORREF(background_color_);
1118 else 1105 else
1119 bg_color = GetSysColor(read_only_ ? COLOR_3DFACE : COLOR_WINDOW); 1106 bg_color = GetSysColor(read_only_ ? COLOR_3DFACE : COLOR_WINDOW);
1120 edit_->SetBackgroundColor(bg_color); 1107 edit_->SetBackgroundColor(bg_color);
1121 } 1108 }
1122 1109
1123 } // namespace views 1110 } // namespace views
OLDNEW
« no previous file with comments | « chrome/views/native_control.cc ('k') | chrome/views/widget_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698