class: MenuEditor
use Class>>#methodsWithAnyResource: to find image resource methods
--- 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"