It seems that both parts of the code are Ruby. So you should use Ruby language
features. It's possible to emulate CLR events by a list of blocks.
event = []
# adding a handler:
handler = lambda { ... }
event << handler
# removing a handler:
event.delete handler
# firing an event:
event.each { |handler| handler[args] }
Tomas
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sean Clark Hess
Sent: Thursday, August 14, 2008 1:29 PM
To: [email protected]
Subject: Re: [Ironruby-core] Events?
Let's say I create a class called MovieControls, that wraps some existing xaml.
The xaml has several buttons, including a toggle play/pause button, and a
previous and next button.
MovieControls would listen to the click of the play/pause button, and would
dispatch a "play" event when they clicked it to play it, and "pause" for the
opposite.
I want to be able to listen to MovieControls to know when to tell my video to
"play" and "pause".
So, it would be something like this... In MovieControls
play_pause_button.click { if (isPlayState) dispatch("play") else
dispatch("pause") end }
Then, in my app
myMovieControls.play { doPlay }
myMovieControls.pause { doPause }
Does that make more sense now? If this seems totally out of the blue, how are
people currently handling abstracting away this kind of functionality?
Thanks
~sean
On Thu, Aug 14, 2008 at 2:22 PM, Tomas Matousek <[EMAIL
PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote:
I'm not sure I understand the scenario. Would you like to declare an event on
Ruby object that you want to hook from C# code? Like
rubyEngine.Operations.GetMember(obj, "my_event") += delegate { ...}?
Tomas
From: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> [mailto:[EMAIL
PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Sean Clark Hess
Sent: Thursday, August 14, 2008 12:04 PM
To: [email protected]<mailto:[email protected]>
Subject: [Ironruby-core] Events?
Hi all,
Is there a built-in event system for IronRuby? I know I can handle events with
button.click { }, but what if I want to dispatch my own, custom events (from a
class I created myself?).
I wrote my own event system, but I would prefer to use a built-in dispatch
method if it exists.
Thanks!
~sean
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core