Routines (alphabetical) > Routines: I > IDLITSYS_CREATETOOL

# IDLITSYS_CREATETOOL

## Examples

See Chapter 5, “Example: Simple iTool” (iTool Developer’s Guide).

## Syntax

Result = IDLITSYS_CREATETOOL(StrTool [, ANISOTROPIC_SCALE_2D=value] [, ANISOTROPIC_SCALE_3D=value] [, CURRENT] [, DIMENSIONS=[width,height]] [, /DISABLE_SPLASH_SCREEN] [, IDENTIFIER=variable] [, INITIAL_DATA=data] [, LOCATION=[x,y]] [, MACRO_NAMES=string or string array] [, /NO_SAVEPROMPT] [, OVERPLOT=iToolID] [, RENDERER={0 | 1}] [, SCALE_ISOTROPIC=value] [, STYLE_NAME=string] [, USER_INTERFACE=string] [, VIEW_GRID=vector] [, /VIEW_NEXT] [, VIEW_NUMBER=number] [, VISUALIZATION_TYPE=vistype] )

## Return Value

## Arguments

### StrTool

The name of a tool that has been registered with the iTools system via the IREGISTER routine.

## Keywords

Note: Additional keywords/properties associated with the target visualization at the command line are passed to the underlying system to be applied to the created tool and visualizations.

### ANISOTROPIC_SCALE_2D

For two-dimensional anisotropic visualizations, set this keyword to a floating point value indicating the ratio of the Y dimension to the X dimension. The default is 0.7. If the dataspace and its contained visualizations are isotropic then this keyword is ignored.

### ANISOTROPIC_SCALE_3D

For three-dimensional anisotropic visualizations, set this keyword to a floating point value indicating the ratio of the Z dimension to the X and Y dimensions. The default is 0.7. If the dataspace and its contained visualizations are isotropic then this keyword is ignored.

### CURRENT

Set this keyword to direct the graphical output of the visualization to a new data space in the current tool. If no tool exists, a new tool is created.

### DIMENSIONS

Set this keyword to a two-element vector of the form [width, height] to specify the dimensions of the drawing area of the specific tool in device units. The minimum width of the window correlates to the width of the menubar. The minimum window height is 100 pixels.

### DISABLE_SPLASH_SCREEN

Set this keyword to disable the iTools splash screen. By default, the first time an iTool is run, the splash screen is displayed.

### IDENTIFIER

Set this keyword to a named IDL variable that will contain the iToolID for the created tool. This value can then be used to reference this tool during overplotting operations or command-line-based tool management operations.

### INITIAL_DATA

Set this keyword to the data objects that are used to create the initial visualizations in the created tool.

### LOCATION

Set this keyword to a two-element vector of the form [x, y] to specify the location of the upper left-hand corner of the tool relative to the display screen, in device units.

### MACRO_NAMES

Set this keyword to a scalar string or an array of strings that specifies the names of one or more macros to run. The macro names are retrieved and the macros are run sequentially after the iTool and (if applicable) any visualizations have been created. If a macro of the specified name does not exist, IDL generates an error and the routine exits.

### NO_SAVEPROMPT

Set this keyword to cause the iTool not to prompt the user to save changes when closing the tool. The default is to prompt the user to save changes.

### OVERPLOT

Set this keyword to an iToolID to direct the graphical output of the visualization to the tool specified by the provided iToolID.

Set this keyword to 1 (one) to place the graphical output of the visualization in the current tool. If no current tool exists, a new tool is created.

This iToolID can be obtained during the creation of a previous tool or from the IGETCURRENT routine.

### RENDERER

Set this keyword to override the value specified by the IDL_GR_WIN_RENDERER (Windows) or IDL_GR_X_RENDERER (UNIX) preference for the iTool. IDL will use the specified graphics renderer when drawing objects within the iTool window. Valid values are:

Value | Description
0 | Use platform native OpenGL
1 | Use IDL’s software implementation

If your platform does not have a native OpenGL implementation, IDL uses its own software implementation regardless of the value of this property.

### SCALE_ISOTROPIC

Set this keyword to indicate the scaling method to be used for the dataspace. Possible

values are:

0 | Automatic scaling. If any visualization within the dataspace has its Isotropic scaling property set to True, the dataspace will be automatically set to isotropic. If none of the visualizations are isotropic, the dataspace will be automatically set to anisotropic. This is the default.
1 | Isotropic scaling. The dataspace will be proportionally scaled in the X, Y, and Z directions according to the data ranges in each direction.
2 | Anistropic scaling. The dataspace will be scaled in the X, Y, and Z directions according to the ANISOTROPIC_SCALE_2D or ANISOTROPIC_SCALE_3D keywords.

Note: If the dataspace is anisotropic (either automatically or by setting SCALE_ISOTROPIC to 2), then the ANISOTROPIC_SCALE_2D or ANISOTROPIC_SCALE_3D keywords may be used to change the scaling. If the dataspace is isotropic then the ANISOTROPIC_SCALE_2D and ANISOTROPIC_SCALE_3D keywords are ignored.

### STYLE_NAME

Set this keyword equal to a string that specifies the name of a user-defined or a system style. If a style of the specified name does not exist, IDL generates an error and the routine exits. The style is applied to all items within all views and the current tool style is updated with the new style.

### USER_INTERFACE

Set this keyword equal to a string containing the name of a custom user interface that was previously registered using the USER_INTERFACE keyword to the IREGISTER procedure. The following user interfaces are provided by default:

- `'Default'` — uses the standard iTools user interface.
- `'None'` — creates an iTool without a user interface and uses a graphics buffer object instead of a window. If you use this interface, by default DISABLE_SPLASH_SCREEN is set to True.

Tip: This interface could be used for batch processing, where you can use a macro to automatically process the input data and output the results to a file. Note, however, that setting the user interface to `'None'` applies only to the newly created tool. If your macro operation starts a new tool or requires user input, those tools or dialogs will still appear.Note also that you are responsible for closing any iTools created by your batch process. In a macro, consider using the
File > Exit macro operation to close the tool after processing.

### VIEW_GRID

Set this keyword to a two-element vector of the form [columns, rows] to specify the view layout within the new tool. This keyword is only used if a new tool is being created; it is ignored if OVERPLOT, VIEW_NEXT, or VIEW_NUMBER are specified.

### VIEW_NEXT

Set this keyword to change the view selection to the next view following the currently-selected view before issuing any graphical commands. If the currently-selected view is the last one in the layout, then /VIEW_NEXT will cause the first view in the layout to become selected. This keyword is ignored if no current tool exists.

Note: The contents of the newly-selected view will be emptied unless /OVERPLOT is set.

### VIEW_NUMBER

Set this keyword to change the currently-selected view to the view specified by the VIEW_NUMBER before issuing any graphical commands. The view number starts at 1, and corresponds to the position of the view within the graphics container (not necessarily the position on the screen). This keyword is ignored if no current tool exists.

Note: The contents of the newly-selected view will be emptied unless /OVERPLOT is set.

### VISUALIZATION_TYPE

Set this keyword to a string containing the name of a registered visualization type that should be used to visualize any data specified by the INITIAL_DATA keyword. If this keyword is not specified, the iTool will select a visualization type based on the data type of the input data.

## Version History

6.0 | Introduced
Pre 6.1 | Deprecated the PANEL_LOCATION keyword
6.1 | Added MACRO_NAMES and STYLE_NAME keywords
6.2 | Added DISABLE_SPLASH_SCREEN, USER_INTERFACE keywords
6.4 | Added the ANISTROPIC_SCALE_2D, ANISTROPIC_SCALE_3D, RENDERER, and SCALE_ISOTROPIC keywords

## See Also

IREGISTER