MenuEditor.st
changeset 3110 35a4010e8790
parent 3099 7fee6db3c473
child 3120 93de037400b6
equal deleted inserted replaced
3109:92920c76aae3 3110:35a4010e8790
  4524     super initialize.
  4524     super initialize.
  4525     children := #().
  4525     children := #().
  4526 !
  4526 !
  4527 
  4527 
  4528 updateFromClass:aClass selectorFilter:aFilterBlock
  4528 updateFromClass:aClass selectorFilter:aFilterBlock
  4529     |r item|
       
  4530 
       
  4531     (aClass notNil and:[aClass isBehavior]) ifFalse:[
  4529     (aClass notNil and:[aClass isBehavior]) ifFalse:[
  4532 	^ self collapse.
  4530         ^ self collapse.
  4533     ].
  4531     ].
  4534 "/    aClass == selector ifTrue:[
  4532 "/    aClass == selector ifTrue:[
  4535 "/        ^ self expand
  4533 "/        ^ self expand
  4536 "/    ].
  4534 "/    ].
  4537     self collapse.
  4535     self collapse.
  4538 
  4536 
  4539     selector := aClass.
  4537     selector := aClass.
  4540     children := OrderedCollection new.
       
  4541 
  4538 
  4542     self application withWaitCursorDo:[
  4539     self application withWaitCursorDo:[
  4543 	aClass withAllSuperclassesDo:[:aClass|
  4540         |methods|
  4544 	    aClass class selectorsAndMethodsDo:[:sel :m|
  4541         methods := aClass methodsWithAnyResource:#(image programImage).
  4545 		(aFilterBlock value:sel) ifTrue:[
  4542         children := methods 
  4546 		    m hasResource ifTrue:[
  4543                         select:[:each| aFilterBlock value:each selector]
  4547 			r := m resources.
  4544                         thenCollect:[:each|
  4548 			r notEmptyOrNil ifTrue:[
  4545                                 |item|
  4549 			    ((r includesKey:#image) or:[r includesKey:#programImage]) ifTrue:[
  4546                                 item := self class new forClass:aClass selector:each selector.
  4550 				item := self class new forClass:aClass selector:sel.
  4547                                 item parent:self.
  4551 				item parent:self.
  4548                         ].
  4552 				children add:item
  4549 
  4553 			    ]
  4550         children sort:[:a :b | a label < b label ].
  4554 			]
  4551         self expand
  4555 		    ]
       
  4556 		]
       
  4557 	    ]
       
  4558 	].
       
  4559 	children sort:[:a :b | a label < b label ].
       
  4560 	self expand
       
  4561     ].
  4552     ].
  4562 
  4553 
  4563     "Created: / 03-08-2011 / 10:48:10 / cg"
  4554     "Created: / 03-08-2011 / 10:48:10 / cg"
  4564 ! !
  4555 ! !
  4565 
  4556