Registering a UI Panel

User interface panels are registered with the iTool system using the IREGISTER procedure. Once a UI panel has been registered, it will be displayed for any iTool whose TYPE property matches the string specified via the TYPES keyword when registering the panel. Similarly, if an iTool displays a visualization whose TYPE property matches the string specified via the TYPES keyword when registering the panel, the panel will be displayed for that iTool.

Registering the Panel in the iTool Launch Routine

In most cases, you will register your user interface panel in an iTool's launch routine, with a statement like:

IREGISTER, panelName, panelCode, TYPES = panelType, /UI_PANEL 

where panelName is a string containing the human-readable name of your user interface panel, panelCode is a string containing the name of the IDL procedure that creates the user interface panel, and panelType is a string that identifies the type of iTool or visualization for which the panel should be displayed. The UI_PANEL keyword must be present in order to register a user interface panel using the IREGISTER procedure.

See "IREGISTER" (IDL Reference Guide) for additional details.

About the TYPE property

To display a user interface panel for a given iTool, you will not only need to register the panel in that iTool's launch routine, but also specify a matching type when initializing the iTool itself. The iTool system will display a registered panel in an iTool whose TYPE property contains a string that matches the string specified via the TYPES keyword when registering the panel.

To set the TYPE property of an iTool use a statement like this in the iTool's Init method:

self->IDLitToolbase::Init(_EXTRA = _extra, TYPE = panelType) 

where panelType is a string that matches the string used as the value of the TYPES keyword to IREGISTER.

Similarly, the iTool system will display a registered panel when an iTool displays a visualization whose TYPE property contains a string that matches the string specified via the TYPES keyword when registering the panel.

To set the TYPE property of a visualization, use a statement like this in the visualization's Init method:

self->IDLitVisualization::Init(_EXTRA = _extra, TYPE = panelType)

where panelType is a string that matches the string used as the value of the TYPES keyword to IREGISTER.