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 "chrome/browser/ui/gtk/gtk_floating_container.h" | 5 #include "chrome/browser/ui/gtk/gtk_floating_container.h" |
6 | 6 |
7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
8 #include <gtk/gtkmarshal.h> | 8 #include <gtk/gtkmarshal.h> |
9 #include <gtk/gtkprivate.h> | 9 #include <gtk/gtkprivate.h> |
10 | 10 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 // Handle the other case where it's in our |floating_children| list. | 140 // Handle the other case where it's in our |floating_children| list. |
141 GtkFloatingContainer* floating = GTK_FLOATING_CONTAINER(container); | 141 GtkFloatingContainer* floating = GTK_FLOATING_CONTAINER(container); |
142 GList* children = floating->floating_children; | 142 GList* children = floating->floating_children; |
143 gboolean removed_child = false; | 143 gboolean removed_child = false; |
144 while (children) { | 144 while (children) { |
145 GtkFloatingContainerChild* child = | 145 GtkFloatingContainerChild* child = |
146 reinterpret_cast<GtkFloatingContainerChild*>(children->data); | 146 reinterpret_cast<GtkFloatingContainerChild*>(children->data); |
147 | 147 |
148 if (child->widget == widget) { | 148 if (child->widget == widget) { |
149 removed_child = true; | 149 removed_child = true; |
150 gboolean was_visible = GTK_WIDGET_VISIBLE(widget); | 150 gboolean was_visible = gtk_widget_get_visible(GTK_WIDGET(widget)); |
151 | 151 |
152 gtk_widget_unparent(widget); | 152 gtk_widget_unparent(widget); |
153 | 153 |
154 floating->floating_children = | 154 floating->floating_children = |
155 g_list_remove_link(floating->floating_children, children); | 155 g_list_remove_link(floating->floating_children, children); |
156 g_list_free(children); | 156 g_list_free(children); |
157 g_free(child); | 157 g_free(child); |
158 | 158 |
159 if (was_visible && GTK_WIDGET_VISIBLE(container)) | 159 if (was_visible && gtk_widget_get_visible(GTK_WIDGET(container))) |
160 gtk_widget_queue_resize(GTK_WIDGET(container)); | 160 gtk_widget_queue_resize(GTK_WIDGET(container)); |
161 | 161 |
162 break; | 162 break; |
163 } | 163 } |
164 children = children->next; | 164 children = children->next; |
165 } | 165 } |
166 | 166 |
167 g_return_if_fail(removed_child); | 167 g_return_if_fail(removed_child); |
168 } | 168 } |
169 } | 169 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 // to be. | 229 // to be. |
230 GtkFloatingContainer* container = GTK_FLOATING_CONTAINER(widget); | 230 GtkFloatingContainer* container = GTK_FLOATING_CONTAINER(widget); |
231 GList* children = container->floating_children; | 231 GList* children = container->floating_children; |
232 GtkAllocation child_allocation; | 232 GtkAllocation child_allocation; |
233 GtkRequisition child_requisition; | 233 GtkRequisition child_requisition; |
234 while (children) { | 234 while (children) { |
235 GtkFloatingContainerChild* child = | 235 GtkFloatingContainerChild* child = |
236 reinterpret_cast<GtkFloatingContainerChild*>(children->data); | 236 reinterpret_cast<GtkFloatingContainerChild*>(children->data); |
237 children = children->next; | 237 children = children->next; |
238 | 238 |
239 if (GTK_WIDGET_VISIBLE(child->widget)) { | 239 if (gtk_widget_get_visible(GTK_WIDGET(child->widget))) { |
240 gtk_widget_size_request(child->widget, &child_requisition); | 240 gtk_widget_size_request(child->widget, &child_requisition); |
241 child_allocation.x = allocation->x + child->x; | 241 child_allocation.x = allocation->x + child->x; |
242 child_allocation.y = allocation->y + child->y; | 242 child_allocation.y = allocation->y + child->y; |
243 child_allocation.width = std::max(1, std::min(child_requisition.width, | 243 child_allocation.width = std::max(1, std::min(child_requisition.width, |
244 allocation->width)); | 244 allocation->width)); |
245 child_allocation.height = std::max(1, std::min(child_requisition.height, | 245 child_allocation.height = std::max(1, std::min(child_requisition.height, |
246 allocation->height)); | 246 allocation->height)); |
247 gtk_widget_size_allocate(child->widget, &child_allocation); | 247 gtk_widget_size_allocate(child->widget, &child_allocation); |
248 } | 248 } |
249 } | 249 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 child_info->x = 0; | 311 child_info->x = 0; |
312 child_info->y = 0; | 312 child_info->y = 0; |
313 | 313 |
314 gtk_widget_set_parent(widget, GTK_WIDGET(container)); | 314 gtk_widget_set_parent(widget, GTK_WIDGET(container)); |
315 | 315 |
316 container->floating_children = | 316 container->floating_children = |
317 g_list_append(container->floating_children, child_info); | 317 g_list_append(container->floating_children, child_info); |
318 } | 318 } |
319 | 319 |
320 G_END_DECLS | 320 G_END_DECLS |
OLD | NEW |