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: views/controls/label.cc

Issue 6930047: wstring: remove wstring version of SplitString (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 9 years, 7 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 | « base/string_split_unittest.cc ('k') | no next file » | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "views/controls/label.h" 5 #include "views/controls/label.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 mouse_over_background_.reset(background); 134 mouse_over_background_.reset(background);
135 } 135 }
136 136
137 const Background* Label::GetMouseOverBackground() const { 137 const Background* Label::GetMouseOverBackground() const {
138 return mouse_over_background_.get(); 138 return mouse_over_background_.get();
139 } 139 }
140 140
141 void Label::SizeToFit(int max_width) { 141 void Label::SizeToFit(int max_width) {
142 DCHECK(is_multi_line_); 142 DCHECK(is_multi_line_);
143 143
144 std::vector<std::wstring> lines; 144 std::vector<string16> lines;
145 base::SplitString(UTF16ToWideHack(text_), L'\n', &lines); 145 base::SplitString(text_, '\n', &lines);
146 146
147 int label_width = 0; 147 int label_width = 0;
148 for (std::vector<std::wstring>::const_iterator iter = lines.begin(); 148 for (std::vector<string16>::const_iterator iter = lines.begin();
149 iter != lines.end(); ++iter) { 149 iter != lines.end(); ++iter) {
150 label_width = std::max(label_width, 150 label_width = std::max(label_width, font_.GetStringWidth(*iter));
151 font_.GetStringWidth(WideToUTF16Hack(*iter)));
152 } 151 }
153 152
154 label_width += GetInsets().width(); 153 label_width += GetInsets().width();
155 154
156 if (max_width > 0) 155 if (max_width > 0)
157 label_width = std::min(label_width, max_width); 156 label_width = std::min(label_width, max_width);
158 157
159 SetBounds(x(), y(), label_width, 0); 158 SetBounds(x(), y(), label_width, 0);
160 SizeToPreferredSize(); 159 SizeToPreferredSize();
161 } 160 }
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 font_, GetAvailableRect().width(), true)); 454 font_, GetAvailableRect().width(), true));
456 } else { 455 } else {
457 *paint_text = UTF16ToWideHack(text_); 456 *paint_text = UTF16ToWideHack(text_);
458 } 457 }
459 458
460 *text_bounds = GetTextBounds(); 459 *text_bounds = GetTextBounds();
461 *flags = ComputeMultiLineFlags(); 460 *flags = ComputeMultiLineFlags();
462 } 461 }
463 462
464 } // namespace views 463 } // namespace views
OLDNEW
« no previous file with comments | « base/string_split_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698