【发布时间】:2014-06-27 09:19:45
【问题描述】:
我正在开发一个 E4 RCP 应用程序,并且有一个上下文菜单,其中的菜单项是否可见,具体取决于选择。我发现这样做的方法是使用 plugin.xml 中定义的核心表达式,如下所示:
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="com.foo.bar.test.core.expression">
<with variable="org.eclipse.ui.selection">
<iterate ifEmpty="false">
<or>
<instanceof value="com.foo.bar.Class1">
</instanceof>
<instanceof value="com.foo.bar.Class2">
</instanceof>
</or>
</iterate>
</with>
</definition>
这可行,如果所选项目是 Class1 或 Class2 的实例,则会显示菜单项。
这一切似乎都是一种非常讨厌的做事方式!当添加其中的许多时,它将成为维护和调试的噩梦。
任何人都可以演示一种不太像 XML 的方式吗? Java 中的纯编程方法会很棒!
【问题讨论】:
-
您可以使用属性测试器(
org.eclipse.core.expressions.propertyTesters扩展点),但它不是注入的,因此很难访问一些东西。
标签: java eclipse plugins rcp e4