EclipseRCP以编程方式获取工具栏贡献
我有一个RCP应用程序,我希望在执行某些操作时禁用/启用工具栏的某些元素。我的分机号码:EclipseRCP以编程方式获取工具栏贡献,eclipse,eclipse-rcp,Eclipse,Eclipse Rcp,我有一个RCP应用程序,我希望在执行某些操作时禁用/启用工具栏的某些元素。我的分机号码: <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar"> <toolbar id="vendor.toolbar1h"> <command commandId="vend
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="vendor.toolbar1h">
<command commandId="vendor.commands.MyCommand"
icon="icon.png"
id="MyButtonID1"
style="toggle">
</command>
</toolbar>
</menuContribution>
</extension>
是否存在获取主操作栏的方法?否,无法访问主工具栏。
iactionbar
工具栏返回视图工具栏(视图选项卡的右侧)
但是,您可以基于激活的处理程序的启用来启用/禁用命令。处理程序负责确定其启用状态
编程上,如果您将org.eclipse.core.commands.AbstractHandler子类化
,您将调用setBaseEnabled(布尔状态)
,以确保它触发正确的事件
声明性地说,当通过
org.eclipse.ui.handlers
提供时,它还支持enabledWhen
元素。如果您想访问主工具栏上的项目,一旦IHandler实现了IElementUpdater接口,eclipse的命令框架将使用该类更新命令的标签、工具提示甚至图像。有关更多详细信息,请参见:
我刚刚发现以下活动模式删除了外部工具菜单的贡献。这个很难弄清楚
<activity id="org.eclipse.ui.navigator.resources.unwanted" name="unwanted"/>
<activityPatternBinding
activityId="org.eclipse.ui.navigator.resources.unwanted"
pattern=".*ExternalTool.*">
</activityPatternBinding>
不幸的是,链接似乎已断开/过时。顺便说一句:“这个答案是否过时?”问题应该包括这样一个选项(断开的链接)
<activity id="org.eclipse.ui.navigator.resources.unwanted" name="unwanted"/>
<activityPatternBinding
activityId="org.eclipse.ui.navigator.resources.unwanted"
pattern=".*ExternalTool.*">
</activityPatternBinding>