
Chapter 15: Creating a Custom iTool Widget Interface 333
iTool Developer’s Guide About Custom iTool Widget Interfaces
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:
• It is easier, and requires less interface code. You do not need to write code to
handle widget resizing, for example.
• You can register your user interface panel with the iTool system, which allows
the panel to appear on any iTool of the type supported by the panel. You could,
for example, create a panel that would show up on the standard IIMAGE tool,
along with the existing panel.
User interface panels are discussed in detail in Chapter 14, “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:
• Traditional IDL widget programming (see Chapter 2, “Creating Widget
Applications” (Widget Application Programming)).
• Creating an iTool (see Chapter 5, “Creating an iTool”).
• Creating user interface callback routines (see Chapter 14, “Creating a User
Interface Panel”).
• Routines and methods available for interacting with iTool components from
outside the iTool framework (see Appendix A, “Controlling iTools from the
IDL Command Line”).