static VALUE tvc_pack_end(VALUE self, VALUE cell, VALUE expand) { G_CHILD_ADD(self, cell); gtk_tree_view_column_pack_end(_SELF(self), RVAL2CELLRENDERER(cell), RVAL2CBOOL(expand)); return self; }
static VALUE rg_append_column(VALUE self, VALUE column) { G_CHILD_ADD(self, column); return INT2NUM(gtk_tree_view_append_column(_SELF(self), TREEVIEW_COL(column))); }
static VALUE rg_add(VALUE self, VALUE tag) { G_CHILD_ADD(self, tag); gtk_text_tag_table_add(_SELF(self), RVAL2GTKTEXTTAG(tag)); return self; }
/* Gtk::ListStore#insert(pos, val1 => 0, val2 => 2, ... ) */ static VALUE lstore_insert(int argc, VALUE *argv, VALUE self) { VALUE position, values, result; struct lstore_insert_args args = { _SELF(self) }; rb_scan_args(argc, argv, "11", &position, &values); args.position = NUM2INT(position); if (NIL_P(values)){ gtk_list_store_insert(args.store, &args.iter, args.position); } else { #if GTK_CHECK_VERSION(2,6,0) args.ary = rb_funcall(values, id_to_a, 0); args.n = RARRAY_LEN(args.ary); args.columns = g_new(gint, args.n); args.values = g_new0(GValue, args.n); rb_ensure(lstore_insert_body, (VALUE)&args, lstore_insert_ensure, (VALUE)&args); #else gtk_list_store_insert(args.store, &args.iter, args.position); rb_warn("Ignored 2nd argument under this environment, as it has been supported since GTK+-2.6."); #endif } args.iter.user_data3 = args.store; result = GTKTREEITER2RVAL(&args.iter); G_CHILD_ADD(self, result); return result; }
/* * Method: add_pad(pad) * pad: the Gst::Pad to add to the element. * * Adds a pad (link point) to the element. Pads are automatically activated * when the element is in state Gst::Element::PLAYING. * * Returns: self. */ static VALUE rg_add_pad(VALUE self, VALUE pad) { gst_element_add_pad(SELF(self), RGST_PAD(pad)); G_CHILD_ADD(self, pad); return self; }
static VALUE rg_attach(int argc, VALUE *argv, VALUE self) { VALUE child, left, right, top, bottom; VALUE arg0, arg1, arg2, arg3; gint xspc, yspc; GtkAttachOptions xopt, yopt; xopt = yopt = GTK_EXPAND | GTK_FILL; xspc = yspc = 0; rb_scan_args(argc, argv, "54", &child, &left, &right, &top, &bottom, &arg0, &arg1, &arg2, &arg3); if (!NIL_P(arg0)) xopt = RVAL2GTKATTACHOPTIONS(arg0); if (!NIL_P(arg1)) yopt = RVAL2GTKATTACHOPTIONS(arg1); if (!NIL_P(arg2)) xspc = NUM2INT(arg2); if (!NIL_P(arg3)) yspc = NUM2INT(arg3); gtk_table_attach(_SELF(self), RVAL2GTKWIDGET(child), NUM2INT(left),NUM2INT(right), NUM2INT(top),NUM2INT(bottom), xopt, yopt, xspc, yspc); G_CHILD_ADD(self, child); return self; }
static VALUE rg_insert_action_group(VALUE self, VALUE action_group, VALUE pos) { gtk_ui_manager_insert_action_group(_SELF(self), RVAL2GOBJ(action_group), NUM2INT(pos)); G_CHILD_ADD(self, action_group); return self; }
static VALUE rg_prepend(VALUE self, VALUE child) { gtk_menu_shell_prepend(_SELF(self), RVAL2GTKWIDGET(child)); G_CHILD_ADD(self, child); return self; }
static VALUE rg_set_value(VALUE self, VALUE iter, VALUE column, VALUE value) { GType gtype = gtk_tree_model_get_column_type(GTK_TREE_MODEL(RVAL2GOBJ(self)), NUM2INT(column)); GValue gval = G_VALUE_INIT; g_value_init(&gval, gtype); rbgobj_rvalue_to_gvalue(value, &gval); G_CHILD_ADD(self, iter); G_CHILD_ADD(iter, value); gtk_tree_store_set_value(_SELF(self), RVAL2GTKTREEITER(iter), NUM2INT(column), &gval); g_value_unset(&gval); return self; }
static VALUE rg_add_with_viewport(VALUE self, VALUE other) { gtk_scrolled_window_add_with_viewport(_SELF(self), RVAL2GTKWIDGET(other)); G_CHILD_ADD(self, other); return self; }
static VALUE textview_add_child_at_anchor(VALUE self, VALUE child, VALUE anchor) { G_CHILD_ADD(self, child); gtk_text_view_add_child_at_anchor(_SELF(self), GTK_WIDGET(RVAL2GOBJ(child)), GTK_TEXT_CHILD_ANCHOR(RVAL2GOBJ(anchor))); return self; }
static VALUE textview_move_child(VALUE self, VALUE child, VALUE xpos, VALUE ypos) { G_CHILD_ADD(self, child); gtk_text_view_move_child(_SELF(self), GTK_WIDGET(RVAL2GOBJ(child)), NUM2INT(xpos), NUM2INT(ypos)); return self; }
static VALUE rg_insert(VALUE self, VALUE child, VALUE pos) { gtk_menu_shell_insert(_SELF(self), RVAL2GTKWIDGET(child), NUM2INT(pos)); G_CHILD_ADD(self, child); return self; }
/* * Insert media instance in media list on a position * The {#lock} should be held upon entering this function. * * @param [VLC::Media, Hash] media the media instance or specify media Hash (see {VLC::Media#initialize}) * @param [Integer] pos position in array * @return [VLC::Media] the media instance * @raise [ArgumentError] Invalid or unsupported arguments * @todo fixme */ static VALUE rg_insert_media(VALUE self, VALUE media, VALUE pos) { media = get_media(self, media); if (libvlc_media_list_insert_media(_SELF(self), RVAL2VLCMEDIA(media), NUM2INT(pos))) rb_raise(rb_eArgError, "Invalid arguments."); G_CHILD_ADD(self, media); return media; }
static VALUE rg_attach_defaults(VALUE self, VALUE widget, VALUE left_attach, VALUE right_attach, VALUE top_attach, VALUE bottom_attach) { gtk_table_attach_defaults(_SELF(self), RVAL2GTKWIDGET(widget), NUM2UINT(left_attach), NUM2UINT(right_attach), NUM2UINT(top_attach), NUM2UINT(bottom_attach)); G_CHILD_ADD(self, widget); return self; }
static VALUE rg_colormap(VALUE self) { VALUE rb_colormap; rb_colormap = GOBJ2RVAL(gdk_drawable_get_colormap(_SELF(self))); G_CHILD_ADD(self, rb_colormap); return rb_colormap; }
static VALUE pj_send(VALUE self) { VALUE block = rb_block_proc(); G_CHILD_ADD(gPrintJob, block); gtk_print_job_send(_SELF(self), complete_func, (gpointer)block, remove_callback_reference); return self; }
static VALUE rg_initialize(VALUE self, VALUE parent) { GooCanvasItem *item; item = goo_canvas_table_new(RVAL2GCI(parent), NULL); RB_GOO_CANVAS_ITEM_INITIALIZE(self, item); G_CHILD_ADD(parent, self); return Qnil; }
static VALUE rc_set_sort_func(VALUE self) { VALUE func = rb_block_proc(); G_CHILD_ADD(mGtk, func); gtk_recent_chooser_set_sort_func(_SELF(self), (GtkRecentSortFunc)sort_func, (gpointer)func, (GDestroyNotify)remove_callback_reference); return self; }
static VALUE textview_add_child_in_window(VALUE self, VALUE child, VALUE which_window, VALUE xpos, VALUE ypos) { G_CHILD_ADD(self, child); gtk_text_view_add_child_in_window(_SELF(self), GTK_WIDGET(RVAL2GOBJ(child)), RVAL2GENUM(which_window, GTK_TYPE_TEXT_WINDOW_TYPE), NUM2INT(xpos), NUM2INT(ypos)); return self; }
static VALUE rg_set_child_property(VALUE self, VALUE child, VALUE prop_name, VALUE val) { GParamSpec* pspec; const char* name; if (SYMBOL_P(prop_name)) { name = rb_id2name(SYM2ID(prop_name)); } else { StringValue(prop_name); name = StringValuePtr(prop_name); } pspec = goo_canvas_item_class_find_child_property(G_OBJECT_GET_CLASS(RVAL2GOBJ(self)), name); if (!pspec) rb_raise(rb_eRuntimeError, "No such child property: %s", name); #define _SET_PROP_FOR_TYPE(gtype, ctype, val) \ case gtype: \ goo_canvas_item_set_child_properties(SELF(self), SELF(child), name, (ctype)(val), NULL); \ break; switch (G_TYPE_FUNDAMENTAL(G_PARAM_SPEC_VALUE_TYPE(pspec))) { _SET_PROP_FOR_TYPE(G_TYPE_CHAR, gchar, NUM2INT(val)); _SET_PROP_FOR_TYPE(G_TYPE_UCHAR, guchar, NUM2INT(val)); _SET_PROP_FOR_TYPE(G_TYPE_BOOLEAN, gboolean, RTEST(val)); _SET_PROP_FOR_TYPE(G_TYPE_INT, gint, NUM2INT(val)); _SET_PROP_FOR_TYPE(G_TYPE_UINT, guint, NUM2UINT(val)); _SET_PROP_FOR_TYPE(G_TYPE_LONG, glong, NUM2LONG(val)); _SET_PROP_FOR_TYPE(G_TYPE_ULONG, gulong, NUM2ULONG(val)); _SET_PROP_FOR_TYPE(G_TYPE_INT64, gint64, rbglib_num_to_int64(val)); _SET_PROP_FOR_TYPE(G_TYPE_UINT64, guint64, rbglib_num_to_uint64(val)); _SET_PROP_FOR_TYPE(G_TYPE_ENUM, gint, rbgobj_get_enum(val, G_PARAM_SPEC_VALUE_TYPE(pspec))); _SET_PROP_FOR_TYPE(G_TYPE_FLAGS, guint, rbgobj_get_flags(val, G_PARAM_SPEC_VALUE_TYPE(pspec))); _SET_PROP_FOR_TYPE(G_TYPE_FLOAT, gfloat, NUM2DBL(val)); _SET_PROP_FOR_TYPE(G_TYPE_DOUBLE, gdouble, NUM2DBL(val)); case G_TYPE_STRING: { if (SYMBOL_P(val)) val = rb_funcall(val, rb_intern("to_s"), 0); goo_canvas_item_set_child_properties(SELF(self), SELF(child), name, StringValuePtr(val), NULL); break; } default: g_warning("rb_goo_canvas_item_set_child_property: unsupported type: %s\n", g_type_name(G_PARAM_SPEC_VALUE_TYPE(pspec))); return Qnil; } #undef _SET_PROP_FOR_TYPE G_CHILD_ADD(child, val); return self; }
static VALUE rg_root_item(VALUE self) { VALUE root; root = GOBJ2RVAL(goo_canvas_get_root_item(SELF(self))); G_CHILD_ADD(self, root); return root; }
static VALUE rg_set(VALUE self, VALUE targets) { struct clipboard_set_args args = { self, targets, rb_block_proc() }; G_CHILD_ADD(self, args.func); return rb_rescue(clipboard_set_body, (VALUE)&args, clipboard_set_rescue, (VALUE)&args); }
static VALUE rg_get_gutter(VALUE self, VALUE window_type) { VALUE gutter; gutter = GOBJ2RVAL(gtk_source_view_get_gutter(_SELF(self), RVAL2GTKTEXTWINDOWTYPE(window_type))); G_CHILD_ADD(self, gutter); return gutter; }
static VALUE rg_lookup(VALUE self, VALUE name) { VALUE ret = Qnil; GtkTextTag* tag = gtk_text_tag_table_lookup(_SELF(self), RVAL2CSTR(name)); if (tag){ ret = GOBJ2RVAL(tag); G_CHILD_ADD(self, ret); } return ret; }
static VALUE rg_set_search_position_func(VALUE self) { VALUE func = rb_block_proc(); G_CHILD_ADD(mGtk, func); gtk_tree_view_set_search_position_func(_SELF(self), (GtkTreeViewSearchPositionFunc)search_position_func, (gpointer)func, (GDestroyNotify)remove_callback_reference); return self; }
/* * Method: <<(element) * element: a Gst::Element object. * * Adds a Gst::Element object to the bin. * * Returns: self. */ static VALUE rb_gst_bin_add(VALUE self, VALUE element) { VALUE klass = GTYPE2CLASS(GST_TYPE_ELEMENT); if (!RVAL2CBOOL(rb_obj_is_kind_of(element, klass))) { rb_raise(rb_eTypeError, "Gst::Element expected"); } gst_bin_add(SELF(self), RVAL2GST_ELEMENT(element)); G_CHILD_ADD(self, element); return self; }
static VALUE rg_set_colormap(VALUE self, VALUE colormap) { VALUE old_colormap; old_colormap = GOBJ2RVAL(gdk_drawable_get_colormap(_SELF(self))); G_CHILD_REMOVE(self, old_colormap); G_CHILD_ADD(self, colormap); gdk_drawable_set_colormap(_SELF(self), GDK_COLORMAP(RVAL2GOBJ(colormap))); return self; }
static VALUE rg_add_custom(VALUE self, VALUE needed) { VALUE func = rb_block_proc(); G_CHILD_ADD(mGtk, func); gtk_recent_filter_add_custom(_SELF(self), RVAL2GFLAGS(needed, GTK_TYPE_RECENT_FILTER_FLAGS), (GtkRecentFilterFunc)filter_func, (gpointer)func, (GDestroyNotify)remove_callback_reference); return self; }
static VALUE rg_append_page(int argc, VALUE *argv, VALUE self) { VALUE child, label; rb_scan_args(argc, argv, "11", &child, &label); gtk_notebook_append_page(_SELF(self), RVAL2WIDGET(child), NIL_P(label) ? NULL : RVAL2WIDGET(label)); G_CHILD_ADD(self, child); return self; }