| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "views/controls/button/native_button_gtk.h" | 5 #include "views/controls/button/native_button_gtk.h" | 
| 6 | 6 | 
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> | 
| 8 | 8 | 
| 9 #include <vector> | 9 #include <vector> | 
| 10 | 10 | 
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 226   // button is added to, or removed. | 226   // button is added to, or removed. | 
| 227   DCHECK(group); | 227   DCHECK(group); | 
| 228   GtkRadioButton* this_radio_button = GTK_RADIO_BUTTON(native_view()); | 228   GtkRadioButton* this_radio_button = GTK_RADIO_BUTTON(native_view()); | 
| 229   if (!g_slist_find(group, this_radio_button)) | 229   if (!g_slist_find(group, this_radio_button)) | 
| 230     gtk_radio_button_set_group(this_radio_button, group); | 230     gtk_radio_button_set_group(this_radio_button, group); | 
| 231 } | 231 } | 
| 232 | 232 | 
| 233 //////////////////////////////////////////////////////////////////////////////// | 233 //////////////////////////////////////////////////////////////////////////////// | 
| 234 // NativeRadioButtonGtk, NativeControlGtk overrides: | 234 // NativeRadioButtonGtk, NativeControlGtk overrides: | 
| 235 void NativeRadioButtonGtk::ViewHierarchyChanged(bool is_add, | 235 void NativeRadioButtonGtk::ViewHierarchyChanged(bool is_add, | 
| 236                                                 View *parent, View *child) { | 236                                                 View* parent, View* child) { | 
| 237   NativeControlGtk::ViewHierarchyChanged(is_add, parent, child); | 237   NativeControlGtk::ViewHierarchyChanged(is_add, parent, child); | 
| 238 | 238 | 
| 239   // look for the same group and update | 239   // look for the same group and update | 
| 240   if (is_add && child == this) { | 240   if (is_add && child == this) { | 
| 241     View* container = GetParent(); | 241     View* container = parent; | 
| 242     while (container && container->GetParent()) | 242     while (container && container->parent()) | 
| 243       container = container->GetParent(); | 243       container = container->parent(); | 
| 244     if (container) { | 244     if (container) { | 
| 245       std::vector<View*> other; | 245       std::vector<View*> other; | 
| 246       container->GetViewsWithGroup(native_button_->GetGroup(), &other); | 246       container->GetViewsWithGroup(native_button_->GetGroup(), &other); | 
| 247       for (std::vector<View*>::iterator i = other.begin(); | 247       for (std::vector<View*>::iterator i = other.begin(); | 
| 248            i != other.end(); | 248            i != other.end(); | 
| 249            ++i) { | 249            ++i) { | 
| 250         if (*i != native_button_) { | 250         if (*i != native_button_) { | 
| 251           if ((*i)->GetClassName() != RadioButton::kViewClassName) { | 251           if ((*i)->GetClassName() != RadioButton::kViewClassName) { | 
| 252             NOTREACHED() << "radio-button has same group as other non " | 252             NOTREACHED() << "radio-button has same group as other non " | 
| 253                 "radio-button views."; | 253                 "radio-button views."; | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 293   return new NativeCheckboxGtk(checkbox); | 293   return new NativeCheckboxGtk(checkbox); | 
| 294 } | 294 } | 
| 295 | 295 | 
| 296 // static | 296 // static | 
| 297 NativeButtonWrapper* NativeButtonWrapper::CreateRadioButtonWrapper( | 297 NativeButtonWrapper* NativeButtonWrapper::CreateRadioButtonWrapper( | 
| 298     RadioButton* radio_button) { | 298     RadioButton* radio_button) { | 
| 299   return new NativeRadioButtonGtk(radio_button); | 299   return new NativeRadioButtonGtk(radio_button); | 
| 300 } | 300 } | 
| 301 | 301 | 
| 302 }  // namespace views | 302 }  // namespace views | 
| OLD | NEW | 
|---|