X-Git-Url: http://git.code-monkey.de/?p=ruby-ecore.git;a=blobdiff_plain;f=src%2Fecore%2Frb_event_handler.h;h=34df332d91310f3fc23375b04a6c38c0af97ea06;hp=80aa232427348a875d71102b976a35bc483937b5;hb=d907bd016f15dc5be72d12ee1742047eafc2abae;hpb=f199e32f0269ef563060795ea3c27229d685dddf diff --git a/src/ecore/rb_event_handler.h b/src/ecore/rb_event_handler.h index 80aa232..34df332 100644 --- a/src/ecore/rb_event_handler.h +++ b/src/ecore/rb_event_handler.h @@ -1,5 +1,5 @@ /* - * $Id: rb_event_handler.h 107 2004-08-29 18:37:58Z tilman $ + * $Id: rb_event_handler.h 372 2006-02-16 20:39:55Z tilman $ * * Copyright (C) 2004 ruby-ecore team (see AUTHORS) * @@ -21,20 +21,20 @@ #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_remove_method (rb_singleton_class (cEcoreEvent), "inherited"); \ \ (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); #ifndef __RB_EVENT_HANDLER_C extern VALUE event_classes, cEcoreEvent;