| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/views/controls/button/label_button.h" | 5 #include "ui/views/controls/button/label_button.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "grit/ui_resources.h" | 8 #include "grit/ui_resources.h" |
| 9 #include "ui/base/animation/throb_animation.h" | 9 #include "ui/base/animation/throb_animation.h" |
| 10 #include "ui/base/resource/resource_bundle.h" | 10 #include "ui/base/resource/resource_bundle.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 void LabelButton::SetFont(const gfx::Font& font) { | 104 void LabelButton::SetFont(const gfx::Font& font) { |
| 105 label_->SetFont(font); | 105 label_->SetFont(font); |
| 106 } | 106 } |
| 107 | 107 |
| 108 gfx::HorizontalAlignment LabelButton::GetHorizontalAlignment() const { | 108 gfx::HorizontalAlignment LabelButton::GetHorizontalAlignment() const { |
| 109 return label_->horizontal_alignment(); | 109 return label_->horizontal_alignment(); |
| 110 } | 110 } |
| 111 | 111 |
| 112 void LabelButton::SetHorizontalAlignment(gfx::HorizontalAlignment alignment) { | 112 void LabelButton::SetHorizontalAlignment(gfx::HorizontalAlignment alignment) { |
| 113 label_->SetHorizontalAlignment(alignment); | 113 label_->SetHorizontalAlignment(alignment); |
| 114 InvalidateLayout(); | 114 Layout(); |
| 115 } | 115 } |
| 116 | 116 |
| 117 void LabelButton::SetIsDefault(bool is_default) { | 117 void LabelButton::SetIsDefault(bool is_default) { |
| 118 if (is_default == is_default_) | 118 if (is_default == is_default_) |
| 119 return; | 119 return; |
| 120 is_default_ = is_default; | 120 is_default_ = is_default; |
| 121 ui::Accelerator accel(ui::VKEY_RETURN, ui::EF_NONE); | 121 ui::Accelerator accel(ui::VKEY_RETURN, ui::EF_NONE); |
| 122 is_default_ ? AddAccelerator(accel) : RemoveAccelerator(accel); | 122 is_default_ ? AddAccelerator(accel) : RemoveAccelerator(accel); |
| 123 | 123 |
| 124 // STYLE_BUTTON uses bold text to indicate default buttons. | 124 // STYLE_BUTTON uses bold text to indicate default buttons. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 145 set_focusable(true); | 145 set_focusable(true); |
| 146 } | 146 } |
| 147 if (style == STYLE_BUTTON) { | 147 if (style == STYLE_BUTTON) { |
| 148 set_min_size(gfx::Size(70, 31)); | 148 set_min_size(gfx::Size(70, 31)); |
| 149 const SkColor color = GetNativeTheme()->GetSystemColor( | 149 const SkColor color = GetNativeTheme()->GetSystemColor( |
| 150 ui::NativeTheme::kColorId_WindowBackground); | 150 ui::NativeTheme::kColorId_WindowBackground); |
| 151 label_->SetShadowColors(color, color); | 151 label_->SetShadowColors(color, color); |
| 152 label_->SetShadowOffset(0, 1); | 152 label_->SetShadowOffset(0, 1); |
| 153 } | 153 } |
| 154 // Invalidate the layout to pickup the new insets from the border. | 154 // Invalidate the layout to pickup the new insets from the border. |
| 155 InvalidateLayout(); | 155 Layout(); |
| 156 ResetColorsFromNativeTheme(); | 156 ResetColorsFromNativeTheme(); |
| 157 } | 157 } |
| 158 | 158 |
| 159 gfx::Size LabelButton::GetPreferredSize() { | 159 gfx::Size LabelButton::GetPreferredSize() { |
| 160 const gfx::Font font = label_->font(); | 160 const gfx::Font font = label_->font(); |
| 161 // Use a temporary label copy for sizing to avoid calculation side-effects. | 161 // Use a temporary label copy for sizing to avoid calculation side-effects. |
| 162 // Use bold text for STYLE_BUTTON to avoid changing size when made default. | 162 // Use bold text for STYLE_BUTTON to avoid changing size when made default. |
| 163 Label label(label_->text(), style_ == STYLE_BUTTON ? | 163 Label label(label_->text(), style_ == STYLE_BUTTON ? |
| 164 font.DeriveFont(0, font.GetStyle() | gfx::Font::BOLD) : font); | 164 font.DeriveFont(0, font.GetStyle() | gfx::Font::BOLD) : font); |
| 165 label.SetMultiLine(GetTextMultiLine()); | 165 label.SetMultiLine(GetTextMultiLine()); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 return ui::NativeTheme::kNormal; | 339 return ui::NativeTheme::kNormal; |
| 340 } | 340 } |
| 341 | 341 |
| 342 ui::NativeTheme::State LabelButton::GetForegroundThemeState( | 342 ui::NativeTheme::State LabelButton::GetForegroundThemeState( |
| 343 ui::NativeTheme::ExtraParams* params) const { | 343 ui::NativeTheme::ExtraParams* params) const { |
| 344 GetExtraParams(params); | 344 GetExtraParams(params); |
| 345 return ui::NativeTheme::kHovered; | 345 return ui::NativeTheme::kHovered; |
| 346 } | 346 } |
| 347 | 347 |
| 348 } // namespace views | 348 } // namespace views |
| OLD | NEW |