Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2015-03-16 15:00:51 +0000
committerCamille Letavernier2015-03-16 15:00:51 +0000
commit273003d60584b02859fa256fac217f3c526dd5c3 (patch)
tree298b3b59fbe511583b3b7f9e899d082d0aa4e7a4 /plugins/infra/emf/org.eclipse.papyrus.infra.emf
parent2a2b0d76d49927cef33ed0d3cc4a95c568610ad7 (diff)
downloadorg.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.java18
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);
}

Back to the top