eclipse e4启用showView菜单

时间:2017-03-16 14:20:28

标签: rcp e4

我有一个基于e4xmi模型的RCP4应用程序,包含3个部分。我只想添加一个菜单,如" Window" Eclipse的菜单,其中包含"显示视图"子菜单打开对话框以打开零件。如何重用此子菜单? 我试图使用一个扩展点来" org.eclipse.ui.menus"通过添加一个名为window的菜单和一个带有命令" org.eclipse.ui.views.showView" :

<extension
      point="org.eclipse.ui.menus">
   <menuContribution
         locationURI="menu:org.eclipse.ui.main.menu">
      <menu
            id="window"
            label="Window">
         <command
               commandId="org.eclipse.ui.views.showView"
               label="Show Progress"
               style="push">
            <parameter
                  name="org.eclipse.ui.views.showView.viewId"
                  value="org.eclipse.ui.views.ProgressView">
            </parameter>
         </command>
      </menu>
   </menuContribution>
</extension>

但是当我运行我的插件时,主菜单中没有任何反应,没有&#34; Window&#34;菜单已创建。对这个问题有什么看法吗?

可能与e4xmi应用程序模型存在冲突吗?

Tahnks提前帮助我,我是RCP的新人: - )

1 个答案:

答案 0 :(得分:0)

org.eclipse.ui.menus仅适用于Eclipse 3.x兼容模式RCP。您无法在纯e4 RCP中使用任何org.eclipse.ui.xxx扩展点或类。

这意味着您无法在e4应用程序中使用大多数Eclipse 3.x菜单 - 您必须自己从头开始编写它们。这同样适用于现有的编辑和观点。

要添加菜单项以显示e4xmi文件中定义的部件,您可以在e4xmi文件中添加Handled Menu Item或Direct Menu Item。菜单项的处理程序应使用EPartService showPart方法显示部件:

@Inject
EPartService partService;

partService.showPart("part id", PartState.Activate);

但是你再也不能使用它来显示现有的进度视图,因为这是一个3.x兼容性视图。