Tools__ClassList.st
branchjv
changeset 12650 e0f607754b9a
parent 12627 cd43df2b0272
child 13324 25c21416babd
--- a/Tools__ClassList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ClassList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -856,7 +856,7 @@
         something == #lastTestRunResult ifTrue:[
             cls := aParameter at:1.
             sel := aParameter at:2.
-            (cls notNil and:[sel notNil]) ifTrue:[
+            (cls notNil and:[sel isNil]) ifTrue:[
                 classListValue size > 0 ifTrue:[
                     ((classListValue includesIdentical:cls theNonMetaclass)
                     or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
@@ -937,7 +937,6 @@
     super update:something with:aParameter from:changedObject
 
     "Modified: / 05-06-2012 / 23:39:34 / cg"
-    "Modified: / 02-04-2013 / 10:51:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ClassList methodsFor:'drag & drop'!
@@ -1020,15 +1019,20 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already anyMethod packages classIsInPackage showChanged changedClasses|
+                |allEntry classes cls already anyMethod packages classIsInPackage 
+                 showChanged changedClasses|
 
                 allEntry := self class nameListEntryForALL.
-                changedClasses := ChangeSet current changedClasses.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
+
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
@@ -1044,7 +1048,9 @@
                                 whatToDo value:cls value:(self class nameListEntryForNonStatic).
                             ]
                         ] ifFalse:[
-                            cls supportsMethodCategories ifTrue:[
+                            cls supportsMethodCategories ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
+                            ] ifTrue:[
                                 already := Set new.
                                 cls methodDictionary keysAndValuesDo:[:sel :mthd |
                                     |cat|
@@ -1052,16 +1058,14 @@
                                     cat := mthd category.
                                     (already includes:cat) ifFalse:[
                                         (classIsInPackage
-                                        or:[packages isNil
-                                        or:[packages includes:mthd package]])
+                                            or:[packages isNil
+                                            or:[(packages includes:mthd package) ]])
                                         ifTrue:[
                                             already add:cat.
                                             whatToDo value:cls value:cat.
                                         ]
                                     ]
                                 ].
-                            ] ifFalse:[
-                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
                             ].
                         ].
 
@@ -1082,20 +1086,25 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already packages classIsInPackage showChanged cat |
+                |allEntry classes cls already packages classIsInPackage 
+                 showChanged changedClasses cat |
 
                 allEntry := self class nameListEntryForALL.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
                         classIsInPackage := packages isNil 
                                             or:[(packages includes:cls package)
-                                            or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ].
+                                            or:[ showChanged and:[changedClasses includes:cls]] ].
                         cls isMeta ifTrue:[
                             cat := self class nameListEntryForStatic.
                         ] ifFalse:[
@@ -1879,6 +1888,7 @@
     aClass isLoaded ifFalse:[
         "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
     ] ifTrue:[
+        aClass isAbstract ifTrue:[ nm := nm allItalic ].
         nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size)) 
                         colorizeAllWith:self class pseudoEntryForegroundColor).
     ].