\chapter{MacOS Toolbox Modules \label{toolbox}}

There are a set of modules that provide interfaces to various MacOS
toolboxes.  If applicable the module will define a number of Python
objects for the various structures declared by the toolbox, and
operations will be implemented as methods of the object.  Other
operations will be implemented as functions in the module.  Not all
operations possible in C will also be possible in Python (callbacks
are often a problem), and parameters will occasionally be different in
Python (input and output buffers, especially).  All methods and
functions have a \member{__doc__} string describing their arguments
and return values, and for additional description you are referred to
\citetitle[http://developer.apple.com/documentation/macos8/mac8.html]{Inside
Macintosh} or similar works.

These modules all live in a package called \module{Carbon}. Despite that name
they are not all part of the Carbon framework: CF is really in the CoreFoundation
framework and Qt is in the QuickTime framework.
The normal use pattern is

\begin{verbatim}
from Carbon import AE
\end{verbatim}

\strong{Warning!}  These modules are not yet documented.  If you
wish to contribute documentation of any of these modules, please get
in touch with \email{docs@python.org}.

\localmoduletable


%\section{Argument Handling for Toolbox Modules}


\section{\module{Carbon.AE} --- Apple Events}
\declaremodule{standard}{Carbon.AE}
  \platform{Mac}
\modulesynopsis{Interface to the Apple Events toolbox.}

\section{\module{Carbon.AH} --- Apple Help}
\declaremodule{standard}{Carbon.AH}
  \platform{Mac}
\modulesynopsis{Interface to the Apple Help manager.}


\section{\module{Carbon.App} --- Appearance Manager}
\declaremodule{standard}{Carbon.App}
  \platform{Mac}
\modulesynopsis{Interface to the Appearance Manager.}


\section{\module{Carbon.CF} --- Core Foundation}
\declaremodule{standard}{Carbon.CF}
  \platform{Mac}
\modulesynopsis{Interface to the Core Foundation.}

The
\code{CFBase}, \code{CFArray}, \code{CFData}, \code{CFDictionary},
\code{CFString} and \code{CFURL} objects are supported, some
only partially.

\section{\module{Carbon.CG} --- Core Graphics}
\declaremodule{standard}{Carbon.CG}
  \platform{Mac}
\modulesynopsis{Interface to the Component Manager.}

\section{\module{Carbon.CarbonEvt} --- Carbon Event Manager}
\declaremodule{standard}{Carbon.CarbonEvt}
  \platform{Mac}
\modulesynopsis{Interface to the Carbon Event Manager.}

\section{\module{Carbon.Cm} --- Component Manager}
\declaremodule{standard}{Carbon.Cm}
  \platform{Mac}
\modulesynopsis{Interface to the Component Manager.}


\section{\module{Carbon.Ctl} --- Control Manager}
\declaremodule{standard}{Carbon.Ctl}
  \platform{Mac}
\modulesynopsis{Interface to the Control Manager.}


\section{\module{Carbon.Dlg} --- Dialog Manager}
\declaremodule{standard}{Carbon.Dlg}
  \platform{Mac}
\modulesynopsis{Interface to the Dialog Manager.}


\section{\module{Carbon.Evt} --- Event Manager}
\declaremodule{standard}{Carbon.Evt}
  \platform{Mac}
\modulesynopsis{Interface to the classic Event Manager.}


\section{\module{Carbon.Fm} --- Font Manager}
\declaremodule{standard}{Carbon.Fm}
  \platform{Mac}
\modulesynopsis{Interface to the Font Manager.}

\section{\module{Carbon.Folder} --- Folder Manager}
\declaremodule{standard}{Carbon.Folder}
  \platform{Mac}
\modulesynopsis{Interface to the Folder Manager.}


\section{\module{Carbon.Help} --- Help Manager}
\declaremodule{standard}{Carbon.Help}
  \platform{Mac}
\modulesynopsis{Interface to the Carbon Help Manager.}

\section{\module{Carbon.List} --- List Manager}
\declaremodule{standard}{Carbon.List}
  \platform{Mac}
\modulesynopsis{Interface to the List Manager.}


\section{\module{Carbon.Menu} --- Menu Manager}
\declaremodule{standard}{Carbon.Menu}
  \platform{Mac}
\modulesynopsis{Interface to the Menu Manager.}


\section{\module{Carbon.Mlte} --- MultiLingual Text Editor}
\declaremodule{standard}{Carbon.Mlte}
  \platform{Mac}
\modulesynopsis{Interface to the MultiLingual Text Editor.}


\section{\module{Carbon.Qd} --- QuickDraw}
\declaremodule{builtin}{Carbon.Qd}
  \platform{Mac}
\modulesynopsis{Interface to the QuickDraw toolbox.}


\section{\module{Carbon.Qdoffs} --- QuickDraw Offscreen}
\declaremodule{builtin}{Carbon.Qdoffs}
  \platform{Mac}
\modulesynopsis{Interface to the QuickDraw Offscreen APIs.}


\section{\module{Carbon.Qt} --- QuickTime}
\declaremodule{standard}{Carbon.Qt}
  \platform{Mac}
\modulesynopsis{Interface to the QuickTime toolbox.}


\section{\module{Carbon.Res} --- Resource Manager and Handles}
\declaremodule{standard}{Carbon.Res}
  \platform{Mac}
\modulesynopsis{Interface to the Resource Manager and Handles.}

\section{\module{Carbon.Scrap} --- Scrap Manager}
\declaremodule{standard}{Carbon.Scrap}
  \platform{Mac}
\modulesynopsis{Interface to the Carbon Scrap Manager.}

\section{\module{Carbon.Snd} --- Sound Manager}
\declaremodule{standard}{Carbon.Snd}
  \platform{Mac}
\modulesynopsis{Interface to the Sound Manager.}


\section{\module{Carbon.TE} --- TextEdit}
\declaremodule{standard}{Carbon.TE}
  \platform{Mac}
\modulesynopsis{Interface to TextEdit.}


\section{\module{Carbon.Win} --- Window Manager}
\declaremodule{standard}{Carbon.Win}
  \platform{Mac}
\modulesynopsis{Interface to the Window Manager.}
