You can down load a simple demo application built for MS Windows95 by clicking here. To use it, just put to run Mapper.exe; note that you must put the three .DLL files either in same directory as Mapper.exe or in a directory included in your PATH environment variable.
The CMap Library
You can view a (large) picture of the class hierarchy. There is
also an interactive map of the hierarchy if you have the
Smart Ideas Netscape plug-in
for Windows 95.
template GraphicLibrary
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from: public map< string, Ref2< T >, less< string > >
Abstract: no
A Graphics library is an association between a string
and some
instance of class Graphic. It is used by BehaviouralGraphic
so
that BehaviouralGraphic
objects can be instantiated and store
only a string (the name) of their visual components. They can defer actually
instantiating the visual component until they are requested to display
themselves by using a GraphicsLibrary
to perform the lookup
and cloning of appropriate visual objects.
class Graphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from: nothing
Abstract: yes
This is the base class of almost every class in this library. It defines the
primitive interface to graphic objects. It contains an ID datum (all
Graphics
have IDs) and a pointer to a parent GraphicContainer
(Graphics
usually have parents.
class GraphicContainer
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from: public CommandReceiverContainer
Abstract: yes
GraphicContainer
represents a list of Graphic
objects.
It is responsible for maintaining the list, including destructing the objects
when it is destructed.
Reponsonsibilities of the this class include:
Graphic
object is under a point (the
getHit()
method); getHit()
may return an object
not strictly under the point if that object has set itself as the
capture graphic by sending a setCaptureGraphic()
message.
paint()
method is eventually called after
the object has sent a queueForPaint
message.
Command
objects by calling the senders execute()
method, but perhaps doing more such as undo list maintenance, and groupware
protocols.
undoOnBehalf()
messages.
notifyChanged
messages by broadcasting the notification
to all its members.
Graphic
objects.
Inherits from: public ObjectLocator
Abstract: no
The GraphicObjectLocator
is responsible for finding the same
object that was passed to it in it's constructor. In the case of CMap, which
has hierarchically nested objects, it must trace through a vector of IDs.
class VisualGraphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from: public Graphic
Abstract: yes
VisualGraphics
are displayable graphics; they cannot be acted
on directly by the user. They are always "slaved" to a BehaviouralGraphic
.
class BehaviouralGraphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from: public Graphic, public GraphicContainer
Abstract: yes
BehaviouralGraphics
implement the behaviour of a graphic. Since
they have no visual representation themselves, they are always in a delegation
relationship with an object of type VisualGraphic
.
BehaviouralGraphic
is responsible to interpret exectute()
and undo()
as per the
Command module.
class ArrowHead
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from: nothing
Abstract: no
This is utilitarian class to help create new arrowheads on a line. Inherit from
this class to easily make new arrow head shapes. Override the paint()
method, using the getTheta()
method to initialize an angle, and
the translatePoint()
method to translate pre-set polor-coordiate
points to the correct location and rotation in cartesian coordiates. By
default, this class draws a simple three point arrowhead.
class Line
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class Connector
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class Shape
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class RectangleShape
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class EllipseShape
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class RoundedRectShape
See also the declaration in header file, Graphic.h and the definition in file,
GraphicVisual.cpp.
Inherits from:
Abstract:
class SensitiveGraphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class RelationableGraphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class Maplet
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class SRGraphic
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class SMaplet
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class Node
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBehav.cpp.
Inherits from:
Abstract:
class GraphicsFactory
See also the declaration in header file, Graphic.h and the definition in file,
GraphicBase.cpp.
Inherits from:
Abstract:
class CMap
See also the declaration in header file, CMap.h and the definition in file,
CMap.cpp.
Inherits from:
Abstract: