Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schindl2010-05-14 13:05:19 +0000
committerThomas Schindl2010-05-14 13:05:19 +0000
commite9a78c670440f7427e9f6baef9252cc45c871b26 (patch)
tree0e9ac575a435b596935f62ba3c3347b2c2699604
parent0d9a8fb99430b6bd33edfc3562665828317ab493 (diff)
downloadorg.eclipse.e4.tools-e9a78c670440f7427e9f6baef9252cc45c871b26.tar.gz
org.eclipse.e4.tools-e9a78c670440f7427e9f6baef9252cc45c871b26.tar.xz
org.eclipse.e4.tools-e9a78c670440f7427e9f6baef9252cc45c871b26.zip
[Bug 304584] - [Tooling] Implement Workbench-Model-Tooling
* fixing support for e4-compat
-rw-r--r--bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/E4CompatEditorPart.java27
-rw-r--r--bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/IEclipseContextServiceFactory.java9
2 files changed, 25 insertions, 11 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/E4CompatEditorPart.java b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/E4CompatEditorPart.java
index 440d7d2a..b17adaa4 100644
--- a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/E4CompatEditorPart.java
+++ b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/E4CompatEditorPart.java
@@ -8,6 +8,7 @@ import org.eclipse.e4.core.services.contributions.IContributionFactory;
import org.eclipse.e4.tools.emf.editor3x.E4WorkbenchModelEditor;
import org.eclipse.e4.ui.css.swt.theme.IThemeEngine;
import org.eclipse.e4.ui.css.swt.theme.IThemeManager;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
@@ -18,6 +19,9 @@ import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;
import org.osgi.framework.Bundle;
@@ -54,15 +58,21 @@ public class E4CompatEditorPart extends EditorPart implements IExecutableExtensi
setInput(input);
IEclipseContext parentContext = (IEclipseContext) getSite().getService(IEclipseContext.class);
- context = parentContext.createChild("EditPart('"+getPartName()+"')"); //$NON-NLS-1$
+
+// System.err.println("The context" + parentContext);
+
+ // We are in e4 Compat-Mode
+ if( parentContext.get("org.eclipse.e4.workbench.ui.IPresentationEngine") != null ) {
+ MPart p = (MPart) getSite().getService(MPart.class);
+ context = p.getContext();
+ } else {
+ context = parentContext.createChild("EditPart('"+getPartName()+"')"); //$NON-NLS-1$
+ }
+
context.declareModifiable(IEditorInput.class);
context.declareModifiable(EditorPart.class);
context.set(EditorPart.class,this);
context.set(IEditorInput.class, input);
-
- ISelectionProvider s = new SelectionProviderImpl();
- context.set(ISelectionProvider.class, s);
- site.setSelectionProvider(s);
}
@Override
@@ -84,6 +94,11 @@ public class E4CompatEditorPart extends EditorPart implements IExecutableExtensi
@Override
public void createPartControl(Composite parent) {
+ ISelectionProvider s = new SelectionProviderImpl();
+ context.set(ISelectionProvider.class, s);
+ getSite().setSelectionProvider(s);
+
+
Composite comp = new Composite(parent, SWT.NONE);
comp.setBackgroundMode(SWT.INHERIT_DEFAULT);
@@ -140,10 +155,12 @@ public class E4CompatEditorPart extends EditorPart implements IExecutableExtensi
}
public ISelection getSelection() {
+ System.err.println("Selection: " + currentSelection);
return currentSelection;
}
public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ System.err.println("Adding listener: " + listener);
listeners.add(listener);
}
}
diff --git a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/IEclipseContextServiceFactory.java b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/IEclipseContextServiceFactory.java
index 69dab9c3..83806810 100644
--- a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/IEclipseContextServiceFactory.java
+++ b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/compat/IEclipseContextServiceFactory.java
@@ -6,8 +6,6 @@ import org.eclipse.e4.core.contexts.EclipseContextFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.core.services.contributions.IContributionFactory;
import org.eclipse.e4.ui.services.IServiceConstants;
-import org.eclipse.e4.workbench.modeling.ESelectionService;
-import org.eclipse.e4.workbench.ui.IWorkbench;
import org.eclipse.e4.workbench.ui.internal.ReflectionContributionFactory;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
@@ -40,10 +38,9 @@ public class IEclipseContextServiceFactory extends AbstractServiceFactory {
final IWorkbenchWindow window = wls.getWorkbenchWindow();
final IWorkbenchPartSite site = wls.getPartSite();
- System.err.println("The locator: " + locator);
- System.err.println(" Window: " + window);
- System.err.println(" Site: " + site);
-
+// System.err.println("The locator: " + locator);
+// System.err.println(" Window: " + window);
+// System.err.println(" Site: " + site);
Object o = parentLocator.getService(serviceInterface);

Back to the top