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

Side by Side Diff: ash/ime/candidate_view.cc

Issue 273223002: views: Make view::Views::GetPreferredSize() const. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More compile fix for ToT Created 6 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 | « ash/ime/candidate_view.h ('k') | ash/ime/candidate_window_view.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ash/ime/candidate_view.h" 5 #include "ash/ime/candidate_view.h"
6 6
7 #include "ash/ime/candidate_window_constants.h" 7 #include "ash/ime/candidate_window_constants.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "ui/base/ime/candidate_window.h" 9 #include "ui/base/ime/candidate_window.h"
10 #include "ui/gfx/color_utils.h" 10 #include "ui/gfx/color_utils.h"
(...skipping 12 matching lines...) Expand all
23 // the vertical candidate window. 23 // the vertical candidate window.
24 class VerticalCandidateLabel : public views::Label { 24 class VerticalCandidateLabel : public views::Label {
25 public: 25 public:
26 VerticalCandidateLabel() {} 26 VerticalCandidateLabel() {}
27 27
28 private: 28 private:
29 virtual ~VerticalCandidateLabel() {} 29 virtual ~VerticalCandidateLabel() {}
30 30
31 // Returns the preferred size, but guarantees that the width has at 31 // Returns the preferred size, but guarantees that the width has at
32 // least kMinCandidateLabelWidth pixels. 32 // least kMinCandidateLabelWidth pixels.
33 virtual gfx::Size GetPreferredSize() OVERRIDE { 33 virtual gfx::Size GetPreferredSize() const OVERRIDE {
34 gfx::Size size = Label::GetPreferredSize(); 34 gfx::Size size = Label::GetPreferredSize();
35 size.SetToMax(gfx::Size(kMinCandidateLabelWidth, 0)); 35 size.SetToMax(gfx::Size(kMinCandidateLabelWidth, 0));
36 size.SetToMin(gfx::Size(kMaxCandidateLabelWidth, size.height())); 36 size.SetToMin(gfx::Size(kMaxCandidateLabelWidth, size.height()));
37 return size; 37 return size;
38 } 38 }
39 39
40 DISALLOW_COPY_AND_ASSIGN(VerticalCandidateLabel); 40 DISALLOW_COPY_AND_ASSIGN(VerticalCandidateLabel);
41 }; 41 };
42 42
43 // Creates the shortcut label, and returns it (never returns NULL). 43 // Creates the shortcut label, and returns it (never returns NULL).
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 infolist_icon_->SetBounds( 265 infolist_icon_->SetBounds(
266 right - kInfolistIndicatorIconWidth - kInfolistIndicatorIconPadding, 266 right - kInfolistIndicatorIconWidth - kInfolistIndicatorIconPadding,
267 kInfolistIndicatorIconPadding, 267 kInfolistIndicatorIconPadding,
268 kInfolistIndicatorIconWidth, 268 kInfolistIndicatorIconWidth,
269 height() - kInfolistIndicatorIconPadding * 2); 269 height() - kInfolistIndicatorIconPadding * 2);
270 right -= kInfolistIndicatorIconWidth + kInfolistIndicatorIconPadding * 2; 270 right -= kInfolistIndicatorIconWidth + kInfolistIndicatorIconPadding * 2;
271 } 271 }
272 annotation_label_->SetBounds(x, 0, right - x, height()); 272 annotation_label_->SetBounds(x, 0, right - x, height());
273 } 273 }
274 274
275 gfx::Size CandidateView::GetPreferredSize() { 275 gfx::Size CandidateView::GetPreferredSize() const {
276 const int padding_width = 276 const int padding_width =
277 orientation_ == ui::CandidateWindow::VERTICAL ? 4 : 6; 277 orientation_ == ui::CandidateWindow::VERTICAL ? 4 : 6;
278 gfx::Size size; 278 gfx::Size size;
279 if (shortcut_label_->visible()) { 279 if (shortcut_label_->visible()) {
280 size = shortcut_label_->GetPreferredSize(); 280 size = shortcut_label_->GetPreferredSize();
281 size.SetToMax(gfx::Size(shortcut_width_, 0)); 281 size.SetToMax(gfx::Size(shortcut_width_, 0));
282 size.Enlarge(padding_width, 0); 282 size.Enlarge(padding_width, 0);
283 } 283 }
284 gfx::Size candidate_size = candidate_label_->GetPreferredSize(); 284 gfx::Size candidate_size = candidate_label_->GetPreferredSize();
285 candidate_size.SetToMax(gfx::Size(candidate_width_, 0)); 285 candidate_size.SetToMax(gfx::Size(candidate_width_, 0));
286 size.Enlarge(candidate_size.width() + padding_width, 0); 286 size.Enlarge(candidate_size.width() + padding_width, 0);
287 size.SetToMax(candidate_size); 287 size.SetToMax(candidate_size);
288 if (annotation_label_->visible()) { 288 if (annotation_label_->visible()) {
289 gfx::Size annotation_size = annotation_label_->GetPreferredSize(); 289 gfx::Size annotation_size = annotation_label_->GetPreferredSize();
290 size.Enlarge(annotation_size.width() + padding_width, 0); 290 size.Enlarge(annotation_size.width() + padding_width, 0);
291 size.SetToMax(annotation_size); 291 size.SetToMax(annotation_size);
292 } 292 }
293 293
294 // Reserves the margin for infolist_icon even if it's not visible. 294 // Reserves the margin for infolist_icon even if it's not visible.
295 size.Enlarge( 295 size.Enlarge(
296 kInfolistIndicatorIconWidth + kInfolistIndicatorIconPadding * 2, 0); 296 kInfolistIndicatorIconWidth + kInfolistIndicatorIconPadding * 2, 0);
297 return size; 297 return size;
298 } 298 }
299 299
300 } // namespace ime 300 } // namespace ime
301 } // namespace ash 301 } // namespace ash
OLDNEW
« no previous file with comments | « ash/ime/candidate_view.h ('k') | ash/ime/candidate_window_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698