| OLD | NEW | 
|---|
| 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 29 matching lines...) Expand all  Loading... | 
| 40       public CRichEditCommands<TextField::Edit>, | 40       public CRichEditCommands<TextField::Edit>, | 
| 41       public Menu::Delegate { | 41       public Menu::Delegate { | 
| 42  public: | 42  public: | 
| 43   DECLARE_WND_CLASS(L"ChromeViewsTextFieldEdit"); | 43   DECLARE_WND_CLASS(L"ChromeViewsTextFieldEdit"); | 
| 44 | 44 | 
| 45   Edit(TextField* parent, bool draw_border); | 45   Edit(TextField* parent, bool draw_border); | 
| 46   ~Edit(); | 46   ~Edit(); | 
| 47 | 47 | 
| 48   std::wstring GetText() const; | 48   std::wstring GetText() const; | 
| 49   void SetText(const std::wstring& text); | 49   void SetText(const std::wstring& text); | 
|  | 50   void AppendText(const std::wstring& text); | 
| 50 | 51 | 
| 51   std::wstring GetSelectedText() const; | 52   std::wstring GetSelectedText() const; | 
| 52 | 53 | 
| 53   // Selects all the text in the edit.  Use this in place of SetSelAll() to | 54   // Selects all the text in the edit.  Use this in place of SetSelAll() to | 
| 54   // avoid selecting the "phantom newline" at the end of the edit. | 55   // avoid selecting the "phantom newline" at the end of the edit. | 
| 55   void SelectAll(); | 56   void SelectAll(); | 
| 56 | 57 | 
| 57   // Clears the selection within the edit field and sets the caret to the end. | 58   // Clears the selection within the edit field and sets the caret to the end. | 
| 58   void ClearSelection(); | 59   void ClearSelection(); | 
| 59 | 60 | 
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 308   // Adjusting the string direction before setting the text in order to make | 309   // Adjusting the string direction before setting the text in order to make | 
| 309   // sure both RTL and LTR strings are displayed properly. | 310   // sure both RTL and LTR strings are displayed properly. | 
| 310   std::wstring text_to_set; | 311   std::wstring text_to_set; | 
| 311   if (!l10n_util::AdjustStringForLocaleDirection(text, &text_to_set)) | 312   if (!l10n_util::AdjustStringForLocaleDirection(text, &text_to_set)) | 
| 312     text_to_set = text; | 313     text_to_set = text; | 
| 313   if (parent_->GetStyle() & STYLE_LOWERCASE) | 314   if (parent_->GetStyle() & STYLE_LOWERCASE) | 
| 314     text_to_set = l10n_util::ToLower(text_to_set); | 315     text_to_set = l10n_util::ToLower(text_to_set); | 
| 315   SetWindowText(text_to_set.c_str()); | 316   SetWindowText(text_to_set.c_str()); | 
| 316 } | 317 } | 
| 317 | 318 | 
|  | 319 void TextField::Edit::AppendText(const std::wstring& text) { | 
|  | 320   int text_length = GetWindowTextLength(); | 
|  | 321   ::SendMessage(m_hWnd, TBM_SETSEL, true, MAKELPARAM(text_length, text_length)); | 
|  | 322   ::SendMessage(m_hWnd, EM_REPLACESEL, false, | 
|  | 323                 reinterpret_cast<LPARAM>(text.c_str())); | 
|  | 324 } | 
|  | 325 | 
| 318 std::wstring TextField::Edit::GetSelectedText() const { | 326 std::wstring TextField::Edit::GetSelectedText() const { | 
| 319   // Figure out the length of the selection. | 327   // Figure out the length of the selection. | 
| 320   long start; | 328   long start; | 
| 321   long end; | 329   long end; | 
| 322   GetSel(start, end); | 330   GetSel(start, end); | 
| 323 | 331 | 
| 324   // Grab the selected text. | 332   // Grab the selected text. | 
| 325   std::wstring str; | 333   std::wstring str; | 
| 326   GetSelText(WriteInto(&str, end - start + 1)); | 334   GetSelText(WriteInto(&str, end - start + 1)); | 
| 327 | 335 | 
| (...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 946 std::wstring TextField::GetText() const { | 954 std::wstring TextField::GetText() const { | 
| 947   return text_; | 955   return text_; | 
| 948 } | 956 } | 
| 949 | 957 | 
| 950 void TextField::SetText(const std::wstring& text) { | 958 void TextField::SetText(const std::wstring& text) { | 
| 951   text_ = text; | 959   text_ = text; | 
| 952   if (edit_) | 960   if (edit_) | 
| 953     edit_->SetText(text); | 961     edit_->SetText(text); | 
| 954 } | 962 } | 
| 955 | 963 | 
|  | 964 void TextField::AppendText(const std::wstring& text) { | 
|  | 965   text_ += text; | 
|  | 966   if (edit_) | 
|  | 967     edit_->AppendText(text); | 
|  | 968 } | 
|  | 969 | 
| 956 void TextField::CalculateInsets(gfx::Insets* insets) { | 970 void TextField::CalculateInsets(gfx::Insets* insets) { | 
| 957   DCHECK(insets); | 971   DCHECK(insets); | 
| 958 | 972 | 
| 959   if (!draw_border_) | 973   if (!draw_border_) | 
| 960     return; | 974     return; | 
| 961 | 975 | 
| 962   // NOTE: One would think GetThemeMargins would return the insets we should | 976   // NOTE: One would think GetThemeMargins would return the insets we should | 
| 963   // use, but it doesn't. The margins returned by GetThemeMargins are always | 977   // use, but it doesn't. The margins returned by GetThemeMargins are always | 
| 964   // 0. | 978   // 0. | 
| 965 | 979 | 
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1087 | 1101 | 
| 1088   COLORREF bg_color; | 1102   COLORREF bg_color; | 
| 1089   if (!use_default_background_color_) | 1103   if (!use_default_background_color_) | 
| 1090     bg_color = skia::SkColorToCOLORREF(background_color_); | 1104     bg_color = skia::SkColorToCOLORREF(background_color_); | 
| 1091   else | 1105   else | 
| 1092     bg_color = GetSysColor(read_only_ ? COLOR_3DFACE : COLOR_WINDOW); | 1106     bg_color = GetSysColor(read_only_ ? COLOR_3DFACE : COLOR_WINDOW); | 
| 1093   edit_->SetBackgroundColor(bg_color); | 1107   edit_->SetBackgroundColor(bg_color); | 
| 1094 } | 1108 } | 
| 1095 | 1109 | 
| 1096 }  // namespace views | 1110 }  // namespace views | 
| OLD | NEW | 
|---|