static VALUE rg_m_source_set_target_list(VALUE self, VALUE widget, VALUE targetlist) { GtkTargetList* tlist = NULL; if (! NIL_P(targetlist)) tlist = (GtkTargetList*)RVAL2BOXED(targetlist, GTK_TYPE_TARGET_LIST); gtk_drag_source_set_target_list(RVAL2WIDGET(widget),tlist); return self; }
static void update_source_target_list (GtkWidget *ebox, GtkWidget *image) { GtkTargetList *target_list; target_list = gtk_target_list_new (NULL, 0); gtk_target_list_add_image_targets (target_list, TARGET_IMAGE, FALSE); if (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_ICON_NAME) gtk_target_list_add_text_targets (target_list, TARGET_TEXT); gtk_drag_source_set_target_list (ebox, target_list); gtk_target_list_unref (target_list); }