static void gtk_radio_menu_item_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkRadioMenuItem *radio_menu_item; radio_menu_item = GTK_RADIO_MENU_ITEM (object); switch (prop_id) { GSList *slist; case PROP_GROUP: if (G_VALUE_HOLDS_OBJECT (value)) slist = gtk_radio_menu_item_get_group ((GtkRadioMenuItem*) g_value_get_object (value)); else slist = NULL; gtk_radio_menu_item_set_group (radio_menu_item, slist); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
GtkWidget* gtk_radio_menu_item_new (GSList *group) { GtkRadioMenuItem *radio_menu_item; radio_menu_item = g_object_new (GTK_TYPE_RADIO_MENU_ITEM, NULL); gtk_radio_menu_item_set_group (radio_menu_item, group); return GTK_WIDGET (radio_menu_item); }
void systray_remove_radio_item(menu_info_t* mi, GtkWidget* item) { gtk_radio_menu_item_set_group(GTK_RADIO_MENU_ITEM(item), NULL); gtk_container_remove(GTK_CONTAINER(mi->menu), item); /* update group */ GList* children = gtk_container_get_children(GTK_CONTAINER(mi->menu)); if(children) mi->group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(children->data)); else mi->group = NULL; }
/* {EV_RADIO_MENU_ITEM_IMP}.set_radio_group */ void F1173_16496 (EIF_REFERENCE Current, EIF_POINTER arg1) { GTCX EIF_POINTER tp1; RTLD; RTLI(1); RTLR(0,Current); RTGC; tp1 = F1172_16484(Current); gtk_radio_menu_item_set_group((GtkRadioMenuItem*) tp1, (GSList*) arg1); RTLE; }
static VALUE rmitem_set_group(VALUE self, VALUE grp_ary) { GtkRadioMenuItem *rmitem2add, *rmitem_orig; GSList *group; rmitem2add = GTK_RADIO_MENU_ITEM(RVAL2GOBJ(self)); rmitem_orig = GTK_RADIO_MENU_ITEM(RVAL2GOBJ(rb_ary_entry(grp_ary, 0))); group = gtk_radio_menu_item_group(rmitem_orig); gtk_radio_menu_item_set_group(rmitem2add, group); return GSLIST2ARY(gtk_radio_menu_item_get_group(rmitem2add)); }