Menu.st
changeset 2494 994b030ae562
parent 2433 632122b652eb
child 2584 5b5c3dda9a4b
equal deleted inserted replaced
2493:6aa0d6539c5d 2494:994b030ae562
   854   ^ coll asArray
   854   ^ coll asArray
   855 ! !
   855 ! !
   856 
   856 
   857 !Menu methodsFor:'enumerating'!
   857 !Menu methodsFor:'enumerating'!
   858 
   858 
       
   859 allItemsDetect:aOneArgBlock ifNone:exceptionalValue
       
   860     "find an element amongst each item and submenu items"
       
   861 
       
   862     self itemsDo:[:anItem|
       
   863         |sub subItem|
       
   864 
       
   865         (aOneArgBlock value:anItem) ifTrue:[^ anItem].
       
   866         (sub := anItem submenu) notNil ifTrue:[
       
   867             subItem := sub allItemsDetect:aOneArgBlock ifNone:nil.
       
   868             subItem notNil ifTrue:[^ subItem].
       
   869         ]
       
   870     ].
       
   871     ^ exceptionalValue value
       
   872 !
       
   873 
   859 allItemsDo:aOneArgBlock
   874 allItemsDo:aOneArgBlock
   860     "evaluate block on each item and submenu items
   875     "evaluate block on each item and submenu items
   861     "
   876     "
   862     self itemsDo:[:anItem|
   877     self itemsDo:[:anItem|
   863         |sub|
   878         |sub|
  1148 ! !
  1163 ! !
  1149 
  1164 
  1150 !Menu class methodsFor:'documentation'!
  1165 !Menu class methodsFor:'documentation'!
  1151 
  1166 
  1152 version
  1167 version
  1153     ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.69 2008-04-21 16:03:55 cg Exp $'
  1168     ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.70 2008-06-05 17:13:20 cg Exp $'
  1154 ! !
  1169 ! !