Quick update to the README file. For intros and books we now point to
[python/dscho.git] / Doc / mac / libmacos.tex
blobd3287f4ee19aa170d3aef6852eaa8a54ade04cc3
1 \section{\module{MacOS} ---
2 Access to MacOS interpreter features}
4 \declaremodule{builtin}{MacOS}
5 \platform{Mac}
6 \modulesynopsis{Access to MacOS specific interpreter features.}
9 This module provides access to MacOS specific functionality in the
10 Python interpreter, such as how the interpreter eventloop functions
11 and the like. Use with care.
13 Note the capitalisation of the module name, this is a historical
14 artifact.
16 \begin{excdesc}{Error}
17 This exception is raised on MacOS generated errors, either from
18 functions in this module or from other mac-specific modules like the
19 toolbox interfaces. The arguments are the integer error code (the
20 \cdata{OSErr} value) and a textual description of the error code.
21 Symbolic names for all known error codes are defined in the standard
22 module \module{macerrors}\refstmodindex{macerrors}.
23 \end{excdesc}
25 \begin{funcdesc}{SetEventHandler}{handler}
26 In the inner interpreter loop Python will occasionally check for events,
27 unless disabled with \function{ScheduleParams()}. With this function you
28 can pass a Python event-handler function that will be called if an event
29 is available. The event is passed as parameter and the function should return
30 non-zero if the event has been fully processed, otherwise event processing
31 continues (by passing the event to the console window package, for instance).
33 Call \function{SetEventHandler()} without a parameter to clear the
34 event handler. Setting an event handler while one is already set is an
35 error.
36 \end{funcdesc}
38 \begin{funcdesc}{SchedParams}{\optional{doint\optional{, evtmask\optional{,
39 besocial\optional{, interval\optional{,
40 bgyield}}}}}}
41 Influence the interpreter inner loop event handling. \var{Interval}
42 specifies how often (in seconds, floating point) the interpreter
43 should enter the event processing code. When true, \var{doint} causes
44 interrupt (command-dot) checking to be done. \var{evtmask} tells the
45 interpreter to do event processing for events in the mask (redraws,
46 mouseclicks to switch to other applications, etc). The \var{besocial}
47 flag gives other processes a chance to run. They are granted minimal
48 runtime when Python is in the foreground and \var{bgyield} seconds per
49 \var{interval} when Python runs in the background.
51 All parameters are optional, and default to the current value. The return
52 value of this function is a tuple with the old values of these options.
53 Initial defaults are that all processing is enabled, checking is done every
54 quarter second and the CPU is given up for a quarter second when in the
55 background.
56 \end{funcdesc}
58 \begin{funcdesc}{HandleEvent}{ev}
59 Pass the event record \var{ev} back to the Python event loop, or
60 possibly to the handler for the \code{sys.stdout} window (based on the
61 compiler used to build Python). This allows Python programs that do
62 their own event handling to still have some command-period and
63 window-switching capability.
65 If you attempt to call this function from an event handler set through
66 \function{SetEventHandler()} you will get an exception.
67 \end{funcdesc}
69 \begin{funcdesc}{GetErrorString}{errno}
70 Return the textual description of MacOS error code \var{errno}.
71 \end{funcdesc}
73 \begin{funcdesc}{splash}{resid}
74 This function will put a splash window
75 on-screen, with the contents of the DLOG resource specified by
76 \var{resid}. Calling with a zero argument will remove the splash
77 screen. This function is useful if you want an applet to post a splash screen
78 early in initialization without first having to load numerous
79 extension modules.
80 \end{funcdesc}
82 \begin{funcdesc}{DebugStr}{message \optional{, object}}
83 Drop to the low-level debugger with message \var{message}. The
84 optional \var{object} argument is not used, but can easily be
85 inspected from the debugger.
87 Note that you should use this function with extreme care: if no
88 low-level debugger like MacsBug is installed this call will crash your
89 system. It is intended mainly for developers of Python extension
90 modules.
91 \end{funcdesc}
93 \begin{funcdesc}{openrf}{name \optional{, mode}}
94 Open the resource fork of a file. Arguments are the same as for the
95 built-in function \function{open()}. The object returned has file-like
96 semantics, but it is not a Python file object, so there may be subtle
97 differences.
98 \end{funcdesc}