'From Squeak3.2alpha of 2 October 2001 [latest update: #4598] on 10 December 2001 at 10:53:53 pm'! "Change Set: SkipDisabledMenuItems Date: 10 December 2001 Author: Dan Ingalls Amends the keyboard movement of menu selection so that it skips disabled items. "! !MenuMorph methodsFor: 'keyboard control' stamp: 'di 12/10/2001 22:52'! moveSelectionDown: direction event: evt "Move the current selection up or down by one, presumably under keyboard control. direction = +/-1" | index m | index _ (submorphs indexOf: selectedItem ifAbsent: [1-direction]) + direction. submorphs do: "Ensure finite" [:unused | m _ submorphs atWrap: index. ((m isKindOf: MenuItemMorph) and: [m isEnabled]) ifTrue: [^ self selectItem: m event: evt]. "Keep looking for an enabled item" index _ index + direction sign]. ^ self selectItem: nil event: evt! !