class: MenuEditor
authorStefan Vogel <sv@exept.de>
Fri, 16 May 2014 09:19:47 +0200
changeset 3110 35a4010e8790
parent 3109 92920c76aae3
child 3111 618a32168c9c
class: MenuEditor use Class>>#methodsWithAnyResource: to find image resource methods
MenuEditor.st
--- a/MenuEditor.st	Fri May 09 14:56:57 2014 +0200
+++ b/MenuEditor.st	Fri May 16 09:19:47 2014 +0200
@@ -4526,10 +4526,8 @@
 !
 
 updateFromClass:aClass selectorFilter:aFilterBlock
-    |r item|
-
     (aClass notNil and:[aClass isBehavior]) ifFalse:[
-	^ self collapse.
+        ^ self collapse.
     ].
 "/    aClass == selector ifTrue:[
 "/        ^ self expand
@@ -4537,27 +4535,20 @@
     self collapse.
 
     selector := aClass.
-    children := OrderedCollection new.
 
     self application withWaitCursorDo:[
-	aClass withAllSuperclassesDo:[:aClass|
-	    aClass class selectorsAndMethodsDo:[:sel :m|
-		(aFilterBlock value:sel) ifTrue:[
-		    m hasResource ifTrue:[
-			r := m resources.
-			r notEmptyOrNil ifTrue:[
-			    ((r includesKey:#image) or:[r includesKey:#programImage]) ifTrue:[
-				item := self class new forClass:aClass selector:sel.
-				item parent:self.
-				children add:item
-			    ]
-			]
-		    ]
-		]
-	    ]
-	].
-	children sort:[:a :b | a label < b label ].
-	self expand
+        |methods|
+        methods := aClass methodsWithAnyResource:#(image programImage).
+        children := methods 
+                        select:[:each| aFilterBlock value:each selector]
+                        thenCollect:[:each|
+                                |item|
+                                item := self class new forClass:aClass selector:each selector.
+                                item parent:self.
+                        ].
+
+        children sort:[:a :b | a label < b label ].
+        self expand
     ].
 
     "Created: / 03-08-2011 / 10:48:10 / cg"