【问题标题】:Eclipse 4 RCP Application (standalone!): Add "show view" in menuEclipse 4 RCP 应用程序(独立!):在菜单中添加“显示视图”
【发布时间】:2013-04-13 22:51:07
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: eclipse eclipse-rcp e4


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。这绝对值得一试,但我阅读了一篇博客文章,该功能尚未包含在当前的 Eclipse 版本中。所以现在我仍在寻找替代方案。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2011-09-17
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多