user manual
22 Chapter 2: iTool System Architecture
iTools Object Model Diagram iTool Developer’s Guide
Every iTool is constructed using the hierarchy of predefined and documented object
classes shown in the previous figure. Each of these predefined (as opposed to user-
defined) object classes are available to use or customize in your iTool application.
However, there is no need to create and instantiate the entire hierarchy when creating
a custom iTool object.
Launching an iTool application creates instances of objects in the iTools class
hierarchy, as well as others subclassed from the predefined classes. Developing an
application that subclasses from the IDLitToolBase class automatically includes the
functionality of parent object classes, such as IDLitTool, and IDLitIMessaging. This
will also include and register manipulator and operation objects that are common
among the predefined iTools. Unwanted items can be unregistered. Other predefined
objects are instantiated as needed. For example, an iTool application may be started
without a data argument. Only when data is imported into the tool is a predefined or
custom IDLitVisualization object created to contain the data. For instance, an
IDLitVisPlot object is instantiated when data is imported into the iPlot tool, which
may or may not be when the tool is initiated.
Once the hierarchy of component objects have been instantiated, there is no need to
maintain a long list of object references to access and manipulate individual objects.
Each component is assigned an identifier when it is instantiated; an identifier is a
simple string that can be used to access an object (such as an IDLItVisPlot object) in
order to change properties, apply operations, or make other modifications. See “iTool
Object Identifiers” on page 28 for details.
The following sections further describe the chain of inheritance followed by the
objects that make up a particular iTool. The classes listed below are subclassed from
the iTool object classes shown in the “iTools Object Model Diagram” on page 21.
With the exception of the atomic graphic objects (listed in “Atomic Graphic Objects”
on page 26), these subclasses are not documented and are subject to change. While
we encourage you to inspect these undocumented subclasses and use them as
examples when creating your own subclasses, we discourage you from subclassing
from them directly.
Note
ITT Visual Information Solutions may add, change, or remove undocumented
subclasses of the documented iTools classes at any time. The following lists may
not exactly match the set of subclasses shipped with any particular version of IDL.
Except for the atomic graphic objects, all of the classes listed below are written in the
IDL language. Their definitions can be found in the
lib/itools/components
subdirectory of your IDL installation. See “About the iTools Code Base” on page 13