blob: 26b08cc82906a0c51f50e6be0e60bbe9f8664e23 [file] [log] [blame]
Jack Jansena6308131996-03-18 13:38:52 +00001<HTML><HEAD><TITLE>Macintosh Python crash course</TITLE></HEAD>
2<BODY>
3<H1><IMG SRC="html.icons/python.gif">Macintosh Python crash course</H1>
4<HR>
5
6This set of documents provides an introduction to various aspects of
7Python programming on the Mac. It is assumed that the reader is
8already familiar with Python and, to some extent, with MacOS Toolbox
9programming. Other readers may find something interesting here too,
10your mileage may vary. <p>
11
Jack Jansen5f962c21996-04-10 14:52:59 +000012There is a companion document <a href="using.html">Using Python on the Mac</a>
13which you should read before starting here: it explains the basics of using
14python on the Macintosh. <p>
15
Jack Jansena6308131996-03-18 13:38:52 +000016Another set of Macintosh-savvy examples, more aimed at beginners, is
17maintained by Joseph Strout, at <A
18HREF="http://www-acs.ucsd.edu/~jstrout/python/">
19http://www-acs.ucsd.edu/~jstrout/python/</A>.
20<P>
21
Jack Jansen3412c5d1997-08-27 14:08:22 +000022The <a href="http://www.python.org/doc/lib/Top.html">Python Library
23Reference</a> contains a section on <a
24href="http://www.python.org/doc/lib/Macintosh-Specific-Services.html">Macintosh-specific
25modules</a> that you should also read. Documentation is also available
26in PostScript and other forms, see the <a
27href="http://www.python.org/doc/">documentation</a> section on the
28webserver. <p>
Jack Jansen024a3871996-07-18 16:07:05 +000029
Jack Jansen968cde92000-04-22 21:48:56 +000030The W widget set by Just van Rossum, which is used by the Python IDE, does not
31have complete documentation as of this writing, but Corran Webster has
32documented most of it on his
33<A HREF="http://www.nevada.edu/~cwebster/Python/">Python Page</A>.
34
Jack Jansena6308131996-03-18 13:38:52 +000035
Jack Jansena6308131996-03-18 13:38:52 +000036<H2>Table of contents</H2>
37
Jack Jansen968cde92000-04-22 21:48:56 +000038<blockquote><B>Note:</B>
39Some of these documents were actually written a long time ago and have seen
40little maintainance, so use with care. </blockquote>
Jack Jansena6308131996-03-18 13:38:52 +000041<UL>
42<LI>
Jack Jansen024a3871996-07-18 16:07:05 +000043<A HREF="example0.html">Using python to create Macintosh applications,
44part zero</A> whets your appetite by showing you how to ask the user
45for a filename, and how to display a message. It explains about end-of-line
46confusion while doing so.
47
48<LI>
Jack Jansena6308131996-03-18 13:38:52 +000049<A HREF="example1.html">Using python to create Macintosh applications,
50part one</A> explains how to create a simple modal-dialog application
51in Python. It also takes a glance at using the toolbox modules Res and
52Dlg, and EasyDialogs for simple question-dialogs.
53
54<LI>
55<A HREF="example2.html">Using python to create Macintosh applications,
56part two</A> turns the previous example program into a more complete
57mac application, using a modeless dialog, menus, etc. It also explains
58how to create applets, standalone applications written in Python.
59
60<LI>
Jack Jansend9690611998-06-26 15:01:52 +000061<A HREF="freezing.html">Freezing Python programs</A> extends on this concept,
62and shows you how to create applications that can be used on machines without
63a full Python installed. This one is probably best skipped on first contact
64with MacPython.
65
66<LI>
Jack Jansen08365421996-04-19 15:56:08 +000067<A HREF="textedit.html">Using FrameWork and TextEdit</A> shows you
68how to use <code>FrameWork</code> application framework and the
69<code>TextEdit</code> toolbox to build a text editor.
70
71<LI>
72<A HREF="waste.html">Using WASTE</A> expands on this editor by using
73WASTE, an extended TextEdit replacement.
Jack Jansena6308131996-03-18 13:38:52 +000074
75<LI>
76<A HREF="plugins.html">Creating a C extension module on the Macintosh</A>
77is meant for the hardcore programmer, and shows how to create an
78extension module in C. It also handles using Modulator to create the
79boilerplate for your module, and creating dynamically-loadable modules
Jack Jansen968cde92000-04-22 21:48:56 +000080on PowerPC Macs. It assumes you use CodeWarrior for you development.
81
82<LI>
83<A HREF="mpwextensions.html">Creating C extension modules using MPW</A>
84is a companion document, written by Corran Webster, which explains how you
85can develop Python extensions using Apple's free MPW compiler environment.
Jack Jansena6308131996-03-18 13:38:52 +000086
87<LI>
88<A HREF="applescript.html">Using Open Scripting Architecture from Python</A> explains
89how to create a Python module interfacing to a scriptable application,
90and how to use that module in your python program.
Jack Jansen41222161996-05-20 11:32:49 +000091
92<LI>
Jack Jansen09da2091996-09-09 01:48:03 +000093<A HREF="cgi.html">Using python to create CGI scripts</A> is a preliminary
94introduction to writing CGI scripts in Python and to writing scriptable applications
95in Python.
96
97<LI>
Jack Jansen36389351996-08-07 13:19:16 +000098<A HREF="building.html">Building Mac Python from source</A> explains
Jack Jansen41222161996-05-20 11:32:49 +000099how to build a PPC or 68K interpreter from a source distribution.
Jack Jansen6ad8d131997-01-15 16:53:37 +0000100
101<LI>
102<A HREF="embed.html">Embedding Python on the Mac</A> is a minimal example of
103how to embed Python in other Mac applications.
104
Jack Jansena6308131996-03-18 13:38:52 +0000105</UL>
106
Jack Jansen08365421996-04-19 15:56:08 +0000107The Python distribution contains a few more examples, all unexplained:
108<UL>
109<LI>
110<I>PICTbrowse</I> is an application that locates PICT
111resources and displays them, it demonstrates some quickdraw and the
Jack Jansen1c4d96f1999-01-21 14:30:55 +0000112resource and list managers. In the same folder you will find the very
Jack Jansenb06007a1999-12-23 14:45:41 +0000113similar scripts ICONbrowse and cicnbrowse. oldPICTbrowse is the same program
114but form the pre-Appearance era, it uses a dialog with a user item and
115creates and manages its own List object.
Jack Jansen08365421996-04-19 15:56:08 +0000116
117<LI>
118<I>Imgbrowse</I> displays image files in
119many different formats (gif, tiff, pbm, etc). It shows how to use the
120img modules on the mac.
121
122<LI>
123<I>Quicktime</I> has the standard <code>MovieInWindow</code> and
124<code>VerySimplePlayer</code> examples, re-coded in Python.
125
126<LI>
127<I>Resources</I>, <I>Sound</I> and <I>Speech</I> have some examples
Jack Jansena2139fe1998-02-25 15:40:35 +0000128on using the respective managers. In the <i>Mac:Lib</i> folder you
129will also find modules that do useful things with the Communications
130Toolbox, the Finder interface, etc.
Jack Jansen5073b371998-04-27 15:06:50 +0000131
132<LI>
133<I>Printing</I> has an example on using the Printing module to, you guessed
134it, print from Python. The code is somewhat self-documenting. Donated
135by Just van Rossum, who also donated the Printing module itself.
Jack Jansen08365421996-04-19 15:56:08 +0000136</UL>
137
Jack Jansena6308131996-03-18 13:38:52 +0000138At some point in the (possibly distant) future, I will add chapters on
139how to use bgen to create modules completely automatic and how to make
140your Python program scriptable, but that will have to wait. <p>
141
142<HR>
143
144Please let me know if you miss critical information in this
145document. I am quite sure that I will never find the time to turn it
146into a complete MacPython programmers guide (which would probably be a
Jack Jansena2139fe1998-02-25 15:40:35 +0000147400-page book instead of 10 lousy html-files), but it should contain
Jack Jansena6308131996-03-18 13:38:52 +0000148at least the information that is neither in the standard Python
149documentation nor in Inside Mac or other Mac programmers
150documentation. <p>
151
152<HR>
153<A HREF="http://www.cwi.nl/~jack">Jack Jansen</A>,
Jack Jansen968cde92000-04-22 21:48:56 +0000154<A HREF="mailto:jack@cwi.nl">jack@cwi.nl</A>, 22-Apr-00.
Jack Jansen024a3871996-07-18 16:07:05 +0000155</BODY></HTML>