现在的位置: 首页 > 综合 > 正文

怎样控制eclipse view视图中的Action是否显示出来(或是否可用)

2012年09月06日 ⁄ 综合 ⁄ 共 546字 ⁄ 字号 评论关闭
  

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

抱歉!评论已关闭.