summaryrefslogtreecommitdiffstats
path: root/Doc/libpanel.tex
blob: f23fb7ba4446483ed494fb92856a3d3105f7a523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
\section{Standard Module \sectcode{panel}}
\label{module-panel}
\stmodindex{panel}

\strong{Please note:} The FORMS library, to which the \code{fl} module described
above interfaces, is a simpler and more accessible user interface
library for use with GL than the Panel Module (besides also being by a
Dutch author).

This module should be used instead of the built-in module
\code{pnl}
to interface with the
\emph{Panel Library}.

The module is too large to document here in its entirety.
One interesting function:

\renewcommand{\indexsubitem}{(in module panel)}
\begin{funcdesc}{defpanellist}{filename}
Parses a panel description file containing S-expressions written by the
\emph{Panel Editor}
that accompanies the Panel Library and creates the described panels.
It returns a list of panel objects.
\end{funcdesc}

\strong{Warning:}
the Python interpreter will dump core if you don't create a GL window
before calling
\code{panel.mkpanel()}
or
\code{panel.defpanellist()}.

\section{Standard Module \sectcode{panelparser}}
\stmodindex{panelparser}

This module defines a self-contained parser for S-expressions as output
by the Panel Editor (which is written in Scheme so it can't help writing
S-expressions).
The relevant function is
\code{panelparser.parse_file(\var{file})}
which has a file object (not a filename!) as argument and returns a list
of parsed S-expressions.
Each S-expression is converted into a Python list, with atoms converted
to Python strings and sub-expressions (recursively) to Python lists.
For more details, read the module file.
% XXXXJH should be funcdesc, I think

\section{Built-in Module \sectcode{pnl}}
\bimodindex{pnl}

This module provides access to the
\emph{Panel Library}
built by NASA Ames (to get it, send e-mail to
{\tt panel-request@nas.nasa.gov}).
All access to it should be done through the standard module
\code{panel},
which transparantly exports most functions from
\code{pnl}
but redefines
\code{pnl.dopanel()}.

\strong{Warning:}
the Python interpreter will dump core if you don't create a GL window
before calling
\code{pnl.mkpanel()}.

The module is too large to document here in its entirety.