如何在Eclipse中隐藏上下文菜单?

时间:2017-01-03 13:24:57

标签: java eclipse eclipse-plugin eclipse-rcp

我在Plugin1中有2个菜单,在Plugin2中有2个菜单。

对于Product1 - >包含插件1 对于Product2 - >包括Plugin1和Plugin2

产品1很好。 但是在Product2中我想从Plugin1隐藏上下文菜单并从Plugin2获取菜单。

目前Plugin1和Plugin2的上下文菜单都在Product2中。 Plugin1和Plugin2都对Product2有贡献。请找到下面附图。

既然是设计问题。截至目前,由于依赖性问题,我想隐藏Plugin1中的菜单。

有什么方法可以隐藏吗?

Click here for Snapshot

请帮帮我。

2 个答案:

答案 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