Add _gtk_box_get_children() internal function
https://bugzilla.gnome.org/show_bug.cgi?id=625300
This commit is contained in:
@ -457,7 +457,7 @@ _gtk_button_box_child_requisition (GtkWidget *widget,
|
|||||||
|
|
||||||
nchildren = 0;
|
nchildren = 0;
|
||||||
nsecondaries = 0;
|
nsecondaries = 0;
|
||||||
list = children = gtk_container_get_children (GTK_CONTAINER (bbox));
|
list = children = _gtk_box_get_children (GTK_BOX (bbox));
|
||||||
needed_width = child_min_width;
|
needed_width = child_min_width;
|
||||||
needed_height = child_min_height;
|
needed_height = child_min_height;
|
||||||
ipad_w = ipad_x * 2;
|
ipad_w = ipad_x * 2;
|
||||||
@ -790,7 +790,7 @@ gtk_button_box_size_allocate (GtkWidget *widget,
|
|||||||
childspace = child_height + childspacing;
|
childspace = child_height + childspacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
list = children = gtk_container_get_children (GTK_CONTAINER (box));
|
list = children = _gtk_box_get_children (GTK_BOX (box));
|
||||||
|
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
|
|||||||
24
gtk/gtkbox.c
24
gtk/gtkbox.c
@ -1770,3 +1770,27 @@ gtk_box_forall (GtkContainer *container,
|
|||||||
(* callback) (child->widget, callback_data);
|
(* callback) (child->widget, callback_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GList *
|
||||||
|
_gtk_box_get_children (GtkBox *box)
|
||||||
|
{
|
||||||
|
GtkBoxPriv *priv;
|
||||||
|
GtkBoxChild *child;
|
||||||
|
GList *children;
|
||||||
|
GList *retval = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GTK_IS_BOX (box), NULL);
|
||||||
|
|
||||||
|
priv = box->priv;
|
||||||
|
|
||||||
|
children = priv->children;
|
||||||
|
while (children)
|
||||||
|
{
|
||||||
|
child = children->data;
|
||||||
|
children = children->next;
|
||||||
|
|
||||||
|
retval = g_list_prepend (retval, child->widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
return g_list_reverse (retval);
|
||||||
|
}
|
||||||
|
|||||||
@ -109,6 +109,7 @@ void _gtk_box_set_old_defaults (GtkBox *box);
|
|||||||
gboolean _gtk_box_get_spacing_set (GtkBox *box);
|
gboolean _gtk_box_get_spacing_set (GtkBox *box);
|
||||||
void _gtk_box_set_spacing_set (GtkBox *box,
|
void _gtk_box_set_spacing_set (GtkBox *box,
|
||||||
gboolean spacing_set);
|
gboolean spacing_set);
|
||||||
|
GList *_gtk_box_get_children (GtkBox *box);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
@ -1034,13 +1034,14 @@ has_extra_children (GtkStatusbar *statusbar)
|
|||||||
GtkPackType child_pack_type, frame_pack_type;
|
GtkPackType child_pack_type, frame_pack_type;
|
||||||
GtkWidget *child, *frame;
|
GtkWidget *child, *frame;
|
||||||
GList *l, *children;
|
GList *l, *children;
|
||||||
|
gboolean retval = FALSE;
|
||||||
|
|
||||||
/* If the internal frame has been modified assume we have extra children */
|
/* If the internal frame has been modified assume we have extra children */
|
||||||
if (gtk_bin_get_child (GTK_BIN (priv->frame)) != priv->label)
|
if (gtk_bin_get_child (GTK_BIN (priv->frame)) != priv->label)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
frame = NULL;
|
frame = NULL;
|
||||||
children = gtk_container_get_children (GTK_CONTAINER (statusbar));
|
children = _gtk_box_get_children (GTK_BOX (statusbar));
|
||||||
for (l = children; l; l = l->next)
|
for (l = children; l; l = l->next)
|
||||||
{
|
{
|
||||||
frame = l->data;
|
frame = l->data;
|
||||||
@ -1063,12 +1064,15 @@ has_extra_children (GtkStatusbar *statusbar)
|
|||||||
NULL, NULL, NULL, &child_pack_type);
|
NULL, NULL, NULL, &child_pack_type);
|
||||||
|
|
||||||
if (frame_pack_type == GTK_PACK_START || child_pack_type == GTK_PACK_END)
|
if (frame_pack_type == GTK_PACK_START || child_pack_type == GTK_PACK_END)
|
||||||
return TRUE;
|
{
|
||||||
|
retval = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
|
|
||||||
return FALSE;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user