Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Noyrit2015-03-16 15:54:45 +0000
committerFlorian Noyrit2015-03-16 15:54:45 +0000
commitd8d95cdbcbe3a1cc7b5065a5e9ac1f71c7c402ea (patch)
treed33bfe806f7b7d5dffd59547fc8ddfec90db49a3 /plugins/infra/emf
parentda5fee2df46c24bebccafb4cccf0b6bcd5c7b536 (diff)
parentdb3b64d247f1ffccb686f3f60ce9c4c2f4cb01af (diff)
downloadorg.eclipse.papyrus-d8d95cdbcbe3a1cc7b5065a5e9ac1f71c7c402ea.tar.gz
org.eclipse.papyrus-d8d95cdbcbe3a1cc7b5065a5e9ac1f71c7c402ea.tar.xz
org.eclipse.papyrus-d8d95cdbcbe3a1cc7b5065a5e9ac1f71c7c402ea.zip
Merge branch 'master' of ssh://fnoyrit@git.eclipse.org:29418/papyrus/org.eclipse.papyrus
Diffstat (limited to 'plugins/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