【发布时间】:2014-08-27 15:15:19
【问题描述】:
我的 RCP 应用程序有一个内部带有 TreeViewer 的视图。使用 Command 框架,我尝试使用可以对树元素执行常见操作的项目填充其工具栏,例如“删除”、“属性”等。
我希望根据 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>
只要活动部分是我的树视图,一切都可以正常工作。但是,当焦点转到编辑器时,按钮就会被激活。我想这是因为我的自定义处理程序被停用以支持默认的工作台处理程序。
当活动部件不是我的视图部件时,如何保持“删除”、“属性”项可见但禁用?
【问题讨论】:
标签: eclipse-rcp