--- a/ContextInspectorView.st Sun Jun 03 11:54:20 2012 +0200
+++ b/ContextInspectorView.st Sun Jun 03 15:32:46 2012 +0200
@@ -60,19 +60,31 @@
m argsOnly blockNode
numVarsInSource numVarsInContext isDoIt
numArgs numVars n tempNames realTempNames
- oldSelection oldSelectedName hCon listSelection|
+ oldSelection oldSelectedName hCon keepList newList|
oldSelection := selectionIndex.
- oldSelection notNil ifTrue:[oldSelectedName := self listEntryAt:oldSelection].
+ oldSelection notNil ifTrue:[
+ oldSelectedName := (self listEntryAt:oldSelection).
+ oldSelectedName notNil ifTrue:[
+ oldSelectedName := oldSelectedName string
+ ]
+ ].
- ((aContext == inspectedContext)
- "/ care for contexts which change size
- "/ (after the locals & stack-setup)
- and:[ contextSize == inspectedContext size ])
- ifTrue:[
- "/ do nothing
+ keepList := ((aContext == inspectedContext)
+ "/ care for contexts which change size
+ "/ (after the locals & stack-setup)
+ and:[ contextSize == inspectedContext size ]).
+
+ keepList ifTrue:[
+ "/ assume that the list remains unchanged;
+ "/ this is no longer true, if some inst-slot has changed (bullet colors)
+ UserPreferences current showTypeIndicatorInInspector ifTrue:[
+ newList := self fieldList.
+ newList ~= listView list ifTrue:[
+ listView list:newList.
+ ]
+ ].
] ifFalse:[
-
hasMore := argsOnly := false.
inspectedObject := object := nil.
inspectedContext := aContext.
@@ -84,10 +96,7 @@
^ self
].
-"/ realized ifFalse:[^ self].
-
- methodHomeContext := aContext methodHome.
-
+ methodHomeContext := aContext methodHome.
methodHomeContext isNil ifTrue:[
"its a cheap blocks context"
rec := aContext receiver.
@@ -100,7 +109,6 @@
"/ #doIt needs special handling below
isDoIt := (sel == #doIt) or:[sel == #doIt:].
-
method := methodHomeContext method.
"/ implementorClass := methodHomeContext methodClass.
@@ -299,14 +307,14 @@
oldSelectedName notNil ifTrue:[
|idx|
- idx := listView list indexOf:oldSelectedName.
+ idx := listView list findFirst:[:entry | (entry ? '') string = oldSelectedName].
idx ~~ 0 "(names includes:oldSelectedName)" ifTrue:[
listView selectElement:oldSelectedName.
self showSelection:idx.
]
].
- "Modified: / 16-05-2012 / 17:55:45 / cg"
+ "Modified: / 03-06-2012 / 11:56:59 / cg"
!
namesOfBlockContext:aContext
@@ -663,9 +671,9 @@
!ContextInspectorView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.77 2012-05-16 17:04:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.78 2012-06-03 13:32:46 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.77 2012-05-16 17:04:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.78 2012-06-03 13:32:46 cg Exp $'
! !