InspectorView.st
changeset 1770 5cb6d7232aaa
parent 1743 88f86bfde4a4
child 1855 24108d2b3374
--- a/InspectorView.st	Thu Jul 30 18:07:57 1998 +0200
+++ b/InspectorView.st	Thu Jul 30 18:09:51 1998 +0200
@@ -231,23 +231,26 @@
     sameObject := anObject == inspectedObject.
     inspectedObject := anObject.
 
-    hasMore := false.
-    aList := self fieldList.
-    hasMore ifTrue:[
-	aList add:' ... '
+    sameObject ifFalse:[
+        hasMore := false.
+        aList := self fieldList.
+        hasMore ifTrue:[
+            aList add:' ... '
+        ].
     ].
 
     sameObject ifTrue:[
-	listView setContents:aList.
-"/        listView selection:1.
+"/        listView setContents:aList.
     ] ifFalse:[
-	listView contents:aList
+        listView contents:aList.
+
+        workspace contents:nil.
+        self setDoItAction.
     ].
 
-    workspace contents:nil.
-    self setDoItAction.
+    selectedLine := nil
 
-    selectedLine := nil
+    "Modified: / 30.7.1998 / 13:36:55 / cg"
 !
 
 label:aString
@@ -807,18 +810,20 @@
 
     |objectToInspect|
 
-    selectedLine notNil ifTrue:[
+    selectedLine isNil ifTrue:[
+        objectToInspect := inspectedObject.
+    ] ifFalse:[
         objectToInspect := self valueAtLine:selectedLine.
-        ObjectMemory displayRefChainTo:objectToInspect
-    ]
+    ].
+    ObjectMemory displayRefChainTo:objectToInspect
 
-    "Modified: / 31.10.1997 / 12:46:53 / cg"
+    "Modified: / 30.7.1998 / 14:03:16 / cg"
 !
 
 showSelection:lineNr
     "user clicked on an instvar - show value in workspace"
 
-    |val|
+    |val obj|
 
     (hasMore and:[lineNr == listView list size]) ifTrue:[
         "clicked on the '...' entry"
@@ -829,14 +834,16 @@
     hideReceiver ifFalse:[
         (self hasSelfEntry and:[lineNr == 1]) ifTrue:[
             "selecting self also does a re-set, this allows updating the list"
-            self inspect:inspectedObject.
+            obj := inspectedObject.    "/ force re-evaluation of the fieldList.
+            inspectedObject := nil.
+            self inspect:obj.
         ].
     ].
     val := self valueAtLine:lineNr.
     selectedLine := lineNr.
     self showValue:val.
 
-    "Modified: 21.3.1997 / 15:16:44 / cg"
+    "Modified: / 30.7.1998 / 13:36:33 / cg"
 !
 
 showValue:someValue 
@@ -913,5 +920,5 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.77 1998-07-23 21:32:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.78 1998-07-30 16:09:51 cg Exp $'
 ! !