mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-04 09:40:19 +00:00
Merge branch 'expander-add-like-bin' into 'master'
expander: Check for an existing child when adding See merge request GNOME/gtk!48
This commit is contained in:
commit
6cc824af43
@ -27,7 +27,7 @@
|
|||||||
* A #GtkExpander allows the user to hide or show its child by clicking
|
* A #GtkExpander allows the user to hide or show its child by clicking
|
||||||
* on an expander triangle similar to the triangles used in a #GtkTreeView.
|
* on an expander triangle similar to the triangles used in a #GtkTreeView.
|
||||||
*
|
*
|
||||||
* Normally you use an expander as you would use any other descendant
|
* Normally you use an expander as you would use a descendant
|
||||||
* of #GtkBin; you create the child widget and use gtk_container_add()
|
* of #GtkBin; you create the child widget and use gtk_container_add()
|
||||||
* to add it to the expander. When the expander is toggled, it will take
|
* to add it to the expander. When the expander is toggled, it will take
|
||||||
* care of showing and hiding the child automatically.
|
* care of showing and hiding the child automatically.
|
||||||
@ -786,6 +786,18 @@ gtk_expander_add (GtkContainer *container,
|
|||||||
GtkExpander *expander = GTK_EXPANDER (container);
|
GtkExpander *expander = GTK_EXPANDER (container);
|
||||||
GtkExpanderPrivate *priv = gtk_expander_get_instance_private (expander);
|
GtkExpanderPrivate *priv = gtk_expander_get_instance_private (expander);
|
||||||
|
|
||||||
|
if (priv->child != NULL)
|
||||||
|
{
|
||||||
|
g_warning ("Attempting to add a widget with type %s to a %s, "
|
||||||
|
"but a %s can only contain one widget at a time; "
|
||||||
|
"it already contains a widget of type %s",
|
||||||
|
g_type_name (G_OBJECT_TYPE (widget)),
|
||||||
|
g_type_name (G_OBJECT_TYPE (container)),
|
||||||
|
g_type_name (G_OBJECT_TYPE (container)),
|
||||||
|
g_type_name (G_OBJECT_TYPE (priv->child)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (priv->expanded)
|
if (priv->expanded)
|
||||||
{
|
{
|
||||||
gtk_container_add (GTK_CONTAINER (priv->box), widget);
|
gtk_container_add (GTK_CONTAINER (priv->box), widget);
|
||||||
|
Loading…
Reference in New Issue
Block a user