\begindata{text,268773668}
\textdsversion{12}
\template{help}
\chapter{Programming with the

Andrew Toolkit

}
\section{What the Andrew Toolkit is

}\leftindent{
The Andrew Toolkit (also called  \italic{ATK} ) is a user interface toolkit 
with two primary goals:  (1) to support the development of stand-alone 
applications that integrate text, graphics and images in a standard, efficient 
user interface; and (2) to support the development of multi-media editors, 
that is, editors that allow users to edit text, equations, graphs, tables, 
pictures, and so forth, all in a single program.   


You can learn to program in ATK by reading the documentation and example 
programs that accompany it.  

}
\section{Adew: Andrew Development Environment Workbench

}\leftindent{
The Andrew Development Environment Workbench ( \italic{ADEW }) is a user 
interface management system that simplifies the creation of Andrew Toolkit ( 
\italic{ATK} ) applications.  ADEW can be used for rapid prototyping allowing 
non-programmers and programmers alike to design applications.  Anyone 
interested in developing ATK applications might well find ADEW a good starting 
place and a useful tool for creating demo and test applications. 

}
\section{Ness: An Extension Language for ATK

}\leftindent{
Ness is a programming language and associated system based upon the Andrew 
Toolkit.  It can be used to create stand-alone Ness programs or to create Ness 
scripts, which are programs that are embedded in an ATK document or 
application.  Ness is particularly suited to extending existing ATK objects 
and string-processing applications. 


}\section{CreateInset: Generate Source Files for a New Inset

}\leftindent{ 

To create a new  \italic{inset }, (if you are not using Adew) one must create 
seven or eight files, much of the initial contents of which are rather 
standard.  The \italic{ createinset}  program creates a directory and copies a 
standard set of files into it, changing names systematically to a name of your 
choice.  To create your own inset, you change the parts marked '$$$' in each 
source file.

}
\section{ATK documentation}\leftindent{


There is a lot of documentation on ATK, designed to be read on-line.  For an 
introduction to ATK programming, see the document in


/usr/andrew/doc/atk/overview.doc


There are also example ATK programs and descriptions of the code in 
/usr/andrew/examples and /usr/andrew/doc/atk/examples, respectivley.


Hard copy documentation, though not integrated and complete, is available from 
the ITC:


Information Technology Center

Andrew Toolkit Documentation

Carnegie Mellon University

Pittsburgh, PA  15213

}
\section{A book about ATK programming


}\leftindent{There is a book is called "Multimedia Applications Development 
with the Andrew Toolkit", by Nathaniel S. Borenstein, published by 
Prentice-Hall, 1989.  You can order it through any bookstore or Prentice Hall. 
  Examples from the book are with the ATK source code in 
atk/examples/book/*/*.}

\section{
Class


}\leftindent{\italic{Class} is a preprocessor for the class system, which is 
used to make the construction of Andrew system programs possible.


The class system consists of a number of parts including the class 
preprocessor, a library of functions that provide runtime support for 
dynamically loaded objects, and utilities to help create and index the 
dynamically loadable objects.}\section{


Related tools}  


Select (highlight) one of the italicized names and choose "Show Help on 
Selected Word" from the pop-up menu to see the help file for:


\leftindent{\italic{adew

ness

createinset

procs

class

}}\enddata{text,268773668}
