Tools__ClassList.st
branchjv
changeset 17379 028adf14bc05
parent 17304 3eea1002b141
parent 17296 e5381f8ed0fa
child 17525 f206a20ab267
equal deleted inserted replaced
17304:3eea1002b141 17379:028adf14bc05
    16 BrowserList subclass:#ClassList
    16 BrowserList subclass:#ClassList
    17 	instanceVariableNames:'classList classNameList meta lastSelectedClasses
    17 	instanceVariableNames:'classList classNameList meta lastSelectedClasses
    18 		selectedClassNameIndices currentNamespace hidePrivateClasses
    18 		selectedClassNameIndices currentNamespace hidePrivateClasses
    19 		unloadedClassesColor markApplicationsHolder classFilterBlock
    19 		unloadedClassesColor markApplicationsHolder classFilterBlock
    20 		sortByNameAndInheritance outGeneratorHolderForMethods
    20 		sortByNameAndInheritance outGeneratorHolderForMethods
    21 		addOwnerClasses'
    21 		addOwnerClasses ownersAddedForTheirPrivateClassesOnly'
    22 	classVariableNames:''
    22 	classVariableNames:''
    23 	poolDictionaries:''
    23 	poolDictionaries:''
    24 	category:'Interface-Browsers-New'
    24 	category:'Interface-Browsers-New'
    25 !
    25 !
    26 
    26 
   240         addOwnerClasses addDependent:self.
   240         addOwnerClasses addDependent:self.
   241     ].
   241     ].
   242     ^ addOwnerClasses.
   242     ^ addOwnerClasses.
   243 !
   243 !
   244 
   244 
   245 addOwnerClasses:aValueHolder
   245 addOwnerClasses:aBooleanValueHolder
   246     addOwnerClasses notNil ifTrue:[
   246     addOwnerClasses notNil ifTrue:[
   247         addOwnerClasses removeDependent:self
   247         addOwnerClasses removeDependent:self
   248     ].
   248     ].
   249     addOwnerClasses := aValueHolder.
   249     addOwnerClasses := aBooleanValueHolder.
   250     addOwnerClasses notNil ifTrue:[
   250     addOwnerClasses notNil ifTrue:[
   251         addOwnerClasses addDependent:self
   251         addOwnerClasses addDependent:self
   252     ].
   252     ].
   253 !
   253 !
   254 
   254 
  1254         generator isNil ifTrue:[^ #() ].
  1254         generator isNil ifTrue:[^ #() ].
  1255     ].
  1255     ].
  1256 
  1256 
  1257     classesAlready := IdentitySet new.
  1257     classesAlready := IdentitySet new.
  1258     classesOrdered := OrderedCollection new.
  1258     classesOrdered := OrderedCollection new.
       
  1259     ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
       
  1260 
  1259     hidePrivate := self hidePrivateClasses value.
  1261     hidePrivate := self hidePrivateClasses value.
  1260 
  1262 
  1261     privateClassesPerClass := IdentityDictionary new.
  1263     privateClassesPerClass := IdentityDictionary new.
  1262     nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
  1264     nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
  1263     nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
  1265     nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
  1303     ].
  1305     ].
  1304 
  1306 
  1305     "/ are there any private classes, for which the owner is not in the list ?
  1307     "/ are there any private classes, for which the owner is not in the list ?
  1306     privateClassesPerClass keysAndValuesDo:[:eachOwnerClass :privateClasses|
  1308     privateClassesPerClass keysAndValuesDo:[:eachOwnerClass :privateClasses|
  1307         (classesAlready includes:eachOwnerClass) ifFalse:[
  1309         (classesAlready includes:eachOwnerClass) ifFalse:[
       
  1310             ownersAddedForTheirPrivateClassesOnly add:eachOwnerClass.
  1308             classesOrdered add:eachOwnerClass.
  1311             classesOrdered add:eachOwnerClass.
  1309             classesAlready add:eachOwnerClass.
  1312             classesAlready add:eachOwnerClass.
  1310 "/            privateClasses do:[:privateClass |
  1313 "/            privateClasses do:[:privateClass |
  1311 "/                (classesOrdered includes:privateClass) ifFalse:[
  1314 "/                (classesOrdered includes:privateClass) ifFalse:[
  1312 "/                    classesOrdered add:privateClass.
  1315 "/                    classesOrdered add:privateClass.
  1383     ].
  1386     ].
  1384 
  1387 
  1385     classesAlready := IdentitySet new.
  1388     classesAlready := IdentitySet new.
  1386     classes := Set new.
  1389     classes := Set new.
  1387     classesOrdered := OrderedCollection new.
  1390     classesOrdered := OrderedCollection new.
       
  1391     ownersAddedForTheirPrivateClassesOnly := IdentitySet new.
  1388     hidePrivate := self hidePrivateClasses value.
  1392     hidePrivate := self hidePrivateClasses value.
  1389 
  1393 
  1390     privateClassesPerClass := IdentityDictionary new.
  1394     privateClassesPerClass := IdentityDictionary new.
  1391     nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
  1395     nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
  1392     nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
  1396     nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
  1400             or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
  1404             or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
  1401                 (packageFilter isNil
  1405                 (packageFilter isNil
  1402                 or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
  1406                 or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
  1403                     (classesAlready includes:cls) ifFalse:[
  1407                     (classesAlready includes:cls) ifFalse:[
  1404                         classesAlready add:cls.
  1408                         classesAlready add:cls.
       
  1409                         ownersAddedForTheirPrivateClassesOnly remove:cls ifAbsent:[].
  1405                         ((owner := cls owningClass) notNil and:[self addOwnerClasses value]) ifTrue:[
  1410                         ((owner := cls owningClass) notNil and:[self addOwnerClasses value]) ifTrue:[
  1406                             (classesAlready includes:owner) ifFalse:[
  1411                             (classesAlready includes:owner) ifFalse:[
       
  1412                                 ownersAddedForTheirPrivateClassesOnly add:owner.
  1407                                 classesAlready add:owner.
  1413                                 classesAlready add:owner.
  1408                                 classes add:owner.
  1414                                 classes add:owner.
  1409                             ].
  1415                             ].
  1410                             bucket := privateClassesPerClass at:owner ifAbsentPut:[SortedCollection new sortBlock:[:a :b | a name < b name] ].
  1416                             bucket := privateClassesPerClass at:owner ifAbsentPut:[SortedCollection new sortBlock:[:a :b | a name < b name] ].
  1411 
  1417 
  1571                                         nm := nm , (clstring withColor:Color gray).
  1577                                         nm := nm , (clstring withColor:Color gray).
  1572                                     ].
  1578                                     ].
  1573                                 ].
  1579                                 ].
  1574                             ].
  1580                             ].
  1575 
  1581 
       
  1582                             (ownersAddedForTheirPrivateClassesOnly notNil 
       
  1583                               and:[ownersAddedForTheirPrivateClassesOnly includes:eachClass]
       
  1584                             ) ifTrue:[
       
  1585                                 clr := Color grey.
       
  1586                             ].
       
  1587                             
  1576                             self showCoverageInformation value ifTrue:[
  1588                             self showCoverageInformation value ifTrue:[
  1577                                 clr := self colorForCoverageInformationOfClass:eachClass.
  1589                                 clr := self colorForCoverageInformationOfClass:eachClass.
  1578                                 clr notNil ifTrue:[
       
  1579                                     nm := self colorize:nm with:#color -> clr
       
  1580                                 ].
       
  1581                             ].
  1590                             ].
  1582                             clr isNil ifTrue:[
  1591                             clr notNil ifTrue:[
       
  1592                                 nm := self colorize:nm with:#color -> clr
       
  1593                             ] ifFalse:[
  1583                                 isInChangeSet ifTrue:[
  1594                                 isInChangeSet ifTrue:[
  1584                                     nm := self emphasizeForChangedCode:nm
  1595                                     nm := self emphasizeForChangedCode:nm
  1585                                 ].
  1596                                 ].
  1586                                 isInRemoteChangeSet ifTrue:[
  1597                                 isInRemoteChangeSet ifTrue:[
  1587                                     nm := (self colorizeForChangedCodeInSmallTeam:'!! '),nm
  1598                                     nm := (self colorizeForChangedCodeInSmallTeam:'!! '),nm