SystemBrowser.st
changeset 3780 39191b8024e4
parent 3679 102d85a9efbc
child 3794 8e0c2bab6856
--- a/SystemBrowser.st	Wed Aug 07 14:58:57 2002 +0200
+++ b/SystemBrowser.st	Wed Aug 07 15:01:49 2002 +0200
@@ -2596,11 +2596,11 @@
                         ]
                       ]
     ].
-    WarningSignal ignoreIn:[
-        InformationSignal ignoreIn:[
-            browser := self browseMethodsWhere:searchBlock title:title.
-        ]
-    ].
+    "/ WarningSignal ignoreIn:[
+        "/ InformationSignal ignoreIn:[
+            browser := self browseMethodsWhere:searchBlock title:title ifNone:[actionIfNone value. ^ nil].
+        "/ ].
+    "/ ].
     browser isNil ifTrue:[
         actionIfNone value
     ] ifFalse:[
@@ -3858,6 +3858,26 @@
     ^ self browseMethods:list title:title
 !
 
+browseMethodsIn:aCollectionOfClasses inst:wantInst class:wantClass where:aBlock title:title ifNone:warnBlock
+    "launch a browser for all instance- (if wantInst is true) and/or
+     classmethods (if wantClass is true) from classes in aCollectionOfClasses,
+     where aBlock evaluates to true.
+     The block is called with 3 arguments, class, method and selector."
+
+    |list|
+
+    "
+     since this may take a long time, lower my priority ...
+    "
+    Processor activeProcess 
+        withPriority:Processor activePriority-1 to:Processor activePriority
+    do:[
+        list := self findMethodsIn:aCollectionOfClasses inst:wantInst class:wantClass where:aBlock.
+        list size == 0 ifTrue:[warnBlock value].
+    ].
+    ^ self browseMethods:list title:title
+!
+
 browseMethodsIn:aCollectionOfClasses where:aBlock title:title
     "launch a browser for all instance- and classmethods from 
      all classes in aCollectionOfClasses where aBlock evaluates to true.
@@ -3873,6 +3893,22 @@
     "Modified: 24.1.1997 / 19:44:17 / cg"
 !
 
+browseMethodsIn:aCollectionOfClasses where:aBlock title:title ifNone:warnBlock
+    "launch a browser for all instance- and classmethods from 
+     all classes in aCollectionOfClasses where aBlock evaluates to true.
+     The block is called with 3 arguments, class, method and seelctor."
+
+    ^ self 
+        browseMethodsIn:aCollectionOfClasses 
+        inst:true 
+        class:true 
+        where:aBlock 
+        title:title
+        ifNone:warnBlock
+
+    "Modified: 24.1.1997 / 19:44:17 / cg"
+!
+
 browseMethodsOf:aClass where:aBlock title:title
     "launch a browser for all instance- and classmethods in aClass 
      where aBlock evaluates to true.
@@ -3893,6 +3929,19 @@
     "Modified: 24.1.1997 / 19:44:30 / cg"
 !
 
+browseMethodsWhere:aBlock title:title ifNone:warnBlock
+    "launch a browser for all methods where aBlock returns true.
+     The block is called with 3 arguments, class, method and seelctor."
+
+    ^ self 
+        browseMethodsIn:(Smalltalk allClasses) 
+        where:aBlock 
+        title:title
+        ifNone:warnBlock
+
+    "Modified: 24.1.1997 / 19:44:30 / cg"
+!
+
 findMethodsIn:aCollectionOfClasses inst:wantInst class:wantClass where:aBlock
     "return all instance- (if wantInst is true) and/or classmethods (if wantClass is true) 
      from classes in aCollectionOfClasses, where aBlock evaluates to true."
@@ -4156,6 +4205,6 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.156 2002-06-21 19:26:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.157 2002-08-07 13:01:49 penk Exp $'
 ! !
 SystemBrowser initialize!