Sha256: 81051f92d6fcfd1a65d8632cbfc5c0d12dc4148260652c091a9ba987ad99998c
Contents?: true
Size: 1.9 KB
Versions: 5
Compression:
Stored size: 1.9 KB
Contents
#include "reflex/ruby/event.h" #include "reflex/ruby/view.h" #include "defs.h" RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::FocusEvent) #define THIS to<Reflex::FocusEvent*>(self) #define CHECK RUCY_CHECK_OBJ(Reflex::FocusEvent, self) static VALUE alloc(VALUE klass) { return new_type<Reflex::FocusEvent>(klass); } static VALUE initialize(VALUE self, VALUE action, VALUE current, VALUE last) { CHECK; *THIS = Reflex::FocusEvent( (Reflex::FocusEvent::Action) to<uint>(action), to<Reflex::View*>(current), to<Reflex::View*>(last)); return rb_call_super(0, NULL); } static VALUE initialize_copy(VALUE self, VALUE obj) { CHECK; *THIS = to<Reflex::FocusEvent&>(obj).dup(); return self; } static VALUE get_action(VALUE self) { CHECK; return value(THIS->action()); } static VALUE get_current(VALUE self) { CHECK; return THIS->current() ? value(THIS->current()) : nil(); } static VALUE get_last(VALUE self) { CHECK; return THIS->last() ? value(THIS->last()) : nil(); } static Class cFocusEvent; void Init_reflex_focus_event () { Module mReflex = rb_define_module("Reflex"); cFocusEvent = mReflex.define_class("FocusEvent", Reflex::event_class()); rb_define_alloc_func(cFocusEvent, alloc); rb_define_private_method(cFocusEvent, "initialize", RUBY_METHOD_FUNC(initialize), 3); rb_define_private_method(cFocusEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1); rb_define_method(cFocusEvent, "action", RUBY_METHOD_FUNC(get_action), 0); rb_define_method(cFocusEvent, "current", RUBY_METHOD_FUNC(get_current), 0); rb_define_method(cFocusEvent, "last", RUBY_METHOD_FUNC(get_last), 0); cFocusEvent.define_const("ACTION_NONE", Reflex::FocusEvent::ACTION_NONE); cFocusEvent.define_const("FOCUS", Reflex::FocusEvent::FOCUS); cFocusEvent.define_const("BLUR", Reflex::FocusEvent::BLUR); } namespace Reflex { Class focus_event_class () { return cFocusEvent; } }// Reflex
Version data entries
5 entries across 5 versions & 1 rubygems