diff options
author | ytanguy | 2009-09-02 08:38:00 +0000 |
---|---|---|
committer | ytanguy | 2009-09-02 08:38:00 +0000 |
commit | 4ec3e6d59f6914039f47e69504a90c43193923e2 (patch) | |
tree | 5bc47b27093c794c41f03c1a9c3b6c841fc32991 /plugins/developer/org.eclipse.papyrus.gmfgenextension | |
parent | 010b4f22c46dbef4ab99388db1d27cce9691862d (diff) | |
download | org.eclipse.papyrus-4ec3e6d59f6914039f47e69504a90c43193923e2.tar.gz org.eclipse.papyrus-4ec3e6d59f6914039f47e69504a90c43193923e2.tar.xz org.eclipse.papyrus-4ec3e6d59f6914039f47e69504a90c43193923e2.zip |
REOPENED - bug 285281: [Generative Tools] Managing graphical element without containment relationship to its graphical parent
https://bugs.eclipse.org/bugs/show_bug.cgi?id=285281
Diffstat (limited to 'plugins/developer/org.eclipse.papyrus.gmfgenextension')
5 files changed, 51 insertions, 50 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore index 61c2182d607..84e11ff9559 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/model/papyrusGmfgenExtension.ecore @@ -88,6 +88,6 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class is used to precise itw own locator used for the border item, like port or template.

for example, in the case of templateSignature of ClassEditPart in the method protected boolean addFixedChild(EditPart childEditPart):
replacement of the general BorderItemLocator is needed in order to constrain the movement. 

if (childEditPart instanceof RedefinableTemplateSignatureEditPart) {
 // BorderItemLocator locator = new BorderItemLocator(getMainFigure(), PositionConstants.NORTH);
 BorderItemLocator locator = new TemplateClassifierBorderItemLocator(getMainFigure(), PositionConstants.NORTH);
 getBorderedFigure().getBorderItemContainer().add(((RedefinableTemplateSignatureEditPart) childEditPart).getFigure(), locator);
 return true;
}"/>
</eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="genChildNode" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenChildNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="genNode" 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/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/PapyrusgmfgenextensionPackage.java index 31855597630..8ee3d4b109b 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 @@ -614,13 +614,13 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { int SPECIFIC_DIAGRAM_UPDATER__CLASSPATH = EXTERNAL_HOOK__CLASSPATH;
/**
- * The feature id for the '<em><b>Gen Child Node</b></em>' reference.
+ * The feature id for the '<em><b>Gen Node</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE = EXTERNAL_HOOK_FEATURE_COUNT + 0;
+ int SPECIFIC_DIAGRAM_UPDATER__GEN_NODE = EXTERNAL_HOOK_FEATURE_COUNT + 0;
/**
* The number of structural features of the '<em>Specific Diagram Updater</em>' class.
@@ -995,15 +995,15 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { EClass getSpecificDiagramUpdater();
/**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenChildNode <em>Gen Child Node</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenNode <em>Gen Node</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Gen Child Node</em>'.
- * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenChildNode()
+ * @return the meta object for the reference '<em>Gen Node</em>'.
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenNode()
* @see #getSpecificDiagramUpdater()
* @generated
*/
- EReference getSpecificDiagramUpdater_GenChildNode();
+ EReference getSpecificDiagramUpdater_GenNode();
/**
* Returns the factory that creates the instances of the model.
@@ -1324,12 +1324,12 @@ public interface PapyrusgmfgenextensionPackage extends EPackage { EClass SPECIFIC_DIAGRAM_UPDATER = eINSTANCE.getSpecificDiagramUpdater();
/**
- * The meta object literal for the '<em><b>Gen Child Node</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Gen Node</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE = eINSTANCE.getSpecificDiagramUpdater_GenChildNode();
+ EReference SPECIFIC_DIAGRAM_UPDATER__GEN_NODE = eINSTANCE.getSpecificDiagramUpdater_GenNode();
}
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificDiagramUpdater.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificDiagramUpdater.java index b6f84640810..cac479cf4aa 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificDiagramUpdater.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/SpecificDiagramUpdater.java @@ -6,6 +6,7 @@ */
package org.eclipse.papyrus.papyrusgmfgenextension;
+import org.eclipse.gmf.codegen.gmfgen.GenCommonBase;
import org.eclipse.gmf.codegen.gmfgen.GenChildNode;
/**
@@ -30,7 +31,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenChildNode; * <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenChildNode <em>Gen Child Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenNode <em>Gen Node</em>}</li>
* </ul>
* </p>
*
@@ -40,29 +41,29 @@ import org.eclipse.gmf.codegen.gmfgen.GenChildNode; */
public interface SpecificDiagramUpdater extends ExternalHook {
/**
- * Returns the value of the '<em><b>Gen Child Node</b></em>' reference.
+ * Returns the value of the '<em><b>Gen Node</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Gen Child Node</em>' reference isn't clear,
+ * If the meaning of the '<em>Gen Node</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Gen Child Node</em>' reference.
- * @see #setGenChildNode(GenChildNode)
- * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificDiagramUpdater_GenChildNode()
+ * @return the value of the '<em>Gen Node</em>' reference.
+ * @see #setGenNode(GenCommonBase)
+ * @see org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage#getSpecificDiagramUpdater_GenNode()
* @model
* @generated
*/
- GenChildNode getGenChildNode();
+ GenCommonBase getGenNode();
/**
- * Sets the value of the '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenChildNode <em>Gen Child Node</em>}' reference.
+ * Sets the value of the '{@link org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater#getGenNode <em>Gen Node</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Gen Child Node</em>' reference.
- * @see #getGenChildNode()
+ * @param value the new value of the '<em>Gen Node</em>' reference.
+ * @see #getGenNode()
* @generated
*/
- void setGenChildNode(GenChildNode value);
+ void setGenNode(GenCommonBase value);
} // SpecificDiagramUpdater
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 83c9f7359cc..8f24f794e95 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 @@ -447,7 +447,7 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P * <!-- end-user-doc -->
* @generated
*/
- public EReference getSpecificDiagramUpdater_GenChildNode() {
+ public EReference getSpecificDiagramUpdater_GenNode() {
return (EReference)specificDiagramUpdaterEClass.getEStructuralFeatures().get(0);
}
@@ -521,7 +521,7 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P createEAttribute(ownedEditpartEClass, OWNED_EDITPART__NAME);
specificDiagramUpdaterEClass = createEClass(SPECIFIC_DIAGRAM_UPDATER);
- createEReference(specificDiagramUpdaterEClass, SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE);
+ createEReference(specificDiagramUpdaterEClass, SPECIFIC_DIAGRAM_UPDATER__GEN_NODE);
}
/**
@@ -613,7 +613,7 @@ public class PapyrusgmfgenextensionPackageImpl extends EPackageImpl implements P initEAttribute(getOwnedEditpart_Name(), theEcorePackage.getEString(), "name", null, 0, 1, OwnedEditpart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(specificDiagramUpdaterEClass, SpecificDiagramUpdater.class, "SpecificDiagramUpdater", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getSpecificDiagramUpdater_GenChildNode(), theGMFGenPackage.getGenChildNode(), null, "genChildNode", null, 0, 1, SpecificDiagramUpdater.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSpecificDiagramUpdater_GenNode(), theGMFGenPackage.getGenCommonBase(), null, "genNode", null, 0, 1, SpecificDiagramUpdater.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/impl/SpecificDiagramUpdaterImpl.java b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificDiagramUpdaterImpl.java index 6eeea743c74..23a59074f61 100644 --- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificDiagramUpdaterImpl.java +++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/src/org/eclipse/papyrus/papyrusgmfgenextension/impl/SpecificDiagramUpdaterImpl.java @@ -13,6 +13,7 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.codegen.gmfgen.GenCommonBase;
import org.eclipse.gmf.codegen.gmfgen.GenChildNode;
import org.eclipse.papyrus.papyrusgmfgenextension.PapyrusgmfgenextensionPackage;
@@ -25,7 +26,7 @@ import org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater; * <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificDiagramUpdaterImpl#getGenChildNode <em>Gen Child Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.papyrusgmfgenextension.impl.SpecificDiagramUpdaterImpl#getGenNode <em>Gen Node</em>}</li>
* </ul>
* </p>
*
@@ -33,15 +34,14 @@ import org.eclipse.papyrus.papyrusgmfgenextension.SpecificDiagramUpdater; */
public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements SpecificDiagramUpdater {
/**
- * The cached value of the '{@link #getGenChildNode() <em>Gen Child Node</em>}' reference.
+ * The cached value of the '{@link #getGenNode() <em>Gen Node</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getGenChildNode()
+ * @see #getGenNode()
* @generated
* @ordered
*/
- protected GenChildNode genChildNode;
-
+ protected GenCommonBase genNode;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -66,16 +66,16 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec * <!-- end-user-doc -->
* @generated
*/
- public GenChildNode getGenChildNode() {
- if (genChildNode != null && genChildNode.eIsProxy()) {
- InternalEObject oldGenChildNode = (InternalEObject)genChildNode;
- genChildNode = (GenChildNode)eResolveProxy(oldGenChildNode);
- if (genChildNode != oldGenChildNode) {
+ public GenCommonBase getGenNode() {
+ if (genNode != null && genNode.eIsProxy()) {
+ InternalEObject oldGenNode = (InternalEObject)genNode;
+ genNode = (GenCommonBase)eResolveProxy(oldGenNode);
+ if (genNode != oldGenNode) {
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE, oldGenChildNode, genChildNode));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE, oldGenNode, genNode));
}
}
- return genChildNode;
+ return genNode;
}
/**
@@ -83,8 +83,8 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec * <!-- end-user-doc -->
* @generated
*/
- public GenChildNode basicGetGenChildNode() {
- return genChildNode;
+ public GenCommonBase basicGetGenNode() {
+ return genNode;
}
/**
@@ -92,11 +92,11 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec * <!-- end-user-doc -->
* @generated
*/
- public void setGenChildNode(GenChildNode newGenChildNode) {
- GenChildNode oldGenChildNode = genChildNode;
- genChildNode = newGenChildNode;
+ public void setGenNode(GenCommonBase newGenNode) {
+ GenCommonBase oldGenNode = genNode;
+ genNode = newGenNode;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE, oldGenChildNode, genChildNode));
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE, oldGenNode, genNode));
}
/**
@@ -107,9 +107,9 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE:
- if (resolve) return getGenChildNode();
- return basicGetGenChildNode();
+ case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE:
+ if (resolve) return getGenNode();
+ return basicGetGenNode();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -122,8 +122,8 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec @Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE:
- setGenChildNode((GenChildNode)newValue);
+ case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE:
+ setGenNode((GenCommonBase)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -137,8 +137,8 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec @Override
public void eUnset(int featureID) {
switch (featureID) {
- case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE:
- setGenChildNode((GenChildNode)null);
+ case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE:
+ setGenNode((GenCommonBase)null);
return;
}
super.eUnset(featureID);
@@ -152,8 +152,8 @@ public class SpecificDiagramUpdaterImpl extends ExternalHookImpl implements Spec @Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_CHILD_NODE:
- return genChildNode != null;
+ case PapyrusgmfgenextensionPackage.SPECIFIC_DIAGRAM_UPDATER__GEN_NODE:
+ return genNode != null;
}
return super.eIsSet(featureID);
}
|