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