diff options
author | Camille Letavernier | 2015-03-16 15:00:51 +0000 |
---|---|---|
committer | Camille Letavernier | 2015-03-16 15:00:51 +0000 |
commit | 273003d60584b02859fa256fac217f3c526dd5c3 (patch) | |
tree | 298b3b59fbe511583b3b7f9e899d082d0aa4e7a4 /plugins/infra/emf/org.eclipse.papyrus.infra.emf | |
parent | 2a2b0d76d49927cef33ed0d3cc4a95c568610ad7 (diff) | |
download | org.eclipse.papyrus-273003d60584b02859fa256fac217f3c526dd5c3.tar.gz org.eclipse.papyrus-273003d60584b02859fa256fac217f3c526dd5c3.tar.xz org.eclipse.papyrus-273003d60584b02859fa256fac217f3c526dd5c3.zip |
461439: [Properties View] Cannot add a trigger on a state transition
https://bugs.eclipse.org/bugs/show_bug.cgi?id=461439
Diffstat (limited to 'plugins/infra/emf/org.eclipse.papyrus.infra.emf')
-rw-r--r-- | plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/providers/strategy/SemanticEMFContentProvider.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/providers/strategy/SemanticEMFContentProvider.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/providers/strategy/SemanticEMFContentProvider.java index ffecbefc9fe..ab94a10c59c 100644 --- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/providers/strategy/SemanticEMFContentProvider.java +++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/providers/strategy/SemanticEMFContentProvider.java @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.edit.provider.ComposedAdapterFactory; import org.eclipse.emf.edit.provider.IDisposable; import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationManager; +import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.TreeElement; import org.eclipse.papyrus.emf.facet.custom.ui.internal.CustomizedTreeContentProvider; import org.eclipse.papyrus.infra.emf.Activator; import org.eclipse.papyrus.infra.emf.utils.EMFHelper; @@ -140,6 +141,21 @@ public class SemanticEMFContentProvider extends CustomizedTreeContentProvider im return roots; } + @Override + public Object[] getChildren(Object parentElement) { + // Sometimes, the ContentProvider is wrapped in a provider which adds new children (Not EMF-Facet compliant) + if (parentElement instanceof TreeElement) { + return super.getChildren(parentElement); + } + + if (parentElement instanceof EObject) { + return super.getChildren(createEObjectProxy(parentElement, null)); + } + + return new Object[0]; + } + + @Override public Object getAdaptedValue(Object containerElement) { return EMFHelper.getEObject(containerElement); } @@ -151,6 +167,7 @@ public class SemanticEMFContentProvider extends CustomizedTreeContentProvider im return children != null && children.length > 0; } + @Override public boolean isValidValue(Object containerElement) { // get the semantic object form the element Object semanticObject = getAdaptedValue(containerElement); @@ -203,6 +220,7 @@ public class SemanticEMFContentProvider extends CustomizedTreeContentProvider im this.notWantedMetaclasses = notWantedMetaclasses; } + @Override public Object[] getElements() { return super.getElements(null); } |