[MacRuby-devel] C-level blocks (issue #712)?
Caio Chassot
lists at caiochassot.com
Sun Jan 9 11:46:12 PST 2011
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 <rolando at gamesforfood.com>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
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
More information about the MacRuby-devel
mailing list