*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 22 Sep 2009 12:31:29 +0200
changeset 8752 8fbdb8d11b49
parent 8751 2cd8c5f2536c
child 8753 3bc7bfa98dd3
*** empty log message ***
Tools_ClassList.st
--- a/Tools_ClassList.st	Tue Sep 22 12:30:25 2009 +0200
+++ b/Tools_ClassList.st	Tue Sep 22 12:31:29 2009 +0200
@@ -735,31 +735,14 @@
     |selected prevSelection selectedClassesHolder|
 
     selectedClassesHolder := self selectedClasses.
-"/    lastSelectedClasses := selectedClassesHolder value copy.
 
     selected := self getSelectedClassesFromIndices.
 
     prevSelection := selectedClassesHolder value ? #().
 
-    "/ to allow reselect, change my valueHolder, even if the same collection
-
     prevSelection ~= selected ifTrue:[
-	selectedClassesHolder value:selected.
-"/    ] ifFalse:[
-"/        selectedClassesHolder value:selected withoutNotifying:self
+        selectedClassesHolder value:selected.
     ].
-
-"/    (selectedClassesHolder value = lastSelectedClasses 
-"/    and:[lastSelectedClasses size == 1]) ifTrue:[
-"/        "/ thats a kludge - we want to turn off the protocol selection,
-"/        "/ when a class is reselected.
-"/
-"/        (masterApplication notNil
-"/        and:[(mm := masterApplication masterApplication) notNil
-"/        and:[mm respondsTo:#selectedProtocols]]) ifTrue:[
-"/            mm selectedProtocols value:#()
-"/        ].
-"/    ].
 !
 
 selectionChangedByClick
@@ -967,57 +950,61 @@
      to make the consumers only depend on one input (i.e. no need for another
      classHolder in the methodList)."
 
-    ^ Iterator on:[:whatToDo |
-			|allEntry classes cls already anyMethod packages classIsInPackage|
+    ^ Iterator 
+        on:[:whatToDo |
+                |allEntry classes cls already anyMethod packages classIsInPackage showChanged|
 
-			allEntry := self class nameListEntryForALL.
-
-			classes := self selectedClasses value ? #().
-			packages := packageFilter value value.
-			(packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+                allEntry := self class nameListEntryForALL.
 
-			classes do:[:cls |
-			    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
-				anyMethod := false.
-				classIsInPackage := packages isNil or:[packages includes:cls package].
+                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].
 
-				cls theNonMetaclass isJavaClass ifTrue:[
-				    cls isMeta ifTrue:[
-					whatToDo value:cls theNonMetaclass value:(self class nameListEntryForStatic).
-				    ] ifFalse:[
-					whatToDo value:cls value:(self class nameListEntryForNonStatic).
-				    ]
-				] ifFalse:[
-				    cls supportsMethodCategories ifTrue:[
-					already := Set new.
-					cls methodDictionary keysAndValuesDo:[:sel :mthd |
-					    |cat|
+                classes do:[:cls |
+                    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
+                        anyMethod := false.
+                        classIsInPackage := packages isNil 
+                                            or:[(packages includes:cls package)
+                                            or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ].
 
-					    cat := mthd category.
-					    (already includes:cat) ifFalse:[
-						(classIsInPackage
-						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).
-				    ].
-				].
+                        cls theNonMetaclass isJavaClass ifTrue:[
+                            cls isMeta ifTrue:[
+                                whatToDo value:cls theNonMetaclass value:(self class nameListEntryForStatic).
+                            ] ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNonStatic).
+                            ]
+                        ] ifFalse:[
+                            cls supportsMethodCategories ifTrue:[
+                                already := Set new.
+                                cls methodDictionary keysAndValuesDo:[:sel :mthd |
+                                    |cat|
 
-				anyMethod ifFalse:[
-				    "/ tell the one below, which classes are seen here,
-				    "/ (even if no method is present)
-				    "/ to allow him to decide if the className is to be shown in the list
-				    whatToDo value:cls value:nil.
-				].
-			    ].
-			].
-		  ]
+                                    cat := mthd category.
+                                    (already includes:cat) ifFalse:[
+                                        (classIsInPackage
+                                        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).
+                            ].
+                        ].
+
+                        anyMethod ifFalse:[
+                            "/ tell the one below, which classes are seen here,
+                            "/ (even if no method is present)
+                            "/ to allow him to decide if the className is to be shown in the list
+                            whatToDo value:cls value:nil.
+                        ].
+                    ].
+                ].
+          ]
 
     "Modified: / 24.2.2000 / 23:18:26 / cg"
 ! !
@@ -1047,10 +1034,10 @@
             ].
         ].
     ].
-    packageFilter := self packageFilter value.
-    packageFilter notNil ifTrue:[
-        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
-    ].
+"/    packageFilter := self packageFilter value.
+"/    packageFilter notNil ifTrue:[
+"/        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
+"/    ].
 
     inGeneratorHolder isNil ifTrue:[
         "/ for standAlone testing
@@ -1126,7 +1113,8 @@
 
         stream := WriteStream on:(Array new).
 
-        action := [:eachClass |
+        action := 
+            [:eachClass |
                 |bucket|
 
                 stream nextPut:eachClass.
@@ -1135,7 +1123,7 @@
                 bucket notNil ifTrue:[
                     bucket do:action.
                 ]
-        ].
+            ].
 
         classesOrdered do:action.
         classesOrdered := stream contents.
@@ -1664,5 +1652,5 @@
 !ClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.38 2009-05-01 17:37:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.39 2009-09-22 10:31:29 cg Exp $'
 ! !