diff options
author | Thomas Schindl | 2010-05-14 13:05:19 +0000 |
---|---|---|
committer | Thomas Schindl | 2010-05-14 13:05:19 +0000 |
commit | e9a78c670440f7427e9f6baef9252cc45c871b26 (patch) | |
tree | 0e9ac575a435b596935f62ba3c3347b2c2699604 | |
parent | 0d9a8fb99430b6bd33edfc3562665828317ab493 (diff) | |
download | org.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
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); |