diff options
-rwxr-xr-x | bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseRenderer.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseRenderer.java index a5c2b6c6c..5fabad3ad 100755 --- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseRenderer.java +++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseRenderer.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; +import java.util.Set; import javax.inject.Inject; @@ -187,12 +188,6 @@ public abstract class BaseRenderer<M extends MUIElement, W extends WWidget<M>> i // Bug 433845 widget.setPropertyChangeHandler((WPropertyChangeEvent<W> e) -> propertyObjectChanged(element, e)); initWidget(element, widget); - IEventBroker broker = this._context.get(IEventBroker.class); - if (broker != null) { - initDefaultEventListeners(broker); - } else { - this.logger.error("No event broker was found. Most things will not operate appropiately!"); //$NON-NLS-1$ - } element.getTransientData().put(CALCULATED_VISIBILITY, Boolean.valueOf(element.isVisible() && checkVisibleWhen(element, getModelContext(element)))); @@ -268,6 +263,17 @@ public abstract class BaseRenderer<M extends MUIElement, W extends WWidget<M>> i } } + @Inject + public void _setRendererContext(IEclipseContext _context) { + IEventBroker broker = this._context.get(IEventBroker.class); + if (broker != null) { + //FIXME We need to redesign the translation of events into IEclipseContext values + initDefaultEventListeners(broker); + } else { + this.logger.error("No event broker was found. Most things will not operate appropiately!"); //$NON-NLS-1$ + } + } + @SuppressWarnings("null") private void initDefaultEventListeners(@NonNull IEventBroker broker) { registerEventListener(broker, UIEvents.ApplicationElement.TOPIC_PERSISTEDSTATE); @@ -389,6 +395,7 @@ public abstract class BaseRenderer<M extends MUIElement, W extends WWidget<M>> i * @param topic * the topic */ + //FIXME We need to redesign the translation of events into IEclipseContext values protected void registerEventListener(@NonNull IEventBroker broker, @NonNull String topic) { broker.subscribe(topic, this::handleEvent); } |