\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: 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,538513216}
