added: #findResource:match:ignoreCase:in:
authorClaus Gittinger <cg@exept.de>
Wed, 06 Jul 2011 12:18:52 +0200
changeset 10188 95e82ec734ff
parent 10187 bbd5e3449637
child 10189 0be2c38f087a
added: #findResource:match:ignoreCase:in:
SystemBrowser.st
--- a/SystemBrowser.st	Wed Jul 06 11:45:31 2011 +0200
+++ b/SystemBrowser.st	Wed Jul 06 12:18:52 2011 +0200
@@ -4185,6 +4185,40 @@
     "
 !
 
+findResource:aStringOrEmpty match:doMatch ignoreCase:ignoreCase in:aCollectionOfClasses 
+    "return a collection of all methods in aCollectionOfClasses containing a matching resource."
+
+    |matchCheck lcSearchString|
+
+    aStringOrEmpty isEmptyOrNil ifTrue:[
+        matchCheck := [:aResourceName | true ]
+    ] ifFalse:[
+        doMatch ifTrue:[
+            matchCheck := [:aResourceName | aStringOrEmpty match:aResourceName ignoreCase:ignoreCase]
+        ] ifFalse:[
+            ignoreCase ifTrue:[
+                lcSearchString := aStringOrEmpty asLowercase.
+                matchCheck := [:aResourceName | aResourceName asLowercase = lcSearchString]
+            ] ifFalse:[
+                matchCheck := [:aResourceName | aResourceName = aStringOrEmpty ]
+            ]
+        ].
+    ].
+
+    ^ self 
+        findMethodsIn:aCollectionOfClasses 
+        where:[:c :m :sel | 
+            m hasResource
+            and:[ m resources keys contains:matchCheck ]
+        ].
+
+    "
+     SystemBrowser findResource:'*debug*' match:true ignoreCase:true in:(GenericException withAllSubclasses)
+    "
+
+    "Created: / 06-07-2011 / 12:14:24 / cg"
+!
+
 findSendersOf:aSelectorString in:aCollectionOfClasses ignoreCase:ignoreCase
     "search for all senders of aSelector in
      the classes contained in aCollectionOfClasses and its metaclasses.
@@ -5805,7 +5839,7 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.290 2011-07-05 14:50:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.291 2011-07-06 10:18:52 cg Exp $'
 !
 
 version_SVN