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 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 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 iImage tools provide examples of a panel interface. Panel interfaces are described in Creating a User Interface Panel.