diff -r d1df99e9ec66 -r 39191b8024e4 SystemBrowser.st --- 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!