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

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

Issue 7344: Convert GetPreferredSize from:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 2 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/radio_button.h" 5 #include "chrome/views/radio_button.h"
6 6
7 #include "chrome/views/label.h" 7 #include "chrome/views/label.h"
8 #include "chrome/views/hwnd_view.h" 8 #include "chrome/views/hwnd_view.h"
9 #include "chrome/views/root_view.h" 9 #include "chrome/views/root_view.h"
10 10
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 // static 53 // static
54 int RadioButton::GetTextIndent() { 54 int RadioButton::GetTextIndent() {
55 return kRadioWidth + kRadioToLabel + kFocusPaddingHorizontal; 55 return kRadioWidth + kRadioToLabel + kFocusPaddingHorizontal;
56 } 56 }
57 57
58 58
59 std::string RadioButton::GetClassName() const { 59 std::string RadioButton::GetClassName() const {
60 return kViewClassName; 60 return kViewClassName;
61 } 61 }
62 62
63 void RadioButton::GetPreferredSize(CSize *out) { 63 gfx::Size RadioButton::GetPreferredSize() {
64 label_->GetPreferredSize(out); 64 gfx::Size prefsize = label_->GetPreferredSize();
65 out->cy = std::max(static_cast<int>(out->cy + kFocusPaddingVertical * 2), 65 prefsize.set_height(std::max(prefsize.height() + kFocusPaddingVertical * 2,
66 kRadioHeight) ; 66 kRadioHeight));
67 out->cx += kRadioToLabel + kRadioWidth + kFocusPaddingHorizontal * 2; 67 prefsize.Enlarge(kRadioToLabel + kRadioWidth + kFocusPaddingHorizontal * 2,
68 0);
69 return prefsize;
68 } 70 }
69 71
70 void RadioButton::Layout() { 72 void RadioButton::Layout() {
71 int label_x = GetTextIndent(); 73 int label_x = GetTextIndent();
72 label_->SetBounds(label_x, 0, width() - label_x, height()); 74 label_->SetBounds(label_x, 0, width() - label_x, height());
73 if (hwnd_view_) { 75 if (hwnd_view_) {
74 int first_line_height = label_->GetFont().height(); 76 int first_line_height = label_->GetFont().height();
75 hwnd_view_->SetBounds(0, ((first_line_height - kRadioHeight) / 2) + 1, 77 hwnd_view_->SetBounds(0, ((first_line_height - kRadioHeight) / 2) + 1,
76 kRadioWidth, kRadioHeight); 78 kRadioWidth, kRadioHeight);
77 hwnd_view_->UpdateHWNDBounds(); 79 hwnd_view_->UpdateHWNDBounds();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 iter != views.end(); ++iter) { 115 iter != views.end(); ++iter) {
114 RadioButton* radio_button = static_cast<RadioButton*>(*iter); 116 RadioButton* radio_button = static_cast<RadioButton*>(*iter);
115 if (radio_button->IsSelected()) 117 if (radio_button->IsSelected())
116 return radio_button; 118 return radio_button;
117 } 119 }
118 return NULL; 120 return NULL;
119 } 121 }
120 122
121 } 123 }
122 124
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698