Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Eclipse4/RCP/Event Model
E4AP uses a pub/sub approach to events. The material on | Event Processing in E4 should be integrated here.
Topics:
* UIEvents, the @UIEventTopic annotation * IEventBroker
FIXME: Pulled the following from the e4 image viewer demo, but it uses an OSGi EventAdmin directly rather than IEventBroker.
Notification of an Event
Can we use @UIEventTopic(UIEvents.buildTopic(UIEvents.UIElement.TOPIC, UIEvents.UIElement.WIDGET)) ??
@Inject @Optional public void setInput(@UIEventTopic(Part.EVENT_NAME) PojoObject input) { ... }
Posting an Event
public class Part { final static public String EVENT_NAME = "org/eclipse/e4/demo/app/value"; @Inject private EventAdmin eventAdmin; @PostConstruct void init() { ... viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object selected = ((StructuredSelection) event.getSelection()).getFirstElement(); if (eventAdmin != null) EventUtils.post(eventAdmin, EVENT_NAME, selected); } }); .... }