diff -r 18d06283743d -r e0f607754b9a Tools__ClassList.st --- 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 " ! ! !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). ].