请注意使用Eclipse RCP。
我已使用CTRL +鼠标单击启用多选对于现有的树查看器。现在我需要为右键单击提供两个菜单:
One menu item on Single Selection.
A different menu item for Multiple Selection.
目前,通过plugin.xml
的扩展定义可用于单一选择,其中检查所选对象是否为instanceof
某个值。
如何识别多个选择?在扩展定义中需要检查多选的内容。
<definition
id="com.sample.rightclickmenu.singleselect.id.expression">
<with
variable="org.eclipse.ui.selection">
<iterate
ifEmpty="false"
operator="and">
<or>
<instanceof
value="com.sample.ExampleNGroup"> -> Where N=1,2,..
</instanceof>
</or>
</iterate>
</with>
</definition>
当我在不同的N之间进行多选时,扩展定义应该是什么。
<definition
id="com.sample.rightclickmenu.multiselect.id.expression">
<with
variable="org.eclipse.ui.selection">
<iterate
ifEmpty="false"
operator="and">
<or>
<instanceof
value=??> -> what needs to be the value here.
</instanceof>
</or>
</iterate>
</with>
</definition>
我希望我已正确解释了这个问题。
答案 0 :(得分:2)
您可以使用count
元素测试选择尺寸
选择了单项:
<with variable="org.eclipse.ui.selection">
<count value="1" />
<iterate ifEmpty="false">
....
</iterate>
</with>
选择了两个或更多项目
<with variable="org.eclipse.ui.selection">
<count value="(2-" />
<iterate ifEmpty="false">
....
</iterate>
</with>