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

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

Issue 18728: Create a dialog box for the about:network view and kill the tab type.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 11 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
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 29 matching lines...) Expand all
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
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
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
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
OLDNEW
« chrome/browser/views/about_network_dialog.cc ('K') | « chrome/views/text_field.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698