在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()); } }}); }