diff -r 92920c76aae3 -r 35a4010e8790 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"