\begindata{text,539922408} \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 $ANDREWDIR/doc/atk/overview.doc There are also example ATK programs and descriptions of the code in $ANDREWDIR/examples and $ANDREWDIR/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,540039400} Version 2 n 0 \enddata{bp,540039400} \view{bpv,540039400,11,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 and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of IBM not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ANY 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,539922408}