--- a/Tools_ClassList.st Tue Jan 22 23:32:41 2008 +0100
+++ b/Tools_ClassList.st Tue Jan 22 23:33:07 2008 +0100
@@ -645,40 +645,45 @@
allEntrySelected := false.
classes := classList value.
+ classes isNil ifTrue:[
+ self updateList.
+ classes := classList value.
+ ].
+
isMeta := meta value.
anyLost := false.
selectedClassNameIndices := self selectedClassNameIndices value.
selectedClassNameIndices size == classes size ifTrue:[
- selectedClassNameIndices size == 0 ifTrue:[^ #()].
- isMeta ifTrue:[
- ^ classes collect:[:eachClass | eachClass theMetaclass].
- ].
- ^ classes collect:[:eachClass | eachClass theNonMetaclass].
+ selectedClassNameIndices size == 0 ifTrue:[^ #()].
+ isMeta ifTrue:[
+ ^ classes collect:[:eachClass | eachClass theMetaclass].
+ ].
+ ^ classes collect:[:eachClass | eachClass theNonMetaclass].
].
selected := selectedClassNameIndices
- collect:[:idx |
- |cls|
+ collect:[:idx |
+ |cls|
- cls := classes at:idx.
- cls == (self class nameListEntryForALL) ifTrue:[
- allEntrySelected := true.
- ] ifFalse:[
- cls notNil ifTrue:[
- isMeta ifTrue:[
- cls := cls theMetaclass
- ] ifFalse:[
- cls := cls theNonMetaclass
- ].
- ] ifFalse:[
- anyLost := true
- ].
- ].
- cls
- ].
+ cls := classes at:idx.
+ cls == (self class nameListEntryForALL) ifTrue:[
+ allEntrySelected := true.
+ ] ifFalse:[
+ cls notNil ifTrue:[
+ isMeta ifTrue:[
+ cls := cls theMetaclass
+ ] ifFalse:[
+ cls := cls theNonMetaclass
+ ].
+ ] ifFalse:[
+ anyLost := true
+ ].
+ ].
+ cls
+ ].
anyLost ifTrue:[
- selected := selected select:[:each | each notNil].
+ selected := selected select:[:each | each notNil].
].
"/ allEntrySelected ifTrue:[
@@ -1638,5 +1643,5 @@
!ClassList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.27 2007-03-14 14:54:55 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.28 2008-01-22 22:33:07 cg Exp $'
! !