static VALUE rb_ext_Widget_equal(VALUE self, VALUE widget) { newtComponent co, co2; if (NIL_P(widget)) return Qfalse; if (self == widget) return Qtrue; Data_Get_Struct(self, struct newtComponent_struct, co); Data_Get_Struct(widget, struct newtComponent_struct, co2); if (co == co2) return Qtrue; return Qfalse; }
static VALUE rb_ext_Widget_callback(int argc, VALUE argv[], VALUE self) { newtComponent co; VALUE arg1, value; Data_Get_Struct(self, struct newtComponent_struct, co); switch(rb_scan_args(argc, argv, "01", &arg1)){ case 0: value = rb_hash_aref(rb_ext_Widget_CALLBACK_HASH, self); break; case 1: rb_hash_aset(rb_ext_Widget_CALLBACK_HASH, self, arg1); newtComponentAddCallback(co, rb_ext_Widget_callback_function, (void*)arg1); value = Qnil; break; default: rb_bug("rb_ext_Widget_callback"); }; return value; }
static VALUE rb_ext_Widget_takesFocus(VALUE self, VALUE index) { newtComponent form; Data_Get_Struct(self, struct newtComponent_struct, form); newtComponentTakesFocus(form, NUM2INT(index)); return Qnil; }