From: Tilman Sauerbeck Date: Sun, 5 Jun 2005 19:43:40 +0000 (+0000) Subject: Added EcoreEvas#name_class. X-Git-Url: http://git.code-monkey.de/?p=ruby-ecore.git;a=commitdiff_plain;h=089179a6b3860c1ab7a42f2d72f46815a54bee0a Added EcoreEvas#name_class. --- diff --git a/src/ecore_evas/rb_ecore_evas.c b/src/ecore_evas/rb_ecore_evas.c index 3ded59d..d562836 100644 --- a/src/ecore_evas/rb_ecore_evas.c +++ b/src/ecore_evas/rb_ecore_evas.c @@ -1,5 +1,5 @@ /* - * $Id: rb_ecore_evas.c 303 2005-03-22 17:42:04Z tilman $ + * $Id: rb_ecore_evas.c 346 2005-06-05 19:43:40Z tilman $ * * Copyright (C) 2004 ruby-ecore team (see AUTHORS) * @@ -522,6 +522,38 @@ static VALUE c_rotation_set (VALUE self, VALUE val) return Qnil; } +static VALUE c_name_class_get (VALUE self) +{ + const char *name = NULL, *klass = NULL; + + GET_OBJ (self, RbEcoreEvas, ee); + + ecore_evas_name_class_get (ee->real, &name, &klass); + + return rb_ary_new3 (2, name ? rb_str_new2 (name) : Qnil, + klass ? rb_str_new2 (klass) : Qnil); +} + +static VALUE c_name_class_set (VALUE self, VALUE ary) +{ + VALUE s1, s2; + + GET_OBJ (self, RbEcoreEvas, ee); + + Check_Type (ary, T_ARRAY); + + s1 = rb_ary_shift (ary); + s2 = rb_ary_shift (ary); + + StringValue (s1); + StringValue (s2); + + ecore_evas_name_class_set (ee->real, StringValuePtr (s1), + StringValuePtr (s2)); + + return Qnil; +} + /* FIXME: this is unsafe! * :nodoc: */ @@ -717,6 +749,8 @@ void Init_EcoreEvas (void) rb_define_method (cEcoreEvas, "sticky=", c_sticky_set, 1); rb_define_method (cEcoreEvas, "rotation", c_rotation_get, 0); rb_define_method (cEcoreEvas, "rotation=", c_rotation_set, 1); + rb_define_method (cEcoreEvas, "name_class", c_name_class_get, 0); + rb_define_method (cEcoreEvas, "name_class=", c_name_class_set, 1); rb_define_method (cEcoreEvas, "on_resize", c_on_resize, 0); rb_define_method (cEcoreEvas, "on_move", c_on_move, 0);