我想在执行后直接禁用工具栏句柄。我过去在 e3 中保存了过去,通过">selectionChanged"方法保存了IAction
对象,所以我在运行逻辑之后设置了action.setEnabled(false(。
public void selectionChanged(IAction action, ISelection selection) {
this.delegate = action;
}
存在于e4中是否有可能做同样的行为?
您可以使用处理程序的@CanExecute
方法来控制启用。
@CanExecute
public boolean canExecute()
{
// TODO return enablement
}
当大多数可能更改启用的内容运行时,将调用此方法,或者您可以通过调用来强制运行它
@Inject
IEventBroker eventBroker;
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID);