--- a/Tools_ClassList.st Thu Nov 05 22:56:29 2009 +0100
+++ b/Tools_ClassList.st Thu Nov 05 22:56:43 2009 +0100
@@ -427,13 +427,13 @@
!
delayedUpdate:something with:aParameter from:changedObject
- |cls classes chgClass wg|
+ |cls classes chgClass wg savedList|
classes := self classList value ? #().
self inSlaveModeOrInvisible ifTrue:[
- self invalidateList.
- ^ self.
+ self invalidateList.
+ ^ self.
].
"/ (self slaveMode value == true) ifTrue:[^ self].
@@ -445,150 +445,153 @@
"/ ].
changedObject == slaveMode ifTrue:[
- listValid ~~ true ifTrue:[
- self enqueueDelayedUpdateList.
- ].
- self enqueueDelayedClassSelectionChanged.
- ^ self
+ listValid ~~ true ifTrue:[
+ self enqueueDelayedUpdateList.
+ ].
+ self enqueueDelayedClassSelectionChanged.
+ ^ self
].
changedObject == Smalltalk ifTrue:[
- something == #methodInClass ifTrue:[
- ^ self "no interest"
- ].
- something == #methodInClassRemoved ifTrue:[
- "/ must update the list, if the methods package is different from
- "/ the classes package (to undo any has-exension highlighting)
- cls := aParameter first.
- self updateListsFor:cls.
- ^ self
- ].
- something == #organization ifTrue:[^ self "no interest" ].
+ something == #methodInClass ifTrue:[
+ ^ self "no interest"
+ ].
+ something == #methodInClassRemoved ifTrue:[
+ "/ must update the list, if the methods package is different from
+ "/ the classes package (to undo any has-exension highlighting)
+ cls := aParameter first.
+ self updateListsFor:cls.
+ ^ self
+ ].
+ something == #organization ifTrue:[^ self "no interest" ].
- (something == #classDefinition
- or:[something == #classVariables
- or:[something == #newClass]]) ifTrue:[
- "/ update that class in my classList and the selection
- listValid ifTrue:[
- self classDefinitionChanged:aParameter.
- ].
- ^ self.
- ].
- (something == #lastTestRunResult) ifTrue:[
- "/ update that class in my classList and the selection
- listValid ifTrue:[
- self updateListsFor:aParameter.
- "/ self classDefinitionChanged:aParameter.
- ].
- ^ self.
- ].
- something == #classRemove ifTrue:[
- "/ update my classList and the selection
- self classRemoved:aParameter.
- ^ self.
- ].
- something == #classRename ifTrue:[
- "/ update that class in my classList and the selection
- listValid ifTrue:[
- aParameter isArray ifTrue:[
- cls := aParameter at:1.
- self classDefinitionChanged:cls.
- ]
- ].
- ^ self.
- ].
+ (something == #classDefinition
+ or:[something == #classVariables
+ or:[something == #newClass]]) ifTrue:[
+ "/ update that class in my classList and the selection
+ listValid ifTrue:[
+ self classDefinitionChanged:aParameter.
+ ].
+ ^ self.
+ ].
+ (something == #lastTestRunResult) ifTrue:[
+ "/ update that class in my classList and the selection
+ listValid ifTrue:[
+ self updateListsFor:aParameter.
+ "/ self classDefinitionChanged:aParameter.
+ ].
+ ^ self.
+ ].
+ something == #classRemove ifTrue:[
+ "/ update my classList and the selection
+ self classRemoved:aParameter.
+ ^ self.
+ ].
+ something == #classRename ifTrue:[
+ "/ update that class in my classList and the selection
+ listValid ifTrue:[
+ aParameter isArray ifTrue:[
+ cls := aParameter at:1.
+ self classDefinitionChanged:cls.
+ ]
+ ].
+ ^ self.
+ ].
- something == #projectOrganization ifTrue:[
- aParameter isNil ifTrue:[
- self invalidateList.
- organizerMode value == #project ifTrue:[
- self enqueueDelayedUpdateOutputGenerator.
- ].
- ^ self
- ].
+ something == #projectOrganization ifTrue:[
+ aParameter isNil ifTrue:[
+ self invalidateList.
+ organizerMode value == #project ifTrue:[
+ self enqueueDelayedUpdateOutputGenerator.
+ ].
+ ^ self
+ ].
- cls := aParameter at:1.
- cls notNil ifTrue:[ "/ should not happen (but does occasionally)
- ((classes includes:cls theMetaclass)
- or:[(classes includes:cls theNonMetaclass)]) ifTrue:[
- self invalidateList.
- organizerMode value == #project ifTrue:[
- self enqueueDelayedUpdateOutputGenerator.
- ]
- ].
- ].
- ^ self
- ].
- ^ self.
+ cls := aParameter at:1.
+ cls notNil ifTrue:[ "/ should not happen (but does occasionally)
+ ((classes includes:cls theMetaclass)
+ or:[(classes includes:cls theNonMetaclass)]) ifTrue:[
+ self invalidateList.
+ organizerMode value == #project ifTrue:[
+ self enqueueDelayedUpdateOutputGenerator.
+ ]
+ ].
+ ].
+ ^ self
+ ].
+ ^ self.
].
(something == #lastTestRunResult) ifTrue:[
- ^ self
+ ^ self
].
changedObject == ChangeSet ifTrue:[
- wg := self windowGroup.
- wg isNil ifTrue:[
- changedObject removeDependent:self.
- ] ifFalse:[
- "/ react on changes of the changeSet to recolorize items
- something == #addChange: ifTrue:[
- chgClass := aParameter changeClass.
- chgClass notNil ifTrue:[
- ((classes includes:chgClass theNonMetaclass)
- or:[classes includes:chgClass theMetaclass]) ifTrue:[
- "/ remove all other addChange notifications ...
- wg sensor
- flushEventsFor:self
- where:[:ev | ev isMessageSendEvent
- and:[ev selector == #delayedUpdate:with:from:
- and:[(ev arguments at:3) == ChangeSet]]].
- self reconstructNameList.
- ]
- ]
- ] ifFalse:[
- "/ remove all other ChangeSet notifications ...
- wg sensor
- flushEventsFor:self
- where:[:ev | ev isMessageSendEvent
- and:[ev selector == #delayedUpdate:with:from:
- and:[(ev arguments at:3) == ChangeSet]]].
- self reconstructNameList.
- ].
- ].
- ^ self
+ wg := self windowGroup.
+ wg isNil ifTrue:[
+ changedObject removeDependent:self.
+ ] ifFalse:[
+ "/ react on changes of the changeSet to recolorize items
+ something == #addChange: ifTrue:[
+ chgClass := aParameter changeClass.
+ chgClass notNil ifTrue:[
+ ((classes includes:chgClass theNonMetaclass)
+ or:[classes includes:chgClass theMetaclass]) ifTrue:[
+ "/ remove all other addChange notifications ...
+ wg sensor
+ flushEventsFor:self
+ where:[:ev | ev isMessageSendEvent
+ and:[ev selector == #delayedUpdate:with:from:
+ and:[(ev arguments at:3) == ChangeSet]]].
+ self reconstructNameList.
+ ]
+ ]
+ ] ifFalse:[
+ "/ remove all other ChangeSet notifications ...
+ wg sensor
+ flushEventsFor:self
+ where:[:ev | ev isMessageSendEvent
+ and:[ev selector == #delayedUpdate:with:from:
+ and:[(ev arguments at:3) == ChangeSet]]].
+ self reconstructNameList.
+ ].
+ ].
+ ^ self
].
changedObject == self selectedClasses ifTrue:[
- slaveMode value ~~ true ifTrue:[
- listValid == true ifFalse:[
- self updateList
- ].
- self selectedClassesChanged.
- self updateOutputGenerator.
- ] ifFalse:[
- listValid := false.
- ].
- ^ self
+ 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
+ self selectionChanged.
+ ^ self
].
changedObject == showClassPackages ifTrue:[
- self classNameList value:nil.
- self invalidateList.
- ^ self
+ self classNameList value:nil.
+ self invalidateList.
+ ^ self
].
(changedObject == hideUnloadedClasses
or:[changedObject == hidePrivateClasses
or:[changedObject == nameSpaceFilter
or:[changedObject == packageFilter]]]) ifTrue:[
- self invalidateList.
- ^ self
+ self invalidateList.
+ ^ self
].
super delayedUpdate:something with:aParameter from:changedObject
@@ -1655,9 +1658,9 @@
!ClassList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.41 2009-10-25 01:37:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.42 2009-11-05 21:56:43 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.41 2009-10-25 01:37:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.42 2009-11-05 21:56:43 cg Exp $'
! !