コード例 #1
0
ファイル: draganddrop.c プロジェクト: amery/clip-itk
int
clip_GTK_DRAGSOURCESETICONSTOCK(ClipMachine * cm)
{
        C_widget      *cwid = _fetch_cw_arg(cm);
        const gchar  *stock = _clip_parc(cm, 2);

	CHECKCWID(cwid, GTK_IS_WIDGET);
	CHECKARG(2, CHARACTER_t);

        gtk_drag_source_set_icon_stock(GTK_WIDGET(cwid->widget),
                stock);

	return 0;
err:
	return 1;
}
コード例 #2
0
ファイル: rbgtkdrag.c プロジェクト: Vasfed/ruby-gnome2
static VALUE
rg_m_source_set_icon(int argc, VALUE *argv, VALUE self)
{
    VALUE widget, obj, pixmap = Qnil, mask = Qnil;

    rb_scan_args(argc, argv, "22", &widget, &obj, &pixmap, &mask);
    if (argc == 4){
        gtk_drag_source_set_icon(RVAL2WIDGET(widget), GDK_COLORMAP(RVAL2GOBJ(obj)),
                                 GDK_PIXMAP(RVAL2GOBJ(pixmap)), 
                                 GDK_BITMAP(RVAL2GOBJ(mask)));
    } else if (argc == 2){
        if (TYPE(obj) == T_SYMBOL){
            gtk_drag_source_set_icon_stock(RVAL2WIDGET(widget), rb_id2name(SYM2ID(obj)));
        } else {
            gtk_drag_source_set_icon_pixbuf(RVAL2WIDGET(widget), GDK_PIXBUF(RVAL2GOBJ(obj)));
        }
    } else {
        rb_raise(rb_eArgError, "need 2 or 4 arguments");
    }
    return self;
}