The Object Browser

The object browser provides a way to find and view objects that are available in the current document. The browser displays all of the objects defined in the document and the libraries listed in the Libraries section of the Document Explorer.

Because documents can specify which libraries to reference and most objects are defined in the referenced libraries, the list of available objects can change from document to document. For example, if one document references Math.eql and a second document references Calc.eql, the integral and derivative objects and commands will be available to the second document, but not the first.

To open the Object Browser, select Object Browser from the View menu, or press Shift + F4. The Object Browser can be docked and undocked in the same manner as other windows. The following image shows the example of the Object Browser.

The search function allows users to search for objects by name or by document and library, type, namespace, or other criteria using the tree in the left column.

By default, all items listed are checked. To select only one item in the list, double click the item name. The remaining items will be unchecked. The search box can also be left empty when performing a search. For example, to search for and display all objects listed in the Trig.eql library, double-click the Trig.eql library name, then click the Search button or press the Enter key while the Object name box is empty.

The right pane lists all objects in the Trig.eql library. Each result displays the namespace, type definition, and which library and library module contains the definition. In some cases, an object can have a definition in more than one library or module. In the above example, the first object listed in the search results pane is the Convert object, which is defined in the Math namespace. The object has a type definition of Object → Object, and has definitions in the Convert command module of the Code.eql library and the Convert trig module of the Trig.eql library.

The search parameters can be narrowed as needed. To view all objects in the Code.eql library that are in the Logic namespace, select Code.eql under the Documents and libraries section and Logic under the Namespaces folder as shown below, then press the Enter key.

From the Object Browser, you can navigate to the object definition for any object in the results list or you can search for instances of any object in the results list.

To view the object definition for any object listed in the results, either double click the item in the result list or right click and select Go to definition from the context menu. The object module containing the selected object definition will open with the selected object highlighted.

In some cases, there will be multiple library nodes under a name in the results list. This happens when an object definition is created one library and then extended in another library. You can select any of the library nodes and either double click or right click and select Go to definition from the context menu.

The find all instances of the object in the current document and its libraries, right click the object name and select Find from the context menu. The Find and Replace dialog opens with the object definition copied into it for searching. The search function will find all instances of the object in the current document and of its libraries.

A few other notes about the Object Browser:
  • The objects that appear in under the Types heading include all of the type (objects in the Types namespace). This includes objects like "To" and "TypeList" that have parameters.
  • The Object Browser searches against the most recent build. Changes made after a build won't be reflected in the Object Browser results until the next time you run the build.