将菜单添加到ListModel

时间:2014-08-11 10:16:14

标签: pharo spec-ui

如何通过体面的操作将菜单添加到列表模型中?

我看过一些代码:

list menu: [ :menu |
  menu
    add: 'Name'
    action: [ "some action" ].

但是当我这样做时,我收到一个错误,因为该块未被评估,但作为消息发送给其他人...

是否有菜单指南?

1 个答案:

答案 0 :(得分:3)

菜单已经重做。

现在你应该做一些像

这样的事情
list menu: [ :menu | aMenu addGroup: [:aGroup |
    aGroup addItem: [ :item |
        item
            name: 'Inspect' translated;
            action: [ self inspectSelectedObjectInNewWindow ];
            shortcut: $i command mac | $i alt win | $i alt unix ].
    aGroup addItem: [ :item |
        item
            name: 'Explore' translated;
            action: [ self exploreSelectedObject ];
            shortcut: $i shift command mac | $i shift alt win | $i shift alt unix ] ].

HTH,

Benjamin Van Ryseghem

编辑:ListModel仍在使用旧菜单(出于兼容性原因,在Pharo 3.0中)。 一个工作的例子是

ListModel new
    menu: [:m | 
        m 
            add: 'test' 
            target: [self halt ] 
            action: #value. 
        m ];
    openWithSpec

请注意,菜单块应该返回菜单(PluggableListMorph应该封装的限制)