我正在使用Eclipse rcp4应用程序,并且遇到@canExecute批注方法的问题。当我发送 broker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC,UIEvents.ALL_ELEMENT_ID); 它将触发所有canExecute方法,但我只想限制为某些类。 有人可以帮忙吗
答案 0 :(得分:1)
UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC
事件调用的第二个参数可以是实现org.eclipse.e4.ui.workbench.Selector
的东西。
例如,要更新特定的元素ID,您可以使用:
Selector selector = element -> "element id".equals(element.getElementId());
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, selector);
如果您只想更新单个元素,则只需将元素ID指定为第二个参数即可:
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, "element id");