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.
Difference between revisions of "Eclipse4/RCP/Event Model"
(New page: E4AP uses a pub/sub approach to events. FIXME: Pulled the following from the e4 image viewer demo, but it uses an OSGi EventAdmin directly rather than IEventBroker. = Notification of an ...) |
(→Notification of an Event) |
||
Line 4: | Line 4: | ||
= Notification of an Event = | = Notification of an Event = | ||
− | + | Can we use @UIEventTopic(UIEvents.buildTopic(UIEvents.UIElement.TOPIC, UIEvents.UIElement.WIDGET)) ?? | |
<source lang="java"> | <source lang="java"> | ||
− | + | @Inject @Optional | |
− | + | public void setInput(@UIEventTopic(Part.EVENT_NAME) PojoObject input) { | |
− | + | ... | |
− | + | } | |
</source> | </source> | ||
Revision as of 10:40, 12 April 2011
E4AP uses a pub/sub approach to events.
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); } }); .... }