我有一个填充了Actions的MenuManager,是否可以访问动作的相应MenuItem(ContributionItem)?
MenuManager menuManager = new MenuManager("#PopupMenu", "contextMenu");
menuManager.add(IAction1...);
menuManager.add(IAction2...);
Menu menu = menuManager.createContextMenu(myTreeVvewer.getControl());
myTreeVvewer.getControl().setMenu(menu);
myTreeVvewer.getTree().addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
//Iterate menu items of menu and set something...
}
}
答案 0 :(得分:3)
使用选项MenuManager#.setRemoveAllWhenShown(true);
可能会更容易,然后在IMenuListener
中动态添加菜单项。