IGETID

Syntax | Return Value | Arguments | Keywords | How IGETID Expands Identifiers | Examples | Version History | See Also

The IGETID function returns the full iTool object identifier string for an iTool visualization item (a plot line or text annotation, for example) based on a portion of the identifier. In most cases, IGETID allows you to use a short (if possibly ambiguous) string such as 'plot' to retrieve a longer identifier string that might look like:

/TOOLS/PLOT TOOL/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 

You can use iTool identifiers to specify the item within an iTool on which you want to perform an action using the iTools procedural interface. Actions, in this context, are things like changing the value of a property of an item or retrieving the data that created the item. See "Using the iTools Procedural Interface" (iTool User's Guide) for more information.

Note
Because IGETID is designed to locate the most likely match for a partial identifier, retrieving some identifiers may require careful construction of the partial identifier to be expanded. See How IGETID Expands Identifiers for information on constructing useful searches.

This routine is written in the IDL language. Its source code can be found in the file igetid.pro in the lib/itools subdirectory of the IDL distribution.

Syntax

Result = IGETID ([Id] [, TOOL=value])

Return Value

Returns a full iTools identifier, an array of iTool identifiers, or a null string if no matching iTools object is found.

Arguments

Id

A scalar string containing the partial identifier to be expanded.

Keywords

TOOL

By default, IGETID searches only in the current iTool. Set this keyword equal to a scalar string that contains a partial identifier specifying the iTool or iTools in which to search for matches for Id. When the TOOL keyword is set, IGETID searches all of the currently instantiated iTools for tools whose full identifiers match the value of the TOOL keyword before searching for Id.

Set this keyword equal to '*' to search for Id in all of the currently-instantiated iTools.

If a value is specified for the TOOL keyword and the Id argument is not supplied, IGETID returns full identifiers for the iTools that match the specified partial identifier. For example:

PRINT, IGETID(TOOL='plot 1') 
 

returns

/TOOLS/PLOT TOOL_1

If the * symbol is used, all tools that match the requested string are returned.

For example:

PRINT, IGETID(TOOL='plot*') 
 

returns

/TOOLS/PLOT TOOL /TOOLS/PLOT TOOL_1

How IGETID Expands Identifiers

A full iTool identifier string contains the identifier strings of the component objects. A component object identifier string is known as a substring, and substrings are delineated by the / character.

You do not need to enter the exact substring of the intended visualization object. IGETID's matching algorithm overlooks small formatting irregularities to return the match(es) that best fit the given substring.

If the * symbol is not used, the first match where each substring is contained in the full ID is returned.

Note
By default, substrings are matched inside the current iTool. To search for substrings in other iTools, use the TOOL keyword.

For example:

PRINT, IGETID('surface') 
 

returns

/TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/SURFACE PRINT, IGETID('view 1/data sp')

returns

/TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE

If the * symbol is used in the last substring, return all IDs that match at that level of the hierarchy.

For example:

PRINT, IGETID('view*') 
 

returns

/TOOLS/PLOT TOOL/WINDOW/VIEW_1 /TOOLS/PLOT TOOL/WINDOW/VIEW_2 /TOOLS/PLOT TOOL/WINDOW/VIEW_3

If the last substring is the * symbol, return all IDs contained in the last substring.

For example:

PRINT, IGETID('data space/*') 
 

returns

/TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/SURFACE /TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES /TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS0 /TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS1 /TOOLS/SURFACE TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS2

Examples

IPLOT, RANDOMU(seed, 30)
IPLOT, RANDOMU(seed, 30)
IPLOT, RANDOMU(seed, 30)

 

PRINT, IGETID('plot')

returns a result similar to:

/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 
 

PRINT, IGETID('data space/*')

returns:

/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT/SYMBOL 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS0 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS1 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS2 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/AXES/AXIS3 
 

PRINT, IGETID(TOOL='plot*1')

returns:

/TOOLS/PLOT TOOL_1 
 

PRINT, IGETID('plot', TOOL='plot*')

returns:

/TOOLS/PLOT TOOL/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 
/TOOLS/PLOT TOOL_1/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 
/TOOLS/PLOT TOOL_2/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA SPACE/PLOT 

Version History

7.1

Introduced

See Also

ISETPROPERTY, IGETPROPERTY, IGETDATA, IPUTDATA, IGETCURRENT