 Chromium Code Reviews
 Chromium Code Reviews Issue 15061006:
  views: Switch Checkbox over to LabelButton.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 15061006:
  views: Switch Checkbox over to LabelButton.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| 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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 289 return ui::NativeTheme::kPushButton; | 289 return ui::NativeTheme::kPushButton; | 
| 290 } | 290 } | 
| 291 | 291 | 
| 292 gfx::Rect LabelButton::GetThemePaintRect() const { | 292 gfx::Rect LabelButton::GetThemePaintRect() const { | 
| 293 return GetLocalBounds(); | 293 return GetLocalBounds(); | 
| 294 } | 294 } | 
| 295 | 295 | 
| 296 ui::NativeTheme::State LabelButton::GetThemeState( | 296 ui::NativeTheme::State LabelButton::GetThemeState( | 
| 297 ui::NativeTheme::ExtraParams* params) const { | 297 ui::NativeTheme::ExtraParams* params) const { | 
| 298 GetExtraParams(params); | 298 GetExtraParams(params); | 
| 299 switch(state()) { | 299 switch (state()) { | 
| 300 case STATE_NORMAL: return ui::NativeTheme::kNormal; | 300 case STATE_NORMAL: return ui::NativeTheme::kNormal; | 
| 301 case STATE_HOVERED: return ui::NativeTheme::kHovered; | 301 case STATE_HOVERED: return ui::NativeTheme::kHovered; | 
| 302 case STATE_PRESSED: return ui::NativeTheme::kPressed; | 302 case STATE_PRESSED: return ui::NativeTheme::kPressed; | 
| 303 case STATE_DISABLED: return ui::NativeTheme::kDisabled; | 303 case STATE_DISABLED: return ui::NativeTheme::kDisabled; | 
| 304 case STATE_TOGGLED: return ui::NativeTheme::kToggled; | |
| 
msw
2013/05/16 22:40:05
nit: I'd prefer this to come before STATE_DISABLED
 
tfarina
2013/05/18 00:54:08
ditto.
 | |
| 304 case STATE_COUNT: NOTREACHED() << "Unknown state: " << state(); | 305 case STATE_COUNT: NOTREACHED() << "Unknown state: " << state(); | 
| 305 } | 306 } | 
| 306 return ui::NativeTheme::kNormal; | 307 return ui::NativeTheme::kNormal; | 
| 307 } | 308 } | 
| 308 | 309 | 
| 309 const ui::Animation* LabelButton::GetThemeAnimation() const { | 310 const ui::Animation* LabelButton::GetThemeAnimation() const { | 
| 310 #if defined(OS_WIN) | 311 #if defined(OS_WIN) | 
| 311 if (style() == STYLE_NATIVE_TEXTBUTTON && | 312 if (style() == STYLE_NATIVE_TEXTBUTTON && | 
| 312 GetNativeTheme() == ui::NativeThemeWin::instance()) { | 313 GetNativeTheme() == ui::NativeThemeWin::instance()) { | 
| 313 return ui::NativeThemeWin::instance()->IsThemingActive() ? | 314 return ui::NativeThemeWin::instance()->IsThemingActive() ? | 
| 314 hover_animation_.get() : NULL; | 315 hover_animation_.get() : NULL; | 
| 315 } | 316 } | 
| 316 #endif | 317 #endif | 
| 317 return hover_animation_.get(); | 318 return hover_animation_.get(); | 
| 318 } | 319 } | 
| 319 | 320 | 
| 320 ui::NativeTheme::State LabelButton::GetBackgroundThemeState( | 321 ui::NativeTheme::State LabelButton::GetBackgroundThemeState( | 
| 321 ui::NativeTheme::ExtraParams* params) const { | 322 ui::NativeTheme::ExtraParams* params) const { | 
| 322 GetExtraParams(params); | 323 GetExtraParams(params); | 
| 323 return ui::NativeTheme::kNormal; | 324 return ui::NativeTheme::kNormal; | 
| 324 } | 325 } | 
| 325 | 326 | 
| 326 ui::NativeTheme::State LabelButton::GetForegroundThemeState( | 327 ui::NativeTheme::State LabelButton::GetForegroundThemeState( | 
| 327 ui::NativeTheme::ExtraParams* params) const { | 328 ui::NativeTheme::ExtraParams* params) const { | 
| 328 GetExtraParams(params); | 329 GetExtraParams(params); | 
| 329 return ui::NativeTheme::kHovered; | 330 return ui::NativeTheme::kHovered; | 
| 330 } | 331 } | 
| 331 | 332 | 
| 332 void LabelButton::GetExtraParams(ui::NativeTheme::ExtraParams* params) const { | 333 void LabelButton::GetExtraParams(ui::NativeTheme::ExtraParams* params) const { | 
| 
msw
2013/05/16 22:40:05
Move this impl to match the changed decl ordering.
 
tfarina
2013/05/18 00:54:08
Done.
 | |
| 333 params->button.checked = false; | 334 params->button.checked = false; | 
| 334 params->button.indeterminate = false; | 335 params->button.indeterminate = false; | 
| 335 params->button.is_default = is_default_; | 336 params->button.is_default = is_default_; | 
| 336 params->button.is_focused = HasFocus() && IsAccessibilityFocusable(); | 337 params->button.is_focused = HasFocus() && IsAccessibilityFocusable(); | 
| 337 params->button.has_border = style() == STYLE_NATIVE_TEXTBUTTON; | 338 params->button.has_border = style() == STYLE_NATIVE_TEXTBUTTON; | 
| 338 params->button.classic_state = 0; | 339 params->button.classic_state = 0; | 
| 339 params->button.background_color = GetNativeTheme()->GetSystemColor( | 340 params->button.background_color = GetNativeTheme()->GetSystemColor( | 
| 340 ui::NativeTheme::kColorId_TextButtonBackgroundColor); | 341 ui::NativeTheme::kColorId_TextButtonBackgroundColor); | 
| 341 } | 342 } | 
| 342 | 343 | 
| 343 } // namespace views | 344 } // namespace views | 
| OLD | NEW |