【问题标题】:Eclipse RCP - conditionally displaying menuEclipse RCP - 有条件地显示菜单
【发布时间】:2013-06-14 13:40:35
【问题描述】:

我正在开发具有多个应用程序/插件的 Eclipse RCP 产品(基于 Eclipse 3.6)。 以下是我陷入困境的用例: 有 3 个插件 A、B 和 C。我需要在插件 A 和 B(不在 C 中)的“编辑”菜单中显示菜单贡献,仅在安装插件 C 时。如果未安装插件 C,则不应显示菜单贡献 - 即使处于禁用状态。 在进行一些搜索时,我发现有一个属性测试器可以确定是否安装了插件 - 它被用作:

<with variable="platform">
    <test property="org.eclipse.core.runtime.isBundleInstalled" args="com.mybundle"/>
</with>

但是,当我尝试时,它对我不起作用。 我不确定使用此属性是否与我尝试使用它的上下文相关。有人可以帮忙吗? 如果无代码选项不可行,那么我将不得不以编程方式显示/隐藏菜单贡献,但我不知道理想情况下应该在哪里完成。 我是否应该为插件 A 和 B 编写一个 PerspectiveListener 并在验证 C 已安装后添加 PerspectiveActivated 的菜单贡献?

请帮忙。

感谢和问候, 普拉迪姆纳

【问题讨论】:

  • 没有以什么方式工作?一直显示?还是从不显示?
  • @Paul - 它从未显示过。感谢您的回复。

标签: eclipse eclipse-rcp rich-client-platform


【解决方案1】:

我犯了一个错误,因此isBundleInstalled 无法正常工作。变量platform 不可用,因此我没有得到预期的输出。用org.eclipse.core.runtime.Platform 替换它就可以了。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    相关资源
    最近更新 更多