From: Robert D. <rob...@fa...> - 2006-02-23 18:13:16
|
On Feb 23, 2006, at 1:03 PM, Anatoly Zaretsky wrote: > On 2/23/06, Robert Dockins <rob...@fa...> wrote: >> >> How would one go about adding them? I'm not familiar with the how >> WxEiffel and the WxHaskell build system works. Is there a particular >> reason they aren't exposed already? > > WxHaskell uses wxc part of wxEiffel -- basically, C wrappers around > C++ classes methods. And as far as I know wxEiffel doesn't evolve > anymore, so there's noone to add wrappers for missing classes. OK. So its not likely to happen soon unless I decide to do it... >> I'm not sure I fully understand, so let me paraphrase and see if I've >> got this right: >> >> 'makeEvent' takes an object which can handle events and returns a >> pair where >> -- the first element triggers an event by via the menu event >> handler on the passed in object >> -- the second element lets you set the event handler > > Exactly. I am sorry for omitting the description. Just to note: every > makeEvent generates distinct event object. > >> If you want to pass additional data beyond the simple occurance of >> the event, you need external concurrency primitives. > > Yes, but I personaly think that passing haskell data between haskell > threads through C-land is less natural (and heavier) than using native > primitives. Yeah, it just brings up thorny questions about synchronizing what are essentially two parallel message queues. I know that a Chan will guarantee inorder delivery without dropped messages, but I don't know what the properties of the wx event queues are. Is it possible that they could become out of sync? I don't want to deadlock because wx dropped an event, and I'll have to be pretty careful if events can be delivered out-of-order. Thanks again. Rob Dockins Speak softly and drive a Sherman tank. Laugh hard; it's a long way to the bank. -- TMBG |