--- a/Tools_OrganizerCanvas.st Thu Aug 10 17:13:52 2006 +0200
+++ b/Tools_OrganizerCanvas.st Thu Aug 10 17:14:33 2006 +0200
@@ -3714,29 +3714,38 @@
allEntry := self class nameListEntryForALL.
classes := self selectedClasses value.
- classes size > 0 ifTrue:[
- selectedNamespaces := self selectedNamespaces value.
- oldSelectedNamespaces := (selectedNamespaces ? #()) asSet.
- selectedNamespaces := Set new.
-
- "/ namespace-selection feedBack;
- "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
- (oldSelectedNamespaces size > 0
- and:[oldSelectedNamespaces includes:allEntry])
- ifTrue:[
- selectedNamespaces add:allEntry.
- ].
- selectedNamespaces
- addAll:(classes
- collect:[:eachClass | eachClass theNonMetaclass topNameSpace name.]).
-
- classes := classes copy.
- "/ selectedNamespaces ~= oldSelectedNamespaces ifTrue:[
- self selectedNamespaces value:selectedNamespaces.
- "/ ].
-
- classes ~= self selectedClasses value ifTrue:[self halt:'oops'].
+ classes isEmptyOrNil ifTrue:[
+ |categories includesAll|
+
+ categories := self selectedCategories value.
+ categories notEmptyOrNil ifTrue:[
+ includesAll := categories includes:BrowserList nameListEntryForALL.
+ classes := Smalltalk allClassesForWhich:[:aClass |
+ (includesAll or:[categories includes:aClass category]).
+ ].
+ ].
].
+ classes notEmptyOrNil ifTrue:[
+ selectedNamespaces := self selectedNamespaces value.
+ oldSelectedNamespaces := (selectedNamespaces ? #()) asSet.
+ selectedNamespaces := Set new.
+
+ "/ namespace-selection feedBack;
+ "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+"/ (oldSelectedNamespaces includes:allEntry) ifTrue:[
+"/ selectedNamespaces add:allEntry.
+"/ ].
+ selectedNamespaces addAll:(classes collect:[:eachClass | eachClass theNonMetaclass topNameSpace name.]).
+
+ classes := classes copy.
+ "/ selectedNamespaces ~= oldSelectedNamespaces ifTrue:[
+ self selectedNamespaces value:selectedNamespaces.
+ "/ ].
+
+"/ (classes ~= self selectedClasses) value ifTrue:[self halt:'oops'].
+ ].
+
+ "Modified: / 10-08-2006 / 16:04:55 / cg"
!
updateOrganizationFromChangedClass
@@ -3865,5 +3874,5 @@
!OrganizerCanvas class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.10 2006-08-10 13:08:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.11 2006-08-10 15:14:33 cg Exp $'
! !