\Header{promptClass}{Generate a Shell for Documentation of a Formal Class}
\keyword{programming}{promptClass}
\keyword{classes}{promptClass}
\begin{Description}\relax
assembles all relevant slot and method information for a class,
with minimal markup for Rd processing; no QA facilities at present\end{Description}
\begin{Usage}
\begin{verbatim}
promptClass(clName, filename, type = "class", where)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{clName}] character string naming the class to be documented 
\item[\code{filename}] Usually, the filename on which the documentation
shell should be written.  By
default it is the topic name for the class documentation,
followed by ".Rd". See the example below.  The argument can also be any writable \link{connection}.
\item[\code{type}] The documentation type to be declared in the output file.
\item[\code{where}] where to look for the definition of the class and of methods that
use it.  By default, the function searches for the class
definition on the currently attached databases.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The class definition is found on the search list.  Using that
definition, information about classes extended and slots is
determined.

In addition, the currently available generics with methods for this
class are found (using \code{\Link{getGenerics}}).  Note that these
methods need not be on the same database as the class definition; in
particular, this part of the output may depend on which
packages are currently in the search list.

As with other prompt-style functions, the documentation shell is
written to a file, which will need editing to give information about
the \emph{meaning} of the class.  The output of \code{promptClass} can
only contain information from the metadata about the formal definition
and how it is used.\end{Details}
\begin{Value}
The name of the file to which the shell is written (the value is
\code{\Link{invisible}}).
A message is also printed notifying
the user about the file.\end{Value}
\begin{Author}\relax
VJ Carey, \email{stvjc@channing.harvard.edu} and John Chambers\end{Author}
\begin{References}\relax
The web page \url{http://www.omegahat.org/RSMethods/index.html} is the primary documentation.

The functions in this package emulate the facility for classes and methods described in
\emph{Programming with Data}, (John M. Chambers, Springer, 1998).  See this book
for further details and examples.\end{References}
\begin{SeeAlso}\relax
\code{\Link{prompt}} for documentation of functions, 
\code{\Link{promptMethods}} for documentation of method definitions.

For processing of the edited documentation, either use \code{R cmd
    \Link{Rdconv}}, or include the edited file in the \code{man}
subdirectory of a package.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}

> promptClass("track")
A shell of class documentation has been written to the 
file "track-class.Rd".
\end{ExampleCode}
\end{Examples}

