events:add-support! obj . slots
Enables events on an object. slots
should contain symbol-names of events the object will implement. For example:
(define thing 'thing) ;Value: thing (events:add-support! thing 'event1 'event2) ;Value: ok (events:register-handler! thing 'event1 (lambda () (println "event1 handler A reporting"))) ;Unspecified return value (events:register-handler! thing 'event1 (lambda () (println "event1 handler B reporting"))) ;Unspecified return value (events:register-handler! thing 'event2 (lambda () (println "event2 handler A reporting"))) ;Unspecified return value (events:register-handler! thing 'event2 (lambda () (println "event2 handler B reporting"))) ;Unspecified return value (events:raise thing 'event1) event1 handler B reporting event1 handler A reporting ;Value: ok (events:raise thing 'event1) event1 handler B reporting event1 handler A reporting ;Value: ok (events:raise thing 'event2) event2 handler B reporting event2 handler A reporting ;Value: ok (events:raise thing 'event1) event1 handler B reporting event1 handler A reporting ;Value: ok
events:has-slot? obj slot
Checks whether an object supports the given event
events:register-handler! obj slot handler
Registers a handler for an even with an object. See events:add-support!
for an example.
events:raise obj slot . arguments
Raises an event. See events:add-support!
for an example.
Scheme Power Tools Documentation
(c) Maciej Pacula 2010-2011
http://mpacula.com