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:
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:
If the * symbol is used, all tools that match the requested string are returned.
For example:
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)
returns a result similar to:
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
returns:
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
See Also
ISETPROPERTY, IGETPROPERTY, IGETDATA, IPUTDATA, IGETCURRENT