diff options
| author | Stéphane Bégaudeau | 2016-03-30 16:00:51 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2016-03-31 13:19:47 +0000 |
| commit | 35b0c5c9bc728e103965053cdbc71e8c6839bf12 (patch) | |
| tree | 7288a2cf574874eccfc546e64236412a04e0956c | |
| parent | 5d355bfa8b1a28ef999d9977464e9cb05f03ab89 (diff) | |
| download | org.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>
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(); |
