summaryrefslogtreecommitdiffstats
path: root/Doc/libpanel.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/libpanel.tex')
-rw-r--r--Doc/libpanel.tex66
1 files changed, 66 insertions, 0 deletions
diff --git a/Doc/libpanel.tex b/Doc/libpanel.tex
new file mode 100644
index 0000000..b82bf98
--- /dev/null
+++ b/Doc/libpanel.tex
@@ -0,0 +1,66 @@
+\section{Standard Module \sectcode{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
+{\em 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
+{\em 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
+{\em 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.