Tools__MethodList.st
branchjv
changeset 12125 0c49a3b13e43
parent 12123 4bde08cebd48
child 12128 a7ff7d66ee85
--- a/Tools__MethodList.st	Sun Jan 29 12:56:58 2012 +0000
+++ b/Tools__MethodList.st	Sun Jan 29 15:33:37 2012 +0000
@@ -801,7 +801,11 @@
         or:[ something == #methodPrivacy
         or:[ something == #lastTestRunResult] ]) ifTrue:[
             self window shown ifFalse:[
-                changedObject removeDependent:self. "/ ?????
+                "JV@2011-11-17: Do not break the dependency here,
+                 because then the window won't get updates once
+                 deiconified -> leads to confusing behavior (browser
+                 shows obsolete info)"
+                "/changedObject removeDependent:self. "/ ?????
                 ^ self
             ].
             cls := aParameter at:1.
@@ -863,7 +867,7 @@
     super update:something with:aParameter from:changedObject
 
     "Modified: / 20-07-2011 / 18:54:04 / cg"
-    "Modified (format): / 22-07-2011 / 18:13:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 17-11-2011 / 19:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodList methodsFor:'drag & drop'!
@@ -941,7 +945,9 @@
 listOfMethodNames
     |methods entries selectorBag newNameList allClasses newClasses 
      allCategories                 "allSelectors"
-     generator doShowClass doShowClassFirst doShowCategory enforceClassAndProtocolInList theMethod sortByClass anyMethodToWatch mclass|
+     generator doShowClass doShowClassFirst doShowCategory enforceClassAndProtocolInList 
+     theMethod sortByClass anyMethodToWatch mclass
+     packageFilterValue|
 
     generator := inGeneratorHolder value.
     generator isNil ifTrue:[
@@ -957,11 +963,16 @@
     entries := OrderedCollection new.
     enforceClassAndProtocolInList := false.
     anyMethodToWatch := false.
-    
+    packageFilterValue := packageFilter value.
+
     "/ generator generates nil-selector entries
     "/ to pass multiple-class and multiple-protocol info
     
-    generator do:[:cls :cat :sel :mthd | 
+    generator do:[:cls :cat :sel :mthd |
+        |categoryIsExtensionsPseudoCategory|
+
+        categoryIsExtensionsPseudoCategory := (cat = self class nameListEntryForExtensions).
+
         (cls isNil and:[ cat isNil and:[ sel isNil ] ]) ifTrue:[
             enforceClassAndProtocolInList := true
         ] ifFalse:[
@@ -971,28 +982,23 @@
             cat notNil ifTrue:[
                 allCategories add:cat.
             ].
-             "JV: Filter method through package filter"
+            "/ JV: Filter method through package filter
+            "/ but not, if it is an extension method and we are showing extensions
             (mthd notNil 
-                and:[
-                    mthd isSynthetic not 
-                        and:[
-                            sel notNil 
-                                and:[
-                                    packageFilter value isNil 
-                                        or:[ packageFilter value includes:mthd package ]
-                                ]
-                        ]
-                ]) 
-                    ifTrue:[
-                        entries add:(Array 
-                                    with:cls
-                                    with:sel
-                                    with:mthd).
-                        selectorBag add:sel.
-                        newClasses add:cls.
-                        
-                        "/ allSelectors add:sel.
-                    ]
+                and:[ mthd isSynthetic not 
+                and:[ sel notNil ]]
+            ) ifTrue:[ 
+                (packageFilterValue isNil 
+                    or:[ (packageFilterValue includes:mthd package)
+                    or:[ categoryIsExtensionsPseudoCategory and:[ mthd isExtension ] ]]
+                ) ifTrue:[
+                    entries add:(Array with:cls with:sel with:mthd).
+                    selectorBag add:sel.
+                    newClasses add:cls.
+                    
+                    "/ allSelectors add:sel.
+                ]
+            ]
         ].
         (mthd notNil and:[ mthd isWrapped ]) ifTrue:[
             (mthd isTiming or:[ mthd isCounting or:[ mthd isCountingMemoryUsage ] ]) ifTrue:[
@@ -1193,9 +1199,9 @@
     ^ newNameList.
 
     "Created: / 05-02-2000 / 22:43:40 / cg"
-    "Modified: / 26-01-2007 / 14:58:59 / cg"
     "Modified: / 20-07-2010 / 11:21:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 24-08-2010 / 20:34:09 / Jan Vrany <enter your email here>"
+    "Modified: / 07-09-2011 / 09:33:30 / cg"
 !
 
 makeDependent
@@ -1580,14 +1586,15 @@
         (selector startsWith:'test') ifTrue:[
             ((cls isSubclassOf:TestCase) 
             and:[cls isAbstract not]) ifTrue:[
-                cls lastTestRunResultOrNil "== false" notNil ifTrue:[
-                    (cls testSelectorFailed:selector) ifTrue:[
+                "JV@2011-11-17: Show thumbs even if not all test were run"
+                "/cls lastTestRunResultOrNil "== false" notNil ifTrue:[
+                    ((cls testSelectorFailed:selector) or:[(cls testSelectorError:selector)]) ifTrue:[
                         icn := SystemBrowser testCaseFailedIcon
                     ] ifFalse:[
                         (cls testSelectorPassed: selector) ifTrue:
                             [icn := SystemBrowser testCasePassedIcon]
                     ].
-                ]
+                "/]
             ].
         ]
     ].
@@ -1688,7 +1695,7 @@
     "Created: / 22-10-1996 / 19:51:00 / cg"
     "Modified: / 30-04-2010 / 11:54:32 / cg"
     "Modified: / 15-08-2009 / 13:13:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 15-03-2010 / 18:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 17-11-2011 / 20:51:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodList methodsFor:'private-watching'!
@@ -1738,9 +1745,9 @@
 !MethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__MethodList.st 7816 2011-08-18 08:03:34Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.61 2011/11/17 20:06:05 vrany Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.58 2011/08/18 00:16:52 cg Exp §'
-! !
\ No newline at end of file
+    ^ '§Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.61 2011/11/17 20:06:05 vrany Exp §'
+! !