| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/native_control_gtk.h" | 5 #include "views/controls/native_control_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "ui/base/accessibility/accessibility_types.h" | 10 #include "ui/base/accessibility/accessibility_types.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 } | 144 } |
| 145 | 145 |
| 146 NativeControlGtk::~NativeControlGtk() { | 146 NativeControlGtk::~NativeControlGtk() { |
| 147 if (native_view()) | 147 if (native_view()) |
| 148 gtk_widget_destroy(native_view()); | 148 gtk_widget_destroy(native_view()); |
| 149 } | 149 } |
| 150 | 150 |
| 151 //////////////////////////////////////////////////////////////////////////////// | 151 //////////////////////////////////////////////////////////////////////////////// |
| 152 // NativeControlGtk, View overrides: | 152 // NativeControlGtk, View overrides: |
| 153 | 153 |
| 154 void NativeControlGtk::SetEnabled(bool enabled) { | 154 void NativeControlGtk::OnEnabledChanged() { |
| 155 if (IsEnabled() != enabled) { | 155 View::OnEnabledChanged(); |
| 156 View::SetEnabled(enabled); | 156 if (native_view()) |
| 157 if (native_view()) | 157 gtk_widget_set_sensitive(native_view(), View::IsEnabled()); |
| 158 gtk_widget_set_sensitive(native_view(), IsEnabled()); | |
| 159 } | |
| 160 } | 158 } |
| 161 | 159 |
| 162 void NativeControlGtk::ViewHierarchyChanged(bool is_add, View* parent, | 160 void NativeControlGtk::ViewHierarchyChanged(bool is_add, View* parent, |
| 163 View* child) { | 161 View* child) { |
| 164 // Call the base class to hide the view if we're being removed. | 162 // Call the base class to hide the view if we're being removed. |
| 165 NativeViewHost::ViewHierarchyChanged(is_add, parent, child); | 163 NativeViewHost::ViewHierarchyChanged(is_add, parent, child); |
| 166 | 164 |
| 167 if (!is_add && child == this && native_view()) { | 165 if (!is_add && child == this && native_view()) { |
| 168 Detach(); | 166 Detach(); |
| 169 } else if (is_add && GetWidget() && !native_view()) { | 167 } else if (is_add && GetWidget() && !native_view()) { |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 // options page is only based on views. | 242 // options page is only based on views. |
| 245 // NOTREACHED(); | 243 // NOTREACHED(); |
| 246 NOTIMPLEMENTED(); | 244 NOTIMPLEMENTED(); |
| 247 return false; | 245 return false; |
| 248 } | 246 } |
| 249 focus_manager->SetFocusedView(control->focus_view()); | 247 focus_manager->SetFocusedView(control->focus_view()); |
| 250 return false; | 248 return false; |
| 251 } | 249 } |
| 252 | 250 |
| 253 } // namespace views | 251 } // namespace views |
| OLD | NEW |