A new version of Morphic was added to project The Inbox: http://source.squeak.org/inbox/Morphic-ct.1790.mcz
==================== Summary ====================
Name: Morphic-ct.1790 Author: ct Time: 1 November 2021, 6:18:39.271014 pm UUID: d7f1d632-e952-e44a-a817-587501e5c542 Ancestors: Morphic-eem.1784
Proposal: Add syntax for submenus to MenuMorph >> #addList: by specifying a 1-ary selector. Also fixes typos in the comment.
=============== Diff against Morphic-eem.1784 ===============
Item was changed: ----- Method: MenuMorph>>addList: (in category 'construction') ----- addList: aList + "Add the given items to this menu, where each item is a pair (<string> <actionSelector | menuSelector:>). If an element of the list is simply the symbol #-, add a line to the receiver. The optional third element of each entry, if present, provides balloon help." - "Add the given items to this menu, where each item is a pair (<string> <actionSelector>).. If an element of the list is simply the symobl $-, add a line to the receiver. The optional third element of each entry, if present, provides balloon help."
aList do: [:tuple | (tuple == #-) ifTrue: [self addLine] ifFalse: + [tuple second isUnary + ifTrue: [self add: tuple first action: tuple second] + ifFalse: + [self addItem: [:item | + item + target: self defaultTarget; + contents: tuple first; + subMenuUpdater: [:menu | + menu defaultTarget: self defaultTarget. + self defaultTarget perform: tuple second with: menu] + selector: #value:]]]. - [self add: tuple first action: tuple second. tuple size > 2 ifTrue: + [self balloonTextForLastItem: tuple third]].! - [self balloonTextForLastItem: tuple third]]]!
Item was changed: ----- Method: MenuMorph>>addTranslatedList: (in category 'construction') ----- addTranslatedList: aList + "Add the given items to this menu, where each item is a pair (<string> <actionSelector | menuSelector:>). If an element of the list is simply the symbol #-, add a line to the receiver. The optional third element of each entry, if present, provides balloon help. + All strings will be translated." - "Add the given items to this menu, where each item is a pair (<string> <actionSelector>).. If an element of the list is simply the symobl $-, add a line to the receiver. The optional third element of each entry, if present, provides balloon help. - The first and third items will be translated."
+ ^ self addList: (aList collect: [:tuple | + tuple == #- + ifTrue: [tuple] - aList do: [:tuple | - (tuple == #-) - ifTrue: [self addLine] ifFalse: + [Array new: tuple size streamContents: [:stream | + stream nextPut: tuple first translated. + tuple size >= 2 + ifTrue: [stream nextPut: tuple second]. + tuple size >= 3 + ifTrue: + [stream nextPut: + (tuple third isString + ifTrue: [tuple third translated] + ifFalse: [tuple third])]]]])! - [self add: tuple first translated action: tuple second. - tuple size > 2 ifTrue: - [self balloonTextForLastItem: tuple third translated ]]]!
squeak-dev@lists.squeakfoundation.org