Generic Function | Package: ide | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## ide-inspect

Arguments: object &key new-window-p new-window-name tabs initial-tab existing-inspector-only no-expose-p not-if-same-object additional-objects initial-property on-the-screen

This function invokes the IDE's inspector to examine an arbitrary specified object.

Typically you do not need to call this function. Instead would use one of the commands Tools | Inspect Selected Object and Tools | Inspect Returned Object. Or you would call cl:inspect in an IDE listener, which will invoke the IDE's inspector because this function (ide-inspect) is the value of `inspect::*inspector-hook*` in IDE processes.

But it might be useful to call this function directly for the options that its keyword arguments provide. It might also be useful to set the value of the (internal) global variable `inspect::*inspector-hook*` to this function in non-IDE processes where it is not already the value, to cause calls to cl:inspect in those processes to invoke the IDE's inspector.

The arguments are:

- object is the object to inspect. It can be any type of Lisp object.
- If new-window-p is true, then the object is inspected in a new inspector window, even if one or more inspector windows already exist. The new window will be offset somewhat from an existing inspector, if any. If `nil` or unspecified, then an existing inspector will be used, if any.
- new-window-name may be a symbol by which to identify this particular inspector window programmatically. This is used only if new-window-p is true. If `nil` or unspecified, a gensymed name is used.
- tabs may be a list of some subset of the keywords `:internal`, `:property`, and `:event-handler`, indicating which tabs should be included on the inspector. If `nil` or unspecified, this defaults to the tabs for which there are any values defined for the object.
- intial-tab may be one of the symbols `:internal`, `:property`, or `:event-handler`, indicating which tab should be selected initially. If `nil` or unspecified, this defaults to the tab that was already displayed, except when the new object has properties but the previous object did not, in which case the Properties tab is selected.
- If existing-inspector-only is true and no inspector window is already present, then no inspection is done.
- If no-expose-p is true, then the inspector window is not brought to the front and given the keyboard focus.
- If not-if-same-object is true and the specified object is already being inspected in the inspector that would be used, then no re-inspection is done. The inspector is still brought to the front and given the keyboard focus, though (unless no-expose-p is true).
- additional-objects may be a list of additional arbitrary objects that may be modified at the same time as the main object. The inspector will display only the values of the main object, but modifying one of those values will modify the same attribute of the main object as well as each of the additional objects. The properties and event-handlers that are displayed will be limited to the ones that all of the objects have.
- initial-property may be the name of a property or event-handler to initially select, when the Properties or Events tab is initially selected. The property name is generally the name of the reader function for the property (e.g. value for value). If `nil` or unspecified, this defaults to the property that was selected for the previous object if both objects have that property, and otherwise defaults to the first property.
- If on-the-screen is true, then the owner of the inspector window will be the screen, and otherwise it will be the main IDE window. In either case, an existing inspector window will be used only when it has the appropriate owner, and otherwise a window will be created. The function ide-inspect-standalone passes this argument as true to invoke an inspector that is independent of the IDE (and which may be used even when the IDE is loaded but not running).

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version