care for nil-category in classes
authorClaus Gittinger <cg@exept.de>
Thu, 14 Oct 2004 10:57:04 +0200
changeset 6066 dbc820318498
parent 6065 500ec804b779
child 6067 d95d50b17159
care for nil-category in classes
Tools_ClassCategoryList.st
--- a/Tools_ClassCategoryList.st	Tue Oct 12 10:46:29 2004 +0200
+++ b/Tools_ClassCategoryList.st	Thu Oct 14 10:57:04 2004 +0200
@@ -436,73 +436,74 @@
 
     cats := self selectedCategories value.
     cats size == 0 ifTrue:[
-	^ #()
+        ^ #()
     ].
     cats := cats collect:[:each | each string].
+    cats := cats collect:[:each | each = '* no category *' ifTrue:[nil] ifFalse:[each]].
 
     allName := self class nameListEntryForALL.
 
     hideUnloadedClasses := self hideUnloadedClasses value ? false.
     nameSpaceFilter := self nameSpaceFilter value.
     nameSpaceFilter notNil ifTrue:[
-	(nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
+        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
     ].
     packageFilter := self packageFilter value.
     packageFilter notNil ifTrue:[
-	(packageFilter includes:allName) ifTrue:[packageFilter := nil].
+        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
     ].
 
     (cats includes:allName) ifTrue:[
-	hideUnloadedClasses ifTrue:[
-	    ^ Iterator on:[:whatToDo |
-			       Smalltalk allClassesDo:[:cls |
-				   cls isLoaded ifTrue:[
-				       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
-					   (nameSpaceFilter isNil
-					   or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
-					       (packageFilter isNil
-					       or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
-						   whatToDo value:cls
-					       ]
-					   ]
-				       ]
-				   ]
-			       ]
-			  ]
-	].
-	^ Iterator on:[:whatToDo | 
-			   Smalltalk allClassesDo:[:cls |
-			       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
-				    (nameSpaceFilter isNil
-				    or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
-					(packageFilter isNil
-					or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
-					    whatToDo value:cls
-					]
-				    ]
-			       ]
-			   ]
-		      ]
+        hideUnloadedClasses ifTrue:[
+            ^ Iterator on:[:whatToDo |
+                               Smalltalk allClassesDo:[:cls |
+                                   cls isLoaded ifTrue:[
+                                       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
+                                           (nameSpaceFilter isNil
+                                           or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                                               (packageFilter isNil
+                                               or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                                                   whatToDo value:cls
+                                               ]
+                                           ]
+                                       ]
+                                   ]
+                               ]
+                          ]
+        ].
+        ^ Iterator on:[:whatToDo | 
+                           Smalltalk allClassesDo:[:cls |
+                               (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
+                                    (nameSpaceFilter isNil
+                                    or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                                        (packageFilter isNil
+                                        or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                                            whatToDo value:cls
+                                        ]
+                                    ]
+                               ]
+                           ]
+                      ]
     ].
 
     ^ Iterator on:[:whatToDo | 
-		       Smalltalk allClassesDo:[:cls |
-			   (hideUnloadedClasses not or:[cls isLoaded]) 
-			   ifTrue:[
-			       (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
-				   (cats includes:cls category) ifTrue:[
-				       (nameSpaceFilter isNil
-				       or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
-					   (packageFilter isNil
-					   or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
-					       whatToDo value:cls
-					   ]
-				       ]
-				   ]
-			       ]
-			   ]
-		       ]
-		  ]
+                       Smalltalk allClassesDo:[:cls |
+                           (hideUnloadedClasses not or:[cls isLoaded]) 
+                           ifTrue:[
+                               (cls isNameSpace not or:[cls == Smalltalk]) ifTrue:[
+                                   (cats includes:cls category) ifTrue:[
+                                       (nameSpaceFilter isNil
+                                       or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                                           (packageFilter isNil
+                                           or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                                               whatToDo value:cls
+                                           ]
+                                       ]
+                                   ]
+                               ]
+                           ]
+                       ]
+                  ]
 
     "Created: / 5.2.2000 / 13:42:12 / cg"
     "Modified: / 18.8.2000 / 15:52:41 / cg"
@@ -561,7 +562,7 @@
                     or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
                         (packageFilter isNil
                         or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
-                            cat := cls category.
+                            cat := cls category ? '* no category *'.
                             cat isString ifFalse:[self halt:'oops - strange category'].
                             categories add:cat.
                             classes add:cls.
@@ -756,5 +757,5 @@
 !ClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.5 2004-07-15 12:23:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.6 2004-10-14 08:57:04 cg Exp $'
 ! !