]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/nibs/nibs.factor
Updating code to use with-out-parameters
[factor.git] / basis / cocoa / nibs / nibs.factor
1 ! Copyright (C) 2008, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data cocoa.application cocoa.messages
4 cocoa.classes cocoa.runtime cocoa core-foundation
5 core-foundation.arrays kernel ;
6 IN: cocoa.nibs
7
8 : load-nib ( name -- )
9     NSBundle
10     swap <NSString> NSApp -> loadNibNamed:owner:
11     drop ;
12
13 : nib-named ( nib-name -- anNSNib )
14     <NSString> NSNib -> alloc swap f -> initWithNibNamed:bundle:
15     dup [ -> autorelease ] when ;
16
17 : nib-objects ( anNSNib -- objects/f )
18     f
19     { void* } [ -> instantiateNibWithOwner:topLevelObjects: ] [ ]
20     with-out-parameters
21     swap [ CF>array ] [ drop f ] if ;