*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Thu, 10 Aug 2006 17:14:33 +0200
changeset 6878 bed17af9b5e8
parent 6877 59c8f9e00343
child 6879 92a0a6d1dffd
*** empty log message ***
Tools_OrganizerCanvas.st
--- 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 $'
 ! !