Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradaussy2012-07-03 09:34:44 +0000
committeradaussy2012-07-03 09:34:44 +0000
commit33e1913055199163523f6176fbff79ed1df4fe66 (patch)
tree95b4c87e107869455e3db945a4f9c64880f7106f /plugins
parenteb25f784968e5c0bcc4f66f1ab70415ec195c2a4 (diff)
downloadorg.eclipse.papyrus-33e1913055199163523f6176fbff79ed1df4fe66.tar.gz
org.eclipse.papyrus-33e1913055199163523f6176fbff79ed1df4fe66.tar.xz
org.eclipse.papyrus-33e1913055199163523f6176fbff79ed1df4fe66.zip
[Backport EYY]
(Partial commit only dev feature has been comitted the diagrams should be regenerated) 374607: [model explorer] moving a model element in another model does not move associated diagrams 374608: [model explorer] moving a model element in another model does not move associated stereotypes 381568: [ClassDiagram] Enable reordering operation, attributes and operation on classifiers
Diffstat (limited to 'plugins')
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xpt14
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/CompartmentItemSemanticEditPolicy.xpt123
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore15
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.genmodel85
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/ConstrainedByReferenceCompartmentItemSemanticEditPolicy.java42
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionFactory.java9
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java77
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl.java133
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionFactoryImpl.java11
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/PapyrusgmfgenextensionPackageImpl.java33
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java18
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionSwitch.java22
12 files changed, 562 insertions, 20 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xpt b/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xpt
index 73a64e4a0e9..ee3cee22732 100644
--- a/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xpt
+++ b/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xpt
@@ -297,7 +297,19 @@ protected org.eclipse.gef.commands.Command getDuplicateCommand(org.eclipse.gmf.r
protected org.eclipse.gef.commands.Command getMoveCommand(org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest req) {
«REM»BEGIN: PapyrusGenCode«ENDREM»
«REM»add move command«ENDREM»
- return getGEFWrapper(new org.eclipse.gmf.runtime.emf.type.core.commands.MoveElementsCommand(req));
+ org.eclipse.emf.ecore.EObject targetCEObject = req.getTargetContainer();
+ if(targetCEObject != null) {
+ org.eclipse.papyrus.service.edit.service.IElementEditService provider = org.eclipse.papyrus.service.edit.service.ElementEditServiceUtils.getCommandProvider(targetCEObject);
+ if(provider != null) {
+ org.eclipse.gmf.runtime.common.core.command.ICommand moveCommand = provider.getEditCommand(req);
+ if(moveCommand != null) {
+ return new org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy(moveCommand);
+ }
+ }
+ return org.eclipse.gef.commands.UnexecutableCommand.INSTANCE;
+ } else {
+ return getGEFWrapper(new org.eclipse.gmf.runtime.emf.type.core.commands.MoveElementsCommand(req));
+ }
«REM»END: PapyrusGenCode«ENDREM»
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/CompartmentItemSemanticEditPolicy.xpt b/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/CompartmentItemSemanticEditPolicy.xpt
new file mode 100644
index 00000000000..e80a84c36c8
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.def/dynamic-templates3.5/codegen/xpt/diagram/editpolicies/CompartmentItemSemanticEditPolicy.xpt
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2006, 2009 Borland Software Corporation
+ *
+ * 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:
+ * Alexander Shatalin (Borland) - initial API and implementation
+ * modified by Arthur Daussyt - arthur.daussy@atos.net (Atos)
+ */
+
+«IMPORT 'http://www.eclipse.org/gmf/2009/GenModel'»
+«IMPORT 'http://www.eclipse.org/papyrus/2009/papyrusgmfgenextension'»
+
+«DEFINE CompartmentItemSemanticEditPolicy FOR gmfgen::GenCompartment-»
+ «EXPAND xpt::Common::copyright FOR getDiagram().editorGen-»
+package «getDiagram().editPoliciesPackageName»;
+
+ «EXPAND xpt::Common::generatedClassComment»
+public class «itemSemanticEditPolicyClassName» extends «getDiagram().getBaseItemSemanticEditPolicyQualifiedClassName()» {
+
+ «EXPAND _constructor-»
+
+ «EXPAND xpt::diagram::editpolicies::childContainerCreateCommand::childContainerCreateCommand FOR childNodes->asSequence()-»
+
+ «EXPAND additions-»
+ «REM»
+ Papyrus REM :
+ Test if this compartment edit policy should used a referenced constraint for the move command.
+ «ENDREM»
+ «IF papyrusgmfgenextension::ConstrainedByReferenceCompartmentItemSemanticEditPolicy.allInstances()->select(v:papyrusgmfgenextension::ConstrainedByReferenceCompartmentItemSemanticEditPolicy|v.genView->includes(self))->size()<>0»
+
+ «EXPAND getChildNodeReference FOR childNodes->asSequence()-»
+
+ «EXPAND isCorrectCompartment-»
+
+ «EXPAND constraintedMoveCommand-»
+
+ «ENDIF»
+}
+«ENDDEFINE»
+
+«DEFINE _constructor FOR gmfgen::GenCompartment-»
+ «EXPAND xpt::Common::generatedMemberComment»
+ public «itemSemanticEditPolicyClassName»() {
+ «EXPAND xpt::diagram::editpolicies::BaseItemSemanticEditPolicy::defaultConstructorBody FOR node-»
+ }
+«ENDDEFINE»
+
+«DEFINE additions FOR gmfgen::GenCompartment-»
+«ENDDEFINE»
+
+«DEFINE getChildNodeReference FOR Sequence(gmfgen::GenNode)-»
+«IF not self->isEmpty()-»
+«EXPAND xpt::Common::generatedMemberComment»
+private static Set<EReference> compartmentReferences;
+
+«EXPAND xpt::Common::generatedMemberComment»
+static {
+ compartmentReferences = new HashSet<EReference>(«self.modelFacet->size()»);
+
+ «FOREACH self AS n-»
+ «EXPAND childRef(n) FOR n.modelFacet-»
+ «ENDFOREACH-»
+}
+«EXPAND xpt::Common::generatedMemberComment»
+protected Iterable<EReference> getCompartmentReferences() {
+ return compartmentReferences;
+}
+«ENDIF-»
+
+«ENDDEFINE»
+
+«DEFINE childRef(node : gmfgen::GenNode) FOR gmfgen::TypeModelFacet-»
+compartmentReferences.add(«EXPAND MEtaModel::MetaFeature FOR node.modelFacet.containmentMetaFeature»);
+«ENDDEFINE»
+
+
+«DEFINE isCorrectCompartment FOR gmfgen::GenCompartment-»
+ «EXPAND xpt::Common::generatedMemberComment»
+ protected boolean isMovedIntoCorrectCompartment(MoveRequest req){
+ for(Object entry : req.getElementsToMove().entrySet()) {
+ if(entry instanceof Map.Entry<?, ?>) {
+ Map.Entry<?, ?> mapEntry = (Map.Entry<?, ?>)entry;
+ Object key = mapEntry.getKey();
+ if(key instanceof EObject) {
+ EObject dropppedObject = (EObject)key;
+ EObject semanticHost = ((IGraphicalEditPart)getHost()).resolveSemanticElement();
+ boolean foundERefrences = false;
+ if(semanticHost != null) {
+ for(EReference ref : getCompartmentReferences()) {
+ if(ref.isContainment()) {
+ foundERefrences = PackageUtil.canContain(semanticHost.eClass(), ref, dropppedObject.eClass(), false);
+ } else {
+ foundERefrences = PackageUtil.canReference(semanticHost.eClass(), ref, dropppedObject.eClass());
+ }
+ if(foundERefrences) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+«ENDDEFINE»
+
+«DEFINE constraintedMoveCommand FOR gmfgen::GenCompartment-»
+ «EXPAND xpt::Common::generatedMemberComment»
+ @Override
+ protected Command getMoveCommand(MoveRequest req) {
+ if (isMovedIntoCorrectCompartment(req)){
+ return super.getMoveCommand(req);
+ } else {
+ return UnexecutableCommand.INSTANCE;
+ }
+ }
+«ENDDEFINE»
+
+
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore
index 3f0e48766a4..f5fc4c6e9b2 100644
--- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="papyrusgmfgenextension"
- nsURI="http://www.eclipse.org/papyrus/2009/papyrusgmfgenextension" nsPrefix="papyrusgmfgenextension">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="papyrusgmfgenextension" nsURI="http://www.eclipse.org/papyrus/2009/papyrusgmfgenextension"
+ nsPrefix="papyrusgmfgenextension">
<eClassifiers xsi:type="ecore:EClass" name="ExtendedGenView" 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)&#xD;&#xA;Used set if an editPart is abstract.&#xD;&#xA;SuperGenViews is a list of all superEditPart.&#xD;&#xA;&#xD;&#xA;Thanks to this, it is possible to factorize code and to decrease the number of generated classes."/>
@@ -154,4 +153,12 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="compartments" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenCompartment"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConstrainedByReferenceCompartmentItemSemanticEditPolicy"
+ eSuperTypes="#//CommentedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="Documentation" value="Add constraint on Compartment Item Semantic Policy in order to prevent move into compartment of elements which can be contained. This constraint used the child node define in the GMF Model in order to define the correspoding EReference. When a move is executed the item semantic policy will fisrt check that the element can be conatined/referenced by this EReference?"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="genView" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenCommonBase"/>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.genmodel b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.genmodel
index bd83c5aab00..65bab3e14e3 100644
--- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.genmodel
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.genmodel
@@ -1,19 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.gmfgenextension/src"
- modelPluginID="org.eclipse.papyrus.gmfgenextension" modelName="PapyrusGmfgenExtension"
- importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
- usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel#//genmodel platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.genmodel#//gmfgen">
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.gmfgenextension/src" modelPluginID="org.eclipse.papyrus.gmfgenextension"
+ modelName="PapyrusGmfgenExtension" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel#//genmodel platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.genmodel#//gmfgen">
<foreignModel>papyrusGmfgenExtension.ecore</foreignModel>
<genPackages prefix="Papyrusgmfgenextension" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
ecorePackage="papyrusGmfgenExtension.ecore#/">
- <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//ExtendedGenNode">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenNode/genNode"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//ExtendedGenNode/isAbstract"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenNode/superGenNodes"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenNode/propRefreshHook"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenNode/nameInitHook"/>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//ExtendedGenView">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenView/genView"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//ExtendedGenView/isAbstract"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenView/superGenViews"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ExtendedGenView/propRefreshHook"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//ExtendedGenView/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//ExtendedGenView/superOwnedEditPart"/>
</genClasses>
<genClasses image="false" ecoreClass="papyrusGmfgenExtension.ecore#//CommentedElement">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//CommentedElement/comment"/>
@@ -25,14 +24,70 @@
<genClasses ecoreClass="papyrusGmfgenExtension.ecore#//ExternalHook">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//ExternalHook/classpath"/>
</genClasses>
- <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//NameInitalizerHook">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//NameInitalizerHook/initAction"/>
- </genClasses>
<genClasses ecoreClass="papyrusGmfgenExtension.ecore#//SpecificLocator">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//SpecificLocator/genChildSideAffixedNode"/>
</genClasses>
<genClasses ecoreClass="papyrusGmfgenExtension.ecore#//PapyrusExtensionRootNode">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//PapyrusExtensionRootNode/extensionNodes"/>
</genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//AlternateCanvas">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateCanvas/domainDiagramElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateCanvas/alternateTopLevelNodes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateCanvas/alternateLinkNodes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateCanvas/diagram"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//AlternateGenTopLevelNode">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateGenTopLevelNode/genTopLevelNode"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateGenTopLevelNode/typeModelFacet"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//AlternateGenLink">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateGenLink/genLinkNode"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//AlternateGenLink/typeModelFacet"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//MutatingCanvas">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//MutatingCanvas/alternateCanvases"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//OwnedEditpart">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//OwnedEditpart/name"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//SpecificDiagramUpdater">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//SpecificDiagramUpdater/genNode"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//GenNodeConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//GenNodeConstraint/genNode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//GenNodeConstraint/genConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//SpecificLocatorExternalLabel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//SpecificLocatorExternalLabel/genExternalNodeLabel"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//AdditionalEditPartCandies">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//AdditionalEditPartCandies/baseEditHelperPackage"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//EditPartUsingDeleteService">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//EditPartUsingDeleteService/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//EditPartUsingDeleteService/genView"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//EditPartUsingReorientService">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//EditPartUsingReorientService/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//EditPartUsingReorientService/genView"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//LabelVisibilityPreference">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//LabelVisibilityPreference/role"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//LabelVisibilityPreference/iconPathRole"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//LabelVisibilityPreference/linkLabels"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//LabelVisibilityPreference/externalNodeLabels"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//LabelVisibilityPreference/visibleByDefault"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//CompartmentVisibilityPreference">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//CompartmentVisibilityPreference/visibleByDefault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//CompartmentVisibilityPreference/compartments"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//CompartmentTitleVisibilityPreference">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute papyrusGmfgenExtension.ecore#//CompartmentTitleVisibilityPreference/visibleByDefault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//CompartmentTitleVisibilityPreference/compartments"/>
+ </genClasses>
+ <genClasses ecoreClass="papyrusGmfgenExtension.ecore#//ConstrainedByReferenceCompartmentItemSemanticEditPolicy">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference papyrusGmfgenExtension.ecore#//ConstrainedByReferenceCompartmentItemSemanticEditPolicy/genView"/>
+ </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/ConstrainedByReferenceCompartmentItemSemanticEditPolicy.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/ConstrainedByReferenceCompartmentItemSemanticEditPolicy.java
new file mode 100644
index 00000000000..ac02af4acf3
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/ConstrainedByReferenceCompartmentItemSemanticEditPolicy.java
@@ -0,0 +1,42 @@
+/**
+ */
+package org.eclipse.papyrus.papyrusgmfgenextension;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.gmf.codegen.gmfgen.GenCommonBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constrained By Reference Compartment Item Semantic Edit Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy#getGenView <em>Gen View</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getConstrainedByReferenceCompartmentItemSemanticEditPolicy()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel Documentation='Add constraint on Compartment Item Semantic Policy in order to prevent move into compartment of elements which can be contained. This constraint used the child node define in the GMF Model in order to define the correspoding EReference. When a move is executed the item semantic policy will fisrt check that the element can be conatined/referenced by this EReference?'"
+ * @generated
+ */
+public interface ConstrainedByReferenceCompartmentItemSemanticEditPolicy extends CommentedElement {
+ /**
+ * Returns the value of the '<em><b>Gen View</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenCommonBase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Gen View</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>Gen View</em>' reference list.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getConstrainedByReferenceCompartmentItemSemanticEditPolicy_GenView()
+ * @model
+ * @generated
+ */
+ EList<GenCommonBase> getGenView();
+
+} // ConstrainedByReferenceCompartmentItemSemanticEditPolicy
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 8e873e9d6b4..aa20c146278 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
@@ -207,6 +207,15 @@ public interface PapyrusgmfgenextensionFactory extends EFactory {
CompartmentTitleVisibilityPreference createCompartmentTitleVisibilityPreference();
/**
+ * Returns a new object of class '<em>Constrained By Reference Compartment Item Semantic Edit Policy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Constrained By Reference Compartment Item Semantic Edit Policy</em>'.
+ * @generated
+ */
+ ConstrainedByReferenceCompartmentItemSemanticEditPolicy createConstrainedByReferenceCompartmentItemSemanticEditPolicy();
+
+ /**
* 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 f1e3465366a..b6dc780d843 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
@@ -1027,6 +1027,44 @@ public interface PapyrusgmfgenextensionPackage extends EPackage {
/**
+ * The meta object id for the '{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl <em>Constrained By Reference Compartment Item Semantic Edit Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.PapyrusgmfgenextensionPackageImpl#getConstrainedByReferenceCompartmentItemSemanticEditPolicy()
+ * @generated
+ */
+ int CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY = 20;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__COMMENT = COMMENTED_ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Gen View</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW = COMMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Constrained By Reference Compartment Item Semantic Edit Policy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY_FEATURE_COUNT = COMMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView <em>Extended Gen View</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1667,6 +1705,27 @@ public interface PapyrusgmfgenextensionPackage extends EPackage {
EReference getCompartmentTitleVisibilityPreference_Compartments();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy <em>Constrained By Reference Compartment Item Semantic Edit Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constrained By Reference Compartment Item Semantic Edit Policy</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy
+ * @generated
+ */
+ EClass getConstrainedByReferenceCompartmentItemSemanticEditPolicy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy#getGenView <em>Gen View</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Gen View</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy#getGenView()
+ * @see #getConstrainedByReferenceCompartmentItemSemanticEditPolicy()
+ * @generated
+ */
+ EReference getConstrainedByReferenceCompartmentItemSemanticEditPolicy_GenView();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2209,6 +2268,24 @@ public interface PapyrusgmfgenextensionPackage extends EPackage {
*/
EReference COMPARTMENT_TITLE_VISIBILITY_PREFERENCE__COMPARTMENTS = eINSTANCE.getCompartmentTitleVisibilityPreference_Compartments();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl <em>Constrained By Reference Compartment Item Semantic Edit Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.impl.PapyrusgmfgenextensionPackageImpl#getConstrainedByReferenceCompartmentItemSemanticEditPolicy()
+ * @generated
+ */
+ EClass CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY = eINSTANCE.getConstrainedByReferenceCompartmentItemSemanticEditPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Gen View</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW = eINSTANCE.getConstrainedByReferenceCompartmentItemSemanticEditPolicy_GenView();
+
}
} //PapyrusgmfgenextensionPackage
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl.java
new file mode 100644
index 00000000000..d97d871a323
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl.java
@@ -0,0 +1,133 @@
+/**
+ */
+package org.eclipse.papyrus.papyrusgmfgenextension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.gmf.codegen.gmfgen.GenCommonBase;
+
+import org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy;
+import org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constrained By Reference Compartment Item Semantic Edit Policy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl#getGenView <em>Gen View</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl extends CommentedElementImpl implements ConstrainedByReferenceCompartmentItemSemanticEditPolicy {
+ /**
+ * The cached value of the '{@link #getGenView() <em>Gen View</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenView()
+ * @generated
+ * @ordered
+ */
+ protected EList<GenCommonBase> genView;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusgmfgenextensionPackage.Literals.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GenCommonBase> getGenView() {
+ if (genView == null) {
+ genView = new EObjectResolvingEList<GenCommonBase>(GenCommonBase.class, this, PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW);
+ }
+ return genView;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW:
+ return getGenView();
+ }
+ 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.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW:
+ getGenView().clear();
+ getGenView().addAll((Collection<? extends GenCommonBase>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW:
+ getGenView().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW:
+ return genView != null && !genView.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl
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 773e5dbd8bf..91e9cdba42c 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
@@ -96,6 +96,7 @@ public class PapyrusgmfgenextensionFactoryImpl extends EFactoryImpl implements P
case PapyrusgmfgenextensionPackage.LABEL_VISIBILITY_PREFERENCE: return createLabelVisibilityPreference();
case PapyrusgmfgenextensionPackage.COMPARTMENT_VISIBILITY_PREFERENCE: return createCompartmentVisibilityPreference();
case PapyrusgmfgenextensionPackage.COMPARTMENT_TITLE_VISIBILITY_PREFERENCE: return createCompartmentTitleVisibilityPreference();
+ case PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY: return createConstrainedByReferenceCompartmentItemSemanticEditPolicy();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -306,6 +307,16 @@ public class PapyrusgmfgenextensionFactoryImpl extends EFactoryImpl implements P
* <!-- end-user-doc -->
* @generated
*/
+ public ConstrainedByReferenceCompartmentItemSemanticEditPolicy createConstrainedByReferenceCompartmentItemSemanticEditPolicy() {
+ ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl constrainedByReferenceCompartmentItemSemanticEditPolicy = new ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl();
+ return constrainedByReferenceCompartmentItemSemanticEditPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
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 f13741a5db1..7727d4e83fc 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
@@ -21,6 +21,7 @@ import org.eclipse.papyrus.papyrusgmfgenextension.AlternateGenTopLevelNode;
import org.eclipse.papyrus.papyrusgmfgenextension.CommentedElement;
import org.eclipse.papyrus.papyrusgmfgenextension.CompartmentTitleVisibilityPreference;
import org.eclipse.papyrus.papyrusgmfgenextension.CompartmentVisibilityPreference;
+import org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.papyrusgmfgenextension.EditPartUsingDeleteService;
import org.eclipse.papyrus.papyrusgmfgenextension.EditPartUsingReorientService;
import org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView;
@@ -173,6 +174,13 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P
private EClass compartmentTitleVisibilityPreferenceEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constrainedByReferenceCompartmentItemSemanticEditPolicyEClass = 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.
@@ -741,6 +749,24 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstrainedByReferenceCompartmentItemSemanticEditPolicy() {
+ return constrainedByReferenceCompartmentItemSemanticEditPolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstrainedByReferenceCompartmentItemSemanticEditPolicy_GenView() {
+ return (EReference)constrainedByReferenceCompartmentItemSemanticEditPolicyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@@ -844,6 +870,9 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P
compartmentTitleVisibilityPreferenceEClass = createEClass(COMPARTMENT_TITLE_VISIBILITY_PREFERENCE);
createEAttribute(compartmentTitleVisibilityPreferenceEClass, COMPARTMENT_TITLE_VISIBILITY_PREFERENCE__VISIBLE_BY_DEFAULT);
createEReference(compartmentTitleVisibilityPreferenceEClass, COMPARTMENT_TITLE_VISIBILITY_PREFERENCE__COMPARTMENTS);
+
+ constrainedByReferenceCompartmentItemSemanticEditPolicyEClass = createEClass(CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY);
+ createEReference(constrainedByReferenceCompartmentItemSemanticEditPolicyEClass, CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY__GEN_VIEW);
}
/**
@@ -896,6 +925,7 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P
labelVisibilityPreferenceEClass.getESuperTypes().add(this.getCommentedElement());
compartmentVisibilityPreferenceEClass.getESuperTypes().add(this.getCommentedElement());
compartmentTitleVisibilityPreferenceEClass.getESuperTypes().add(this.getCommentedElement());
+ constrainedByReferenceCompartmentItemSemanticEditPolicyEClass.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);
@@ -978,6 +1008,9 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P
initEAttribute(getCompartmentTitleVisibilityPreference_VisibleByDefault(), theEcorePackage.getEBoolean(), "visibleByDefault", "true", 0, 1, CompartmentTitleVisibilityPreference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompartmentTitleVisibilityPreference_Compartments(), theGMFGenPackage.getGenCompartment(), null, "compartments", null, 0, -1, CompartmentTitleVisibilityPreference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(constrainedByReferenceCompartmentItemSemanticEditPolicyEClass, ConstrainedByReferenceCompartmentItemSemanticEditPolicy.class, "ConstrainedByReferenceCompartmentItemSemanticEditPolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConstrainedByReferenceCompartmentItemSemanticEditPolicy_GenView(), theGMFGenPackage.getGenCommonBase(), null, "genView", null, 0, -1, ConstrainedByReferenceCompartmentItemSemanticEditPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 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/util/PapyrusgmfgenextensionAdapterFactory.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/util/PapyrusgmfgenextensionAdapterFactory.java
index 39bb6c928d3..0d8fa3f5d6c 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
@@ -166,6 +166,10 @@ public class PapyrusgmfgenextensionAdapterFactory extends AdapterFactoryImpl {
return createCompartmentTitleVisibilityPreferenceAdapter();
}
@Override
+ public Adapter caseConstrainedByReferenceCompartmentItemSemanticEditPolicy(ConstrainedByReferenceCompartmentItemSemanticEditPolicy object) {
+ return createConstrainedByReferenceCompartmentItemSemanticEditPolicyAdapter();
+ }
+ @Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -466,6 +470,20 @@ public class PapyrusgmfgenextensionAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.papyrusgmfgenextension.ConstrainedByReferenceCompartmentItemSemanticEditPolicy <em>Constrained By Reference Compartment Item Semantic Edit Policy</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.ConstrainedByReferenceCompartmentItemSemanticEditPolicy
+ * @generated
+ */
+ public Adapter createConstrainedByReferenceCompartmentItemSemanticEditPolicyAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
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 c4b5bf0f2d4..afb51f7dd2d 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
@@ -232,6 +232,13 @@ public class PapyrusgmfgenextensionSwitch<T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case PapyrusgmfgenextensionPackage.CONSTRAINED_BY_REFERENCE_COMPARTMENT_ITEM_SEMANTIC_EDIT_POLICY: {
+ ConstrainedByReferenceCompartmentItemSemanticEditPolicy constrainedByReferenceCompartmentItemSemanticEditPolicy = (ConstrainedByReferenceCompartmentItemSemanticEditPolicy)theEObject;
+ T result = caseConstrainedByReferenceCompartmentItemSemanticEditPolicy(constrainedByReferenceCompartmentItemSemanticEditPolicy);
+ if (result == null) result = caseCommentedElement(constrainedByReferenceCompartmentItemSemanticEditPolicy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
default: return defaultCase(theEObject);
}
}
@@ -537,6 +544,21 @@ public class PapyrusgmfgenextensionSwitch<T> extends Switch<T> {
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Constrained By Reference Compartment Item Semantic Edit Policy</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>Constrained By Reference Compartment Item Semantic Edit Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConstrainedByReferenceCompartmentItemSemanticEditPolicy(ConstrainedByReferenceCompartmentItemSemanticEditPolicy object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;

Back to the top