Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Bégaudeau2016-03-30 16:00:51 +0000
committerPierre-Charles David2016-03-31 13:19:47 +0000
commit35b0c5c9bc728e103965053cdbc71e8c6839bf12 (patch)
tree7288a2cf574874eccfc546e64236412a04e0956c
parent5d355bfa8b1a28ef999d9977464e9cb05f03ab89 (diff)
downloadorg.eclipse.sirius-35b0c5c9bc728e103965053cdbc71e8c6839bf12.tar.gz
org.eclipse.sirius-35b0c5c9bc728e103965053cdbc71e8c6839bf12.tar.xz
org.eclipse.sirius-35b0c5c9bc728e103965053cdbc71e8c6839bf12.zip
[482528] Add support for the image of the form
Change-Id: Icf4bf7b9b40ec54252291c025a264b37eb79d3e3 Signed-off-by: Stéphane Bégaudeau <stephane.begaudeau@obeo.fr>
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusToolServices.java23
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java3
2 files changed, 26 insertions, 0 deletions
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusToolServices.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusToolServices.java
index 9fdd029e44..9f73cffa3d 100644
--- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusToolServices.java
+++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusToolServices.java
@@ -14,10 +14,13 @@ import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Set;
+import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.sirius.business.api.helper.task.ICommandTask;
import org.eclipse.sirius.business.api.helper.task.TaskHelper;
import org.eclipse.sirius.business.api.query.EObjectQuery;
@@ -41,6 +44,26 @@ import org.eclipse.sirius.viewpoint.description.tool.ModelOperation;
* @author sbegaudeau
*/
public class SiriusToolServices {
+
+ // TODO To be removed in favor of the standard EMF Edit
+ /**
+ * Returns the image representing the given EObject.
+ *
+ * @param eObject
+ * The EObject
+ * @return The image representing the given EObject or <code>null</code> if
+ * none could be found
+ */
+ public Object image(EObject eObject) {
+ ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+ Adapter adapter = composedAdapterFactory.adapt(eObject, IItemLabelProvider.class);
+ if (adapter instanceof IItemLabelProvider) {
+ IItemLabelProvider labelProvider = (IItemLabelProvider) adapter;
+ return labelProvider.getImage(eObject);
+ }
+ return null;
+ }
+
/**
* Executes the operation with the given URI.
*
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
index bb32039a7a..e9055c4a45 100644
--- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
+++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
@@ -109,6 +109,9 @@ public class ViewDescriptionConverter {
public EEFViewDescription convert(SiriusInputDescriptor input) {
EEFViewDescription view = EefFactory.eINSTANCE.createEEFViewDescription();
+ // TODO Replace by the retrieval of the image from the label provider
+ view.setImageExpression("service:image");
+
Set<EPackage> ePackages = new LinkedHashSet<>();
for (PageDescription pageDescription : pageDescriptions) {
EObject eContainer = pageDescription.eContainer();

Back to the top