MenuEditor.st
changeset 3110 35a4010e8790
parent 3099 7fee6db3c473
child 3120 93de037400b6
--- 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"