Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/DirectContributionItem.java17
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java5
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java10
3 files changed, 30 insertions, 2 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/DirectContributionItem.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/DirectContributionItem.java
index 4045a3a4712..4d251a46baf 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/DirectContributionItem.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/DirectContributionItem.java
@@ -19,7 +19,9 @@ import org.eclipse.e4.core.contexts.IContextFunction;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.core.services.contributions.IContributionFactory;
+import org.eclipse.e4.core.services.log.Logger;
import org.eclipse.e4.ui.internal.workbench.Activator;
import org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer;
import org.eclipse.e4.ui.internal.workbench.Policy;
@@ -90,6 +92,10 @@ public class DirectContributionItem extends ContributionItem {
resUtils = (ISWTResourceUtilities) utils;
}
+ @Inject
+ @Optional
+ private Logger logger;
+
private IMenuListener menuListener = new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
update(null);
@@ -443,6 +449,17 @@ public class DirectContributionItem extends ContributionItem {
return menu;
}
}
+ } else {
+ final IEclipseContext lclContext = getContext(model);
+ IPresentationEngine engine = lclContext
+ .get(IPresentationEngine.class);
+ obj = engine.createGui(mmenu, toolItem.getParent(), lclContext);
+ if (obj instanceof Menu) {
+ return (Menu) obj;
+ }
+ if (logger != null) {
+ logger.debug("Rendering returned " + obj); //$NON-NLS-1$
+ }
}
return null;
}
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
index 55e08566793..7c71cce84a0 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
@@ -817,8 +817,9 @@ public class HandledContributionItem extends ContributionItem {
Menu menu = (Menu) obj;
// menu.setData(AbstractPartRenderer.OWNING_ME, menu);
return menu;
- } else {
- System.err.println("Rendering returned " + obj); //$NON-NLS-1$
+ }
+ if (logger != null) {
+ logger.debug("Rendering returned " + obj); //$NON-NLS-1$
}
}
return null;
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java
index 0d2aeaba9d3..22cc9b98f92 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java
@@ -46,6 +46,7 @@ import org.eclipse.e4.ui.model.application.ui.menu.MItem;
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
import org.eclipse.e4.ui.model.application.ui.menu.MRenderedMenu;
import org.eclipse.e4.ui.model.application.ui.menu.MToolItem;
+import org.eclipse.e4.ui.workbench.IPresentationEngine;
import org.eclipse.e4.ui.workbench.UIEvents;
import org.eclipse.jface.action.IMenuCreator;
import org.eclipse.jface.bindings.TriggerSequence;
@@ -454,6 +455,15 @@ public class ToolItemRenderer extends SWTPartRenderer {
return menu;
}
}
+ } else {
+ final IEclipseContext lclContext = getContext(mmenu);
+ IPresentationEngine engine = lclContext
+ .get(IPresentationEngine.class);
+ obj = engine.createGui(mmenu, toolItem.getParent(), lclContext);
+ if (obj instanceof Menu) {
+ return (Menu) obj;
+ }
+ logger.debug("Rendering returned " + obj); //$NON-NLS-1$
}
return null;
}

Back to the top