X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Frb_smart.c;h=32a729d868519b9ef9bcc439a011e29cf0872685;hb=afead3a417018aa09e32bf16a026b3deec0b29dc;hp=ba7bd30ba6984b79c8c85e1b0a31e79cb281121c;hpb=ee7deb06e7acec3a4c8989981603ad047647ce47;p=ruby-evas.git diff --git a/src/rb_smart.c b/src/rb_smart.c index ba7bd30..32a729d 100644 --- a/src/rb_smart.c +++ b/src/rb_smart.c @@ -1,5 +1,5 @@ /* - * $Id: rb_smart.c 374 2006-02-21 21:20:35Z tilman $ + * $Id: rb_smart.c 381 2006-05-21 14:56:15Z tilman $ * * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de) * @@ -60,24 +60,13 @@ static ID id_smart_object; SMART_CB (delete); -SMART_CB (raise); -SMART_CB (lower); SMART_CB (show); SMART_CB (hide); SMART_CB (clip_unset); -SMART_CB_OBJ (stack_above); -SMART_CB_OBJ (stack_below); SMART_CB_OBJ (clip_set); SMART_CB_COORD (move); SMART_CB_COORD (resize); -static void on_layer_set (Evas_Object *o, int layer) -{ - SMART_CB_BODY (layer_set); - - rb_funcall (self, id, 1, FIX2INT (layer)); -} - static void on_color_set (Evas_Object *o, int r, int g, int b, int a) { SMART_CB_BODY (color_set); @@ -114,9 +103,9 @@ static VALUE c_init (VALUE self, VALUE evas) smart = Data_Make_Struct (rb_cObject, Evas_Smart *, NULL, NULL, s); *s = evas_smart_new (StringValuePtr (name), - NULL, on_delete, on_layer_set, - on_raise, on_lower, on_stack_above, - on_stack_below, on_move, on_resize, + NULL, on_delete, NULL, + NULL, NULL, NULL, NULL, + on_move, on_resize, on_show, on_hide, on_color_set, on_clip_set, on_clip_unset, NULL); @@ -131,12 +120,24 @@ static VALUE c_init (VALUE self, VALUE evas) return self; } +static VALUE c_add_member (VALUE self, VALUE member) +{ + GET_OBJ (self, RbEvasObject, e); + GET_OBJ (member, RbEvasObject, e2); + + /* weird order of arguments */ + evas_object_smart_member_add (e2->real, e->real); + + return Qnil; +} + void Init_Smart (void) { VALUE c = rb_define_class_under (mEvas, "Smart", cEvasObject); rb_define_singleton_method (c, "inherited", c_inherited, 1); rb_define_method (c, "initialize", c_init, 1); + rb_define_method (c, "add_member", c_add_member, 1); id_smart_object = rb_intern ("SMART_OBJECT"); }