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



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

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

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

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

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

我不确定这是否对您有帮助,因为它是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);
}

显示当前关闭的所有视图

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

重新打开它们

最新更新