1

在我的独立 RCP 应用程序(我开始使用产品配置)中,我想添加一个菜单条目“显示视图”,其中列出了我在正在关闭的持久应用程序模型(一个application.e4xmi文件)中定义的所有视图。目前我没有使用任何顾问课程。

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

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

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

更新:相反,在我的独立 RCP 应用程序中使用 Window > Show View 结构也是可以的——就像它存在于 Eclipse 工作台中一样。有没有办法通过使用任何预定义/可用的方式来添加这个菜单(条目)?

4

2 回答 2

2

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

我向视图菜单添加了一个动态菜单贡献,如下所示:

<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);
}

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

于 2013-04-20T17:55:32.037 回答
0

目前没有办法做到这一点,除了自己跟踪零件并使用EPartService

于 2014-07-06T20:22:21.210 回答