\begindata{text,538513216}
\textdsversion{12}
\template{default}
\define{global
}
The different types of ATK dataobjects and views are part of an 
\italic{object-oriented class hierarchy}.  The classes are implemented in a 
language called \italic{Class}, which is just the C programming language with 
a small set of object-oriented extensions.  [\italic{Class} predates C++ and 
other object-oriented flavors of C.]  All non-C features of Class are confined 
to header files, and the implementation is simply a preprocessor for /bin/cc.


Here is a tiny but interesting portion of the ATK class hierarchy:


\begindata{org,539314952}
  observable
  [291
\begindata{text,539459592}
\textdsversion{12}
\template{default}
An \italic{observable} is an object which can be \italic{observed} by others. 
 To observe an object means to be notified when certain kinds of changes occur 
to it, such as changes in size or content.\
\enddata{text,539459592]
    {
    graphic
    [330
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{graphic} is a data structure representing a portion of a bitmapped 
display in which lines, pixels, etc., can be drawn.  The graphic class does 
not presuppose the X11 window system.  Graphic can interface with any window 
system.\
\enddata{text,539694984]
    dataobject
    [299
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{dataobject} is half of an \italic{inset} (the other half being the 
observing \italic{view}).  A dataobject is an observable which can save 
permanent state about itself (in the \italic{datastream).\
}\enddata{text,539694984]
      {
      simpletext
      [191
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{simpletext} object is one which contains plain ASCII text.  No 
styles, no embedded insets.\
\enddata{text,539694984]
        {
        text
        [170
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{text} object contains full ATK text, complete with styles and 
insets.\
\enddata{text,539694984]
        }
      raster
      [142
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{raster} object contains a bitmapped image.\
\enddata{text,539694984]
      }
    view
    [322
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{view} is something which observes a dataobject and knows how to 
interpret input events.  A view can also install menus.  The view is 
responsible for noticing changes in the dataobject and displaying them as 
appropriate.\
\enddata{text,539694984]
      {
      textview
      [198
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{textview} knows how to observe, display, and interact with a text 
object.\
\enddata{text,539694984}
stem.  Graphic can int]
      rasterview
      [178
\begindata{text,539694984}
\textdsversion{12}
\template{default}
A \italic{rasterview} knows how to observe, display, and interact with a 
raster object.\
\enddata{text,539694984]
      }
    }

\enddata{org,539314952}
\view{orgv,539314952,732,445,360}
\begindata{table,539282824}
\cols 116 269
\begindata{link,539283080}
Datastream version: 3
$(ANDREWDIR)/doc/AtkTour/Media
0
0
\begindata{link,539283080}
Datastream version: 2
Media
2

black
white
\enddata{link,539283080}
\enddata{link,539283080}
	\begindata{text,538322596}
\textdsversion{12}
Some of the more interesting predefined inset types\
\enddata{text,538322596}

\begindata{link,539283336}
Datastream version: 3
$(ANDREWDIR)/doc/AtkTour/Menu
0
0
\begindata{link,539283336}
Datastream version: 2
Menu
2

black
white
\enddata{link,539283336}
\enddata{link,539283336}
	\begindata{text,538607560}
\textdsversion{12}
Menu of nodes in this tour\
\enddata{text,538607560}

\enddata{table,539282824}
\view{spread,539282824,733,0,0}

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

\smaller{\smaller{$Disclaimer: Andrew User Interface System - Binary Distribution 7.5



Permission to use, copy, modify, and distribute this software for any 

purpose is hereby granted, provided (a) that no fee is charged for the 

software, for the medium on which it is distributed, for the 

distribution process, or for effort involved in making the distribution;  

(b) that all copyright notices, this permission notice, and the 

following disclaimer remain in these files and appear in supporting 

documentation;  (c) that you do not translate, reverse engineer, 

decompile, or disassemble the software; and (d) 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.



CARNEGIE MELLON UNIVERSITY, IBM, 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 CARNEGIE MELLON 

UNIVERSITY, IBM, 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,538513216}
