So It seems to me the only change there is uninlining the lambda and assigning
it to a throwaway variable. That feels like busywork.
I suspect this has to do with keeping a reference so it doesn't get GC'd. Just
a hunch. Am I getting there?
Why is this needed?
On 2011-01-09, at 17:10 , Matt Aimonetti wrote:
>
> I realize I didn't really reply to your question, the following code should
> work:
>
> {{{
> def loadSprite(sender)
> handler = lambda do |code|
> return if code == NSCancelButton
> # do things with the panel's date otherwise
> end
>
> @panel.beginSheetModalForWindow(@window, completionHandler: handler)
> end
> }}}
>
> - Matt
>
>
> On Sun, Jan 9, 2011 at 8:09 AM, Rolando Abarca
> <[email protected]>wrote:
>
>> Hi all,
>>
>> I've taken a look at the referred issue (#712), but I'm not sure of
>> the final implemented syntax. I'm trying to use a NSOpenPanel, so far
>> this is what I'm doing:
>>
>>
>> {{{
>> def loadSprite(sender)
>> @panel.beginSheetModalForWindow(@window, completionHandler:lambda {
>> |code|
>> NSLog("code: #{code}")
>> })
>> end
>> }}}
>>
>> what's the Right Way(tm) to use a NSOpenPanel?
>> thanks!
>> --
>> Rolando Abarca M.
>> Games For Food S.p.A.
>> http://www.gamesforfood.com
>> Phone: +1 (408) 345-5433
>> _______________________________________________
>> MacRuby-devel mailing list
>> [email protected]
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
> _______________________________________________
> MacRuby-devel mailing list
> [email protected]
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel