Eclipse 4 RCP应用程序(独立!):在菜单中添加“show view”

时间:2013-04-20 17:44:05

标签: eclipse eclipse-rcp e4

在我的独立RCP应用程序(我开始使用产品配置)中,我想添加一个菜单项“show view”,列出我在持久应用程序模型中定义的所有视图( application.e4xmi < / em>文件)关闭。 目前我没有使用任何 Advisor 类。

我所做的是为每个视图手动添加 HandledMenuItems ,并将 CoreExpression 添加为 Visible-When Expression

此表达式测试应用程序上下文中的特殊键值对。这里的问题是每个视图都需要一个特殊的表达式。

解决这个问题的好方法是什么? 或者有没有办法参数化核心表达式? 我可以使用任何预定义的eclipse插件/命令/处理程序吗?

更新:相反,也可以使用Window&gt;在我的独立RCP应用程序中显示View结构 - 与Eclipse工作台中的完全相同。有没有办法使用任何预定义/可用的方法添加此菜单(条目)?

2 个答案:

答案 0 :(得分:2)

我不确定这是否会对你有所帮助,因为它是eclipse 3.7代码,但你可以尝试一下。

我在 View 菜单中添加了动态菜单,如下所示:

<menu id="x.y.menu.views label="%menu.window.label">
  <dynamic class="x.y.menu.ViewListMenuContribution" id="viewlist" />
</menu>

在那个课程中,我使用了一个eclipse菜单工厂来实际填充菜单:

@Override
public void fill(Menu menu, int index)
{
    super.fill(menu, index);

    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IContributionItem item = ContributionItemFactory.VIEWS_SHORTLIST.create(window);

    if (item != null)
        item.fill(menu, index);
}

这应该显示当前关闭的所有视图。

答案 1 :(得分:0)

目前无法做到这一点,除了自己跟踪部件并使用EPartService重新打开部件