Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2014-05-22 11:50:07 +0000
committerTom Schindl2014-05-22 11:50:07 +0000
commit4502836f4026e25f1f4efa71c671c4d001216b5b (patch)
tree9eda06a0c14e0862fb271d01675a75df9548a247
parent6e365a59151fd13e1f10a7fe2e22b164256344f4 (diff)
downloadorg.eclipse.rap.incubator.e4-4502836f4026e25f1f4efa71c671c4d001216b5b.tar.gz
org.eclipse.rap.incubator.e4-4502836f4026e25f1f4efa71c671c4d001216b5b.tar.xz
org.eclipse.rap.incubator.e4-4502836f4026e25f1f4efa71c671c4d001216b5b.zip
Bug 435496 - [e4] RAP renderer does not support ViewMenu & Part-ToolBars
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ContributedPartRenderer.java27
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java6
2 files changed, 27 insertions, 6 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ContributedPartRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ContributedPartRenderer.java
index 183345d..3bccf45 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ContributedPartRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ContributedPartRenderer.java
@@ -27,6 +27,8 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
@@ -47,6 +49,9 @@ public class ContributedPartRenderer extends SWTPartRenderer {
@Optional
private Logger logger;
+ @Inject
+ IPresentationEngine renderer;
+
private MPart partToActivate;
private Listener activationListener = new Listener() {
@@ -71,11 +76,16 @@ public class ContributedPartRenderer extends SWTPartRenderer {
if (!(element instanceof MPart) || !(parent instanceof Composite))
return null;
+
+
Widget parentWidget = (Widget) parent;
Widget newWidget = null;
final MPart part = (MPart) element;
- final Composite newComposite = new Composite((Composite) parentWidget,
+ boolean contentToolBar = part.getToolbar() != null
+ && part.getToolbar().getTags().contains("ContentArea"); //$NON-NLS-1$
+
+ Composite newComposite = new Composite((Composite) parentWidget,
SWT.NONE) {
/**
@@ -113,10 +123,19 @@ public class ContributedPartRenderer extends SWTPartRenderer {
}
};
- newComposite.setLayout(new FillLayout(SWT.VERTICAL));
-
+ bindWidget(element, newComposite);
newWidget = newComposite;
- bindWidget(element, newWidget);
+
+ if (contentToolBar) {
+ newComposite.setLayout(new GridLayout());
+ Control toolbar = (Control) renderer.createGui(part.getToolbar(),
+ newComposite, part.getContext());
+ toolbar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ newComposite = new Composite(newComposite, SWT.NONE);
+ newComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
+ newComposite.setLayout(new FillLayout(SWT.VERTICAL));
// Create a context for this part
IEclipseContext localContext = part.getContext();
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java
index e248fbf..3c146f9 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java
@@ -720,7 +720,8 @@ public class StackRenderer extends LazyStackRenderer {
// Hide the old TB if we're changing
if (part != curPart && curPart != null
- && curPart.getToolbar() != null) {
+ && curPart.getToolbar() != null
+ && !curPart.getToolbar().getTags().contains("ContentArea")) { //$NON-NLS-1$
// RCP does reparenting curPart.getToolbar().setVisible(false);
Control c = (Control) curPart.getToolbar().getWidget();
c.setVisible(false);
@@ -732,7 +733,8 @@ public class StackRenderer extends LazyStackRenderer {
Control[] kids = trComp.getChildren();
boolean needsTB = part != null && part.getToolbar() != null
- && part.getToolbar().isToBeRendered();
+ && part.getToolbar().isToBeRendered()
+ && !part.getToolbar().getTags().contains("ContentArea"); //$NON-NLS-1$
// View menu (if any)
MMenu viewMenu = getViewMenu(part);

Back to the top