执行后直接禁用工具栏处理程序



我想在执行后直接禁用工具栏句柄。我过去在 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);

最新更新