Every component in the iTools has a unique identifier placing it in a hierarchy of components for the tool. This identifier is necessary to programmatically use the component. So how do you find the identifier of some component? The standard technique is to use the `IDLitTool::findIdentifiers` method. Alternatively, `MG_ITBROWSER` allows interactive browsing of all the identifiers (and their properties) of an iTool. This is very useful for learning and exploring the components that make up an iTool.
Here is the [source code](https://github.com/mgalloy/mglib/tree/master/src/itools/mg_itbrowser.pro) and
docs for `MG_ITBROWSER`.
Once you are done exploring, you'll want to use the `IDLitTool::findIdentifiers` method to find identifiers in your code. This method can find identifiers given a search string containing wildcards. For example, to find the "Statistics" operation in an iTool:
IDL> print, otool->findIdentifiers('*statistics*')
There are keywords to narrow the search to a particular class of components (operations, manipulators, visualizations, etc.)
UPDATED 2/1/2007: Fixed a bug that incorrectly displayed hierarchies with multiple windows.