Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMélanie Bats2016-01-22 08:31:05 +0000
committerPierre-Charles David2016-02-01 08:54:03 +0000
commit906b0dd7da0f74c4e299d126511ac909c98c1121 (patch)
tree5db2410c44a19760093f0a0b0de57c3759456df0
parentaeef8417f78fcc4f73514c373962f58b9dea02b3 (diff)
downloadorg.eclipse.sirius-906b0dd7da0f74c4e299d126511ac909c98c1121.tar.gz
org.eclipse.sirius-906b0dd7da0f74c4e299d126511ac909c98c1121.tar.xz
org.eclipse.sirius-906b0dd7da0f74c4e299d126511ac909c98c1121.zip
[482528] Use the EEF properties view framework
Use the EEF properties view framework instead of the legacy tabbed properties view framework. Bug: 482528 Change-Id: I84fb5ff2b88bc6e7cf11807fc3517918d51aaf21 Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF4
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/plugin.xml30
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java26
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/ViewDescriptionConverter.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java9
-rw-r--r--plugins/org.eclipse.sirius.editor/META-INF/MANIFEST.MF2
7 files changed, 35 insertions, 43 deletions
diff --git a/incubation/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF b/incubation/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF
index 4ada1cb998..2df8ad881f 100644
--- a/incubation/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF
+++ b/incubation/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF
@@ -6,7 +6,6 @@ Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.eef;bundle-version="1.6.0",
- org.eclipse.ui.views.properties.tabbed,
org.eclipse.gmf.runtime.diagram.ui,
org.eclipse.sirius,
org.eclipse.sirius.ext.emf;bundle-version="3.1.2",
@@ -17,7 +16,8 @@ Require-Bundle: org.eclipse.eef;bundle-version="1.6.0",
org.eclipse.sirius.common,
org.eclipse.sirius.ecore.extender,
org.eclipse.sirius.ext.base,
- org.eclipse.sirius.common.interpreter;bundle-version="1.0.0"
+ org.eclipse.sirius.common.interpreter;bundle-version="1.0.0",
+ org.eclipse.eef.properties.ui;bundle-version="1.6.0"
Import-Package: com.ibm.icu.util
Bundle-Activator: org.eclipse.sirius.ui.properties.internal.Activator
Bundle-ActivationPolicy: lazy
diff --git a/incubation/org.eclipse.sirius.ui.properties/plugin.xml b/incubation/org.eclipse.sirius.ui.properties/plugin.xml
index 02bf72ece7..523de04e1d 100644
--- a/incubation/org.eclipse.sirius.ui.properties/plugin.xml
+++ b/incubation/org.eclipse.sirius.ui.properties/plugin.xml
@@ -1,29 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
- <propertyContributor
- contributorId="org.eclipse.sirius.diagram.ui"
- tabDescriptorProvider="org.eclipse.sirius.ui.properties.internal.SiriusTabDescriptorProvider" >
- <propertyCategory/>
- </propertyContributor>
- </extension>
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
- <propertyContributor
- contributorId="org.eclipse.sirius.table.ui.EditorID"
- tabDescriptorProvider="org.eclipse.sirius.ui.properties.internal.SiriusTabDescriptorProvider">
- <propertyCategory/>
- </propertyContributor>
- </extension>
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
- <propertyContributor
- contributorId="org.eclipse.sirius.tree.ui.EditorID"
- tabDescriptorProvider="org.eclipse.sirius.ui.properties.internal.SiriusTabDescriptorProvider">
- <propertyCategory/>
- </propertyContributor>
- </extension>
<extension point="org.eclipse.core.runtime.adapters">
<factory adaptableType="org.eclipse.gef.GraphicalEditPart"
@@ -39,4 +18,13 @@
<adapter type="org.eclipse.emf.ecore.EObject" />
</factory>
</extension>
+ <extension
+ point="org.eclipse.eef.properties.ui.eefTabDescriptorProvider">
+ <descriptor
+ class="org.eclipse.sirius.ui.properties.internal.SiriusTabDescriptorProvider"
+ description="Provides EEF tab descriptors according to what is defined in the view properties extension"
+ id="org.eclipse.sirius.eefTabDescriptorProvider"
+ label="Sirius EEF Tab Descriptor Provider">
+ </descriptor>
+ </extension>
</plugin>
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java
index 4260d42202..cbc842fcba 100644
--- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java
+++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java
@@ -11,23 +11,24 @@
package org.eclipse.sirius.ui.properties.internal;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
-import java.util.Set;
import org.eclipse.eef.EEFViewDescription;
import org.eclipse.eef.core.api.EEFExpressionUtils;
import org.eclipse.eef.core.api.EEFPage;
import org.eclipse.eef.core.api.EEFView;
import org.eclipse.eef.core.api.EEFViewFactory;
-import org.eclipse.eef.ide.ui.internal.properties.EEFTabDescriptor;
+import org.eclipse.eef.ide.ui.api.EEFTabDescriptor;
+import org.eclipse.eef.properties.ui.api.IEEFTabDescriptor;
+import org.eclipse.eef.properties.ui.api.IEEFTabDescriptorProvider;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.sirius.business.api.query.EObjectQuery;
import org.eclipse.sirius.business.api.session.Session;
-import org.eclipse.sirius.common.interpreter.api.VariableManagerFactory;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+import org.eclipse.sirius.common.interpreter.api.VariableManagerFactory;
import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.properties.PageDescription;
import org.eclipse.sirius.properties.ViewExtensionDescription;
@@ -35,18 +36,15 @@ import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
import org.eclipse.sirius.viewpoint.description.Group;
import org.eclipse.sirius.viewpoint.description.Viewpoint;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ITabDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITabDescriptorProvider;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-public class SiriusTabDescriptorProvider implements ITabDescriptorProvider {
+public class SiriusTabDescriptorProvider implements IEEFTabDescriptorProvider {
@Override
- public ITabDescriptor[] getTabDescriptors(IWorkbenchPart part, ISelection selection) {
+ public Collection<IEEFTabDescriptor> get(IWorkbenchPart part, ISelection selection) {
if (selection instanceof IStructuredSelection) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
Object[] objects = structuredSelection.toArray();
@@ -59,25 +57,25 @@ public class SiriusTabDescriptorProvider implements ITabDescriptorProvider {
}
}
}
- return new ITabDescriptor[0];
+ return new ArrayList<IEEFTabDescriptor>();
}
- private ITabDescriptor[] getTabDescriptors(EObject semanticElement) {
+ private Collection<IEEFTabDescriptor> getTabDescriptors(EObject semanticElement) {
Session session = new EObjectQuery(semanticElement).getSession();
List<PageDescription> effectivePageDescriptions = computeEffectiveDescription(semanticElement, session);
return getTabDescriptors(session, semanticElement, effectivePageDescriptions);
}
- private ITabDescriptor[] getTabDescriptors(Session session, EObject semanticElement, List<PageDescription> effectivePageDescriptions) {
+ private Collection<IEEFTabDescriptor> getTabDescriptors(Session session, EObject semanticElement, List<PageDescription> effectivePageDescriptions) {
EEFViewDescription viewDescription = new ViewDescriptionConverter(session, semanticElement, effectivePageDescriptions).convert();
EEFView eefView = createEEFView(session, semanticElement, viewDescription);
- List<ITabDescriptor> descriptors = new ArrayList<ITabDescriptor>();
+ List<IEEFTabDescriptor> descriptors = new ArrayList<IEEFTabDescriptor>();
List<EEFPage> eefPages = eefView.getPages();
for (EEFPage eefPage : eefPages) {
descriptors.add(new EEFTabDescriptor(eefPage));
}
- return descriptors.toArray(new ITabDescriptor[descriptors.size()]);
+ return descriptors;
}
private EEFView createEEFView(Session session, EObject semanticElement, EEFViewDescription viewDescription) {
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/ViewDescriptionConverter.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/ViewDescriptionConverter.java
index 9a4e7343cb..6b67ed876c 100644
--- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/ViewDescriptionConverter.java
+++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/ViewDescriptionConverter.java
@@ -118,8 +118,8 @@ public class ViewDescriptionConverter {
private void createPage(PageDescription pageDescription, EObject pageTarget, EEFViewDescription view) {
EEFPageDescription page = EefFactory.eINSTANCE.createEEFPageDescription();
page.setIdentifier(pageDescription.getIdentifier());
- page.setLabelExpression(computeString(pageTarget, pageDescription.getLabelExpression()));
-
+ page.setLabelExpression(pageDescription.getLabelExpression());
+ page.setSemanticCandidateExpression(pageDescription.getSemanticCandidateExpression());
for (GroupDescription groupDescription : pageDescription.getGroups()) {
instantiateGroups(groupDescription, page, pageTarget, view);
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
index bdad7333b0..858898deb4 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
@@ -43,7 +43,8 @@ Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
org.eclipse.ui.navigator;bundle-version="3.5.200",
org.eclipse.ui.navigator.resources;bundle-version="3.4.400",
org.w3c.dom.svg;bundle-version="1.1.0",
- org.apache.xerces;bundle-version="2.9.0"
+ org.apache.xerces;bundle-version="2.9.0",
+ org.eclipse.eef.properties.ui;bundle-version="1.6.0"
Eclipse-LazyStart: true
Export-Package: org.eclipse.sirius.diagram.description.concern.provider;version="2.0.4",
org.eclipse.sirius.diagram.description.filter.provider;version="2.0.4",
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
index dc6ce17346..24190bad73 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
@@ -17,6 +17,8 @@ import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage;
+import org.eclipse.eef.properties.ui.api.IEEFTabbedPropertySheetPageContributor;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
@@ -39,11 +41,12 @@ import org.eclipse.ui.ide.IGotoMarker;
import org.eclipse.ui.navigator.resources.ProjectExplorer;
import org.eclipse.ui.part.IShowInTargetList;
import org.eclipse.ui.part.ShowInContext;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
/**
* @not-generated
*/
-public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoMarker, IAdaptable {
+public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoMarker, IAdaptable, IEEFTabbedPropertySheetPageContributor {
/**
* @was-generated
@@ -107,7 +110,9 @@ public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoM
}
};
}
-
+ if (type == IPropertySheetPage.class) {
+ return new EEFTabbedPropertySheetPage(this);
+ }
if (type == AdapterFactory.class) {
return DiagramUIPlugin.getPlugin().getItemProvidersAdapterFactory();
}
diff --git a/plugins/org.eclipse.sirius.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.editor/META-INF/MANIFEST.MF
index c52d4c2cf4..7dc5e72505 100644
--- a/plugins/org.eclipse.sirius.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.sirius.editor/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@ Bundle-Version: 4.0.0.qualifier
Bundle-Activator: org.eclipse.sirius.editor.editorPlugin.SiriusEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.300",
+Require-Bundle: org.eclipse.ui.views.properties.tabbed;bundle-version="3.6.100",
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.emf.ecore.editor;bundle-version="2.8.0",
org.eclipse.emf.ecore.xmi;bundle-version="2.8.1",

Back to the top