]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/cocoa.factor
cleanup some QUALIFIED: that are no longer needed.
[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: cocoa.messages compiler.units core-foundation.bundles
4 hashtables init io kernel lexer namespaces sequences vocabs ;
5 IN: cocoa
6
7 SYMBOL: sent-messages
8
9 : (remember-send) ( selector variable -- )
10     [ dupd ?set-at ] change-global ;
11
12 : remember-send ( selector -- )
13     sent-messages (remember-send) ;
14
15 SYNTAX: -> scan-token dup remember-send suffix! \ send suffix! ;
16
17 SYNTAX: SEL:
18     scan-token
19     [ remember-send ]
20     [ <selector> suffix! \ cocoa.messages:selector suffix! ] bi ;
21
22 SYMBOL: super-sent-messages
23
24 : remember-super-send ( selector -- )
25     super-sent-messages (remember-send) ;
26
27 SYNTAX: SUPER-> scan-token dup remember-super-send suffix! \ super-send suffix! ;
28
29 SYMBOL: frameworks
30
31 frameworks [ V{ } clone ] initialize
32
33 [ frameworks get [ load-framework ] each ] "cocoa" add-startup-hook
34
35 SYNTAX: FRAMEWORK: scan-token [ load-framework ] [ frameworks get push ] bi ;
36
37 SYNTAX: IMPORT: scan-token [ ] import-objc-class ;
38
39 "Importing Cocoa classes..." print
40
41 "cocoa.classes" create-vocab drop
42
43 [
44     {
45         "NSAlert"
46         "NSAppleScript"
47         "NSApplication"
48         "NSArray"
49         "NSAutoreleasePool"
50         "NSBitmapImageRep"
51         "NSBundle"
52         "NSColorSpace"
53         "NSData"
54         "NSDictionary"
55         "NSError"
56         "NSEvent"
57         "NSException"
58         "NSMenu"
59         "NSMenuItem"
60         "NSMutableDictionary"
61         "NSNib"
62         "NSNotification"
63         "NSNotificationCenter"
64         "NSNumber"
65         "NSObject"
66         "NSOpenGLContext"
67         "NSOpenGLPixelFormat"
68         "NSOpenGLView"
69         "NSOpenPanel"
70         "NSPanel"
71         "NSPasteboard"
72         "NSPropertyListSerialization"
73         "NSResponder"
74         "NSSavePanel"
75         "NSScreen"
76         "NSString"
77         "NSView"
78         "NSWindow"
79         "NSWorkspace"
80     } [
81         [ ] import-objc-class
82     ] each
83 ] with-compilation-unit