\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: This software is part of version 6.1 of the 

Andrew User Interface System and is 

the property of IBM, Carnegie Mellon University, 

and the other copyright holders.  The source 

code of this version is for the sole use of 

the individual named in ./config/allsys.h.  

This source code is not to be redistributed.  

Binary object code compiled or derived from 

these sources is not to be distributed to non-

members.  Members may have additional 

distribution rights granted by prior written 

permission of Carnegie Mellon University.



IBM, CARNEGIE MELLON UNIVERSITY, 

AND THE OTHER COPYRIGHT HOLDERS

 DISCLAIM ALL WARRANTIES WITH 

REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANT-

ABILITY AND FITNESS. IN 

NO EVENT SHALL  IBM, CARNEGIE 

MELLON UNIVERSITY, OR ANY OTHER 

COPYRIGHT HOLDER BE LIABLE FOR 

ANY SPECIAL, INDIRECT OR CONSE-

QUENTIAL 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}
