Tools__ClassList.st
branchjv
changeset 17379 028adf14bc05
parent 17304 3eea1002b141
parent 17296 e5381f8ed0fa
child 17525 f206a20ab267
--- a/Tools__ClassList.st	Wed Jan 25 19:02:59 2017 +0000
+++ b/Tools__ClassList.st	Wed Feb 01 11:36:30 2017 +0000
@@ -18,7 +18,7 @@
 		selectedClassNameIndices currentNamespace hidePrivateClasses
 		unloadedClassesColor markApplicationsHolder classFilterBlock
 		sortByNameAndInheritance outGeneratorHolderForMethods
-		addOwnerClasses'
+		addOwnerClasses ownersAddedForTheirPrivateClassesOnly'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-Browsers-New'
@@ -242,11 +242,11 @@
     ^ addOwnerClasses.
 !
 
-addOwnerClasses:aValueHolder
+addOwnerClasses:aBooleanValueHolder
     addOwnerClasses notNil ifTrue:[
         addOwnerClasses removeDependent:self
     ].
-    addOwnerClasses := aValueHolder.
+    addOwnerClasses := aBooleanValueHolder.
     addOwnerClasses notNil ifTrue:[
         addOwnerClasses addDependent:self
     ].
@@ -1256,6 +1256,8 @@
 
     classesAlready := IdentitySet new.
     classesOrdered := OrderedCollection new.
+    ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
+
     hidePrivate := self hidePrivateClasses value.
 
     privateClassesPerClass := IdentityDictionary new.
@@ -1305,6 +1307,7 @@
     "/ are there any private classes, for which the owner is not in the list ?
     privateClassesPerClass keysAndValuesDo:[:eachOwnerClass :privateClasses|
         (classesAlready includes:eachOwnerClass) ifFalse:[
+            ownersAddedForTheirPrivateClassesOnly add:eachOwnerClass.
             classesOrdered add:eachOwnerClass.
             classesAlready add:eachOwnerClass.
 "/            privateClasses do:[:privateClass |
@@ -1385,6 +1388,7 @@
     classesAlready := IdentitySet new.
     classes := Set new.
     classesOrdered := OrderedCollection new.
+    ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
     hidePrivate := self hidePrivateClasses value.
 
     privateClassesPerClass := IdentityDictionary new.
@@ -1402,8 +1406,10 @@
                 or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
                     (classesAlready includes:cls) ifFalse:[
                         classesAlready add:cls.
+                        ownersAddedForTheirPrivateClassesOnly remove:cls ifAbsent:[].
                         ((owner := cls owningClass) notNil and:[self addOwnerClasses value]) ifTrue:[
                             (classesAlready includes:owner) ifFalse:[
+                                ownersAddedForTheirPrivateClassesOnly add:owner.
                                 classesAlready add:owner.
                                 classes add:owner.
                             ].
@@ -1573,13 +1579,18 @@
                                 ].
                             ].
 
+                            (ownersAddedForTheirPrivateClassesOnly notNil 
+                              and:[ownersAddedForTheirPrivateClassesOnly includes:eachClass]
+                            ) ifTrue:[
+                                clr := Color grey.
+                            ].
+                            
                             self showCoverageInformation value ifTrue:[
                                 clr := self colorForCoverageInformationOfClass:eachClass.
-                                clr notNil ifTrue:[
-                                    nm := self colorize:nm with:#color -> clr
-                                ].
                             ].
-                            clr isNil ifTrue:[
+                            clr notNil ifTrue:[
+                                nm := self colorize:nm with:#color -> clr
+                            ] ifFalse:[
                                 isInChangeSet ifTrue:[
                                     nm := self emphasizeForChangedCode:nm
                                 ].