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
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
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
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
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
nil or unspecified,
a gensymed name is used.
tabs may be a list of some subset of the
:event-handler, indicating which tabs should be
included on the inspector. If
unspecified, this defaults to the tabs for which there are any values
defined for the object.
intial-tab may be one of the symbols
: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
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-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page is new in the 8.2 release.