]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/cocoa.factor
Merge branch 'master' of git://factorcode.org/git/factor into s3
[factor.git] / basis / cocoa / cocoa.factor
1 ! Copyright (C) 2006, 2009 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: compiler io kernel cocoa.runtime cocoa.subclassing
4 cocoa.messages cocoa.types sequences words vocabs parser
5 core-foundation.bundles namespaces assocs hashtables
6 compiler.units lexer init ;
7 IN: cocoa
8
9 : (remember-send) ( selector variable -- )
10     [ dupd ?set-at ] change-global ;
11
12 SYMBOL: sent-messages
13
14 : remember-send ( selector -- )
15     sent-messages (remember-send) ;
16
17 SYNTAX: -> scan dup remember-send suffix! \ send suffix! ;
18
19 SYMBOL: super-sent-messages
20
21 : remember-super-send ( selector -- )
22     super-sent-messages (remember-send) ;
23
24 SYNTAX: SUPER-> scan dup remember-super-send suffix! \ super-send suffix! ;
25
26 SYMBOL: frameworks
27
28 frameworks [ V{ } clone ] initialize
29
30 [ frameworks get [ load-framework ] each ] "cocoa" add-startup-hook
31
32 SYNTAX: FRAMEWORK: scan [ load-framework ] [ frameworks get push ] bi ;
33
34 SYNTAX: IMPORT: scan [ ] import-objc-class ;
35
36 "Importing Cocoa classes..." print
37
38 "cocoa.classes" create-vocab drop
39
40 [
41     {
42         "NSAlert"
43         "NSApplication"
44         "NSArray"
45         "NSAutoreleasePool"
46         "NSBundle"
47         "NSData"
48         "NSDictionary"
49         "NSError"
50         "NSEvent"
51         "NSException"
52         "NSMenu"
53         "NSMenuItem"
54         "NSMutableDictionary"
55         "NSNib"
56         "NSNotification"
57         "NSNotificationCenter"
58         "NSNumber"
59         "NSObject"
60         "NSOpenGLContext"
61         "NSOpenGLPixelFormat"
62         "NSOpenGLView"
63         "NSOpenPanel"
64         "NSPanel"
65         "NSPasteboard"
66         "NSPropertyListSerialization"
67         "NSResponder"
68         "NSSavePanel"
69         "NSScreen"
70         "NSString"
71         "NSView"
72         "NSWindow"
73         "NSWorkspace"
74     } [
75         [ ] import-objc-class
76     ] each
77 ] with-compilation-unit