所以我正在开发一个Eclipse View,它使用org.eclipse.swt.widgets.Tree
可视化my.application.Term
我的自定义类型CheckStateChangedEvent.ContainerCheckedTreeViewer
。 Term
是一个扩展org.eclipse.emf.ecore.EObject
的接口。
我想仅在点击Term
时显示包含多个命令的上下文菜单。
<menuContribution
locationURI="popup:my.application.View">
<command
commandId="my.application.renameterm"
tooltip="Rename this term">
<visibleWhen
checkEnabled="false">
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<instanceof value="my.application.Term"/>
</iterate>
</with>
</visibleWhen>
</command>
</menuContribution>
我尝试了几项内容,例如遗漏<iterate>
元素或checkEnabled
。但是,独立于我正在尝试的内容,每次我在视图中右键单击时,上下文菜单都会显示,而不仅仅是在点击Term
时。
我在这里缺少什么?
答案 0 :(得分:0)
要使用diversity(df[,4:50])
,您的树必须是视图的选择提供者。你设置它:
activeMenuSelection
其中getSite().setSelectionProvider(provider);
实现provider
。 JFace ISelectionProvider
已经实现TreeViewer
所以这是通常使用的。如果您只是使用ISelectionProvider
,则必须自己编写。