【问题标题】:Eclipse RCP 4: activityPatternBinding doesn't work for menuEclipse RCP 4:activityPatternBinding 不适用于菜单
【发布时间】:2018-07-15 15:46:24
【问题描述】:

我正在尝试将 Eclipse RCP 3 应用程序迁移到 Eclipse RCP 4。我们目前使用 activityPatternBinding 隐藏其他插件贡献的 UI 元素,如下所示:

<extension point="org.eclipse.ui.activities">
    <activity id="my.app" name="MyApp"></activity>
    
    <activityPatternBinding
          activityId="my.app"
          isEqualityPattern="false"
          pattern="my\.app/.*">
    </activityPatternBinding>    
</extension>

但是,这似乎不适用于 Eclipse RCP 4 中的主菜单项。但它适用于子菜单项。

在网上搜索我发现了这些对这个问题的引用:

https://wiki.eclipse.org/Eclipse4/KnownIssues/4.1

菜单/工具栏问题

(4.2) 能力/活动未集成到指挥系统的处理中。虽然这不太可能在 4.1 版本中完全完成,但我们将所有内容都默认为“开启”。这可能会导致出现更多您在 3.x 中看到的贡献,但应该保证您需要的任何东西都可供您使用。

和错误报告:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=450284

活动不适用于菜单 我们已将我们的应用程序目标平台从 Eclipse 3.7 更新到 Eclipse 4.4.1。 我现在注意到有些活动不再起作用了。

那么在最新的 Eclipse RCP 版本 (4.7.x) 中这仍然是一个已知问题吗?有没有办法解决这个问题来隐藏主菜单项?

【问题讨论】:

  • 我们的项目中也有类似的任务。我们使用 E4 模型服务和模型实现了它
  • @Shashwat 你能分享你的解决方案吗?

标签: eclipse-rcp e4


【解决方案1】:

试试这个。我在我们的 E4 应用程序中也遇到过这种类似的问题

要隐藏主菜单项,注入 MTrimmedWindow 并从修剪窗口获取主菜单,并使用菜单 ID 检查主菜单,如果要启用特定菜单(或)的 setToBeRendered(true) 和 setVisible(true)如果你想隐藏使用 setToBeRendered(false) 和 setVisible(false)。以下是我的示例代码

  1. 注入 MTrimmedWindow

@注入 私有 MTrimmedWindow mTrimmedWindow;

//////////////

  1. 将您的菜单 ID 传递给以下方法

【讨论】:

  • 我们也采取了类似的方法
猜你喜欢
  • 2011-01-29
  • 1970-01-01
  • 2023-03-17
  • 2017-07-30
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
相关资源
最近更新 更多