X-Git-Url: http://git.code-monkey.de/?p=ruby-ecore.git;a=blobdiff_plain;f=src%2Fecore%2Frb_event_handler.h;fp=src%2Fecore%2Frb_event_handler.h;h=b9d56a8e6ae74ee6b22deb278d1ce5523d5a515a;hp=1c4015352aaa6b8bf9b5346d101fd37f0ac7d765;hb=4f2835571a13e31777b36def3056547b997e0599;hpb=efd95201fd9c368eef6a4986e7c3bfe260da7e2c diff --git a/src/ecore/rb_event_handler.h b/src/ecore/rb_event_handler.h index 1c40153..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 343 2005-05-07 20:22:56Z tilman $ + * $Id: rb_event_handler.h 365 2006-02-14 21:50:47Z tilman $ * * Copyright (C) 2004 ruby-ecore team (see AUTHORS) * @@ -21,19 +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)); \ +#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); \ 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); -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;