如果在上下文中发生了改变,通过 @CanExecute 注解的方法将被框架调用,也就是说,如果上下文被修改了,或者活动的上下文改变了,应用程序代码可以通过事件代理(broker)发送事件来请求框架执行 @CanExecute 方法。
// evaluate all @CanExecute methods
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID);
// evaluate a context via a selector
Selector s = (a selector that an MApplicationElement or an ID);
eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, s);
//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=427465 for details