# HG changeset patch # User Claus Gittinger # Date 903988478 -7200 # Node ID f3b1476f5006b3f4ffc76b0a7646a3e044a0e535 # Parent 23d20044894f3b5ced102b32b0c2b9474a637d2d find all images in getAllImageSelectorsFrom: (walk superclass chain) diff -r 23d20044894f -r f3b1476f5006 MenuEditor.st --- a/MenuEditor.st Mon Aug 24 21:49:52 1998 +0200 +++ b/MenuEditor.st Mon Aug 24 21:54:38 1998 +0200 @@ -1758,6 +1758,38 @@ ) ! ! +!MenuEditor class methodsFor:'queries'! + +getAllImageSelectorsFrom: aClass + "returns all image selectors implementing an image spec in class aClass" + + |iconClass imageMethodSelectors r| + + aClass isNil ifTrue:[ + ^ #() + ]. + + aClass isSymbol + ifTrue: [iconClass := Smalltalk at: aClass] + ifFalse: [iconClass := aClass]. + + imageMethodSelectors := OrderedCollection new. + + iconClass withAllSuperclasses do:[:cls | + cls class methodDictionary keysAndValuesDo: [:sel :m | + (r := m resourceType == #image + or:[r == #programImage]) ifTrue:[ + imageMethodSelectors add:sel + ] + ] + ]. + + ^ imageMethodSelectors asSortedCollection asOrderedCollection + + "Modified: / 24.8.1998 / 21:42:34 / cg" + "Created: / 24.8.1998 / 21:53:20 / cg" +! ! + !MenuEditor class methodsFor:'slices'! slicesItem