The iTool system distributed with IDL includes a number of predefined UI services. These UI services are registered with the iTool system, which means that you can call them from any operation, visualization, or other iTool component using the DoUIService method of the IDLitTool class.
The majority of the predefined UI services provide interface elements that are specific to the standard iTool implementation. In most cases, you do not need to call these services directly; using the existing iTool operation or visualization code that calls the UI service is sufficient. If you are creating a new UI service, you may want to inspect the code for some of the standard UI services - they are located in the lib/itools/ui_widgets subdirectory of the IDL directory and have file names of the form idlitui*.pro.
The following UI services are generally useful; you may wish to include calls to these services in your own iTool operation or visualization code.
Displays the hourglass cursor. The hourglass cursor is displayed until processing completes and a new IDL widget event is processed, at which time the previous cursor is reinstated.
HourGlassCursor
void = oTool->DoUIService('HourGlassCursor', self)
This service is designed to be called from within the DoExecuteUI method of an iTool operation. It displays the property sheet for the operation, allowing the user to set any operation properties before the operation is executed. The self argument is the IDLitOperation object. The return value is 1 (one) if the specified properties were set as requested, or 0 (zero) otherwise.
PropertySheet
RETURN, oTool->DoUIService('PropertySheet', self)
This service is designed to be called from within the DoExecuteUI method of an iTool operation that acts on a two-dimensional array. It displays the property sheet for the operation, allowing the user to set any operation properties before the operation is executed, along with a preview window showing the result. The self argument is the IDLitOperation object. The return value is 1 (one) if the specified properties were set as requested, or 0 (zero) otherwise.
| Note |
lib/itools/components/idlitopunsharpmask__define.pro) for an example.
OperationPreview
RETURN, oTool->DoUIService('OperationPreview', self)