我的RCP应用程序里面有一个带有TreeViewer的视图。使用Command框架,我正在尝试使用可以对树元素执行常见操作的项来填充其工具栏,例如“delete"”,properties"等
我希望根据TreeViewer的选择状态启用/禁用图标,但它们应始终可见。
这是我到目前为止所提出的内容(我只显示删除命令,其他内容非常相似):
<extension point="org.eclipse.ui.handlers">
<handler commandId="org.eclipse.ui.edit.delete" class="my.custom.DeleteHandler">
<activeWhen>
<with variable="activePartId">
<equals value="my.custom.ViewPart" />
</with>
</activeWhen>
<enabledWhen>
<count value="(0-" />
</enabledWhen>
</handler>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:my.custom.ViewPart">
<command commandId="org.eclipse.ui.edit.delete" label="Delete" />
</menuContribution>
</extension>
只要活动部分是我的树视图,一切正常。但是,当焦点转到编辑器时,按钮会被激活。我想这是因为我的自定义处理程序已停用,而偏向于默认的工作台处理程序。
如何保留&#34;删除&#34;,&#34;属性&#34;当活动部件不是我的视图部件时,可见但禁用的项目?
答案 0 :(得分:0)
请勿使用<activeWhen>
代替<enabledWhen>
<enabledWhen>
<and>
<count value="(0-" />
<with variable="activePartId">
<equals value="my.custom.ViewPart" />
</with>
</and>
</enabledWhen>