--- a/Tools_ClassList.st Wed Nov 07 15:19:04 2012 +0100
+++ b/Tools_ClassList.st Wed Nov 07 15:21:22 2012 +0100
@@ -463,11 +463,6 @@
classes := self classList value ? #().
- self inSlaveModeOrInvisible ifTrue:[
- self invalidateList.
- ^ self.
- ].
-
"/ (self slaveMode value == true) ifTrue:[^ self].
"/ self slaveMode value isNil ifTrue:[
"/ self window shown ifFalse:[
@@ -477,6 +472,7 @@
"/ ].
changedObject == slaveMode ifTrue:[
+ "/ a previously suppressed update is now due
listValid ~~ true ifTrue:[
self enqueueDelayedUpdateList.
].
@@ -484,6 +480,39 @@
^ self
].
+ changedObject == self selectedClasses ifTrue:[
+ self inSlaveMode ifFalse:[
+ savedList := self selectedClasses value.
+ lastSelectedClasses := nil.
+ listValid == true ifFalse:[
+ self updateList
+ ].
+ self selectedClasses setValue:savedList.
+ self selectedClassesChanged.
+ self updateOutputGenerator.
+ ] ifTrue:[
+"/ listValid := false.
+ self selectedClassesChanged.
+ ].
+ ^ self
+ ].
+
+ (changedObject == meta
+ or:[changedObject == selectedClassNameIndices]) ifTrue:[
+ self inSlaveMode ifFalse:[
+ self selectionChanged.
+ ] ifTrue:[
+ listValid := false.
+ self selectedClassesChanged.
+ ].
+ ^ self
+ ].
+
+ self inSlaveModeOrInvisible ifTrue:[
+ self invalidateList.
+ ^ self.
+ ].
+
changedObject == Smalltalk ifTrue:[
something == #methodInClass ifTrue:[
^ self "no interest"
@@ -583,27 +612,6 @@
^ self
].
- changedObject == self selectedClasses ifTrue:[
- slaveMode value ~~ true ifTrue:[
- savedList := self selectedClasses value.
- lastSelectedClasses := nil.
- listValid == true ifFalse:[
- self updateList
- ].
- self selectedClasses setValue:savedList.
- self selectedClassesChanged.
- self updateOutputGenerator.
- ] ifFalse:[
- listValid := false.
- ].
- ^ self
- ].
-
- (changedObject == meta
- or:[changedObject == selectedClassNameIndices]) ifTrue:[
- self selectionChanged.
- ^ self
- ].
changedObject == showClassPackages ifTrue:[
self classNameList value:nil.
self invalidateList.
@@ -801,7 +809,7 @@
update:something with:aParameter from:changedObject
|cls sel mthd newMethod oldMethod idx classListValue|
- self slaveMode value == true ifTrue:[
+ self inSlaveMode ifTrue:[
something == #methodInClass ifTrue:[ ^ self ].
something == #addChange: ifTrue:[ self invalidateList. ^ self ].
something == #methodCoverageInfo ifTrue:[ self invalidateList. ^ self ].
@@ -860,14 +868,16 @@
].
something == #methodInClassRemoved ifTrue:[
- cls := aParameter at:1.
- cls notNil ifTrue:[
- classListValue size > 0 ifTrue:[
- ((classListValue includesIdentical:cls theNonMetaclass)
- or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
- self enqueueDelayedUpdateList
+ self inSlaveMode ifFalse:[
+ cls := aParameter at:1.
+ cls notNil ifTrue:[
+ classListValue size > 0 ifTrue:[
+ ((classListValue includesIdentical:cls theNonMetaclass)
+ or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
+ self enqueueDelayedUpdateList
+ ]
]
- ]
+ ].
].
^ self
].
@@ -2006,9 +2016,9 @@
!ClassList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.69 2012-11-03 11:39:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.69 2012-11-03 11:39:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
! !