eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'InspectorView':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: InspectorView


Inheritance:

   Object
   |
   +--GraphicsMedium
      |
      +--DisplaySurface
         |
         +--SimpleView
            |
            +--InspectorView
               |
               +--ClassInspectorView
               |
               +--ColorInspectorView
               |
               +--ContextInspectorView
               |
               +--DictionaryInspectorView
               |
               +--ImageInspectorView
               |
               +--OrderedCollectionInspectorView
               |
               +--SetInspectorView

Package:
stx:libtool
Category:
Interface-Inspector
Version:
rev: 1.513 date: 2024/04/22 17:43:29
user: stefan
file: InspectorView.st directory: libtool
module: stx stc-classLibrary: libtool

Description:


This class implements a graphical inspector.
Inspecting can be done on an object -
(where its instvarnames/values are inspected)
or a list of objects (where a nameArray/valuesArray is inspected).
The later is used by the debugger to inspect method variables/args.

The system calls the inspector through the global variable 'Inspector'
which is bound to this class (but could be redefined - it actually is
set to MiniInspector in a smalltalk without graphical user interface,
or to NewInspector if that is wanted).

Also notice, that there are two methods to inspect an object:
sending #basicInspect to any object, will open this kind of inspector on 
it (showing instance variables which are physically present).

Sending it #inspect, will - depending on the object - sometimes invoke a
specialized inspector. 
(see OrderedCollectionInspectorView, ImageInspectorView, 
 ColorInspectorView etc. as examples).

You can also open a monitoring inspector, which displays some instance
variable in regular intervals. See #openOn:monitor:.

examples:
        #(1 2 3 4) asOrderedCollection inspect
        #(1 2 3 4) asOrderedCollection basicInspect
        (Array new:10000) inspect
        (Image fromFile:'bitmaps/claus.gif') inspect
        (Image fromFile:'bitmaps/claus.gif') basicInspect
        (Image fromFile:'bitmaps/SBrowser.xbm') inspect
        (Image fromFile:'bitmaps/SBrowser.xbm') basicInspect

        InspectorView openOn:Display
        InspectorView openOn:Display monitor:'shiftDown'
        InspectorView openOn:(Image fromScreen)
        InspectorView openOn:(Image fromFile:'banner8.xpm')

The InspectorView can also be used as a subComponent within another view.
In this case, the isStandAlone flag should be cleared, to prevent the
inspector from changing the topViews window label.

Notice:
    the instvars 'inspectedObject' and 'selectedLine' have been 
    renamed to 'object' and 'selectionIndex' for squeak compatibility;
    however, the old vars are kept (in sync) for a while, to allow for
    smooth migration.

Controlling the contents from the inspected object.
    By redefining inspectorExtraAttributes or inspectorExtraNamedFields, the inspected
    object can add items to the list of fields as ashown in the left list-view of the inspector.
    These methods are meant to return a sequencable Collection of Associations, which represent
    of pseudo slot-name, slot-value pairs.
    In the list, extra attributes are shown with a dash (-), extra named fields are marked with a tick (`).
    These are added (read only) to the list.

Catching/Debugging errors in the displayString/printString generation
    set TraceErrors or DebugErrors to true
        TraceErrors := true

copyright

COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

common label support
o  commonLabelFor: anObject
return the windowLabel to use in my topView, when inspecting anObject.
Identical objects are labelled with the same id, which makes it easy to
see if two objects are identical (and is very useful, indeed).
WARNING: used by both Inspector and Inspector2 !!!

o  labelNameFor: anObject
return the iconLabel to use in my topView, when inspecting anObject.
Simply returns the className or name of anObjects class

defaults
o  defaultExtent
return the default extent of my instances.
The value returned here is usually ignored, and
the value from preferredExtent taken instead.

o  defaultHideHashes

o  defaultHideHashes: aBoolean

o  defaultHideMessages

o  defaultHideMessages: aBoolean

o  defaultIcon
return the browsers default window icon

o  defaultIntegerDisplayRadix

o  defaultIntegerDisplayRadix: anInteger

o  defaultMaxValueDisplayStringLength
cut off and show '...' if longer

o  defaultMaxValueDisplayStringLength: anIntegerOrNilForDefault
cut off and show '...' if longer

o  defaultSortOrder

o  defaultTopViewExtent

o  expandArraysInAllLists
in the 'all instvars' list, expand arrays

o  expandArraysInAllLists: aBoolean
in the 'all instvars' list, expand arrays

o  rememberLastExtent: anExtent

o  sortOrderAlphabetical

o  sortOrderByValuesClassName

o  sortOrderByValuesPrintString

o  sortOrderInstvarOrder

image specs
o  imageFor_arrays
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_arrays inspect
     ImageEditor openOnClass:self andSelector:#imageFor_arrays
     Icon flushCachedIcons

o  imageFor_boolean
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_boolean inspect
     ImageEditor openOnClass:self andSelector:#imageFor_boolean
     Icon flushCachedIcons

o  imageFor_characters
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_characters inspect
     ImageEditor openOnClass:self andSelector:#imageFor_characters
     Icon flushCachedIcons

o  imageFor_classes
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_classes inspect
     ImageEditor openOnClass:self andSelector:#imageFor_classes
     Icon flushCachedIcons

o  imageFor_collectionHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_collectionHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_collectionHolder
     Icon flushCachedIcons

o  imageFor_collections
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_collections inspect
     ImageEditor openOnClass:self andSelector:#imageFor_collections
     Icon flushCachedIcons

o  imageFor_collections_empty
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_collections_empty inspect
     ImageEditor openOnClass:self andSelector:#imageFor_collections_empty
     Icon flushCachedIcons

o  imageFor_colors
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_colors inspect
     ImageEditor openOnClass:self andSelector:#imageFor_colors
     Icon flushCachedIcons

o  imageFor_dictionaries
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_dictionaries inspect
     ImageEditor openOnClass:self andSelector:#imageFor_dictionaries
     Icon flushCachedIcons

o  imageFor_false
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_false inspect
     ImageEditor openOnClass:self andSelector:#imageFor_false
     Icon flushCachedIcons

o  imageFor_falseHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_falseHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_falseHolder
     Icon flushCachedIcons

o  imageFor_floats
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_floats inspect
     ImageEditor openOnClass:self andSelector:#imageFor_floats
     Icon flushCachedIcons

o  imageFor_fractions
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_fractions inspect
     ImageEditor openOnClass:self andSelector:#imageFor_fractions
     Icon flushCachedIcons

o  imageFor_integers
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_integers inspect
     ImageEditor openOnClass:self andSelector:#imageFor_integers
     Icon flushCachedIcons

o  imageFor_nil

o  imageFor_nil1
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_nil1 inspect
     ImageEditor openOnClass:self andSelector:#imageFor_nil1
     Icon flushCachedIcons

o  imageFor_nil2
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_nil2 inspect
     ImageEditor openOnClass:self andSelector:#imageFor_nil2
     Icon flushCachedIcons

o  imageFor_nilHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_nilHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_nilHolder
     Icon flushCachedIcons

o  imageFor_numberHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_numberHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_numberHolder
     Icon flushCachedIcons

o  imageFor_numbers

o  imageFor_others
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_others inspect
     ImageEditor openOnClass:self andSelector:#imageFor_others
     Icon flushCachedIcons

o  imageFor_othersHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_othersHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_othersHolder
     Icon flushCachedIcons

o  imageFor_proxy
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_proxy inspect
     ImageEditor openOnClass:self andSelector:#imageFor_proxy
     Icon flushCachedIcons

o  imageFor_sequenceableCollections
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_sequenceableCollections inspect
     ImageEditor openOnClass:self andSelector:#imageFor_sequenceableCollections
     Icon flushCachedIcons

o  imageFor_strings
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_strings inspect
     ImageEditor openOnClass:self andSelector:#imageFor_strings
     Icon flushCachedIcons

o  imageFor_symbols
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_symbols inspect
     ImageEditor openOnClass:self andSelector:#imageFor_symbols
     Icon flushCachedIcons

o  imageFor_timeAndDate
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_timeAndDate inspect
     ImageEditor openOnClass:self andSelector:#imageFor_timeAndDate
     Icon flushCachedIcons

o  imageFor_true
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_true inspect
     ImageEditor openOnClass:self andSelector:#imageFor_true
     Icon flushCachedIcons

o  imageFor_trueHolder
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageFor_trueHolder inspect
     ImageEditor openOnClass:self andSelector:#imageFor_trueHolder
     Icon flushCachedIcons

o  imageGreenBullet
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageGreenBullet inspect
     ImageEditor openOnClass:self andSelector:#imageGreenBullet
     Icon flushCachedIcons

o  imageRedBullet
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self imageRedBullet inspect
     ImageEditor openOnClass:self andSelector:#imageRedBullet
     Icon flushCachedIcons

initialization
o  initialize
(comment from inherited method)
to get language changes

instance creation
o  for: anObject
create and launch a new inspector for anObject.
This protocol is a historic leftover - this method will vanish.

o  inspect: anObject
marked as obsolete by Stefan Vogel at 31-Mrz-2022

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  openOn: anObject
create and launch a new inspector for anObject

Usage example(s):

     InspectorView openOn:(5 @ 7)
     InspectorView openOn:(Array new:400)
     DictionaryInspectorView openOn:(IdentityDictionary new)

o  openOn: anObject monitor: anInstVarNameOrNil
create and launch a new inspector for anObject.
If anInstVarNameOrNil is nonNil, let the inspector monitor it
(use an integer-printString as name, for indexed instVars).

Usage example(s):

     |m|

     m := 1 asValue.
     InspectorView openOn:m monitor:'value'.

     2 to:10 do:[:i |
         Delay waitForSeconds:1.
         m value:i
     ]

Usage example(s):

     |o|

     o := Array with:1 with:2 with:3.
     InspectorView openOn:o monitor:'2'.
     Delay waitForSeconds:1.
     o at:2 put:20

o  openOn: anObject title: aString
create and launch a new inspector for anObject

Usage example(s):

     InspectorView openOn:(5 @ 7) title:'my point'

o  openOn: anObject withEvalPane: withEvalPane

o  openOn: anObject withEvalPane: withEvalPane withLabel: aLabel

presentation
o  iconForValue: anObject
choose a nice icon image to be shown in the list

o  iconForValueClass: aClass
this is useful if we do not want to or cannot access the value itself easily;
For example as a helper for bridge objects

queries-plugin
o  aspectSelectors


Instance protocol:

accessing
o  allowFollow: aBoolean
enable/disable the follow menu item;
This is disabled for inspectors which are embedded in the debugger

o  autoDefineVariables: autoDefine
forward to my workspace

o  dereferenceValueHolders: aBoolean

o  fieldListLabel: aString

o  headLineLabel: aString
an alternative headline label (if used as embedded inspector)

o  headLineLabelView
provides access to the headline

o  hideHashes: aBoolean
hide/show the hash-entries in the field list;
This can be hidden for end-user applications

o  hideHexDumpView: aBoolean
hide/show the hexDump view (ignored by inspectors which have none);
Use this for embedded inspectors (which would grow too big otherwise)

o  hideMessages: aBoolean
hide/show the messages-entries in the field list;
This can be hidden for end-user applications

o  hideReceiver: aBoolean
hide/show the self-entry for the inspected object;
This is hidden for context inspectors in the debugger

o  inspect: anObject
set/update the object to be inspected

o  inspect: anObject keepSelection: keepSelectionBoolean
set/update the object to be inspected

o  inspectNext: anObject
do a followup inspect on an object.
This does either open a new inspector, or advances
the Inspector2 to anObject

o  isStandaloneInspector: aBoolean
obsolete now

o  label: aString
set the fieldListLabel - obsolete; collides with inherited label-functionality

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  listView

o  makeDependentOnInspectedObject
by default, an inspector will NOT make itself dependend,
to avoid flicker and heavy redraws when inspecting a busy object.
(you should select the update menu function).
However, some apps like to make this automatically (eg. the workspace's variable viewer).
These can call for an explicit dependency via this method

o  maxValueDisplayStringLength
strip off and add '...' if the display string of a selected item is longer.
(can be changed via class default and menu)

o  maxValueDisplayStringLength: numberOfcharactersShown
presented string data will be truncated after that number of characters

o  reinspect
update display for a changed inspectedObject

o  suppressHeadline: aBoolean
hide/show the title line above the list/value

o  suppressPseudoSlots: aBoolean
to enable/disable the pseudo slots (eg. inspectorExtraAttributes)

o  workspace

accessing-channels
o  inspectedObjectHolder

o  inspectedObjectHolder: aValueHolder

o  sortOrderHolder

o  sortOrderHolder: aValueHolder

change & update
o  holderChanged: aValueHolder
a valueHolder of which I have registered an iterest
has changed (see the menu item: 'Catch Change').
Remove the interest (no further notifications) either by evaluating:
aValueHolder retractInterestsFor:holderChangeInterest
or:
self doUncatchChanges
here, or via the field menu

o  sortOrderHolderChanged

o  update: something with: aParameter from: changedObject
Invoked when one of my dependees sends a change notification.

drag & drop
o  getDisplayObjects

o  getDropObjects

event handling
o  doubleClickOnLine: lineNr

o  keyPress: key x: x y: y
handle special keys

o  selectedField

o  sizeChanged: how from: oldExtentOrNil
my view has changed the size (not the contents)

initialization & release
o  destroy
(comment from inherited method)
unmap & destroy - make me invisible, destroy subviews then
make me unknown to the device

o  initialize
labelView origin:0.0@0.0 corner:0.0@1.0.

o  initializeDragAndDrop

o  realize
delayed setup of lists till first map-time -
this makes startup of inspectors a bit faster

o  release
release inspected object. This is normally not needed,
since the garbage collector will find this memory alone.
However, if some applications keeps invisible inspectors around
(for example, the debugger does this), the inspected object
would be kept from being freed or freed very late.

Usage example(s):

to release ref to inspectedObject in doItBlock

o  setInitialSelection
the self-line

menu
o  debugMenu
now contains the trap, references etc. items in a submenu

o  fieldMenu
return the popup menu for the field-list

o  localProtocolMenu
return the menu for the inspected object's local implemented messages

o  numberBaseItems

o  optionalByteArraySelectionItems
|sel|

o  optionalFilenameSelectionItems

o  optionalMethodOrBlockSelectionItems

o  optionalOperationMenuItemsFor: anObject
chance to add instance-specific operation menu items.
Should return nil or a vector of spec-entries consisting of:
menu-label
action-block
optional: boolean if enabled.
See SerialPort, Color or FileStream as a examples

o  optionalStreamSelectionItems

o  optionalToolItems
inserted after inspect/browse

o  optionalViewSelectionItems

o  protocolMenu
return the menu for the inspected object's implemented messages

o  sortOrderItems
menu items for sort-order

menu actions
o  browse
(comment from inherited method)
open a browser on the receiver's class

o  browseClass
browseClass:cls

o  browseClassHierarchy

o  browseFullClassProtocol

o  browseHome

o  browseImplementorsOfSymbolValue
Modified (format): / 28-05-2019 / 19:53:17 / Claus Gittinger

o  browseMethodsClass

o  browseReferencesToInstvar

o  browseUpdateMethods

o  browseValue

o  doBack
user selected back-menu entry

o  doBasicInspect
user selected inspect-menu entry

o  doBrowse: what

o  doCatchChanges
remember the interest, in order to be able to retract later

o  doFollow
user selected follow-menu entry

o  doInspect
user selected inspect menu entry

o  doInspectValue
user selected inspect-value menu entry

o  doNewInspect

o  doStartMonitor
start a monitoring process

o  doStopMonitor
stop the monitor

o  doTrace
place a trace on a message sent to the inspected object

o  doTraceAll
place a trace on all messages sent to the inspected object

o  doTrap
place a trap on a message sent to the inspected object

o  doTrapAll
place a trap on all messages sent to the inspected object

o  doTrapAnyInstVarChange
place a trap which is triggered if any instVar of the inspected object is changed

o  doTrapInstVarChange
place a trap which is triggered if the selected instVar of the inspected object is changed

o  doTrapUpdates
place a trap on all update and XXXChanged messages sent to the inspected object

o  doUncatchChanges

o  doUntrace
remove traps/traces

o  inspectOwners
open an inspector on owners of the inspectedObject.
(this is a secret function)

o  letSelectedObjectPerform: aSelector

o  openApplication
open a windows or osx application (typically a viewer)

o  openFileBrowser

o  openWidgetHierarchy

o  saveBytesToFile

o  setDisplayRadixTo10

o  setDisplayRadixTo16

o  setDisplayRadixTo2

o  setDisplayRadixTo: radix

o  setSortOrderTo: aSymbol
aSymbol must be one of #alphabetical, #instvarOrder, #valuesPrintString or #valuesClassName

o  setSortOrderToAlphabetical

o  setSortOrderToGroupByInheritance

o  setSortOrderToInstvarOrder

o  setSortOrderToValuesClassName

o  setSortOrderToValuesPrintString

o  showAll
force update (which is otherwise ignored)

o  showAlphabetical: aBoolean

o  showDependentOf
show all objects of which the selected object is a dependent

o  showDependents
show the selected object's dependents

o  showInWindowsExplorer
show folder in explorer/finder or filebrowser

o  showMore
force update (which is otherwise ignored)

o  showOwners
skip weakArrays ... (they don't count)

o  showReferences
user selected references-menu entry

o  showStreamContents

presentation
o  appendDisplayStringForElementsOf: val indent: lvl pad: padding to: aStream
s nextPutAll:(self stringWithAllInstVarValuesFor:el level:lvl+4)

o  basicDisplayStringForValue: someValue
return the value's displayString to be pasted into the workspace.

o  derivedFieldNames
derived fields are additional pseudo fields, which are usually not instvars.
These consist of valueHolderItems, actions and extraFields.

o  derivedFields
by redefining inspectorExtraAttributes in an object to return an array of
pseudo-fieldName->value associations, the inspector's left list can be extended

o  displayStringForPseudoSlot: slotNameString
return the displayString for one of the '-xxx' slots or nil.

o  displayStringForValue: someValue
return the value's displayString to be pasted into the workspace.

o  extraNamedFieldNames

o  extraNamedFields
another extension mechanism (only used in some java packages):
by redefining inspectorExtraNamedFields in an object to return an array of
pseudo-fieldName->value associations, the inspector's left list can be extended

o  extraNamedVarIndexForLine: lineNr
helper - return the index for a named instVar;
nil, if self or a keyed instvar is selected.

o  fieldList
return a list of names to show in the selectionList.
Leave hasMore as true, if a '...' entry should be added.

o  iconForValue: arg

o  indexList
return a list of indexes usable to access the object's indexed slots.
Set hasMore to true, if a '...' entry should be added.

o  indexOfFirstNamedInstvarInList
helper - return the index for the first named instVar;
nil, if self or a keyed instvar is selected.

o  indexedFieldList
return a list of indexed-variable names to show in the selectionList.
Set hasMore to true, if a '...' entry should be added.

o  indexedValueAtIndex: idx

o  indexedValueAtIndex: idx put: newValue

o  indexedValueAtKey: key
kludge

o  instVarIndexForLine: lineNr
helper - return the index for a named instVar;
nil, if self or a keyed instvar is selected.

o  keyIndexForLine: lineNr
helper - return the index of the key-list;
nil, if self or a namedInstVar is selected.

o  listEntryAt: lineNr

o  listEntryForName: nameString value: value
generates the fieldListEntry (icon + valueString)

o  myObjectsInspectorExtraAttributes
by redefining inspectorExtraAttributes in an object to return an array of
pseudo-fieldName->value associations, the inspector's left list can be extended

o  namedFieldAt: idx

o  namedFieldAt: idx put: newValue

o  namedFieldList
return a list of instVar names to show in the selectionList.

o  plainValueStringInListEntryForValue: value
returns nil or a string to show in angle brackets (or parenthesis) after the
name in the field list.
This is the string shown in the name list on the left.
For most wellknown classes, the code below generates this;
for other objects, an instance-specific inspectorValueStringInListFor:self is called.

o  pseudoFieldNames
return a list of names to show in the selectionList.
Leave hasMore as true, if a '...' entry should be added.

o  pseudoFieldNamesWithIndexed: withIndexed
return a list of names to show in the selectionList.
Leave hasMore as true, if a '...' entry should be added.

o  stringWithAllClassVarValues

o  stringWithAllClassVarValuesFor: anObject level: lvl
sortOrder == SortOrderAlphabetical

o  stringWithAllIndexedVarValues

o  stringWithAllInstVarValues

o  stringWithAllInstVarValuesFor: anObject level: lvl

o  stringWithAllNames: names andValues: values level: lvl

o  stringWithMessages: which

o  valueAtLine: lineNr
helper - return the value of the selected entry

o  valueForSpecialLine: line
actionForAll:[Debugger enterException:ex]

o  valueStringInListEntryForValue: value
returns something to append to the name in the left list
Typically, for numbers, booleans and short strings, this is the actual value.
If sorting by class name, do not generate a short value string,
but append the className intead

private
o  baseInspectedObjectClass
only instvars below that are shown by me in the non-basic tab.
This hides uninterresting details in the regular tab

o  defaultLabel

o  hasSelfEntry

o  isIgnoredEntry: lineEntry atIndex: lineNr
can be redefined to ignore selected separators

o  isSpecialPseudoNameEntry: line

o  numIndexedFields

o  objectAttributeKeyNames

o  setAcceptAction
set the codeView's accept action

o  setDoItAction
set the codeViews doit action

o  showAllIndexedVarsInFieldList

o  theSingleSelectionIndex
helper - return the index of the (single) selected entry.
Nil if nothing or multiple items are selected

o  valueAtLine: lineNr put: newValue
self or special entry selected - don't store

queries
o  canInspect: anObject

o  compilerClass

o  dereferenceValueHolders

o  isIndexShown

o  labelFor: anObject
return the windowLabel to use in my topView, when inspecting anObject.

o  labelNameFor: anObject
return the iconLabel to use in my topView, when inspecting anObject.
Simply returns the className or name of anObjects class

o  selectedKeyName
used by the debugger, to fetch the selected instVar/pseudoVar name,
so it can be reselected after the next single step
(using tryToSelect..)

o  suppressPseudoSlots
are pseudo slots (eg. inspectorExtraAttributes) suppressed?

selection
o  selection: lineNr

o  showSelection: lineNr
user clicked on an instvar - show value in workspace

o  showValue: someValue
user clicked on an entry - show value in workspace

user interaction
o  doAccept: theText
the selected text is evaluated and stored into the selected field

o  doCopyKey
put the instVar-name into the text-copy-buffer

o  doFindKey
find the next key which includes a substring

o  doInspect: basicBooleanOrSymbolForHow
user selected the inspect- or basicInspect-menu entry

o  doInspect: objectToInspect basic: basic
user selected the basic-inspect-menu entry.
Hack: basic used to be a boolean;
it can now be also #new (for the new inspector)

o  doUpdate

o  monitor: anInstVarName
start a monitoring process, showing the given instVar
in regular time intervals.

o  selection
helper - return the value of the (single) selected entry.
Nil if nothing or multiple items are selected

o  showLast
user clicked on an instvar - show value in workspace

o  tryToSelectKeyNamed: aString
called from the debugger to try to select the previousöy selected
field (by name)

workspace protocol
o  modified: aBoolean

o  saveAs: file doAppend: doAppend
On error or cancel return false otherwise return true



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 17:07:57 GMT