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

Unified Diff: ui/views/controls/button/radio_button.cc

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/button/radio_button.h ('k') | ui/views/controls/combobox/combobox.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/button/radio_button.cc
diff --git a/ui/views/controls/button/radio_button.cc b/ui/views/controls/button/radio_button.cc
deleted file mode 100644
index e92b06af40243196736596e54668de23631b5935..0000000000000000000000000000000000000000
--- a/ui/views/controls/button/radio_button.cc
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/views/controls/button/radio_button.h"
-
-#include "base/logging.h"
-#include "ui/accessibility/ax_view_state.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/resources/grit/ui_resources.h"
-#include "ui/views/widget/widget.h"
-
-namespace views {
-
-// static
-const char RadioButton::kViewClassName[] = "RadioButton";
-
-RadioButton::RadioButton(const base::string16& label, int group_id)
- : Checkbox(label) {
- SetGroup(group_id);
-
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
-
- // Unchecked/Unfocused images.
- SetCustomImage(false, false, STATE_NORMAL,
- *rb.GetImageSkiaNamed(IDR_RADIO));
- SetCustomImage(false, false, STATE_HOVERED,
- *rb.GetImageSkiaNamed(IDR_RADIO_HOVER));
- SetCustomImage(false, false, STATE_PRESSED,
- *rb.GetImageSkiaNamed(IDR_RADIO_PRESSED));
- SetCustomImage(false, false, STATE_DISABLED,
- *rb.GetImageSkiaNamed(IDR_RADIO_DISABLED));
-
- // Checked/Unfocused images.
- SetCustomImage(true, false, STATE_NORMAL,
- *rb.GetImageSkiaNamed(IDR_RADIO_CHECKED));
- SetCustomImage(true, false, STATE_HOVERED,
- *rb.GetImageSkiaNamed(IDR_RADIO_CHECKED_HOVER));
- SetCustomImage(true, false, STATE_PRESSED,
- *rb.GetImageSkiaNamed(IDR_RADIO_CHECKED_PRESSED));
- SetCustomImage(true, false, STATE_DISABLED,
- *rb.GetImageSkiaNamed(IDR_RADIO_CHECKED_DISABLED));
-
- // Unchecked/Focused images.
- SetCustomImage(false, true, STATE_NORMAL,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED));
- SetCustomImage(false, true, STATE_HOVERED,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED_HOVER));
- SetCustomImage(false, true, STATE_PRESSED,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED_PRESSED));
-
- // Checked/Focused images.
- SetCustomImage(true, true, STATE_NORMAL,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED_CHECKED));
- SetCustomImage(true, true, STATE_HOVERED,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED_CHECKED_HOVER));
- SetCustomImage(true, true, STATE_PRESSED,
- *rb.GetImageSkiaNamed(IDR_RADIO_FOCUSED_CHECKED_PRESSED));
-}
-
-RadioButton::~RadioButton() {
-}
-
-void RadioButton::SetChecked(bool checked) {
- if (checked == RadioButton::checked())
- return;
- if (checked) {
- // We can't just get the root view here because sometimes the radio
- // button isn't attached to a root view (e.g., if it's part of a tab page
- // that is currently not active).
- View* container = parent();
- while (container && container->parent())
- container = container->parent();
- if (container) {
- Views other;
- container->GetViewsInGroup(GetGroup(), &other);
- for (Views::iterator i(other.begin()); i != other.end(); ++i) {
- if (*i != this) {
- if (strcmp((*i)->GetClassName(), kViewClassName)) {
- NOTREACHED() << "radio-button-nt has same group as other non "
- "radio-button-nt views.";
- continue;
- }
- RadioButton* peer = static_cast<RadioButton*>(*i);
- peer->SetChecked(false);
- }
- }
- }
- }
- Checkbox::SetChecked(checked);
-}
-
-const char* RadioButton::GetClassName() const {
- return kViewClassName;
-}
-
-void RadioButton::GetAccessibleState(ui::AXViewState* state) {
- Checkbox::GetAccessibleState(state);
- state->role = ui::AX_ROLE_RADIO_BUTTON;
-}
-
-View* RadioButton::GetSelectedViewForGroup(int group) {
- Views views;
- GetWidget()->GetRootView()->GetViewsInGroup(group, &views);
- if (views.empty())
- return NULL;
-
- for (Views::const_iterator i(views.begin()); i != views.end(); ++i) {
- // REVIEW: why don't we check the runtime type like is done above?
- RadioButton* radio_button = static_cast<RadioButton*>(*i);
- if (radio_button->checked())
- return radio_button;
- }
- return NULL;
-}
-
-bool RadioButton::IsGroupFocusTraversable() const {
- // When focusing a radio button with tab/shift+tab, only the selected button
- // from the group should be focused.
- return false;
-}
-
-void RadioButton::OnFocus() {
- Checkbox::OnFocus();
- SetChecked(true);
- ui::MouseEvent event(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), 0, 0);
- LabelButton::NotifyClick(event);
-}
-
-void RadioButton::NotifyClick(const ui::Event& event) {
- // Set the checked state to true only if we are unchecked, since we can't
- // be toggled on and off like a checkbox.
- if (!checked())
- SetChecked(true);
- RequestFocus();
- LabelButton::NotifyClick(event);
-}
-
-ui::NativeTheme::Part RadioButton::GetThemePart() const {
- return ui::NativeTheme::kRadio;
-}
-
-} // namespace views
« no previous file with comments | « ui/views/controls/button/radio_button.h ('k') | ui/views/controls/combobox/combobox.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698