1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
---|
2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
3 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
4 | <head> |
---|
5 | <title>CurrencyConverter HOWTO</title> |
---|
6 | <link rel="stylesheet" type="text/css" href="HOWTO_files/stylesheets/styles.css" /> |
---|
7 | </head> |
---|
8 | |
---|
9 | <body> |
---|
10 | |
---|
11 | <div class="title"> |
---|
12 | <h1>CurrencyConverter HOWTO</h1> |
---|
13 | </div> |
---|
14 | |
---|
15 | <div class="subtitle"> |
---|
16 | <h2>Creating Apple's <a |
---|
17 | href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/index.html"> |
---|
18 | Currency Converter</a> example<br/> |
---|
19 | with Clozure CL |
---|
20 | </h2></div> |
---|
21 | |
---|
22 | <div class="subtitle"> |
---|
23 | <img src="HOWTO_files/images/bosco.jpg" |
---|
24 | width="48" height="48" border="0" alt="" |
---|
25 | border='0'/> |
---|
26 | </div> |
---|
27 | |
---|
28 | <div class="byline"> |
---|
29 | <p>by mikel evins</p> |
---|
30 | </div> |
---|
31 | |
---|
32 | <div class="body-text"> |
---|
33 | <p>This HOWTO guide explains how to use Clozure CL (formerly |
---|
34 | OpenMCL) to create a Cocoa application that is functionally |
---|
35 | identical to Apple's |
---|
36 | <a |
---|
37 | href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/index.html"> |
---|
38 | Currency Converter</a> example. The most important |
---|
39 | difference between Apple's example and this one is that this |
---|
40 | one is implemented in Common Lisp instead of Objective C. It |
---|
41 | uses Clozure CL's Objective-C bridge to provide communication |
---|
42 | between the Lisp code that you write and Apple's Cocoa |
---|
43 | frameworks. The resulting application looks and acts just |
---|
44 | like any other Cocoa application.</p> |
---|
45 | |
---|
46 | <p>This HOWTO doesn't discuss all the background information |
---|
47 | that Apple's tutorial covers. Instead, we assume that you have |
---|
48 | Apple's document handy for reference, and we just describe the |
---|
49 | specific steps needed to build the example using |
---|
50 | Apple's InterfaceBuilder application and Clozure CL.</p> |
---|
51 | |
---|
52 | <p>The current version of the Clozure CL Objective-C bridge |
---|
53 | includes code that was formerly distributed separately as the |
---|
54 | "Bosco" application framework. Because that framework has been |
---|
55 | integrated with Clozure CL proper, it no longer exists as a |
---|
56 | separate project. "Bosco" now names only the decorative rodent |
---|
57 | at the top of this page.</p> |
---|
58 | </div> |
---|
59 | |
---|
60 | <div class="section-head"> |
---|
61 | <h2>Apple's Currency Converter Example</h2> |
---|
62 | </div> |
---|
63 | |
---|
64 | <div class="body-text"> |
---|
65 | <p>It will be helpful in understanding this example if you can |
---|
66 | easily refer to |
---|
67 | Apple's <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/index.html"> |
---|
68 | Currency Converter</a> tutorial while working through this |
---|
69 | HOWTO. You might consider opening a separate window or tab, and |
---|
70 | keeping the Apple example handy while you work.</p> |
---|
71 | |
---|
72 | <p>In some ways, the Lisp version of the example is simpler |
---|
73 | than the Objective C example, but the basic concepts are the |
---|
74 | same. In particular, the Lisp example follows the same |
---|
75 | <a |
---|
76 | href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/02Essence/chapter_2_section_4.html#//apple_ref/doc/uid/TP40000863-CH3-DontLinkElementID_6"> |
---|
77 | Model-View-Controller</a> paradigm that the Apple tutorial |
---|
78 | uses. If you are new to Cocoa programming, or if you are not |
---|
79 | familiar with how it uses the Model-View-Controller paradigm, |
---|
80 | it's probably a good idea to read through the Apple example in |
---|
81 | full, paying special attention to the Model-View-Controller |
---|
82 | section. Once you've done that, keep the Apple pages handy in |
---|
83 | a window for easy reference.</p> |
---|
84 | |
---|
85 | <p>This Common Lisp version of the Currency Converter example |
---|
86 | uses Apple's InterfaceBuilder application to build a window and |
---|
87 | main menu, and then uses Common Lisp code to load and operate |
---|
88 | that user interface. The Common Lisp code relies on Clozure CL's |
---|
89 | Objective-C bridge to provide communication between the running |
---|
90 | Lisp code and Apple's Cocoa frameworks. Once the code is |
---|
91 | complete, we use the BUILD-APPLICATION function to save a |
---|
92 | working Cocoa application bundle. That bundle looks and acts |
---|
93 | just like any other Cocoa application.</p> |
---|
94 | |
---|
95 | </div> |
---|
96 | |
---|
97 | <div class="section-head"> |
---|
98 | <h2>Requirements Before You Start</h2> |
---|
99 | </div> |
---|
100 | |
---|
101 | <div class="body-text"> |
---|
102 | <p>In order to build this example you will need:</p> |
---|
103 | |
---|
104 | <ul> |
---|
105 | <li><p>Mac OS X Leopard (version 10.5.x) or Mac OS X Tiger |
---|
106 | (version 10.4.x)</p></li> |
---|
107 | <li><p>Apple's XCode development tools</p></li> |
---|
108 | <li><p>Apple's InterfaceBuilder application (included with XCode)</p></li> |
---|
109 | <li><p>A recent version of Clozure CL</p></li> |
---|
110 | <li><p>The Apple <a |
---|
111 | href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/index.html"> |
---|
112 | Currency Converter</a> example, for reference</p></li> |
---|
113 | </ul> |
---|
114 | </div> |
---|
115 | |
---|
116 | <div class="nav"> |
---|
117 | <p><a href="HOWTO_files/pages/making_project.html">next</a></p> |
---|
118 | </div> |
---|
119 | |
---|
120 | </body> |
---|
121 | </html> |
---|
122 | |
---|