我有工具栏上的按钮命令。
我有可见性按钮的逻辑。
在某些情况下,逻辑不会被eclipse触发。
当我搬到新的Eclipse(luna)
时发生了这是清单
<command
id="RunObjectCommand"
name="%RUN_XTOL">
</command>
<menuContribution
allPopups="false"
locationURI= "toolbar:myView">
<command
commandId="RunObjectCommand"
icon="icons/lrun_obj.gif"
style="push">
</command>
</menuContribution>
</extension
<extension
point="org.eclipse.ui.handlers">
<handler
class="RunObjectHandler"
commandId="RunObjectCommand">
</handler>
</extension>
一直没有打电话的处理程序
public class RunObjectHandler extends AbstractActionHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
.............
}
@Override
public boolean isEnabled() {
}
}
也许我需要在清单中添加一些逻辑?
答案 0 :(得分:3)
Eclipse Luna不会像以前那样经常更新工具栏。
您可以使用以下方式更新处理程序:
IEventBroker eventBroker = (IEventBroker)PlatformUI.getWorkbench().getService(IEventBroker.class);
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID);
{p> IEventBroker
在org.eclipse.e4.core.services.events.IEventBroker
插件中为org.eclipse.e4.core.services
。 UIEvents
插件中org.eclipse.e4.ui.workbench.UIEvents
为org.eclipse.e4.ui.workbench
。此代码是Eclipse Luna的新代码。