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

Reply via email to