Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Noyrit2016-04-15 04:33:57 -0400
committerptessier2017-05-08 10:54:39 -0400
commitbb97915e420a90f4f017b6da84c577f06360744c (patch)
tree2ea4d6cbb6932cb60e016e60ca4853d9d494e932 /plugins/developer
parent66d0a630c88cc9177a142b09060a7ffa59249936 (diff)
downloadorg.eclipse.papyrus-bb97915e420a90f4f017b6da84c577f06360744c.tar.gz
org.eclipse.papyrus-bb97915e420a90f4f017b6da84c577f06360744c.tar.xz
org.eclipse.papyrus-bb97915e420a90f4f017b6da84c577f06360744c.zip
Bug 489116 - Migrate Sequence Diagram's elementtypes to UML service
types - lifeline management ok - management by element type-->ok - graphical management (creation, move, drop)-->ok - message -management by element type-->ok -graphical management in progress - asyncr message creation (creation deletion) - syncr message creation ( creation deletion) - creation message creation (creation deletion) - delete message (creation deletion) - lost message ( creation deletion) - found message ( creation deletion) - action execution specification ( creation, move deletion) - behavior execution specification (creationn,move deletion) - when adding a message move other - possibility to select several messages --> prevent from reorder --> click on alt during the move to let the reorder - manage combined fragment Change-Id: I95f741292bb78705137af882c1cf60686a29de6f Bug 489116 - Migrate Sequence Diagram's elementtypes to UML service types update interaction figure and editpart Change-Id: Ibf718c859b05c6aad1343a62224d1fc4291a36f3 fix manifest during merge Change-Id: I755cbd26cc5ca9806ce1a1329554cafccbce6da3
Diffstat (limited to 'plugins/developer')
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend21
1 files changed, 19 insertions, 2 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
index 8aa08982d0c..9dc3a1c7e10 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
@@ -33,6 +33,8 @@ import xpt.Common_qvto
import xpt.GenModelUtils_qvto
import xpt.diagram.updater.UpdaterLinkType
import xpt.diagram.updater.Utils_qvto
+import java.util.Set
+import org.eclipse.emf.codegen.ecore.genmodel.GenFeature
// we removed all static modifiers and all private methods becames protected to allow to override method.
//see bug421212: [Diagram] Papyrus should provide actions for Show/Hide related links in all diagrams
@@ -201,10 +203,10 @@ import xpt.diagram.updater.Utils_qvto
«ELSE»
«generatedMemberComment»
public «listOfNodeDescriptors» «getSemanticChildrenMethodName(it)»(org.eclipse.gmf.runtime.notation.View view) {
- «IF getSemanticChildrenChildFeatures(it).notEmpty || it.getPhantomNodes().notEmpty»
+ «IF getPossibleSemanticChildrenChildFeatures(it).notEmpty || it.getPhantomNodes().notEmpty»
«defineModelElement(it)»
«newLinkedListOfNodeDescriptors(it.diagramUpdater, 'result')»();
- «/* childMetaFeature can be null here! */FOR childMetaFeature : getSemanticChildrenChildFeatures(it)»
+ «/* childMetaFeature can be null here! */FOR childMetaFeature : getPossibleSemanticChildrenChildFeatures(it)»
«IF null == childMetaFeature»
{ /*FIXME no containment/child feature found in the genmodel, toolsmith need to specify Class here manually*/ childElement =
/*FIXME no containment/child feature found in the genmodel, toolsmith need to specify correct one here manually*/;
@@ -241,6 +243,21 @@ import xpt.diagram.updater.Utils_qvto
}
«ENDIF»
'''
+
+ def Set<GenFeature> getPossibleSemanticChildrenChildFeatures(GenContainerBase container) {
+ var result = <GenFeature>newHashSet();
+ val containerMetaclass = container.metaClass;
+
+ if (containerMetaclass != null) {
+ for (feature : getSemanticChildrenChildFeatures(container)) {
+ if(containerMetaclass.ecoreClass.EAllStructuralFeatures.contains(feature.ecoreFeature)){
+ result.add(feature);
+ }
+ }
+ }
+
+ return result;
+ }
override defineLinkSource(TypeLinkModelFacet it, boolean inLoop) '''
«IF sourceMetaFeature.listType»

Back to the top