如何从 Eclipse 插件添加弹出窗口菜单贡献?

问题描述

我已经有一个处理主 Eclipse RCP 应用程序 (3.X) 的弹出窗口。 现在,我正在尝试向 Eclipse RCP 插件添加一个弹出窗口(菜单贡献)(它作为依赖项链接到应用程序)。这个插件没有允许添加扩展的 plugin.xml 文件,所以我创建了一个新的。弹窗配置如下:

<extension
     point="org.eclipse.ui.menus">
  <menuContribution
        allPopups="false"
        locationURI="popup:table.popupmenu?after=additions">
     <command
           commandId="copy"
           label="copy"
           style="push">
     </command>
  </menuContribution>
</extension>
<extension
     point="org.eclipse.ui.commands">
  <command
        id="copy"
        name="copy">
  </command>
</extension>
<extension
      point="org.eclipse.ui.handlers">
   <handler
         class="package.copyHandler"
         commandId="copy">
   </handler>
</extension>

处理程序类存在。 然后我在“Table”类中添加了以下代码来绑定菜单(在创建 Table 对象之后):

IWorkbenchPartSite site = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                                    .getActivePart().getSite();
MenuManager menuManager = new MenuManager();
Menu menu = menuManager.createContextMenu(this.table);
this.table.setMenu(menu);
site.registerContextMenu("table.popupmenu",menuManager,site.getSelectionProvider());

由于我无法让它工作,所以我遵循了 this tutorial(7.Tutorial:命令和上下文菜单),并且工作正常。我看不到我缺少的配置。

如果有另一种从控件 (SWT) 获取弹出菜单的好方法,我也很乐意尝试。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)