我有一个基于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的新人: - )
答案 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兼容性视图。