
280 Chapter 11: iTool User Interface Architecture
Overview of iTool Interface Architecture iTool Developer’s Guide
Overview of iTool Interface Architecture
The iTool user interface architecture is designed to preserve the separation between
the functionality provided by an iTool application and the manner in which that
functionality is presented to the user. While the process of creating a user interface
for the iTool application is complex, the idea is simple: the iTool can choose from
any number of user interface styles that present information to the user in unique
ways, depending on the operating environment.
While the initial release of the iTool component framework includes only one user
interface style, created from IDL’s graphical widget interface toolkit, the iTool
framework design allows for the creation of additional user interface styles. Creating
new interface elements, or even an entirely new user interface, does not require
alterations to the underlying iTool implementation.
Note
In the first release of the IDL iTools system, the functionality necessary to create
entirely new user interface styles is not fully defined. Future versions of the iTool
system will provide the capability to create additional user interface styles.
Working within an existing interface style, you can add several different types of user
interface elements to your iTools. In rough order of increasing complexity of
implementation, iTool user interface elements include:
• Simple additional interface elements such as custom messages that appear in
the iTool status area, informational dialogs, and simple yes-or-no type
interactive user dialogs. These items can be added to an iTool using built-in
methods of the IDLitIMessaging class. Built-in interface elements are
described in Chapter 12, “Using iTool User Interface Elements”.
• Modal dialogs that allow the user to provide complex information before an
action is performed by the iTool. Dialog-based interface elements can be
simple, perhaps allowing the user to enter a single numerical value, or
complex, as shown by the iTool Curve Fitting operation’s parameter-
specification dialog. Dialog-based interfaces require the creation of a user
interface service, which can then call code that creates the appropriate dialog
interface for the platform and iTool interface style. User interface services are
described in Chapter 13, “Creating a User Interface Service”.
•iTool panels, which are non-modal collections of interface elements that are
attached to the iTool visualization window. Panels are useful when complex
controls must always be visible alongside a visualization; the iVolume and