]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/cocoa.factor
Merge branch 'master' into startup
[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         "NSApplication"
43         "NSArray"
44         "NSAutoreleasePool"
45         "NSBundle"
46         "NSData"
47         "NSDictionary"
48         "NSError"
49         "NSEvent"
50         "NSException"
51         "NSMenu"
52         "NSMenuItem"
53         "NSMutableDictionary"
54         "NSNib"
55         "NSNotification"
56         "NSNotificationCenter"
57         "NSNumber"
58         "NSObject"
59         "NSOpenGLContext"
60         "NSOpenGLPixelFormat"
61         "NSOpenGLView"
62         "NSOpenPanel"
63         "NSPanel"
64         "NSPasteboard"
65         "NSPropertyListSerialization"
66         "NSResponder"
67         "NSSavePanel"
68         "NSScreen"
69         "NSString"
70         "NSView"
71         "NSWindow"
72         "NSWorkspace"
73     } [
74         [ ] import-objc-class
75     ] each
76 ] with-compilation-unit