Object host = manager.getHost();
IEventHandler controller = UserData.findEventController(host);
if (controller == null) {
controller = UserData.updateEventController(host);
}
IMetaclass metaclass = XWT.getMetaclass(host);
EventProperty reaisedEventProperty = (EventProperty) property;
String raisedName = reaisedEventProperty.getEvent().getName();
for (String name : getEventNames()) {
if (name.equalsIgnoreCase(raisedName)) {
continue;
}
String eventPropertyName = IEventConstants.getEventPropertyName(name);
String eventName = IEventConstants.getEventName(name);
IEvent event = metaclass.findEvent(eventName);
IProperty eventProperty = metaclass.findProperty(eventPropertyName);
try {
controller.setEvent(event, UserData.getWidget(host), manager, eventProperty, IObservableValueListener.class.getDeclaredMethod("changeValueHandle", Object.class, org.eclipse.swt.widgets.Event.class));
} catch (Exception e) {
LoggerManager.log(e);