About Custom iTool Widget Interfaces

The standard interface to the iTools included with IDL is constructed from IDL widgets, using a number of special compound widgets designed to work with the iTool system. Other chapters in this section of the iTool Developer's Guide describe how to use the user interface display mechanisms of the iTool system to add functionality to your own iTools within the constraints of the standard iTool interface. This chapter describes how to create a hybrid iTool interface using both iTool compound widgets and "traditional" IDL widgets.

Before beginning the process of creating a new IDL widget-based user interface that includes iTool components, you should take the following points into consideration:

Why Create a New Widget Interface?

In most cases, you will be able to extend the iTool system to include your own functionality without modifying the standard iTool user interface. You can create and register new operations, for example, without writing any interface code at all. If your application requires extra interface elements not present in the standard interface, you can include them in a user interface panel associated with your tool. So why create a new interface using IDL widgets? The following are two possible reasons to create a custom interface:

You are updating an existing application

You may have an existing widget application that uses a traditional draw widget to display visualizations. Replacing the traditional draw widget with an iTool draw widget will require substantial revisions to your existing code, but making the revisions may be more efficient than recreating your application using only the iTool framework.

Your application has a complex interface

Your application may require a more complex user interface than is possible to implement using iTool framework methods.

What About Using a UI Panel?

Several of the standard iTools require tool-specific user interface elements. These iTools (the IIMAGE, IMAP, and IVOLUME tools) include a user interface panel that contains additional interface elements required by the tool.

If your application requires a small number of interface elements not available in the standard interface, consider creating a user interface panel rather than an entire custom user interface. Creating a user interface panel rather than a custom user interface has the following advantages:

User interface panels are discussed in detail in Creating a User Interface Panel.

Skills Required to Create an iTool User Interface

To create a custom iTool user interface, you will need to be familiar with the following:

What You Will Need to Create

To build a custom iTool user interface, you will need to create a minimum of two new .pro files:

You may create any number of other additional files, but in most cases you will also create: