diff options
author | Mickael ADAM | 2014-12-11 15:05:11 +0000 |
---|---|---|
committer | Mickael ADAM | 2014-12-11 15:05:11 +0000 |
commit | 819225bc9d115e1a40fcc106654fcd6088183dce (patch) | |
tree | 1033186a36a93c9378b60c99631313fb0dbdde9a /plugins/developer | |
parent | de200440d37c73fc25545afe4a3d77d674013eda (diff) | |
parent | 85785b7900e513a0d47ba435349a613f5f8d1ad0 (diff) | |
download | org.eclipse.papyrus-819225bc9d115e1a40fcc106654fcd6088183dce.tar.gz org.eclipse.papyrus-819225bc9d115e1a40fcc106654fcd6088183dce.tar.xz org.eclipse.papyrus-819225bc9d115e1a40fcc106654fcd6088183dce.zip |
Merge branch master into shape branch.
Conflicts:
plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AbstractionNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeAbstractionEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeAssociationEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeDependencyEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeElementImportEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeGeneralizationSetLabelEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeInterfaceRealizationEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypePackageImportEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypePackageMergeEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeRealizationEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeSubstitutionEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeTemplateBindingEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotypeUsageEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AppliedStereotyperGeneralizationEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationBranchMutliplicityEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationBranchRoleEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationClassRoleSourceEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationClassRoleTargetEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationMultiplicitySourceEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationMultiplicityTargetEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationSourceNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/AssociationTargetNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/BindingSubstitutionEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/ConstraintLabelEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/ContextLinkAppliedStereotypeEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/DependencyNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/ElementImportAliasEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/InformationFlowAppliedStereotypeEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/InformationFlowConveyedLabelEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/InterfaceRealizationNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/RealizationNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/SourceISLinkLabelEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/SubstitutionNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/TargetISLinkLabelEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/UsageNameEditPart.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomGraphicalNodeEditPolicy.java
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile/model/profilediagram.gmfgen
plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile/plugin.xml
Change-Id: I723e9c8e78ca10425c684128686da2f30327dc11
Signed-off-by: Mickael ADAM <mickael.adam@ALL4TEC.net>
Diffstat (limited to 'plugins/developer')
17 files changed, 1004 insertions, 23 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend-gen/aspects/impl/diagram/editparts/.gitignore b/plugins/developer/org.eclipse.papyrus.def/xtend-gen/aspects/impl/diagram/editparts/.gitignore index 37f57489b1b..34f20c26406 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend-gen/aspects/impl/diagram/editparts/.gitignore +++ b/plugins/developer/org.eclipse.papyrus.def/xtend-gen/aspects/impl/diagram/editparts/.gitignore @@ -7,3 +7,4 @@ /LinkEditPart.java /LinkLabelEditPart.java /NodeLabelEditPart.java +/ExternalNodeLabelEditPart.java diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend index 03513d7a8c8..7dcf4beeee4 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend @@ -19,6 +19,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel import org.eclipse.papyrus.papyrusgmfgenextension.LabelVisibilityPreference import xpt.Common import org.eclipse.gmf.codegen.gmfgen.CustomBehaviour +import org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView @Singleton class LinkLabelEditPart extends diagram.editparts.LinkLabelEditPart{ @Inject extension Common; @@ -50,25 +51,21 @@ import org.eclipse.gmf.codegen.gmfgen.CustomBehaviour ««« END: PapyrusGenCode ''' - override extendsList(GenLinkLabel it) '''extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart''' - - override createDefaultEditPolicies(GenLinkLabel it) ''' - /** - * @generated Papyrus Generation - */ - @Override - protected void createDefaultEditPolicies() { - super.createDefaultEditPolicies(); - installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy()); - installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new «diagram.getTextSelectionEditPolicyQualifiedClassName()»()); - ««« BEGIN: PapyrusGenCode - installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy()); - ««« END: PapyrusGenCode - ««« Get the added custom behavoir - «FOR CustomBehaviour:it.behaviour.filter(typeof (CustomBehaviour))» - installEditPolicy(«CustomBehaviour.key», new «CustomBehaviour.editPolicyQualifiedClassName»()); - «ENDFOR» - } +// override extendsList(GenLinkLabel it) '''extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart''' + + override extendsList(GenLinkLabel it) ''' + «««BEGIN: PapyrusGenCode + «««specify a java super class for external nodes + «IF it.eResource.allContents.filter(typeof (ExtendedGenView)).filter[v | v.genView.contains(it) && v.superOwnedEditPart != null].size != 0» + extends «FOR extendedObject : it.eResource.allContents.filter(typeof (ExtendedGenView)).filter[v|v.genView.contains(it) && v.superOwnedEditPart != null].toIterable» + «extendedObject.superOwnedEditPart» + «ENDFOR» + «««END: PapyrusGenCode + «ELSE» + extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart + «ENDIF» ''' - + + + } diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/ExternalNodeLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/ExternalNodeLabelEditPart.xtend new file mode 100644 index 00000000000..2a80b048294 --- /dev/null +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/ExternalNodeLabelEditPart.xtend @@ -0,0 +1,32 @@ +/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package aspects.impl.diagram.editparts
+
+import xpt.diagram.editparts.Common
+import org.eclipse.gmf.codegen.gmfgen.GenExternalNodeLabel
+import com.google.inject.Inject
+
+/**
+ * @author Mickael ADAM
+ *
+ */
+class ExternalNodeLabelEditPart extends impl.diagram.editparts.ExternalNodeLabelEditPart {
+
+ override additionalEditPolicies(GenExternalNodeLabel it){
+ '''
+ installEditPolicy(org.eclipse.gef.EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.ExternalLabelPrimaryDragRoleEditPolicy());
+ '''
+ }
+
+}
\ No newline at end of file diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend index 80c54cde444..1175194be6e 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend @@ -38,5 +38,10 @@ import xpt.diagram.editparts.Common ««« End Papyrus Code super.handleNotificationEvent(event); ''' + + override additionalEditPolicies(GenLinkLabel it) + ''' + installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy()); + ''' } diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend index 8c84ea36d0d..f6ab147f25e 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend @@ -35,6 +35,8 @@ import xpt.diagram.editparts.EditPartFactory import xpt.diagram.editparts.Utils_qvto import xpt.diagram.editpolicies.TextSelectionEditPolicy import xpt.CodeStyle +import xpt.diagram.ViewmapAttributesUtils_qvto +import org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate @Singleton class NodeEditPart extends impl.diagram.editparts.NodeEditPart { @Inject extension Common; @@ -43,8 +45,10 @@ import xpt.CodeStyle @Inject extension EditPartsUtils_qvto; @Inject extension VisualIDRegistry; - @Inject extension Utils_qvto; + @Inject extension ViewmapAttributesUtils_qvto; + @Inject extension Utils_qvto; + @Inject extension xpt.diagram.Utils_qvto; @Inject EditPartFactory xptEditPartFactory; @Inject impl.diagram.editparts.TextAware xptTextAware; @@ -177,6 +181,26 @@ override addFixedChild (GenNode it)''' // } // ''' + override createNodePlate(GenNode it) ''' + «IF it.eResource.allContents.filter(typeof(SpecificNodePlate)).filter[v |v.editParts.contains(it) && v.nodePlateQualifiedName!=null].size != 0» + «val editPart = it.eResource.allContents.filter(typeof(SpecificNodePlate)).filter[v |v.editParts.contains(it) && v.nodePlateQualifiedName!=null].head» + protected org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure createNodePlate() { + «editPart.nodePlateQualifiedName» result = new «editPart.nodePlateQualifiedName»(«IF getDiagram().isPixelMapMode()»«defaultSizeWidth(viewmap, 40)», «defaultSizeHeight(viewmap, 40)»«ELSE»getMapMode().DPtoLP(«defaultSizeWidth(viewmap, 40)»), getMapMode().DPtoLP(«defaultSizeHeight(viewmap, 40)»)«ENDIF»); + «setupNodePlate» + return result; + } + «««END: BEGIN: PapyrusGenCode + «ELSE» + ««« «super.createNodePlate(it)» + ««« By default node edit part are now RoundedRectangleNodePlateFigure + protected org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure createNodePlate() { + org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure result = new org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure(«IF getDiagram().isPixelMapMode()»«defaultSizeWidth(viewmap, 40)», «defaultSizeHeight(viewmap, 40)»«ELSE»getMapMode().DPtoLP(«defaultSizeWidth(viewmap, 40)»), getMapMode().DPtoLP(«defaultSizeHeight(viewmap, 40)»)«ENDIF»); + «setupNodePlate» + return result; + } + «ENDIF» + ''' + override borderItemSelectionEditPolicy(GenNode it)''' «IF hasBorderItems(it)» org.eclipse.gmf.runtime.notation.View childView = (org.eclipse.gmf.runtime.notation.View) child.getModel(); diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF index d5bb01d1bae..669489a7f60 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF @@ -19,7 +19,6 @@ Bundle-Version: 1.1.0.qualifier Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.gmfgenextension;singleton:=tr
- ue
+Bundle-SymbolicName: org.eclipse.papyrus.gmfgenextension;singleton:=true
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore index 4286563ba12..8e4b2714324 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore @@ -178,4 +178,14 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="singletonPath" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SpecificNodePlate" eSuperTypes="#//CommentedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This element is always linked to a genView (topLevel, or child)
Used set if an editPart is abstract.
SuperGenViews is a list of all superEditPart.

Thanks to this, it is possible to factorize code and to decrease the number of generated classes."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="editParts" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenNode"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nodePlateQualifiedName"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/plugin.xml b/plugins/developer/org.eclipse.papyrus.gmfgenextension/plugin.xml index 40d84d21c23..8c851cfef10 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/plugin.xml +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/plugin.xml @@ -115,6 +115,18 @@ </enablement>
</action>
<action
+ class="org.eclipse.papyrus.papyrusgmfgenextension.popupaction.AddExternalNodeFloatingLabelDisplayBehavior"
+ enablesFor="*"
+ id="org.eclipse.papyrus.papyrusgmfgenextension.popupaction.AddExternalNodeFloatingNameDisplayBehavior"
+ label="Add label to display Label as an external Floating node label"
+ menubarPath="org.eclipse.papyrus.papyrusgmfgenextension.popupaction.MenuPapyrus/AddExternalNodeFloatingNameDisplayBehavior">
+ <enablement>
+ <objectClass
+ name="org.eclipse.gmf.codegen.gmfgen.GenNode">
+ </objectClass>
+ </enablement>
+ </action>
+ <action
class="org.eclipse.papyrus.papyrusgmfgenextension.popupaction.AddHyperLinkPopupBarBehavior"
enablesFor="*"
id="org.eclipse.papyrus.papyrusgmfgenextension.popupaction.AddHyperLinkPopupBarBehavior"
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionFactory.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionFactory.java index 9d0bfdb3e4c..35a0f2caa43 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionFactory.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionFactory.java @@ -279,6 +279,16 @@ public interface PapyrusgmfgenextensionFactory extends EFactory { CustomDiagramUpdaterSingleton createCustomDiagramUpdaterSingleton();
/**
+ * Returns a new object of class '<em>Specific Node Plate</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Specific Node Plate</em>'.
+ * @generated
+ */
+ SpecificNodePlate createSpecificNodePlate();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java index 5601eebbe91..f8b5c162c7b 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java @@ -1586,6 +1586,68 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { /**
+ * The meta object id for the '{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl <em>Specific Node Plate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.PapyrusgmfgenextensionPackageImpl#getSpecificNodePlate()
+ * @generated
+ */
+ int SPECIFIC_NODE_PLATE = 25;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIFIC_NODE_PLATE__COMMENT = COMMENTED_ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Edit Parts</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIFIC_NODE_PLATE__EDIT_PARTS = COMMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIFIC_NODE_PLATE__NAME = COMMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Node Plate Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME = COMMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Specific Node Plate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIFIC_NODE_PLATE_FEATURE_COUNT = COMMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView <em>Extended Gen View</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2377,6 +2439,53 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { EAttribute getCustomDiagramUpdaterSingleton_SingletonPath();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate <em>Specific Node Plate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Specific Node Plate</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate
+ * @generated
+ */
+ EClass getSpecificNodePlate();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getEditParts <em>Edit Parts</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Edit Parts</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getEditParts()
+ * @see #getSpecificNodePlate()
+ * @generated
+ */
+ EReference getSpecificNodePlate_EditParts();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getName()
+ * @see #getSpecificNodePlate()
+ * @generated
+ */
+ EAttribute getSpecificNodePlate_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getNodePlateQualifiedName <em>Node Plate Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Node Plate Qualified Name</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getNodePlateQualifiedName()
+ * @see #getSpecificNodePlate()
+ * @generated
+ */
+ EAttribute getSpecificNodePlate_NodePlateQualifiedName();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3063,6 +3172,44 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { */
EAttribute CUSTOM_DIAGRAM_UPDATER_SINGLETON__SINGLETON_PATH = eINSTANCE.getCustomDiagramUpdaterSingleton_SingletonPath();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl <em>Specific Node Plate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.PapyrusgmfgenextensionPackageImpl#getSpecificNodePlate()
+ * @generated
+ */
+ EClass SPECIFIC_NODE_PLATE = eINSTANCE.getSpecificNodePlate();
+
+ /**
+ * The meta object literal for the '<em><b>Edit Parts</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SPECIFIC_NODE_PLATE__EDIT_PARTS = eINSTANCE.getSpecificNodePlate_EditParts();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SPECIFIC_NODE_PLATE__NAME = eINSTANCE.getSpecificNodePlate_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Node Plate Qualified Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME = eINSTANCE.getSpecificNodePlate_NodePlateQualifiedName();
+
}
} // PapyrusgmfgenextensionPackage
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificNodePlate.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificNodePlate.java new file mode 100644 index 00000000000..672529582bf --- /dev/null +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificNodePlate.java @@ -0,0 +1,108 @@ +/**
+ */
+package org.eclipse.papyrus.papyrusgmfgenextension;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.gmf.codegen.gmfgen.GenNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Specific Node Plate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This element is always linked to a genView (topLevel, or child)
+ * Used set if an editPart is abstract.
+ * SuperGenViews is a list of all superEditPart.
+ *
+ * Thanks to this, it is possible to factorize code and to decrease the number of generated classes.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getEditParts <em>Edit Parts</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getNodePlateQualifiedName <em>Node Plate Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificNodePlate()
+ * @model
+ * @generated
+ */
+public interface SpecificNodePlate extends CommentedElement {
+ /**
+ * Returns the value of the '<em><b>Edit Parts</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenNode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Edit Parts</em>' reference list isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Edit Parts</em>' reference list.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificNodePlate_EditParts()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<GenNode> getEditParts();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificNodePlate_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Node Plate Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Node Plate Qualified Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Node Plate Qualified Name</em>' attribute.
+ * @see #setNodePlateQualifiedName(String)
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificNodePlate_NodePlateQualifiedName()
+ * @model
+ * @generated
+ */
+ String getNodePlateQualifiedName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate#getNodePlateQualifiedName <em>Node Plate Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Node Plate Qualified Name</em>' attribute.
+ * @see #getNodePlateQualifiedName()
+ * @generated
+ */
+ void setNodePlateQualifiedName(String value);
+
+} // SpecificNodePlate
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionFactoryImpl.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionFactoryImpl.java index b1844c1f221..86acbe040e5 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionFactoryImpl.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionFactoryImpl.java @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.papyrusgmfgenextension.*;
import org.eclipse.papyrus.papyrusgmfgenextension.AdditionalEditPartCandies;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateCanvas;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateGenLink;
@@ -137,6 +138,8 @@ public class PapyrusgmfgenextensionFactoryImpl extends EFactoryImpl implements P return createGenerateUsingElementTypeCreationCommand();
case PapyrusgmfgenextensionPackage.CUSTOM_DIAGRAM_UPDATER_SINGLETON:
return createCustomDiagramUpdaterSingleton();
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE:
+ return createSpecificNodePlate();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -449,6 +452,18 @@ public class PapyrusgmfgenextensionFactoryImpl extends EFactoryImpl implements P * @generated
*/
@Override
+ public SpecificNodePlate createSpecificNodePlate() {
+ SpecificNodePlateImpl specificNodePlate = new SpecificNodePlateImpl();
+ return specificNodePlate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public PapyrusgmfgenextensionPackage getPapyrusgmfgenextensionPackage() {
return (PapyrusgmfgenextensionPackage) getEPackage();
}
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionPackageImpl.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionPackageImpl.java index 16c8cef05e5..caa96baae62 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionPackageImpl.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionPackageImpl.java @@ -42,6 +42,7 @@ import org.eclipse.papyrus.papyrusgmfgenextension.PropertyRefreshHook; import org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater;
import org.eclipse.papyrus.papyrusgmfgenextension.SpecificLocator;
import org.eclipse.papyrus.papyrusgmfgenextension.SpecificLocatorExternalLabel;
+import org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
@@ -240,6 +241,14 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P private EClass customDiagramUpdaterSingletonEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass specificNodePlateEClass = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
@@ -1019,6 +1028,50 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P }
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSpecificNodePlate() {
+ return specificNodePlateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getSpecificNodePlate_EditParts() {
+ return (EReference) specificNodePlateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSpecificNodePlate_Name() {
+ return (EAttribute) specificNodePlateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSpecificNodePlate_NodePlateQualifiedName() {
+ return (EAttribute) specificNodePlateEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
@@ -1141,6 +1194,11 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P customDiagramUpdaterSingletonEClass = createEClass(CUSTOM_DIAGRAM_UPDATER_SINGLETON);
createEAttribute(customDiagramUpdaterSingletonEClass, CUSTOM_DIAGRAM_UPDATER_SINGLETON__SINGLETON_PATH);
+
+ specificNodePlateEClass = createEClass(SPECIFIC_NODE_PLATE);
+ createEReference(specificNodePlateEClass, SPECIFIC_NODE_PLATE__EDIT_PARTS);
+ createEAttribute(specificNodePlateEClass, SPECIFIC_NODE_PLATE__NAME);
+ createEAttribute(specificNodePlateEClass, SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME);
}
/**
@@ -1204,6 +1262,7 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P externalMetamodelTypeEClass.getESuperTypes().add(theGMFGenPackage.getMetamodelType());
generateUsingElementTypeCreationCommandEClass.getESuperTypes().add(this.getCommentedElement());
customDiagramUpdaterSingletonEClass.getESuperTypes().add(this.getCommentedElement());
+ specificNodePlateEClass.getESuperTypes().add(this.getCommentedElement());
// Initialize classes and features; add operations and parameters
initEClass(extendedGenViewEClass, ExtendedGenView.class, "ExtendedGenView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1332,6 +1391,13 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P initEAttribute(getCustomDiagramUpdaterSingleton_SingletonPath(), ecorePackage.getEString(), "singletonPath", null, 1, 1, CustomDiagramUpdaterSingleton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
+ initEClass(specificNodePlateEClass, SpecificNodePlate.class, "SpecificNodePlate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSpecificNodePlate_EditParts(), theGMFGenPackage.getGenNode(), null, "editParts", null, 1, -1, SpecificNodePlate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSpecificNodePlate_Name(), theEcorePackage.getEString(), "name", null, 0, 1, SpecificNodePlate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSpecificNodePlate_NodePlateQualifiedName(), theEcorePackage.getEString(), "nodePlateQualifiedName", null, 0, 1, SpecificNodePlate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
// Create resource
createResource(eNS_URI);
}
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificNodePlateImpl.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificNodePlateImpl.java new file mode 100644 index 00000000000..4b9ce6ccf7e --- /dev/null +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificNodePlateImpl.java @@ -0,0 +1,282 @@ +/**
+ */
+package org.eclipse.papyrus.papyrusgmfgenextension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.gmf.codegen.gmfgen.GenNode;
+import org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage;
+import org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Specific Node Plate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl#getEditParts <em>Edit Parts</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificNodePlateImpl#getNodePlateQualifiedName <em>Node Plate Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SpecificNodePlateImpl extends CommentedElementImpl implements SpecificNodePlate {
+ /**
+ * The cached value of the '{@link #getEditParts() <em>Edit Parts</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEditParts()
+ * @generated
+ * @ordered
+ */
+ protected EList<GenNode> editParts;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNodePlateQualifiedName() <em>Node Plate Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getNodePlateQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NODE_PLATE_QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNodePlateQualifiedName() <em>Node Plate Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getNodePlateQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected String nodePlateQualifiedName = NODE_PLATE_QUALIFIED_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SpecificNodePlateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusgmfgenextensionPackage.Literals.SPECIFIC_NODE_PLATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<GenNode> getEditParts() {
+ if (editParts == null) {
+ editParts = new EObjectResolvingEList<GenNode>(GenNode.class, this, PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__EDIT_PARTS);
+ }
+ return editParts;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getNodePlateQualifiedName() {
+ return nodePlateQualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setNodePlateQualifiedName(String newNodePlateQualifiedName) {
+ String oldNodePlateQualifiedName = nodePlateQualifiedName;
+ nodePlateQualifiedName = newNodePlateQualifiedName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME, oldNodePlateQualifiedName, nodePlateQualifiedName));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__EDIT_PARTS:
+ return getEditParts();
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NAME:
+ return getName();
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME:
+ return getNodePlateQualifiedName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__EDIT_PARTS:
+ getEditParts().clear();
+ getEditParts().addAll((Collection<? extends GenNode>) newValue);
+ return;
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NAME:
+ setName((String) newValue);
+ return;
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME:
+ setNodePlateQualifiedName((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__EDIT_PARTS:
+ getEditParts().clear();
+ return;
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME:
+ setNodePlateQualifiedName(NODE_PLATE_QUALIFIED_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__EDIT_PARTS:
+ return editParts != null && !editParts.isEmpty();
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE__NODE_PLATE_QUALIFIED_NAME:
+ return NODE_PLATE_QUALIFIED_NAME_EDEFAULT == null ? nodePlateQualifiedName != null : !NODE_PLATE_QUALIFIED_NAME_EDEFAULT.equals(nodePlateQualifiedName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", nodePlateQualifiedName: ");
+ result.append(nodePlateQualifiedName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SpecificNodePlateImpl
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/popupaction/AddExternalNodeFloatingLabelDisplayBehavior.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/popupaction/AddExternalNodeFloatingLabelDisplayBehavior.java new file mode 100644 index 00000000000..afeb2c93985 --- /dev/null +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/popupaction/AddExternalNodeFloatingLabelDisplayBehavior.java @@ -0,0 +1,223 @@ +/***************************************************************************** + * Copyright (c) 2009, 2014 CEA LIST and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mickael ADAM (ALL4TEC) mickael.adam@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.papyrusgmfgenextension.popupaction; + +import java.util.Iterator; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.gmf.codegen.gmfgen.FeatureLabelModelFacet; +import org.eclipse.gmf.codegen.gmfgen.FigureViewmap; +import org.eclipse.gmf.codegen.gmfgen.GMFGenFactory; +import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator; +import org.eclipse.gmf.codegen.gmfgen.GenExternalNodeLabel; +import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel; +import org.eclipse.gmf.codegen.gmfgen.GenNode; +import org.eclipse.gmf.codegen.gmfgen.GenNodeLabel; +import org.eclipse.gmf.codegen.gmfgen.GenParsers; +import org.eclipse.gmf.codegen.gmfgen.PredefinedParser; +import org.eclipse.jface.action.IAction; +import org.eclipse.ui.IViewPart; + +/** + * this class is used to add a label to display name from external node + */ +public class AddExternalNodeFloatingLabelDisplayBehavior extends Action { + + public static final String FIGURE_VIEWMAP_PATH = "org.eclipse.papyrus.infra.gmfdiag.common.figure.node.PapyrusWrappingLabel";//"org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"; //$NON-NLS-1$ + + public static final String LABEL_POLICY_CLASS = "org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.ExternalLabelPrimaryDragRoleEditPolicy"; //$NON-NLS-1$ + + public static final String LABEL_POLICY_KEY = "org.eclipse.gef.EditPolicy.PRIMARY_DRAG_ROLE"; //$NON-NLS-1$ + + public static final String DEFAULT_GETTER_NAME = "getFloatingNameLabel"; //$NON-NLS-1$ + + public static final String DEFAULT_EDITPART_NAME_SUFFIX = "FloatingLabelEditPart"; //$NON-NLS-1$ + + public static final String DEFAULT_EDITPOLICY_NAME_SUFFIX = "FloatingLabelItemSemanticEditPolicy"; //$NON-NLS-1$ + + // public static final String DEFAULT_WRAPPING_LABEL_CLASS = "org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"; //$NON-NLS-1$ + + public static final String DEFAULT_PARSER_PATTERN = ""; //$NON-NLS-1$ + + public static final String GEN_CLASS_RT_CLASS = "Node"; //$NON-NLS-1$ + + public static final String GEN_CLASS_FACET_META_FEATURE = "NamedElement"; //$NON-NLS-1$ + + public static final String GEN_FEATURE_FACET_META_FEATURE = "name"; //$NON-NLS-1$ + + public static final String URI_NOTATION_GENMODEL = "org.eclipse.gmf.runtime.notation/model/notation.genmodel"; //$NON-NLS-1$ + + public static final String URI_UML_GENMODEL = "org.eclipse.uml2.uml/model/UML.genmodel"; //$NON-NLS-1$ + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) + */ + public void init(IViewPart view) { + // NO OP + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) + */ + @Override + public void run(IAction action) { + // Parse selected GenLink(s) and add the desired CustomBehavior + Iterator<EObject> it = getSelectedEObject().iterator(); + while (it.hasNext()) { + EObject eObject = it.next(); + if (eObject instanceof GenNode) { + // test if it has got a external node to display floating name + if (!hasAnFloatingNameExternalNode((GenNode) eObject)) { + createAnFloatingNameExternalNode((GenNode) eObject); + } + } + } + } + + /** + * creation an external node floating name + * + * @param genNode + * the parent genNode + */ + private void createAnFloatingNameExternalNode(GenNode genNode) { + // Create une external node label + GenExternalNodeLabel label = GMFGenFactory.eINSTANCE.createGenExternalNodeLabel(); + + // Set Name of the edit part + // label.setEditPartClassName(genNode.getClassNamePrefix() + DEFAULT_EDITPART_NAME_SUFFIX); + + String editPartClassName = genNode.getEditPartClassName(); + int index = editPartClassName.indexOf("EditPart"); + String name = editPartClassName.substring(0, index) + DEFAULT_EDITPART_NAME_SUFFIX + editPartClassName.substring(index + "EditPart".length()); + label.setEditPartClassName(name); + // Set item semantic edit policy + label.setItemSemanticEditPolicyClassName(genNode.getClassNamePrefix() + DEFAULT_EDITPOLICY_NAME_SUFFIX); + // Set the Read only + label.setReadOnly(false); + + // Set GenLinkLabel VisualID with new unique ID + int visualID = SetVisualIDWithUnusedValue.getNewVisualID(genNode.eResource(), GenLinkLabel.class); + label.setVisualID(visualID); + + // Retrieve DiagramRunTimeClass in notation.genmodel (Node -> View) + URI uri_notation = URI.createPlatformPluginURI(URI_NOTATION_GENMODEL, false); + Resource notation = genNode.eResource().getResourceSet().getResource(uri_notation, true); + label.setDiagramRunTimeClass(findGenClass(notation, GEN_CLASS_RT_CLASS)); + + // Create Viewmap + FigureViewmap viewmap = GMFGenFactory.eINSTANCE.createFigureViewmap(); + viewmap.setFigureQualifiedClassName(FIGURE_VIEWMAP_PATH); + + // Create FeatureLabelModelFacet + FeatureLabelModelFacet facet = GMFGenFactory.eINSTANCE.createFeatureLabelModelFacet(); + facet.setEditPattern(DEFAULT_PARSER_PATTERN); + facet.setEditorPattern(DEFAULT_PARSER_PATTERN); + facet.setViewPattern(DEFAULT_PARSER_PATTERN); + + // Select NamedElement::name property in UML.genmodel for MetaFeatures + URI uri_uml = URI.createPlatformPluginURI(URI_UML_GENMODEL, false); + Resource uml = genNode.eResource().getResourceSet().getResource(uri_uml, true); + facet.getMetaFeatures().add(findGenFeature(uml, GEN_CLASS_FACET_META_FEATURE, GEN_FEATURE_FACET_META_FEATURE)); + // Attach Predefined Parser MessageFormatParser + // not good must find the predifined parser of the model... + + // Get the predefined parser. + PredefinedParser parser = getPredefinedParser(genNode); + facet.setParser(parser); + + // Attach created element one to another in the model + label.setViewmap(viewmap); + label.setModelFacet(facet); + + // Add custom Policy to have feedback + // addCustomBehavior(label, LABEL_POLICY_KEY, LABEL_POLICY_CLASS); + + // edit policy which permit to take into account of specific locator of external label + addCustomBehavior(genNode, "org.eclipse.gef.EditPolicy.LAYOUT_ROLE", "org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.GetChildLayoutEditPolicy"); + + genNode.getLabels().add(label); + } + + /** + * Gets the predefined parser. + * + * @param eObject + * the e object + * @return the predefined parser + */ + private PredefinedParser getPredefinedParser(GenNode eObject) { + PredefinedParser parser = null; + // /get the ressource contents + EList<EObject> ressourceContents = eObject.eResource().getContents(); + for (EObject ressourceContent : ressourceContents) { + // get the Gen Editor Node + if (ressourceContent instanceof GenEditorGenerator) { + // Get Parsers node + GenParsers genParsers = ((GenEditorGenerator) ressourceContent).getLabelParsers(); + for (EObject GenParsersContent : genParsers.eContents()) { + // Get the predefined parser + if (GenParsersContent instanceof PredefinedParser) { + parser = (PredefinedParser) GenParsersContent; + } + } + } + } + return parser; + } + + /** + * Checks for a floating name external node. + * + * @param node + * the node + * @return true, if successful + */ + public boolean hasAnFloatingNameExternalNode(GenNode node) { + Iterator<GenNodeLabel> iterator = node.getLabels().iterator(); + while (iterator.hasNext()) { + GenNodeLabel currentGenNodeLabel = iterator.next(); + // check each child node + if (currentGenNodeLabel instanceof GenExternalNodeLabel) { + if (isAnFloatingNameExternalNode((GenExternalNodeLabel) currentGenNodeLabel)) { + return true; + } + } + } + return false; + } + + /** + * Checks if is an floating name external node. + * + * @param node + * the node + * @return true, if is an floating name external node + */ + public boolean isAnFloatingNameExternalNode(GenExternalNodeLabel node) { + // Look if the edit part name contains the default edit part name suffix + if (node.getEditPartClassName().contains(DEFAULT_EDITPART_NAME_SUFFIX)) { + return true; + } else { + return false; + } + } +} diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java index b69d3ed3c1c..59cc8fe2035 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java @@ -17,6 +17,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenContainerBase; import org.eclipse.gmf.codegen.gmfgen.GenLinkEnd;
import org.eclipse.gmf.codegen.gmfgen.GenNode;
import org.eclipse.gmf.codegen.gmfgen.MetamodelType;
+import org.eclipse.papyrus.papyrusgmfgenextension.*;
import org.eclipse.papyrus.papyrusgmfgenextension.AdditionalEditPartCandies;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateCanvas;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateGenLink;
@@ -231,6 +232,11 @@ public class PapyrusgmfgenextensionAdapterFactory extends AdapterFactoryImpl { }
@Override
+ public Adapter caseSpecificNodePlate(SpecificNodePlate object) {
+ return createSpecificNodePlateAdapter();
+ }
+
+ @Override
public Adapter caseGenCommonBase(GenCommonBase object) {
return createGenCommonBaseAdapter();
}
@@ -663,6 +669,21 @@ public class PapyrusgmfgenextensionAdapterFactory extends AdapterFactoryImpl { }
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate <em>Specific Node Plate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate
+ * @generated
+ */
+ public Adapter createSpecificNodePlateAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.gmf.codegen.gmfgen.GenCommonBase <em>Gen Common Base</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionSwitch.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionSwitch.java index 0f0206b2061..1c9e0a43873 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionSwitch.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionSwitch.java @@ -16,6 +16,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenContainerBase; import org.eclipse.gmf.codegen.gmfgen.GenLinkEnd;
import org.eclipse.gmf.codegen.gmfgen.GenNode;
import org.eclipse.gmf.codegen.gmfgen.MetamodelType;
+import org.eclipse.papyrus.papyrusgmfgenextension.*;
import org.eclipse.papyrus.papyrusgmfgenextension.AdditionalEditPartCandies;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateCanvas;
import org.eclipse.papyrus.papyrusgmfgenextension.AlternateGenLink;
@@ -410,6 +411,17 @@ public class PapyrusgmfgenextensionSwitch<T> extends Switch<T> { }
return result;
}
+ case PapyrusgmfgenextensionPackage.SPECIFIC_NODE_PLATE: {
+ SpecificNodePlate specificNodePlate = (SpecificNodePlate) theEObject;
+ T result = caseSpecificNodePlate(specificNodePlate);
+ if (result == null) {
+ result = caseCommentedElement(specificNodePlate);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -841,6 +853,23 @@ public class PapyrusgmfgenextensionSwitch<T> extends Switch<T> { }
/**
+ * Returns the result of interpreting the object as an instance of '<em>Specific Node Plate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Specific Node Plate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSpecificNodePlate(SpecificNodePlate object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Gen Common Base</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
|