diff options
author | Florian Noyrit | 2015-03-16 15:54:45 +0000 |
---|---|---|
committer | Florian Noyrit | 2015-03-16 15:54:45 +0000 |
commit | d8d95cdbcbe3a1cc7b5065a5e9ac1f71c7c402ea (patch) | |
tree | d33bfe806f7b7d5dffd59547fc8ddfec90db49a3 /plugins/infra/emf | |
parent | da5fee2df46c24bebccafb4cccf0b6bcd5c7b536 (diff) | |
parent | db3b64d247f1ffccb686f3f60ce9c4c2f4cb01af (diff) | |
download | org.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.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); } |