Added section on passing contextual information to logging and documentation for...
[python.git] / Doc / library / carbon.rst
blobecaf3bb47779a570774d5aa075d35b940e49ac37
2 .. _toolbox:
4 *********************
5 MacOS Toolbox Modules
6 *********************
8 There are a set of modules that provide interfaces to various MacOS toolboxes.
9 If applicable the module will define a number of Python objects for the various
10 structures declared by the toolbox, and operations will be implemented as
11 methods of the object.  Other operations will be implemented as functions in the
12 module.  Not all operations possible in C will also be possible in Python
13 (callbacks are often a problem), and parameters will occasionally be different
14 in Python (input and output buffers, especially).  All methods and functions
15 have a :attr:`__doc__` string describing their arguments and return values, and
16 for additional description you are referred to `Inside Macintosh
17 <http://developer.apple.com/documentation/macos8/mac8.html>`_ or similar works.
19 These modules all live in a package called :mod:`Carbon`. Despite that name they
20 are not all part of the Carbon framework: CF is really in the CoreFoundation
21 framework and Qt is in the QuickTime framework. The normal use pattern is ::
23    from Carbon import AE
25 **Warning!**  These modules are not yet documented.  If you wish to contribute
26 documentation of any of these modules, please get in touch with docs@python.org.
29 :mod:`Carbon.AE` --- Apple Events
30 =================================
32 .. module:: Carbon.AE
33    :platform: Mac
34    :synopsis: Interface to the Apple Events toolbox.
38 :mod:`Carbon.AH` --- Apple Help
39 ===============================
41 .. module:: Carbon.AH
42    :platform: Mac
43    :synopsis: Interface to the Apple Help manager.
47 :mod:`Carbon.App` --- Appearance Manager
48 ========================================
50 .. module:: Carbon.App
51    :platform: Mac
52    :synopsis: Interface to the Appearance Manager.
56 :mod:`Carbon.CF` --- Core Foundation
57 ====================================
59 .. module:: Carbon.CF
60    :platform: Mac
61    :synopsis: Interface to the Core Foundation.
64 The ``CFBase``, ``CFArray``, ``CFData``, ``CFDictionary``, ``CFString`` and
65 ``CFURL`` objects are supported, some only partially.
68 :mod:`Carbon.CG` --- Core Graphics
69 ==================================
71 .. module:: Carbon.CG
72    :platform: Mac
73    :synopsis: Interface to the Component Manager.
77 :mod:`Carbon.CarbonEvt` --- Carbon Event Manager
78 ================================================
80 .. module:: Carbon.CarbonEvt
81    :platform: Mac
82    :synopsis: Interface to the Carbon Event Manager.
86 :mod:`Carbon.Cm` --- Component Manager
87 ======================================
89 .. module:: Carbon.Cm
90    :platform: Mac
91    :synopsis: Interface to the Component Manager.
95 :mod:`Carbon.Ctl` --- Control Manager
96 =====================================
98 .. module:: Carbon.Ctl
99    :platform: Mac
100    :synopsis: Interface to the Control Manager.
104 :mod:`Carbon.Dlg` --- Dialog Manager
105 ====================================
107 .. module:: Carbon.Dlg
108    :platform: Mac
109    :synopsis: Interface to the Dialog Manager.
113 :mod:`Carbon.Evt` --- Event Manager
114 ===================================
116 .. module:: Carbon.Evt
117    :platform: Mac
118    :synopsis: Interface to the classic Event Manager.
122 :mod:`Carbon.Fm` --- Font Manager
123 =================================
125 .. module:: Carbon.Fm
126    :platform: Mac
127    :synopsis: Interface to the Font Manager.
131 :mod:`Carbon.Folder` --- Folder Manager
132 =======================================
134 .. module:: Carbon.Folder
135    :platform: Mac
136    :synopsis: Interface to the Folder Manager.
140 :mod:`Carbon.Help` --- Help Manager
141 ===================================
143 .. module:: Carbon.Help
144    :platform: Mac
145    :synopsis: Interface to the Carbon Help Manager.
149 :mod:`Carbon.List` --- List Manager
150 ===================================
152 .. module:: Carbon.List
153    :platform: Mac
154    :synopsis: Interface to the List Manager.
158 :mod:`Carbon.Menu` --- Menu Manager
159 ===================================
161 .. module:: Carbon.Menu
162    :platform: Mac
163    :synopsis: Interface to the Menu Manager.
167 :mod:`Carbon.Mlte` --- MultiLingual Text Editor
168 ===============================================
170 .. module:: Carbon.Mlte
171    :platform: Mac
172    :synopsis: Interface to the MultiLingual Text Editor.
176 :mod:`Carbon.Qd` --- QuickDraw
177 ==============================
179 .. module:: Carbon.Qd
180    :platform: Mac
181    :synopsis: Interface to the QuickDraw toolbox.
185 :mod:`Carbon.Qdoffs` --- QuickDraw Offscreen
186 ============================================
188 .. module:: Carbon.Qdoffs
189    :platform: Mac
190    :synopsis: Interface to the QuickDraw Offscreen APIs.
194 :mod:`Carbon.Qt` --- QuickTime
195 ==============================
197 .. module:: Carbon.Qt
198    :platform: Mac
199    :synopsis: Interface to the QuickTime toolbox.
203 :mod:`Carbon.Res` --- Resource Manager and Handles
204 ==================================================
206 .. module:: Carbon.Res
207    :platform: Mac
208    :synopsis: Interface to the Resource Manager and Handles.
212 :mod:`Carbon.Scrap` --- Scrap Manager
213 =====================================
215 .. module:: Carbon.Scrap
216    :platform: Mac
217    :synopsis: The Scrap Manager provides basic services for implementing cut & paste and
218               clipboard operations.
221 This module is only fully available on MacOS9 and earlier under classic PPC
222 MacPython.  Very limited functionality is available under Carbon MacPython.
224 .. index:: single: Scrap Manager
226 The Scrap Manager supports the simplest form of cut & paste operations on the
227 Macintosh.  It can be use for both inter- and intra-application clipboard
228 operations.
230 The :mod:`Scrap` module provides low-level access to the functions of the Scrap
231 Manager.  It contains the following functions:
234 .. function:: InfoScrap()
236    Return current information about the scrap.  The information is encoded as a
237    tuple containing the fields ``(size, handle, count, state, path)``.
239    +----------+---------------------------------------------+
240    | Field    | Meaning                                     |
241    +==========+=============================================+
242    | *size*   | Size of the scrap in bytes.                 |
243    +----------+---------------------------------------------+
244    | *handle* | Resource object representing the scrap.     |
245    +----------+---------------------------------------------+
246    | *count*  | Serial number of the scrap contents.        |
247    +----------+---------------------------------------------+
248    | *state*  | Integer; positive if in memory, ``0`` if on |
249    |          | disk, negative if uninitialized.            |
250    +----------+---------------------------------------------+
251    | *path*   | Filename of the scrap when stored on disk.  |
252    +----------+---------------------------------------------+
255 .. seealso::
257    `Scrap Manager <http://developer.apple.com/documentation/mac/MoreToolbox/MoreToolbox-109.html>`_
258       Apple's documentation for the Scrap Manager gives a lot of useful information
259       about using the Scrap Manager in applications.
263 :mod:`Carbon.Snd` --- Sound Manager
264 ===================================
266 .. module:: Carbon.Snd
267    :platform: Mac
268    :synopsis: Interface to the Sound Manager.
272 :mod:`Carbon.TE` --- TextEdit
273 =============================
275 .. module:: Carbon.TE
276    :platform: Mac
277    :synopsis: Interface to TextEdit.
281 :mod:`Carbon.Win` --- Window Manager
282 ====================================
284 .. module:: Carbon.Win
285    :platform: Mac
286    :synopsis: Interface to the Window Manager.