我在Plugin1中有2个菜单,在Plugin2中有2个菜单。
对于Product1 - >包含插件1 对于Product2 - >包括Plugin1和Plugin2
产品1很好。 但是在Product2中我想从Plugin1隐藏上下文菜单并从Plugin2获取菜单。
目前Plugin1和Plugin2的上下文菜单都在Product2中。 Plugin1和Plugin2都对Product2有贡献。请找到下面附图。
既然是设计问题。截至目前,由于依赖性问题,我想隐藏Plugin1中的菜单。
有什么方法可以隐藏吗?
请帮帮我。
答案 0 :(得分:0)
不确定您是否可以在产品中访问ApplicationWorkbenchWindowAdvisor类的实现。如果您具有访问权限,则可以在postWindowOpen方法中添加menuitem控件。
@Override
public void postWindowOpen()
{
IMenuManager menuManager = getWindowConfigurer().getActionBarConfigurer().getMenuManager();
for ( IContributionItem item : menuManager.getItems() )
{
if ( item instanceof MenuManager )
{
MenuManager mm = (MenuManager) item;
if ( mm.getId().equals( "file" ) ) // change to your menuName in product 1
{
mm.remove( "org.eclipse.ui.openLocalFile" ); // change to your menu item id in product1
}
}
}
}
答案 1 :(得分:0)
如果您使用CNF提供上下文菜单,我希望这有助于解决问题。
Sub macro_name()
App_Path = "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe"
File_Path = "C:\Documents\test.pdf"
Page_Num = 4
Shell App_Path & " /A Page=" & Page_Num & ""&File_Path,vbMaximizedFocus
End Sub