updated to new api
diff --git a/extra/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF b/extra/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
index 077d22a..ab26c8e 100644
--- a/extra/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
+++ b/extra/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
@@ -23,11 +23,11 @@
org.w3c.css.sac;bundle-version="1.3.1",
org.eclipse.e4.core.commands;bundle-version="0.10.1",
org.eclipse.e4.ui.bindings;bundle-version="0.10.1",
- org.eclipse.emf.ecp.editor;bundle-version="1.0.0",
org.eclipse.emf.ecp.ui;bundle-version="1.0.0",
org.eclipse.e4.ui.model.workbench;bundle-version="0.10.1",
org.eclipse.emf.edit.ui,
- org.eclipse.emf.ecp.ui.view
+ org.eclipse.emf.ecp.ui.view,
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="1.1.1"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: javax.annotation;version="1.0.0",
org.eclipse.emf.ecp.explorereditorbridge.internal;version="1.0.0",
diff --git a/extra/org.eclipse.emf.ecp.application.e4/src/org/eclipse/emf/ecp/e4/editor/ECPE4Editor.java b/extra/org.eclipse.emf.ecp.application.e4/src/org/eclipse/emf/ecp/e4/editor/ECPE4Editor.java
index eae07aa..c4818bb 100644
--- a/extra/org.eclipse.emf.ecp.application.e4/src/org/eclipse/emf/ecp/e4/editor/ECPE4Editor.java
+++ b/extra/org.eclipse.emf.ecp.application.e4/src/org/eclipse/emf/ecp/e4/editor/ECPE4Editor.java
@@ -2,7 +2,6 @@
import java.net.URL;
-import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
import javax.inject.Named;
@@ -10,20 +9,17 @@
import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.e4.ui.services.IServiceConstants;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.core.ECPProject;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
-import org.eclipse.emf.ecp.edit.ECPEditorContext;
-import org.eclipse.emf.ecp.editor.EditorFactory;
-import org.eclipse.emf.ecp.editor.IEditorCompositeProvider;
-import org.eclipse.emf.ecp.explorereditorbridge.internal.EditorContext;
import org.eclipse.emf.ecp.internal.ui.view.emf.AdapterFactoryLabelProvider;
import org.eclipse.emf.ecp.spi.core.InternalProvider;
import org.eclipse.emf.ecp.spi.ui.UIProvider;
+import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
@@ -36,43 +32,44 @@
private MPart part;
private EObject modelElement;
private Adapter adapter;
- private Composite composite;
- private ScrolledComposite sc;
+ private final Composite composite;
+ private final ScrolledComposite sc;
@Inject
public ECPE4Editor(Composite composite) {
this.composite = composite;
sc = new ScrolledComposite(composite, SWT.V_SCROLL
- | SWT.H_SCROLL);
+ | SWT.H_SCROLL);
}
@Inject
- public void setInput(@Optional
- @Named(INPUT) EObject modelElement, @Optional ECPProject ecpProject, MPart part) {
- if(modelElement==null||ecpProject==null){
+ public void setInput(@Optional @Named(INPUT) EObject modelElement, @Optional ECPProject ecpProject, MPart part) {
+ if (modelElement == null || ecpProject == null) {
return;
}
- this.part=part;
- this.modelElement=modelElement;
- ECPEditorContext editorContext = new EditorContext(modelElement,
- ecpProject, composite.getShell());
- IEditorCompositeProvider editorPageContent = EditorFactory.INSTANCE
- .getEditorComposite(editorContext);
-
+ this.part = part;
+ this.modelElement = modelElement;
+ ECPSWTView render;
+ try {
+ render = ECPSWTViewRenderer.INSTANCE.render(sc, modelElement);
- Composite createUI = editorPageContent.createUI(sc);
- sc.setExpandHorizontal(true);
- sc.setExpandVertical(true);
- sc.setContent(createUI);
- sc.setMinSize(createUI.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+ sc.setExpandHorizontal(true);
+ sc.setExpandVertical(true);
+ sc.setContent(render.getSWTControl());
+ sc.setMinSize(render.getSWTControl().computeSize(SWT.DEFAULT, SWT.DEFAULT));
-// composite.layout();
-
+ } catch (final ECPRendererException ex) {
+ ex.printStackTrace();
+ }
+ // composite.layout();
+
updateImageAndText();
- adapter = new AdapterImpl(){
+ adapter = new AdapterImpl() {
- /* (non-Javadoc)
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ /*
+ * (non-Javadoc)
+ * @see
+ * org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
*/
@Override
public void notifyChanged(Notification msg) {
@@ -82,30 +79,32 @@
}
});
}
-
+
};
- modelElement.eAdapters().add(adapter);
+ modelElement.eAdapters().add(adapter);
}
-
+
@PreDestroy
- void dispose(){
+ void dispose() {
modelElement.eAdapters().remove(adapter);
}
private void updateImageAndText() {
part.setLabel(UIProvider.EMF_LABEL_PROVIDER.getText(modelElement));
- part.setTooltip(UIProvider.EMF_LABEL_PROVIDER.getText(modelElement));
+ part.setTooltip(UIProvider.EMF_LABEL_PROVIDER.getText(modelElement));
- AdapterFactoryLabelProvider provider = new AdapterFactoryLabelProvider(InternalProvider.EMF_ADAPTER_FACTORY);
- IItemLabelProvider itemLabelProvider = (IItemLabelProvider)provider.getAdapterFactory().adapt(modelElement, IItemLabelProvider.class);
-
- URL url = (URL) itemLabelProvider.getImage(modelElement);
+ final AdapterFactoryLabelProvider provider = new AdapterFactoryLabelProvider(
+ InternalProvider.EMF_ADAPTER_FACTORY);
+ final IItemLabelProvider itemLabelProvider = (IItemLabelProvider) provider.getAdapterFactory().adapt(
+ modelElement, IItemLabelProvider.class);
+
+ final URL url = (URL) itemLabelProvider.getImage(modelElement);
}
-
+
@Focus
- void setFocus(){
- if(sc!=null){
+ void setFocus() {
+ if (sc != null) {
sc.setFocus();
}
}