void glade_gtk_size_group_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * property_name, const GValue * value) { if (!strcmp (property_name, "widgets")) { GSList *sg_widgets, *slist; GList *widgets, *list; /* remove old widgets */ if ((sg_widgets = gtk_size_group_get_widgets (GTK_SIZE_GROUP (object))) != NULL) { /* copy since we are modifying an internal list */ sg_widgets = g_slist_copy (sg_widgets); for (slist = sg_widgets; slist; slist = slist->next) gtk_size_group_remove_widget (GTK_SIZE_GROUP (object), GTK_WIDGET (slist->data)); g_slist_free (sg_widgets); } /* add new widgets */ if ((widgets = g_value_get_boxed (value)) != NULL) { for (list = widgets; list; list = list->next) gtk_size_group_add_widget (GTK_SIZE_GROUP (object), GTK_WIDGET (list->data)); } } else GWA_GET_CLASS (G_TYPE_OBJECT)->set_property (adaptor, object, property_name, value); }
static void wsec_size_group_clear (GtkSizeGroup *group) { GSList *children; GSList *iter; g_return_if_fail (group != NULL); children = gtk_size_group_get_widgets (group); for (iter = children; iter; iter = g_slist_next (iter)) gtk_size_group_remove_widget (group, GTK_WIDGET (iter->data)); }
static void clear_button_bar (RBButtonBar *bar) { GList *c, *l; c = gtk_container_get_children (GTK_CONTAINER (bar)); for (l = c; l != NULL; l = l->next) { if (!GTK_IS_LABEL (l->data)) gtk_size_group_remove_widget (bar->priv->size_group, l->data); gtk_container_remove (GTK_CONTAINER (bar), l->data); } g_list_free (c); bar->priv->position = 0; }
static void bar_pane_exif_reparent_entry(GtkWidget *entry, GtkWidget *pane) { PaneExifData *ped = g_object_get_data(G_OBJECT(pane), "pane_data"); PaneExifData *old_ped; ExifEntry *ee = g_object_get_data(G_OBJECT(entry), "entry_data"); if (!ped || !ee) return; old_ped = ee->ped; g_object_ref(entry); gtk_size_group_remove_widget(old_ped->size_group, ee->title_label); gtk_container_remove(GTK_CONTAINER(old_ped->vbox), entry); ee->ped = ped; gtk_size_group_add_widget(ped->size_group, ee->title_label); gtk_box_pack_start(GTK_BOX(ped->vbox), entry, FALSE, FALSE, 0); }
static void gtk_size_group_widget_destroyed (GtkWidget *widget, GtkSizeGroup *size_group) { gtk_size_group_remove_widget (size_group, widget); }
static void hildon_caption_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { HildonCaptionPrivate *priv = HILDON_CAPTION_GET_PRIVATE (object); switch (param_id) { case PROP_ICON_POSITION: hildon_caption_set_icon_position (HILDON_CAPTION (object), g_value_get_enum (value)); break; case PROP_LABEL: /* Free old label string */ if (priv->text) { g_free (priv->text); priv->text = NULL; } /* Update label */ priv->text = g_value_dup_string (value); hildon_caption_set_label_text (priv, FALSE); break; case PROP_MARKUP: /* Free old label string */ if (priv->text) { g_free (priv->text); priv->text = NULL; } /* Update label */ priv->text = g_value_dup_string (value); hildon_caption_set_label_text (priv, TRUE); break; case PROP_ICON: /* Remove old icon */ if (priv->icon) gtk_container_remove (GTK_CONTAINER (priv->icon_align), priv->icon); /* Pack and display new icon */ priv->icon = g_value_get_object (value); if (priv->icon) { gtk_container_add (GTK_CONTAINER (priv->icon_align), priv->icon); gtk_widget_show_all (priv->caption_area); } break; case PROP_STATUS: priv->status = g_value_get_enum (value); break; case PROP_SIZE_GROUP: /* Detach from previous size group */ if (priv->group) gtk_size_group_remove_widget (priv->group, priv->caption_area); priv->group = g_value_get_object (value); /* Attach to new size group */ if (priv->group) gtk_size_group_add_widget (priv->group, priv->caption_area); gtk_widget_queue_draw (GTK_WIDGET(object)); break; case PROP_SEPARATOR: /* Free old separator */ if (priv->separator) { g_free (priv->separator); priv->separator = NULL; } priv->separator = g_value_dup_string (value); hildon_caption_set_label_text (priv, FALSE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } }
static VALUE rg_remove_widget(VALUE self, VALUE widget) { gtk_size_group_remove_widget(_SELF(self), RVAL2GTKWIDGET(widget)); return self; }