\begindata{text,539041096}
\textdsversion{12}
\template{help}
\define{global
}
\chapter{Programming with the

Andrew Toolkit

}
\section{What the Andrew Toolkit is

}\leftindent{
The Andrew Toolkit (also called  \italic{\helptopic{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{\helptopic{ADEW} }) is 
a user interface management system that simplifies the creation of Andrew 
Toolkit ( \italic{\helptopic{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{
\italic{\helptopic{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{\helptopic{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{ \helptopic{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{\helptopic{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{\helptopic{adew}

\helptopic{ness}

\helptopic{createinset}

\helptopic{procs}

\helptopic{class}}}


\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,1088,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: 

Permission to use, copy, modify, and distribute this software and its 

documentation for any purpose is hereby granted without fee, 

provided that the above copyright notice appear in all copies and that 

both that copyright notice, this permission notice, and the following 

disclaimer appear in supporting documentation, and that the names of 

IBM, Carnegie Mellon University, and other copyright holders, not be 

used in advertising or publicity pertaining to distribution of the software 

without specific, written prior permission.



IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 

DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 

SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 

BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 

DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 

WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 

ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 

OF THIS SOFTWARE.

 $

}}\enddata{text,539041096}
