X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fecore%2Frb_event_handler.h;h=b9d56a8e6ae74ee6b22deb278d1ce5523d5a515a;hb=4bd5752ec9ffb1bb45abc77a5461b6e386b4acf4;hp=a0fa0e15eaf61c43d6f9fd90bb2a9cb3ecda7c4e;hpb=0ad70bf579b712a8bf770e2775cffa4a50097557;p=ruby-ecore.git diff --git a/src/ecore/rb_event_handler.h b/src/ecore/rb_event_handler.h index a0fa0e1..b9d56a8 100644 --- a/src/ecore/rb_event_handler.h +++ b/src/ecore/rb_event_handler.h @@ -1,5 +1,5 @@ /* - * $Id: rb_event_handler.h 77 2004-08-19 17:39:29Z tilman $ + * $Id: rb_event_handler.h 365 2006-02-14 21:50:47Z tilman $ * * Copyright (C) 2004 ruby-ecore team (see AUTHORS) * @@ -21,22 +21,22 @@ #ifndef __RB_EVENT_HANDLER_H #define __RB_EVENT_HANDLER_H -#define ADD_EVENT(mod, prefix, constname, clsname, obj) \ - rb_define_const ((mod), #constname, \ - INT2FIX (prefix##constname)); \ - ecore_event_handler_add (prefix##constname, on_ecore_event, \ - NULL); \ +#define ADD_EVENT(mod, constname, clsname, obj) \ + rb_define_singleton_method (cEcoreEvent, "inherited", \ + c_ev_inherited_noop, 1); \ \ - (obj) = rb_define_class_under ((mod), #clsname, cEcoreEvent); \ + (obj) = rb_define_class_under ((mod), (clsname), cEcoreEvent); \ rb_define_private_method (rb_singleton_class ((obj)), \ "new", NULL, 0); \ \ - rb_hash_aset (event_classes, INT2FIX (prefix##constname), (obj)); + rb_define_const ((obj), "TYPE", INT2FIX (constname)); \ + rb_hash_aset (event_classes, INT2FIX (constname), (obj)); \ + rb_define_singleton_method (cEcoreEvent, "inherited", c_ev_inherited, 1); void Init_EventHandler (void); -int on_ecore_event (void *data, int type, void *event); -VALUE c_ev_generic_init (VALUE self, VALUE event); +VALUE c_ev_inherited (VALUE klass, VALUE child); +VALUE c_ev_inherited_noop (VALUE klass, VALUE child); #ifndef __RB_EVENT_HANDLER_C extern VALUE event_classes, cEcoreEvent;