在eclipse插件开发时,我们有时有这样的需求:我们要为view增加popupmeun,如果我们希望只有叶子节点相应Action,如图:
而非叶子节点或空行不响应Action,比如在图中不出现:

可以这样实现,重写org.eclipse.ui.actions.ActionGroup中的fillContextMenu(IMenuManager menu)方法,简化的代码:
public void fillContextMenu(final IMenuManager menu) {
final MenuManager menuManager = (MenuManager) menu;
menu.setRemoveAllWhenShown(true);
menu.addMenuListener(new IMenuListener(){
public void menuAboutToShow(IMenuManager manager) {
if(){
//if the select item is empty.do nothing }
else{
//if the select item isn't ScanPatternEntity,available
menuManager.add(new NewExpainAction());
}
}});
}
发表于 @ 2008年07月31日 19:39:00 | 评论( loading... ) | 举报| 收藏