Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptessier2014-01-08 09:03:28 +0000
committerptessier2014-01-08 09:03:28 +0000
commitbdf1e8153512377658b6d069f0fa4b2247e4fa99 (patch)
tree8421eb4c5de445fcc5559139d831244e5c5f9f3a /plugins/uml
parente6736917f818b8c735756c263a7c966ba62dd2b3 (diff)
parent8c49c3a3b7fa553ab567d30a8b1a3440e11869fc (diff)
downloadorg.eclipse.papyrus-bdf1e8153512377658b6d069f0fa4b2247e4fa99.tar.gz
org.eclipse.papyrus-bdf1e8153512377658b6d069f0fa4b2247e4fa99.tar.xz
org.eclipse.papyrus-bdf1e8153512377658b6d069f0fa4b2247e4fa99.zip
Merge branch 'Bug_424316'
Diffstat (limited to 'plugins/uml')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/META-INF/MANIFEST.MF9
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/command/PortCreateCommand.java82
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java279
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/helpers/ConnectorHelper.java246
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/part/PropertyPartEditPartCN.java81
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomDiagramDragDropEditPolicy.java29
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortItemSemanticEditPolicy.java70
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLabelEditPolicy.java19
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLayoutEditPolicy.java1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PropertyLayoutEditPolicy.java27
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java134
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/factory/CustomUMLEditPartFactory.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/edges/ConnectorFigure.java99
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/LollipopInterfaceFigure.java16
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/PropertyPartFigure.java64
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/parts/PropertyDiagramUpdater.java69
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/IPapyrusPropertyPreferencesConstant.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/OperationPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/PropertyPreferencePage.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/ui/CreateUmlElementDialog.java1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/messages.properties4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/model/ComponentDiagram.gmfgen239
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.properties3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.xml57
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorCreateCommand.java164
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorReorientCommand.java177
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/DependencyBranchCreateCommand.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/PropertyCreateCommand.java110
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/helpers/ConnectorEditHelper.java21
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPart.java6
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPartPCN.java6
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPart.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartCN.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartPCN.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorAppliedStereotypeEditPart.java751
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorEditPart.java117
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorNameEditPart.java766
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPart.java41
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPartPCN.java41
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementEditPart.java45
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementNameEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyBranchEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyNodeEditPart.java45
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceAttributeCompartmentEditPartCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPart.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPartPCN.java38
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceOperationCompartmentEditPartCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfacePortLinkEditPart.java7
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPart.java45
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPartCN.java45
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPartCN.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/MultiDependencyLabelEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/OperationForInterfaceEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPart.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPartCN.java45
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageNameEditPartCN.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PortEditPart.java37
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyForInterfaceEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartEditPartCN.java1038
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartNameEditPartCN.java810
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ReceptionInInterfaceEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPart.java46
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPartCN.java49
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPart.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPartCN.java7
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/UMLEditPartFactory.java10
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicy.java23
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyCN.java23
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyPCN.java23
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicy.java7
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyCN.java7
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyPCN.java7
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ConnectorItemSemanticEditPolicy.java291
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DefaultNamedElementItemSemanticEditPolicy.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyBranchItemSemanticEditPolicy.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyNodeItemSemanticEditPolicy.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentCanonicalEditPolicyCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentItemSemanticEditPolicyCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentCanonicalEditPolicyCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentItemSemanticEditPolicyCN.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelCanonicalEditPolicy.java18
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicy.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicyCN.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PackageItemSemanticEditPolicyCN.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyCanonicalEditPolicy.java168
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java401
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/RectangleInterfaceItemSemanticEditPolicy.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/UMLBaseItemSemanticEditPolicy.java17
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/Messages.java10
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLDiagramUpdater.java174
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLPaletteFactory.java21
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLVisualIDRegistry.java47
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/AbstractionPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/CommentPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentPreferencePage.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentRealizationPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConnectorPreferencePage.java82
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConstraintPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DefaultNamedElementPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyLinkPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyNodePreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DiagramPreferenceInitializer.java1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/GeneralizationPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePortLinkPreferencePage.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ManifestationPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ModelPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/NamedElementPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/OperationPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PackagePreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PortPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PropertyPreferencePage.java6
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ReceptionPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/SubstitutionPreferencePage.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/ElementInitializers.java39
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLElementTypes.java20
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLModelingAssistantProvider.java30
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLParserProvider.java61
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLViewProvider.java70
120 files changed, 7682 insertions, 185 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/META-INF/MANIFEST.MF b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/META-INF/MANIFEST.MF
index 9e074fa6948..a229b78111b 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/META-INF/MANIFEST.MF
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/META-INF/MANIFEST.MF
@@ -62,10 +62,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.diagram.menu;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Eclipse-LazyStart: true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 0.10.1.qualifier
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.uml.diagram.component.part.UMLDi
- agramEditorPlugin
-Bundle-SymbolicName: org.eclipse.papyrus.uml.diagram.component;singlet
- on:=true
-
+Bundle-Activator: org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin
+Bundle-SymbolicName: org.eclipse.papyrus.uml.diagram.component; singleton:=true
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/command/PortCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/command/PortCreateCommand.java
new file mode 100644
index 00000000000..03c882bdb54
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/command/PortCreateCommand.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.uml.diagram.component.providers.ElementInitializers;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * Port creation command used to create Port on a Property (no direct containment link between
+ * Property and Port).
+ *
+ */
+public class PortCreateCommand extends org.eclipse.papyrus.uml.diagram.component.edit.commands.PortCreateCommand {
+
+ /** Constructor **/
+ public PortCreateCommand(CreateElementRequest req) {
+ super(req);
+ }
+
+ /**
+ * <pre>
+ * Checks if the Port can be created on the Property.
+ * The Property must be typed by a StructuredClassifier (in other words, an element that
+ * can own Port). The new Port is owned be the type of the Property.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ public boolean canExecute() {
+ Property target = (Property)getElementToEdit();
+
+ if((target.getType() != null) && (target.getType() instanceof StructuredClassifier)) {
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * <pre>
+ * Custom creation of the Port :
+ * - resolve the Property type
+ * - add a new Port on this type.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ Port newElement = UMLFactory.eINSTANCE.createPort();
+
+ StructuredClassifier owner = (StructuredClassifier)((Property)getElementToEdit()).getType();
+ owner.getOwnedAttributes().add(newElement);
+
+ ElementInitializers.getInstance().init_Port_3069(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java
new file mode 100644
index 00000000000..8b6d7dcc79c
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2009-2011 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.edit.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.GraphicalNodeEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.part.Messages;
+import org.eclipse.papyrus.uml.diagram.component.providers.ElementInitializers;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * <pre>
+ * This class is a custom creation command for Connector.
+ *
+ * Difficulties for Connector creation:
+ * - differences between semantic (ConnectableEnd) graphical (ConnectableElement) ends of Connector
+ * - requires to know not only the graphical end (Port, Property) but also the graphical parent in case of Port.
+ *
+ * The Connector source and target are declared as ConnectorEnd in the GMFGEN model to ensure correct validation,
+ * but the real source and target are ConnectableElement.
+ *
+ * </pre>
+ */
+public class ConnectorCreateCommand extends org.eclipse.papyrus.uml.diagram.component.edit.commands.ConnectorCreateCommand {
+
+ /** Graphical parent of Source **/
+ protected Property sourcePartWithPort = null;
+
+ /** Graphical parent of Target **/
+ protected Property targetPartWithPort = null;
+
+ /** Graphical EditPart of Source **/
+ protected GraphicalEditPart sourceGraphicalEditPart = null;
+
+ /** Graphical EditPart of Target **/
+ protected GraphicalEditPart targetGraphicalEditPart = null;
+
+ /**
+ * Constructor of Connector custom creation command
+ *
+ * @param req
+ * the creation request
+ * @param source
+ * the connector source element
+ * @param target
+ * the connector target element
+ */
+ public ConnectorCreateCommand(CreateRelationshipRequest req, EObject source, EObject target) {
+
+ super(req, source, target);
+
+ // Resolve graphical parents of source and target store in request as Parameters
+ // These parameters are added in request by (custom) GraphicalNodeEditPolicy
+ if(req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_SOURCE_PARENT) instanceof Property) {
+ sourcePartWithPort = (Property)req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_SOURCE_PARENT);
+ }
+
+ if(req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_TARGET_PARENT) instanceof Property) {
+ targetPartWithPort = (Property)req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_TARGET_PARENT);
+ }
+
+ if(req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_SOURCE_GRAPHICAL) instanceof GraphicalEditPart) {
+ sourceGraphicalEditPart = (GraphicalEditPart)req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_SOURCE_GRAPHICAL);
+ }
+
+ if(req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_TARGET_GRAPHICAL) instanceof GraphicalEditPart) {
+ targetGraphicalEditPart = (GraphicalEditPart)req.getParameter(GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_TARGET_GRAPHICAL);
+ }
+
+ container = deduceContainer(_getSource(), _getTarget());
+ }
+
+ /**
+ * Replaces the original getter which is cast as ConnectorEnd (expected end of Connector)
+ *
+ * @return the element that is graphically connected to Connector as source
+ */
+ protected ConnectableElement _getSource() {
+ return (ConnectableElement)source;
+ }
+
+ /**
+ * Replaces the original getter which is cast as ConnectorEnd (expected end of Connector)
+ *
+ * @return the element that is graphically connected to Connector as target
+ */
+ protected ConnectableElement _getTarget() {
+ return (ConnectableElement)target;
+ }
+
+ /**
+ * <pre>
+ * Checks if the Connector can be created or not.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ public boolean canExecute() {
+ if((source == null) && (target == null)) {
+ return false;
+ }
+ if((source != null) && !(source instanceof ConnectableElement)) {
+ return false;
+ }
+ if((target != null) && !(target instanceof ConnectableElement)) {
+ return false;
+ }
+ if(source == null) {
+ return true; // link creation is in progress; source is not defined yet
+ }
+
+ if((target != null) && (getContainer() == null)) {
+ return false;
+ }
+ // return
+ // UMLBaseItemSemanticEditPolicy.LinkConstraints.canCreateConnector_4013(getContainer(),
+ // _getSource(),
+ // _getTarget());
+ // this returns true anyway...
+ return true;
+ }
+
+ /**
+ * <pre>
+ * Creates the new Connector.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ if(!canExecute()) {
+ throw new ExecutionException("Invalid arguments in create link command");
+ }
+ Connector newElement = UMLFactory.eINSTANCE.createConnector();
+ getContainer().getOwnedConnectors().add(newElement);
+
+ ConnectorEnd end0 = UMLFactory.eINSTANCE.createConnectorEnd();
+ end0.setLower(1);
+ end0.setUpper(1);
+ if(_getSource() instanceof Port) {
+ end0.setRole((Port)_getSource());
+ end0.setPartWithPort(sourcePartWithPort);
+
+ } else if(_getSource() instanceof ConnectableElement) {
+ end0.setRole((ConnectableElement)_getSource());
+
+ } else {
+ throw new ExecutionException("Invalid source in create Connector command");
+ }
+
+ ConnectorEnd end1 = UMLFactory.eINSTANCE.createConnectorEnd();
+ end1.setLower(1);
+ end1.setUpper(1);
+ if(_getTarget() instanceof Port) {
+ end1.setRole((Port)_getTarget());
+ end1.setPartWithPort(targetPartWithPort);
+
+ } else if(_getTarget() instanceof ConnectableElement) {
+ end1.setRole((ConnectableElement)_getTarget());
+
+ } else {
+ throw new ExecutionException("Invalid target in create Connector command");
+ }
+
+ newElement.getEnds().add(end0);
+ newElement.getEnds().add(end1);
+
+ ElementInitializers.getInstance().init_Connector_4019(newElement);
+
+ doConfigure(newElement, monitor, info);
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * <pre>
+ * This method is the exact copy of the inherited method, except that it uses the local getters
+ * (_getSource(), _getTarget()).
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected void doConfigure(Connector newElement, IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ configureRequest.setParameter(CreateRelationshipRequest.SOURCE, _getSource());
+ configureRequest.setParameter(CreateRelationshipRequest.TARGET, _getTarget());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if(configureCommand != null && configureCommand.canExecute()) {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+ /**
+ *
+ * Tries to find a common StructuredClassifier container to add the new Connector.
+ *
+ * @see org.eclipse.papyrus.uml.diagram.composite.edit.commands.ConnectorCreateCommand#deduceContainer(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecore.EObject)
+ *
+ * @param source
+ * the source object
+ * @param target
+ * the target object
+ * @return a common StructuredClassifier container (graphical search)
+ */
+ @Override
+ protected StructuredClassifier deduceContainer(EObject source, EObject target) {
+
+ StructuredClassifier containerProposedBySource = proposedContainer(sourceGraphicalEditPart);
+ StructuredClassifier containerProposedByTarget = proposedContainer(targetGraphicalEditPart);
+
+ StructuredClassifier deducedContainer = null;
+
+ if((containerProposedBySource != null) && (containerProposedByTarget != null)) {
+ if(containerProposedBySource == containerProposedByTarget) {
+ deducedContainer = containerProposedBySource;
+ }
+ }
+
+ return deducedContainer;
+ }
+
+ /**
+ * Parse graphical parent of the graphicalEditPart until a StructureClassifier is found.
+ *
+ * @param graphicalEditPart
+ * the graphical edit part
+ * @return null or a StructuredClassifier that graphically contains the graphicalEditPart
+ */
+ private StructuredClassifier proposedContainer(GraphicalEditPart graphicalEditPart) {
+
+ for(EditPart ep = graphicalEditPart; ep != null; ep = ep.getParent()) {
+ if(ep instanceof GraphicalEditPart) {
+ GraphicalEditPart parent = (GraphicalEditPart)ep;
+ EObject semanticParent = parent.resolveSemanticElement();
+ if(semanticParent instanceof StructuredClassifier) {
+ return (StructuredClassifier)semanticParent;
+ }
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/helpers/ConnectorHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/helpers/ConnectorHelper.java
new file mode 100644
index 00000000000..0afb8d7de2b
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/helpers/ConnectorHelper.java
@@ -0,0 +1,246 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.edit.helpers;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.PrecisionRectangle;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.ui.commands.CreateCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.common.commands.CommonDeferredCreateConnectionViewCommand;
+import org.eclipse.papyrus.uml.diagram.common.commands.SemanticAdapter;
+import org.eclipse.papyrus.uml.diagram.common.helper.ElementHelper;
+import org.eclipse.papyrus.uml.diagram.common.layout.LayoutUtils;
+import org.eclipse.papyrus.uml.diagram.common.util.DiagramEditPartsUtil;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Helper class containing the specific behavior for drag and drop of Connector
+ */
+public class ConnectorHelper extends ElementHelper {
+
+ /**
+ * Constructor
+ *
+ * @param editDomain
+ * the editing domain
+ */
+ public ConnectorHelper(TransactionalEditingDomain editDomain) {
+ super();
+ this.editDomain = editDomain;
+ }
+
+ /**
+ * This method returns the drop command to use for Connector links. Mainly based on
+ *
+ * @param connector
+ * the connector to drop
+ * @param linkVisualID
+ * the visual identifier of the EditPart of the dropped Connector
+ * @param viewer
+ * @param host
+ * the EditPart of the element where the Connector is drop
+ * @param diagramPreferencesHint
+ * @param location
+ * the location where the Connector is dropped
+ * @param containerView
+ * @return the drop command for Connector
+ */
+ public CompositeCommand dropConnector(Connector connector, int linkVisualID, EditPartViewer viewer, EditPart host, PreferencesHint diagramPreferencesHint, Point location, View containerView) {
+
+ CompositeCommand cc = new CompositeCommand("drop Connector");
+
+ ConnectableElement sourceRole = connector.getEnds().get(0).getRole();
+ ConnectableElement targetRole = connector.getEnds().get(1).getRole();
+ Property sourcePartWithPort = connector.getEnds().get(0).getPartWithPort();
+ Property targetPartWithPort = connector.getEnds().get(1).getPartWithPort();
+
+ if(sourceRole == null || targetRole == null) {//if an end is deleted, and the connector is still in the model (see bug 293168)
+ return cc;
+ }
+
+ // look for editpart
+ GraphicalEditPart sourceEditPart = resolveRoleEditPart(sourceRole, sourcePartWithPort, viewer);
+ GraphicalEditPart targetEditPart = resolveRoleEditPart(targetRole, targetPartWithPort, viewer);
+
+ // descriptor of the link
+ CreateConnectionViewRequest.ConnectionViewDescriptor linkdescriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(UMLElementTypes.getElementType(linkVisualID), ((IHintedType)UMLElementTypes.getElementType(linkVisualID)).getSemanticHint(), diagramPreferencesHint);
+
+ IAdaptable sourceAdapter = null;
+ IAdaptable targetAdapter = null;
+
+ //the parents of the ports, we use them when the PortEditPart are not on the diagram
+ EditPart sourceParent = null;
+ EditPart targetParent = null;
+
+
+
+
+ /*
+ * when the ports are not represented on the diagram,
+ * we look for their parents.
+ */
+ DiagramEditPart diagram = DiagramEditPartsUtil.getDiagramEditPart(host);
+ if(sourceEditPart == null || targetEditPart == null) {
+
+ List<IGraphicalEditPart> AllEP = DiagramEditPartsUtil.getAllEditParts(diagram);
+ EObject srcParent = sourceRole.eContainer();
+ EObject tgtParent = targetRole.eContainer();
+ for(IGraphicalEditPart iGraphicalEditPart : AllEP) {
+ EObject object = ViewUtil.resolveSemanticElement((View)(iGraphicalEditPart).getModel());//method getHostObject
+ if(object == srcParent && !(iGraphicalEditPart instanceof CompartmentEditPart)) {
+ sourceParent = iGraphicalEditPart;
+ }
+ if(object == tgtParent && !(iGraphicalEditPart instanceof CompartmentEditPart)) {
+ targetParent = iGraphicalEditPart;
+ }
+ if(targetParent != null && sourceParent != null) {
+ break;
+ }
+ }
+
+
+ /*
+ * the parent of the port are not represented on the diagram
+ * we do nothing
+ */
+ if(targetParent == null || sourceParent == null) {
+ return cc;
+ }
+ }
+
+ //set the location to absolute
+ Point absolutePosition = location.getCopy();
+ PrecisionRectangle hostBounds = LayoutUtils.getAbsolutePosition(host);
+ if(!hostBounds.equals(LayoutUtils.getAbsolutePosition(diagram))) {
+ absolutePosition = absolutePosition.translate(hostBounds.getLocation());//OK, the location is now in absolute!
+ }
+
+
+ if(sourceEditPart == null) {
+
+ //translate the point to relative (with the source editpart)
+ Point portLocation = absolutePosition.getCopy();
+ PrecisionRectangle parentBounds = LayoutUtils.getAbsolutePosition(sourceParent);
+ if(!sourceParent.equals(LayoutUtils.getAbsolutePosition(diagram))) {
+ portLocation = portLocation.translate(parentBounds.getLocation().getNegated());
+ }
+
+ // creation of the node
+ ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(sourceRole), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)host).getDiagramPreferencesHint());
+
+ // get the command and execute it.
+ CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)host).getEditingDomain(), descriptor, ((View)sourceParent.getModel()));
+ cc.compose(nodeCreationCommand);
+ SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), portLocation);
+ cc.compose(setBoundsCommand);
+
+ sourceAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
+ } else {
+ sourceAdapter = new SemanticAdapter(null, sourceEditPart.getModel());
+ }
+
+
+ if(targetEditPart == null) {
+ //translate the location in relative (with the target editpart)
+ Point portLocation = absolutePosition.getCopy();
+ PrecisionRectangle parentBounds = LayoutUtils.getAbsolutePosition(targetParent);
+ if(!targetParent.equals(LayoutUtils.getAbsolutePosition(diagram))) {
+ portLocation = portLocation.translate(parentBounds.getLocation().getNegated());
+ }
+
+ // creation of the node
+ ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(targetRole), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)host).getDiagramPreferencesHint());
+
+ // get the command and execute it.
+ CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)host).getEditingDomain(), descriptor, ((View)targetParent.getModel()));
+ cc.compose(nodeCreationCommand);
+ SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), portLocation);
+ cc.compose(setBoundsCommand);
+ targetAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
+
+ } else {
+ targetAdapter = new SemanticAdapter(null, targetEditPart.getModel());
+ }
+
+ CommonDeferredCreateConnectionViewCommand aLinkCommand = new CommonDeferredCreateConnectionViewCommand(getEditingDomain(), ((IHintedType)UMLElementTypes.getElementType(linkVisualID)).getSemanticHint(), sourceAdapter, targetAdapter, viewer, diagramPreferencesHint, linkdescriptor, null);
+ aLinkCommand.setElement(connector);
+ cc.compose(aLinkCommand);
+ return cc;
+ }
+
+ /**
+ * This method resolve the EditPart of the GraphicalElement attached to a ConnectorEnd.
+ *
+ * @param role
+ * the role of the considered ConnectorEnd
+ * @param partWithPort
+ * the partWithPort feature of the considered ConnectorEnd
+ * @param viewer
+ * @return the searched EditPart or null
+ */
+ private ShapeNodeEditPart resolveRoleEditPart(ConnectableElement role, Property partWithPort, EditPartViewer viewer) {
+ Collection<?> editPartSet = viewer.getEditPartRegistry().values();
+ Iterator<?> editPartIterator = editPartSet.iterator();
+ EditPart foundEditPart = null;
+ while(editPartIterator.hasNext() && foundEditPart == null) {
+
+ EditPart currentEditPart = (EditPart)editPartIterator.next();
+
+ if((currentEditPart instanceof ShapeNodeEditPart) && (role.equals(((ShapeNodeEditPart)currentEditPart).resolveSemanticElement()))) {
+
+ if(partWithPort == null) {
+
+ foundEditPart = currentEditPart;
+
+ } else { // (partWithPort != null
+
+ ShapeNodeEditPart graphicalParent = (ShapeNodeEditPart)currentEditPart.getParent();
+ if(partWithPort.equals(graphicalParent.resolveSemanticElement())) {
+
+ foundEditPart = currentEditPart;
+
+ }
+ }
+ }
+ }
+ return (ShapeNodeEditPart)foundEditPart;
+ }
+
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/part/PropertyPartEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/part/PropertyPartEditPartCN.java
new file mode 100644
index 00000000000..534b29b20d0
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/part/PropertyPartEditPartCN.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST)- Initial API and implementation
+ /*****************************************************************************/
+
+package org.eclipse.papyrus.uml.diagram.component.custom.edit.part;
+
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <pre>
+ * This class will be inherited by the GMF generated {@link org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartEditPartCN}
+ * in order to refresh the related figure when when the Property::aggregation eAttribute value
+ * changes.
+ * </pre>
+ */
+public abstract class PropertyPartEditPartCN extends NamedElementEditPart {
+
+ /**
+ * Constructor
+ *
+ * @param view
+ */
+ public PropertyPartEditPartCN(View view) {
+ super(view);
+ }
+
+ /**
+ * <pre>
+ * Calls the figure refresh when a change event is detected on
+ * UMLPackage.eINSTANCE.getProperty_Aggregation().
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected void handleNotificationEvent(Notification event) {
+
+ if((resolveSemanticElement() != null) && (resolveSemanticElement().equals(event.getNotifier()))) {
+ if(UMLPackage.eINSTANCE.getProperty_Aggregation().equals(event.getFeature())) {
+ refreshVisuals();
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+
+ /**
+ * <pre>
+ * Refresh the figure with dashed border when Property aggregation value is SHARED.
+ * Else set the border style to solid line.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ if((resolveSemanticElement() != null) && (resolveSemanticElement() instanceof Property)) {
+ if(((Property)resolveSemanticElement()).getAggregation().equals(AggregationKind.SHARED_LITERAL)) {
+ getPrimaryShape().setLineStyle(Graphics.LINE_CUSTOM);
+ } else {
+ getPrimaryShape().setLineStyle(Graphics.LINE_SOLID);
+ }
+ }
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomDiagramDragDropEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomDiagramDragDropEditPolicy.java
index beb3d6e6543..5885a92a1ba 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomDiagramDragDropEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/CustomDiagramDragDropEditPolicy.java
@@ -46,6 +46,7 @@ import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.OldCommonDiagramDragDropEditPolicy;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.command.CreateViewCommand;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.helpers.ComponentLinkMappingHelper;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.helpers.ConnectorHelper;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.helpers.MultiDependencyHelper;
import org.eclipse.papyrus.uml.diagram.component.custom.locators.PortPositionLocator;
import org.eclipse.papyrus.uml.diagram.component.custom.log.Log;
@@ -55,6 +56,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.CommentEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartPCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart;
@@ -77,6 +79,7 @@ import org.eclipse.uml2.uml.Collaboration;
import org.eclipse.uml2.uml.CollaborationUse;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Element;
@@ -132,6 +135,8 @@ public class CustomDiagramDragDropEditPolicy extends OldCommonDiagramDragDropEdi
droppableElementsVisualId.add(CommentEditPart.VISUAL_ID);
droppableElementsVisualId.add(ConstraintEditPart.VISUAL_ID);
droppableElementsVisualId.add(PortEditPart.VISUAL_ID);
+
+ droppableElementsVisualId.add(ConnectorEditPart.VISUAL_ID);
return droppableElementsVisualId;
}
@@ -200,6 +205,8 @@ public class CustomDiagramDragDropEditPolicy extends OldCommonDiagramDragDropEdi
return dropAsNormalBinaryLink(dropRequest, semanticElement, linkVISUALID);
case UsageEditPart.VISUAL_ID:
return dropAsNormalBinaryLink(dropRequest, semanticElement, linkVISUALID);
+ case ConnectorEditPart.VISUAL_ID:
+ return dropConnector(dropRequest, semanticElement, linkVISUALID);
default:
@@ -241,6 +248,28 @@ public class CustomDiagramDragDropEditPolicy extends OldCommonDiagramDragDropEdi
}
/**
+ * Returns the drop command for Connector links.
+ *
+ * @param dropRequest
+ * the drop request
+ * @param semanticLink
+ * the element to drop
+ * @param linkVISUALID
+ * the visual identifier of the EditPart of the dropped element
+ * @return the drop command
+ */
+ protected Command dropConnector(DropObjectsRequest dropRequest, Element semanticLink, int linkVISUALID) {
+ Collection<?> connectorEnds = ComponentLinkMappingHelper.getInstance().getSource(semanticLink);
+
+ if((connectorEnds != null) && (connectorEnds.size() == 2)) {
+
+ ConnectorHelper helper = new ConnectorHelper(getEditingDomain());
+ return new ICommandProxy(helper.dropConnector((Connector)semanticLink, linkVISUALID, getViewer(), getHost(), getDiagramPreferencesHint(), dropRequest.getLocation(), ((GraphicalEditPart)getHost()).getNotationView()));
+ } else {
+ return UnexecutableCommand.INSTANCE;
+ }
+ }
+ /**
* call the mechanism to drop a binary link without specific type
*
* @param dropRequest
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortItemSemanticEditPolicy.java
index d83df159b4c..756f2100991 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortItemSemanticEditPolicy.java
@@ -16,8 +16,17 @@ package org.eclipse.papyrus.uml.diagram.component.custom.edit.policies;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.command.ConnectorCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants;
// TODO: Auto-generated Javadoc
/**
@@ -28,13 +37,34 @@ import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
*/
public class PortItemSemanticEditPolicy extends org.eclipse.papyrus.uml.diagram.component.edit.policies.PortItemSemanticEditPolicy {
+ @Override
+ protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart.VISUAL_ID:
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ // Add graphical new end View in request parameters
+ View targetView = (View)getHost().getModel();
+ req.setParameter(RequestParameterConstants.EDGE_REORIENT_REQUEST_END_VIEW, targetView);
+
+ // Retrieve re-orient command from the Element Edit service
+ ICommand reorientCommand = provider.getEditCommand(req);
+ if(reorientCommand == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return getGEFWrapper(reorientCommand.reduce());
+ }
+ return super.getReorientRelationshipCommand(req);
+ }
+
/**
* <pre>
* Forbid direct destruction of Port in case the graphical parent is not
- * the semantic parent.
- *
- * @param req the req
- * @return the destroy element command
+ * the semantic parent.
+ *
* {@inheritDoc}
* </pre>
*/
@@ -51,4 +81,36 @@ public class PortItemSemanticEditPolicy extends org.eclipse.papyrus.uml.diagram.
return super.getDestroyElementCommand(req);
}
+ /**
+ * <pre>
+ * Calls a custom creation command to allow the creation of a Connector connected to a Port
+ * on its source end.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
+ if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), null));
+ }
+ return super.getStartCreateRelationshipCommand(req);
+ }
+
+ /**
+ * <pre>
+ * Calls a custom creation command to allow the creation of a Connector connected to a Port
+ * on its target end.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
+ if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return super.getCompleteCreateRelationshipCommand(req);
+ }
+
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLabelEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLabelEditPolicy.java
index 47c810663a0..0dcbe365cd2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLabelEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLabelEditPolicy.java
@@ -12,26 +12,7 @@
*****************************************************************************/
package org.eclipse.papyrus.uml.diagram.component.custom.edit.policies;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.emf.appearance.helper.VisualInformationPapyrusConstants;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.AbstractMaskManagedEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
-import org.eclipse.papyrus.uml.diagram.component.custom.preferences.IPapyrusPropertyPreferencesConstant;
-import org.eclipse.papyrus.uml.diagram.component.custom.preferences.PropertyPreferencePage;
-import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
import org.eclipse.papyrus.uml.tools.utils.ICustomAppearence;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
/**
* Specific edit policy for label displaying stereotypes and their properties for edges representing
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLayoutEditPolicy.java
index c9c64d98cc9..0e11cbf9e27 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLayoutEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PortLayoutEditPolicy.java
@@ -22,6 +22,7 @@ import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortAppliedStereotypeEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PropertyLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PropertyLayoutEditPolicy.java
new file mode 100644
index 00000000000..5aa1d3759aa
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/PropertyLayoutEditPolicy.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.edit.policies;
+
+
+/**
+ * This edit policy replaces the GMF generated edit policy for Property used as Part in composite structure diagram.
+ * In particular it provides a getCreateCommands that add a ChangeBoundRequest on a created Port
+ * in order to locate it at the cursor position.
+ * This class inherits from StructuredClassifierLayoutEditPolicy which provides support for a correct placement of
+ * port during creation.
+ * An example of code generated by GMF can be found in {@link PropertyPartEditPartCN#createLayoutEditPolicy()}.
+ */
+public class PropertyLayoutEditPolicy extends StructuredClassifierLayoutEditPolicy {
+
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java
new file mode 100644
index 00000000000..94dac2414e0
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2009-2011 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.itemsemantic;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConnectorCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants;
+
+/**
+ * <pre>
+ * This class provides a custom edit policy used to replace the SEMANTIC_ROLE
+ * generated for the Property element (when used as Composite Part)
+ *
+ * TODO : This should probably also manage Port clean removal (semantic deletion causes issues)
+ * </pre>
+ */
+public class PropertyPartItemSemanticEditPolicyCN extends org.eclipse.papyrus.uml.diagram.component.edit.policies.PropertyItemSemanticEditPolicy {
+
+ /**
+ * <pre>
+ * Calls a custom creation command to allow the creation of a Port on a Property.
+ * The Property has to be typed by a StructuredClassifier.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getCreateCommand(CreateElementRequest req) {
+ if(org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes.Port_3069 == req.getElementType()) {
+ return getGEFWrapper(new org.eclipse.papyrus.uml.diagram.component.custom.command.PortCreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+ /**
+ * <pre>
+ * Forbid direct destruction of Property in case the graphical parent is not
+ * the semantic parent.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getDestroyElementCommand(DestroyElementRequest req) {
+
+ EObject graphicalParent = ((GraphicalEditPart)getHost().getParent()).resolveSemanticElement();
+ EObject semanticParent = req.getElementToDestroy().eContainer();
+
+ if(graphicalParent != semanticParent) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ return super.getDestroyElementCommand(req);
+ }
+ /**
+ * <pre>
+ * Calls a custom creation command to allow the creation of a Connector connected to a Property
+ * on its source end.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
+ if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return super.getStartCreateRelationshipCommand(req);
+ }
+
+ /**
+ * <pre>
+ * Calls a custom creation command to allow the creation of a Connector connected to a Property
+ * on its target end.
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ @Override
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
+ if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return super.getCompleteCreateRelationshipCommand(req);
+ }
+
+ @Override
+ protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case ConnectorEditPart.VISUAL_ID:
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ // Add graphical new end View in request parameters
+ View targetView = (View)getHost().getModel();
+ req.setParameter(RequestParameterConstants.EDGE_REORIENT_REQUEST_END_VIEW, targetView);
+
+ // Retrieve re-orient command from the Element Edit service
+ ICommand reorientCommand = provider.getEditCommand(req);
+ if(reorientCommand == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return getGEFWrapper(reorientCommand.reduce());
+ }
+ return super.getReorientRelationshipCommand(req);
+ }
+
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/factory/CustomUMLEditPartFactory.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/factory/CustomUMLEditPartFactory.java
index 55527d04a11..1dee5e30229 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/factory/CustomUMLEditPartFactory.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/factory/CustomUMLEditPartFactory.java
@@ -14,9 +14,9 @@ package org.eclipse.papyrus.uml.diagram.component.custom.factory;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomDependencyBranchEditPart;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomDependencyNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomInterfaceRealizationEditPart;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomModelEditPart;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.part.CustomModelEditPartCN;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/edges/ConnectorFigure.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/edges/ConnectorFigure.java
new file mode 100644
index 00000000000..0b48f971bd6
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/edges/ConnectorFigure.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.figure.edges;
+
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.papyrus.uml.diagram.common.figure.edge.UMLEdgeFigure;
+
+/**
+ * Figure for Connector representation.
+ */
+public class ConnectorFigure extends UMLEdgeFigure {
+
+ /** Owned label for Connector Name **/
+ private WrappingLabel fNameLabel;
+
+ /** Owned label for Connector source multiplicity **/
+ private WrappingLabel fMultiplicitySourceLabel;
+
+ /** Owned label for Connector target multiplicity **/
+ private WrappingLabel fMultiplicityTargetLabel;
+
+ /**
+ * Default constructor
+ */
+ public ConnectorFigure() {
+ super();
+ createContents();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void createContents() {
+ super.createContents();
+
+ fNameLabel = new WrappingLabel();
+ // fNameLabel.setText(""); //$NON-NLS-1$
+
+ this.add(fNameLabel);
+
+ fMultiplicitySourceLabel = new WrappingLabel();
+ // fMultiplicitySourceLabel.setText(""); //$NON-NLS-1$
+
+ this.add(fMultiplicitySourceLabel);
+
+ fMultiplicityTargetLabel = new WrappingLabel();
+ // fMultiplicityTargetLabel.setText(""); //$NON-NLS-1$
+
+ this.add(fMultiplicityTargetLabel);
+ }
+
+ /**
+ * Gets the applied stereotype association label.
+ *
+ * @return the applied stereotype association label
+ */
+ public WrappingLabel getAppliedStereotypeAssociationLabel() {
+ return appliedStereotypeLabel;
+ }
+
+ /**
+ * Gets the Connector name label.
+ *
+ * @return the Connector name label
+ */
+ public WrappingLabel getNameLabel() {
+ return fNameLabel;
+ }
+
+ /**
+ * Gets the multiplicity source label.
+ *
+ * @return the multiplicity source label
+ */
+ public WrappingLabel getMultiplicitySourceLabel() {
+ return fMultiplicitySourceLabel;
+ }
+
+ /**
+ * Gets the multiplicity target label.
+ *
+ * @return the multiplicity target label
+ */
+ public WrappingLabel getMultiplicityTargetLabel() {
+ return fMultiplicityTargetLabel;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/LollipopInterfaceFigure.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/LollipopInterfaceFigure.java
index dd45ca39a26..3163a200892 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/LollipopInterfaceFigure.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/LollipopInterfaceFigure.java
@@ -1,3 +1,15 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST)- Initial API and implementation
+ /*****************************************************************************/
package org.eclipse.papyrus.uml.diagram.component.custom.figure.nodes;
import org.eclipse.draw2d.Graphics;
@@ -130,25 +142,21 @@ public class LollipopInterfaceFigure extends PapyrusNodeFigure implements IPapy
}
- @Override
public void setStereotypeDisplay(String stereotypes, Image image) {
// TODO Auto-generated method stub
}
- @Override
public void setStereotypePropertiesInBrace(String stereotypeProperties) {
// TODO Auto-generated method stub
}
- @Override
public void setStereotypePropertiesInCompartment(String stereotypeProperties) {
// TODO Auto-generated method stub
}
- @Override
public Label getStereotypesLabel() {
// TODO Auto-generated method stub
return null;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/PropertyPartFigure.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/PropertyPartFigure.java
new file mode 100644
index 00000000000..b4c1142f171
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/figure/nodes/PropertyPartFigure.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST)- Initial API and implementation
+ /*****************************************************************************/
+
+package org.eclipse.papyrus.uml.diagram.component.custom.figure.nodes;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.papyrus.uml.diagram.common.figure.node.CompartmentFigure;
+
+/**
+ * Figure for Composite representation of Class.
+ */
+public class PropertyPartFigure extends CompartmentFigure {
+
+ /** The Internal Structure Compartment */
+ private final static String COMPOSITE_COMPARTMENT = "compositeCompartment";
+
+ /** The List of Compartment */
+ private final static List<String> COMPARTMENT = new ArrayList<String>() {
+
+ private static final long serialVersionUID = 1L;
+ {
+ add(COMPOSITE_COMPARTMENT);
+ }
+ };
+
+ /**
+ * Default Constructor
+ */
+ public PropertyPartFigure() {
+ this(null);
+ }
+
+ /**
+ * Create a new Classifier figure with the given tag
+ *
+ * @param tagLabel
+ * a String that will be displayed at the top of the figure
+ */
+ public PropertyPartFigure(String tagLabel) {
+ super(COMPARTMENT, tagLabel);
+ }
+
+ /**
+ * Get the attribute's compartment figure
+ *
+ * @return
+ */
+ public IFigure getCompositeCompartmentFigure() {
+ return getCompartment(COMPOSITE_COMPARTMENT);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/parts/PropertyDiagramUpdater.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/parts/PropertyDiagramUpdater.java
new file mode 100644
index 00000000000..671ffab91ec
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/parts/PropertyDiagramUpdater.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * 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:
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.custom.parts;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.common.part.ICustomDiagramUpdater;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramUpdater;
+
+/**
+ * <pre>
+ * This class provides a custom implementation for the method
+ * resolving the semantic children of a Property (as viewed in a
+ * structured classifier) in {@link UMLDiagramUpdater}.
+ * </pre>
+ */
+public class PropertyDiagramUpdater implements ICustomDiagramUpdater {
+
+ /**
+ * <pre>
+ * The original generated method of {@link UMLDiagramUpdater} class is kept commented below.
+ *
+ * In the CompositeStructure Diagram, Port may be shown graphically attached to
+ * a Property. This is only possible if the Property is typed by the StructuredClassifier
+ * that owns the Port.
+ *
+ * In order to implement this in GMF, the Port is declared as an affixed child for both
+ * StructuredClassifier and Property, but as the Port is not contained by Property, the
+ * Property related getSemanticChildren is not generated properly.
+ *
+ * FIXME : Not sure whether the {@link UMLDiagramUpdater} class is really needed by Papyrus
+ *
+ * {@inheritDoc}
+ * </pre>
+ */
+ public List<?> getSemanticChildren(View view) {
+
+ return Collections.EMPTY_LIST;
+
+ // if (!view.isSetElement()) {
+ // return Collections.EMPTY_LIST;
+ // }
+ //
+ // Property modelElement = (Property) view.getElement();
+ // List<UMLNodeDescriptor> result = new LinkedList<UMLNodeDescriptor>();
+ // for (Iterator<?> it = modelElement.getOwnedAttributes().iterator(); it.hasNext();) {
+ // Property childElement = (Property) it.next();
+ // int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
+ // if (visualID == PortEditPart.VISUAL_ID) {
+ // result.add(new UMLNodeDescriptor(childElement, visualID));
+ // continue;
+ // }
+ // }
+ // return result;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/IPapyrusPropertyPreferencesConstant.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/IPapyrusPropertyPreferencesConstant.java
index 6d1a2bda4d4..e9a926693a3 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/IPapyrusPropertyPreferencesConstant.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/IPapyrusPropertyPreferencesConstant.java
@@ -13,6 +13,8 @@
*****************************************************************************/
package org.eclipse.papyrus.uml.diagram.component.custom.preferences;
+import org.eclipse.uml2.uml.Property;
+
// TODO: Auto-generated Javadoc
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/OperationPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/OperationPreferencePage.java
index 5e665b10146..9216c473f44 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/OperationPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/OperationPreferencePage.java
@@ -15,9 +15,9 @@ package org.eclipse.papyrus.uml.diagram.component.custom.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusElementPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.uml.tools.utils.ICustomAppearence;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/PropertyPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/PropertyPreferencePage.java
index 2e935911a6f..d13b460a401 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/PropertyPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/preferences/PropertyPreferencePage.java
@@ -15,9 +15,9 @@ package org.eclipse.papyrus.uml.diagram.component.custom.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusElementPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
import org.eclipse.papyrus.uml.tools.utils.ICustomAppearence;
import org.eclipse.swt.SWT;
@@ -30,6 +30,7 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
+import org.eclipse.uml2.uml.Property;
// TODO: Auto-generated Javadoc
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/ui/CreateUmlElementDialog.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/ui/CreateUmlElementDialog.java
index adf970a7413..06266f5718f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/ui/CreateUmlElementDialog.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/ui/CreateUmlElementDialog.java
@@ -32,6 +32,7 @@ import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.CreateRelationshipCommand;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
import org.eclipse.jface.viewers.ILabelProvider;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/messages.properties b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/messages.properties
index 0df5b2ee507..ebe249e6611 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/messages.properties
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/messages.properties
@@ -149,3 +149,7 @@ InterfaceRealizationCreationTool_title=Interface Realization
InterfaceRealizationCreationTool_desc=Create an Interface Realization
ComponentRealizationCreationTool_title=Component Realization
ComponentRealizationCreationTool_desc=Create a Component Realization
+createPartCreationTool_title=Part
+createPartCreationTool_desc=create a part
+createConnectorCreationTool_title=Connector
+createConnectorCreationTool_desc=Create new Connector
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/model/ComponentDiagram.gmfgen b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/model/ComponentDiagram.gmfgen
index 4c30da43096..2ace1f129ac 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/model/ComponentDiagram.gmfgen
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/model/ComponentDiagram.gmfgen
@@ -52,7 +52,7 @@
canonicalEditPolicyClassName="PortCanonicalEditPolicy"
graphicalNodeEditPolicyClassName="PortGraphicalNodeEditPolicy"
createCommandClassName="PortCreateCommand"
- containers="/0/@diagram/@topLevelNodes.1 /0/@diagram/@childNodes.4 /0/@diagram/@childNodes.5">
+ containers="/0/@diagram/@topLevelNodes.1 /0/@diagram/@childNodes.4 /0/@diagram/@childNodes.5 /0/@diagram/@childNodes.12">
<diagramRunTimeClass
href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
<elementType
@@ -987,6 +987,101 @@
</modelFacet>
</labels>
</childNodes>
+ <childNodes
+ visualID="3079"
+ editPartClassName="PropertyPartEditPartCN"
+ childNodes="/0/@diagram/@childNodes.0"
+ containers="/0/@diagram/@compartments.0 /0/@diagram/@compartments.5 /0/@diagram/@compartments.6">
+ <diagramRunTimeClass
+ href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
+ <elementType
+ xsi:type="gmfgen:MetamodelType"/>
+ <viewmap
+ xsi:type="gmfgen:FigureViewmap"
+ figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.figure.nodes.PropertyPartFigure">
+ <attributes
+ xsi:type="gmfgen:StyleAttributes"
+ fixedForeground="true"
+ fixedBackground="true"/>
+ <attributes
+ xsi:type="gmfgen:DefaultSizeAttributes"
+ width="150"
+ height="70"/>
+ </viewmap>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.SEMANTIC_ROLE"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.itemsemantic.PropertyPartItemSemanticEditPolicyCN"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.gef.EditPolicy.GRAPHICAL_NODE_ROLE"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomGraphicalNodeEditPolicy"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.papyrus.uml.diagram.common.editpolicies.QualifiedNameDisplayEditPolicy.QUALIFIED_NAME_POLICY"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.QualifiedNameDisplayEditPolicy"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.gef.EditPolicy.LAYOUT_ROLE"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.PropertyLayoutEditPolicy"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy.SHOW_HIDE_COMPARTMENT_POLICY"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.DRAG_DROP_ROLE"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomDiagramDragDropEditPolicy"/>
+ <modelFacet>
+ <metaClass
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property"/>
+ <containmentMetaFeature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
+ <modelElementInitializer
+ xsi:type="gmfgen:GenFeatureSeqInitializer">
+ <initializers
+ xsi:type="gmfgen:GenFeatureValueSpec"
+ value="/0/@expressionProviders/@providers.1/@expressions.0">
+ <feature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
+ </initializers>
+ </modelElementInitializer>
+ </modelFacet>
+ <labels
+ visualID="5268"
+ editPartClassName="PropertyPartNameEditPartCN"
+ itemSemanticEditPolicyClassName="PropertyPartNameItemSemanticEditPolicyCN"
+ elementIcon="true">
+ <diagramRunTimeClass
+ href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
+ <viewmap
+ xsi:type="gmfgen:ParentAssignedViewmap"
+ getterName="getNameLabel"
+ figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
+ <attributes
+ xsi:type="gmfgen:StyleAttributes"
+ fixedFont="true"
+ fixedForeground="true"/>
+ </viewmap>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.PropertyLabelEditPolicy"/>
+ <modelFacet
+ xsi:type="gmfgen:FeatureLabelModelFacet"
+ parser="/0/@labelParsers/@implementations.0"
+ viewPattern="{0}"
+ editorPattern="{0}"
+ editPattern="{0}">
+ <metaFeatures
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
+ </modelFacet>
+ </labels>
+ </childNodes>
<topLevelNodes
visualID="3203"
editPartClassName="DependencyNodeEditPart"
@@ -2455,13 +2550,92 @@
xsi:type="gmfgen:FigureViewmap"
figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx"/>
</links>
+ <links
+ visualID="4019"
+ editPartClassName="ConnectorEditPart">
+ <diagramRunTimeClass
+ href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
+ <elementType
+ xsi:type="gmfgen:MetamodelType"/>
+ <viewmap
+ xsi:type="gmfgen:FigureViewmap"
+ figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.component.custom.figure.edges.ConnectorFigure"/>
+ <behaviour
+ xsi:type="gmfgen:CustomBehaviour"
+ key="org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLinkLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY"
+ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLinkLabelDisplayEditPolicy"/>
+ <modelFacet
+ xsi:type="gmfgen:TypeLinkModelFacet">
+ <metaClass
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Connector"/>
+ <containmentMetaFeature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedConnector"/>
+ <modelElementInitializer
+ xsi:type="gmfgen:GenFeatureSeqInitializer">
+ <initializers
+ xsi:type="gmfgen:GenFeatureValueSpec"
+ value="/0/@expressionProviders/@providers.1/@expressions.0">
+ <feature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
+ </initializers>
+ </modelElementInitializer>
+ <sourceMetaFeature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Connector/end"/>
+ <targetMetaFeature
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Connector/end"/>
+ </modelFacet>
+ <labels
+ visualID="6024"
+ editPartClassName="ConnectorAppliedStereotypeEditPart"
+ itemSemanticEditPolicyClassName="ConnectorAppliedStereotypeItemSemanticEditPolicy">
+ <diagramRunTimeClass
+ href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
+ <viewmap
+ xsi:type="gmfgen:ParentAssignedViewmap"
+ getterName="getAppliedStereotypeLabel"
+ figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
+ <attributes
+ xsi:type="gmfgen:LabelOffsetAttributes"
+ y="60"/>
+ </viewmap>
+ <modelFacet
+ xsi:type="gmfgen:FeatureLabelModelFacet"
+ parser="/0/@labelParsers/@implementations.2"
+ viewPattern="&lt;&lt;{0}>>"
+ editorPattern="&lt;&lt;{0}>>"
+ editPattern="&lt;&lt;{0}>>">
+ <metaFeatures
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
+ </modelFacet>
+ </labels>
+ <labels
+ visualID="6025">
+ <diagramRunTimeClass
+ href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
+ <viewmap
+ xsi:type="gmfgen:ParentAssignedViewmap"
+ getterName="getNameLabel"
+ figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
+ <attributes
+ xsi:type="gmfgen:LabelOffsetAttributes"
+ y="-20"/>
+ </viewmap>
+ <modelFacet
+ xsi:type="gmfgen:FeatureLabelModelFacet"
+ parser="/0/@labelParsers/@implementations.0">
+ <metaFeatures
+ href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
+ </modelFacet>
+ </labels>
+ </links>
<compartments
visualID="7001"
editPartClassName="ComponentCompositeCompartmentEditPart"
itemSemanticEditPolicyClassName="ComponentCompositeCompartmentItemSemanticEditPolicy"
canonicalEditPolicyClassName="ComponentCompositeCompartmentCanonicalEditPolicy"
- childNodes="/0/@diagram/@childNodes.4"
+ childNodes="/0/@diagram/@childNodes.4 /0/@diagram/@childNodes.12"
title="CompositeCompartment"
+ hideIfEmpty="false"
node="/0/@diagram/@topLevelNodes.1"
listLayout="false">
<diagramRunTimeClass
@@ -2584,8 +2758,9 @@
editPartClassName="ComponentCompositeCompartmentEditPartCN"
itemSemanticEditPolicyClassName="ComponentCompositeCompartmentItemSemanticEditPolicyCN"
canonicalEditPolicyClassName="ComponentCompositeCompartmentCanonicalEditPolicyCN"
- childNodes="/0/@diagram/@childNodes.4"
+ childNodes="/0/@diagram/@childNodes.4 /0/@diagram/@childNodes.12"
title="CompositeCompartmentCN"
+ hideIfEmpty="false"
node="/0/@diagram/@childNodes.4"
listLayout="false">
<diagramRunTimeClass
@@ -2608,8 +2783,9 @@
editPartClassName="ComponentCompositeCompartmentEditPartPCN"
itemSemanticEditPolicyClassName="ComponentCompositeCompartmentItemSemanticEditPolicyPCN"
canonicalEditPolicyClassName="ComponentCompositeCompartmentCanonicalEditPolicyPCN"
- childNodes="/0/@diagram/@childNodes.4"
+ childNodes="/0/@diagram/@childNodes.4 /0/@diagram/@childNodes.12"
title="CompositeCompartmentPCN"
+ hideIfEmpty="false"
node="/0/@diagram/@childNodes.5"
listLayout="false">
<diagramRunTimeClass
@@ -2751,7 +2927,7 @@
smallIconPath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif"
createMethodName="createPropertyCreationTool"
id="&quot;component.tool.property&quot;"
- genNodes="/0/@diagram/@childNodes.8"/>
+ genNodes="/0/@diagram/@childNodes.8 /0/@diagram/@childNodes.12"/>
<entries
xsi:type="gmfgen:ToolEntry"
title="Operation"
@@ -2810,6 +2986,15 @@
genLinks="/0/@diagram/@links.8 /0/@diagram/@links.9"/>
<entries
xsi:type="gmfgen:ToolEntry"
+ title="Connector"
+ description="Create new Connector"
+ largeIconPath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif"
+ smallIconPath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif"
+ createMethodName="createConnectorCreationTool"
+ id="&quot;component.tool.connector&quot;"
+ genLinks="/0/@diagram/@links.13"/>
+ <entries
+ xsi:type="gmfgen:ToolEntry"
title="Dependency"
description="Create a Dependency"
largeIconPath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif"
@@ -2996,14 +3181,14 @@
extensibleViaService="true">
<implementations
xsi:type="gmfgen:PredefinedParser"
- uses="/0/@diagram/@childNodes.0/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.1/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.8/@labels.0/@modelFacet /0/@diagram/@links.4/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.3/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.6/@labels.0/@modelFacet /0/@diagram/@childNodes.4/@labels.0/@modelFacet /0/@diagram/@childNodes.5/@labels.0/@modelFacet /0/@diagram/@childNodes.11/@labels.0/@modelFacet /0/@diagram/@childNodes.7/@labels.0/@modelFacet /0/@diagram/@links.6/@labels.0/@modelFacet /0/@diagram/@links.3/@labels.0/@modelFacet /0/@diagram/@links.5/@labels.0/@modelFacet /0/@diagram/@links.10/@labels.0/@modelFacet /0/@diagram/@childNodes.2/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.2/@labels.0/@modelFacet /0/@diagram/@childNodes.1/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.0/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.7/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.4/@labels.0/@modelFacet /0/@diagram/@childNodes.8/@labelModelFacet /0/@diagram/@childNodes.9/@labelModelFacet /0/@diagram/@childNodes.10/@labelModelFacet /0/@diagram/@childNodes.3/@labels.0/@modelFacet"/>
+ uses="/0/@diagram/@childNodes.0/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.1/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.8/@labels.0/@modelFacet /0/@diagram/@links.4/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.3/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.6/@labels.0/@modelFacet /0/@diagram/@childNodes.4/@labels.0/@modelFacet /0/@diagram/@childNodes.5/@labels.0/@modelFacet /0/@diagram/@childNodes.11/@labels.0/@modelFacet /0/@diagram/@childNodes.7/@labels.0/@modelFacet /0/@diagram/@links.6/@labels.0/@modelFacet /0/@diagram/@links.3/@labels.0/@modelFacet /0/@diagram/@links.5/@labels.0/@modelFacet /0/@diagram/@links.10/@labels.0/@modelFacet /0/@diagram/@childNodes.2/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.2/@labels.0/@modelFacet /0/@diagram/@childNodes.1/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.0/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.7/@labels.0/@modelFacet /0/@diagram/@topLevelNodes.4/@labels.0/@modelFacet /0/@diagram/@childNodes.8/@labelModelFacet /0/@diagram/@childNodes.9/@labelModelFacet /0/@diagram/@childNodes.10/@labelModelFacet /0/@diagram/@childNodes.3/@labels.0/@modelFacet /0/@diagram/@childNodes.12/@labels.0/@modelFacet /0/@diagram/@links.13/@labels.1/@modelFacet"/>
<implementations
xsi:type="gmfgen:CustomParser"
uses="/0/@diagram/@topLevelNodes.5/@labels.0/@modelFacet /0/@diagram/@childNodes.6/@labels.0/@modelFacet"
qualifiedName="org.eclipse.papyrus.uml.diagram.common.parser.CommentParser"/>
<implementations
xsi:type="gmfgen:CustomParser"
- uses="/0/@diagram/@links.2/@labels.0/@modelFacet /0/@diagram/@links.4/@labels.1/@modelFacet /0/@diagram/@links.6/@labels.1/@modelFacet /0/@diagram/@links.3/@labels.1/@modelFacet /0/@diagram/@links.5/@labels.1/@modelFacet /0/@diagram/@links.10/@labels.1/@modelFacet /0/@diagram/@childNodes.0/@labels.1/@modelFacet"
+ uses="/0/@diagram/@links.2/@labels.0/@modelFacet /0/@diagram/@links.4/@labels.1/@modelFacet /0/@diagram/@links.6/@labels.1/@modelFacet /0/@diagram/@links.3/@labels.1/@modelFacet /0/@diagram/@links.5/@labels.1/@modelFacet /0/@diagram/@links.10/@labels.1/@modelFacet /0/@diagram/@childNodes.0/@labels.1/@modelFacet /0/@diagram/@links.13/@labels.0/@modelFacet"
qualifiedName="org.eclipse.papyrus.uml.diagram.common.parser.stereotype.AppliedStereotypeParser"/>
<implementations
xsi:type="gmfgen:CustomParser"
@@ -3026,6 +3211,18 @@
superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.AbstractBorderEditPart"/>
<extensionNodes
xsi:type="papyrusgmfgenextension:ExtendedGenView"
+ comment="Label in charge to display applied stereotypes on links"
+ genView="/0/@diagram/@links.2 /0/@diagram/@links.3 /0/@diagram/@links.4 /0/@diagram/@links.5 /0/@diagram/@links.6 /0/@diagram/@links.10 /0/@diagram/@links.11 /0/@diagram/@links.13"
+ name="ExtendedUMLLinks"
+ superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart"/>
+ <extensionNodes
+ xsi:type="papyrusgmfgenextension:ExtendedGenView"
+ comment="This manages graphical refresh when aggregation kind changes"
+ genView="/0/@diagram/@childNodes.12"
+ name="EP_ConnectableElement_As_Part_NODE"
+ superOwnedEditPart="org.eclipse.papyrus.uml.diagram.component.custom.edit.part.PropertyPartEditPartCN"/>
+ <extensionNodes
+ xsi:type="papyrusgmfgenextension:ExtendedGenView"
comment="Elements that inherits Composite"
genView="/0/@diagram/@topLevelNodes.1 /0/@diagram/@childNodes.4 /0/@diagram/@childNodes.5"
name="Composite inheritance"
@@ -3044,12 +3241,6 @@
superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.AbstractLabelEditPart"/>
<extensionNodes
xsi:type="papyrusgmfgenextension:ExtendedGenView"
- comment="Label in charge to display applied stereotypes on links"
- genView="/0/@diagram/@links.2 /0/@diagram/@links.3 /0/@diagram/@links.4 /0/@diagram/@links.5 /0/@diagram/@links.6 /0/@diagram/@links.10 /0/@diagram/@links.11"
- name="ExtendedUMLLinks"
- superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart"/>
- <extensionNodes
- xsi:type="papyrusgmfgenextension:ExtendedGenView"
comment="Add super class to a Comment edit parts"
genView="/0/@diagram/@childNodes.6 /0/@diagram/@topLevelNodes.5"
name="EP_Comment_NODE"
@@ -3095,22 +3286,17 @@
xsi:type="papyrusgmfgenextension:EditPartUsingDeleteService"
comment="The delete service is used on every TopNode Childnode and Link"
name="Every TopNode ChildNode Link"
- genView="/0/@diagram/@childNodes.0 /0/@diagram/@childNodes.2 /0/@diagram/@childNodes.4 /0/@diagram/@childNodes.5 /0/@diagram/@childNodes.11 /0/@diagram/@childNodes.6 /0/@diagram/@childNodes.7 /0/@diagram/@topLevelNodes.0 /0/@diagram/@topLevelNodes.1 /0/@diagram/@topLevelNodes.8 /0/@diagram/@topLevelNodes.3 /0/@diagram/@topLevelNodes.5 /0/@diagram/@topLevelNodes.6 /0/@diagram/@links.0 /0/@diagram/@links.1 /0/@diagram/@links.2 /0/@diagram/@links.4 /0/@diagram/@links.6 /0/@diagram/@links.5 /0/@diagram/@links.8 /0/@diagram/@links.10 /0/@diagram/@links.11 /0/@diagram/@childNodes.8"/>
+ genView="/0/@diagram/@childNodes.0 /0/@diagram/@childNodes.2 /0/@diagram/@childNodes.4 /0/@diagram/@childNodes.5 /0/@diagram/@childNodes.11 /0/@diagram/@childNodes.6 /0/@diagram/@childNodes.7 /0/@diagram/@topLevelNodes.0 /0/@diagram/@topLevelNodes.1 /0/@diagram/@topLevelNodes.8 /0/@diagram/@topLevelNodes.3 /0/@diagram/@topLevelNodes.5 /0/@diagram/@topLevelNodes.6 /0/@diagram/@links.0 /0/@diagram/@links.1 /0/@diagram/@links.2 /0/@diagram/@links.4 /0/@diagram/@links.6 /0/@diagram/@links.5 /0/@diagram/@links.8 /0/@diagram/@links.10 /0/@diagram/@links.11 /0/@diagram/@childNodes.8 /0/@diagram/@links.13"/>
<extensionNodes
xsi:type="papyrusgmfgenextension:EditPartUsingReorientService"
comment="Use the edit service for reorient command (All DirectedRelationship)"
name="DirectedRelationship"
- genView="/0/@diagram/@links.2 /0/@diagram/@links.0 /0/@diagram/@links.1 /0/@diagram/@links.3 /0/@diagram/@links.4 /0/@diagram/@links.5 /0/@diagram/@links.6 /0/@diagram/@links.10 /0/@diagram/@links.11"/>
- <extensionNodes
- xsi:type="papyrusgmfgenextension:CompartmentVisibilityPreference"
- comment="Hidden Compartements"
- visibleByDefault="false"
- compartments="/0/@diagram/@compartments.0 /0/@diagram/@compartments.5 /0/@diagram/@compartments.6"/>
+ genView="/0/@diagram/@links.2 /0/@diagram/@links.0 /0/@diagram/@links.1 /0/@diagram/@links.3 /0/@diagram/@links.4 /0/@diagram/@links.5 /0/@diagram/@links.6 /0/@diagram/@links.10 /0/@diagram/@links.11 /0/@diagram/@links.13"/>
<extensionNodes
xsi:type="papyrusgmfgenextension:CompartmentTitleVisibilityPreference"
comment="Hidden Compartments Title"
visibleByDefault="false"
- compartments="/0/@diagram/@compartments.0 /0/@diagram/@compartments.5 /0/@diagram/@compartments.6 /0/@diagram/@compartments.2 /0/@diagram/@compartments.4 /0/@diagram/@compartments.1 /0/@diagram/@compartments.3 /0/@diagram/@compartments.7 /0/@diagram/@compartments.8 /0/@diagram/@compartments.9 /0/@diagram/@compartments.10"/>
+ compartments="/0/@diagram/@compartments.2 /0/@diagram/@compartments.4 /0/@diagram/@compartments.1 /0/@diagram/@compartments.3 /0/@diagram/@compartments.7 /0/@diagram/@compartments.8 /0/@diagram/@compartments.9 /0/@diagram/@compartments.10 /0/@diagram/@compartments.0 /0/@diagram/@compartments.5 /0/@diagram/@compartments.6"/>
<extensionNodes
xsi:type="papyrusgmfgenextension:LabelVisibilityPreference"
comment="Name"
@@ -3123,5 +3309,16 @@
role="Stereotype"
linkLabels="/0/@diagram/@links.4/@labels.1 /0/@diagram/@links.2/@labels.0 /0/@diagram/@links.3/@labels.1 /0/@diagram/@links.5/@labels.1 /0/@diagram/@links.6/@labels.1 /0/@diagram/@links.10/@labels.1"
externalNodeLabels="/0/@diagram/@childNodes.0/@labels.1"/>
+ <extensionNodes
+ xsi:type="papyrusgmfgenextension:SpecificDiagramUpdater"
+ comment="Property (Part) custom DiagramUpdater"
+ classpath="org.eclipse.papyrus.uml.diagram.component.custom.parts.PropertyDiagramUpdater"
+ genNode="/0/@diagram/@childNodes.12"/>
+ <extensionNodes
+ xsi:type="papyrusgmfgenextension:LabelVisibilityPreference"
+ comment="Name (Connector)"
+ role="Name"
+ linkLabels="/0/@diagram/@links.13/@labels.1"
+ visibleByDefault="false"/>
</papyrusgmfgenextension:PapyrusExtensionRootNode>
</xmi:XMI>
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.properties b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.properties
index fca4000f58b..f05f9c5e4b2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.properties
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.properties
@@ -59,3 +59,6 @@ metatype.name.Interface_3078=Interface
metatype.name.NamedElement_3072=Interface
metatype.name.Link_4018=InterfacePortLink
+metatype.name.Property_3079=Property
+metatype.name.Connector_4019=Connector
+
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.xml b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.xml
index 40e5768ea23..69aa0c6db5e 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.xml
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/plugin.xml
@@ -299,8 +299,8 @@
<viewProvider class="org.eclipse.papyrus.uml.diagram.component.providers.UMLViewProvider">
<Priority name="Lowest"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="PapyrusUMLComponentDiagram"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="3203,2002,3202,3200,3205,3201,3199,3204,2003,3069,3077,3076,3078,3070,3071,3074,3075,1,5,6,3072"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4006,4003,4012,4014,4007,4013,4016,4015,4009,4010,4017,4018"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="3203,2002,3202,3200,3205,3201,3199,3204,2003,3069,3077,3076,3078,3070,3071,3074,3075,1,5,6,3072,3079"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4006,4003,4012,4014,4007,4013,4016,4015,4009,4010,4017,4018,4019"/>
</viewProvider>
</extension>
@@ -312,13 +312,13 @@
<method name="getType()" value="PapyrusUMLComponentDiagram"/>
</object>
<object class="org.eclipse.gmf.runtime.notation.Node" id="generated-nodes">
- <method name="getType()" value="3203,2002,3202,3200,3205,3201,3199,3204,2003,3069,3077,3076,3078,3070,3071,3074,3075,1,5,6,3072"/>
+ <method name="getType()" value="3203,2002,3202,3200,3205,3201,3199,3204,2003,3069,3077,3076,3078,3070,3071,3074,3075,1,5,6,3072,3079"/>
</object>
<object class="org.eclipse.gmf.runtime.notation.Edge" id="generated-links">
- <method name="getType()" value="4001,4006,4003,4012,4014,4007,4013,4016,4015,4009,4010,4017,4018"/>
+ <method name="getType()" value="4001,4006,4003,4012,4014,4007,4013,4016,4015,4009,4010,4017,4018,4019"/>
</object>
<object class="org.eclipse.gmf.runtime.notation.Node" id="generated-labels">
- <method name="getType()" value="5008,5004,5262,5254,5266,5255,5252,5253,5265,5005,5006,5007,5264,5261,5267,5256,5257,5258,5259,5260,0"/>
+ <method name="getType()" value="5008,5004,5262,5254,5266,5255,5252,5253,5265,5005,5006,5007,5264,5261,5267,5256,5257,5258,5259,5260,0,5268"/>
</object>
<object class="org.eclipse.gmf.runtime.notation.Node" id="generated-compartments">
<method name="getType()" value="7001,7006,7002,7007,7005,7003,7004,7008,7009,7010,7011"/>
@@ -353,7 +353,8 @@
<object class="org.eclipse.papyrus.uml.diagram.component.edit.parts.OperationForInterfaceEditPart" id="Operation_5"/>
<object class="org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart" id="Reception_6"/>
<object class="org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN" id="Interface_3072"/>
- <context elements="Package_1000,Dependency_3203,Component_2002,Model_3202,Package_3200,Interface_3205,Comment_3201,Constraint_3199,NamedElement_3204,NamedElement_2003,Port_3069,Model_3077,Package_3076,Interface_3078,Component_3070,Component_3071,Comment_3074,Constraint_3075,Property_1,Operation_5,Reception_6,Interface_3072"/>
+ <object class="org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN" id="Property_3079"/>
+ <context elements="Package_1000,Dependency_3203,Component_2002,Model_3202,Package_3200,Interface_3205,Comment_3201,Constraint_3199,NamedElement_3204,NamedElement_2003,Port_3069,Model_3077,Package_3076,Interface_3078,Component_3070,Component_3071,Comment_3074,Constraint_3075,Property_1,Operation_5,Reception_6,Interface_3072,Property_3079"/>
</modelingAssistantProvider>
</extension>
@@ -584,6 +585,16 @@
</metamodel>
<metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
<metamodelType
+ id="org.eclipse.papyrus.uml.diagram.component.Property_3079"
+ name="%metatype.name.Property_3079"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="Property"
+ edithelper="org.eclipse.papyrus.uml.diagram.component.edit.helpers.PropertyEditHelper">
+ <param name="semanticHint" value="3079"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
+ <metamodelType
id="org.eclipse.papyrus.uml.diagram.component.Usage_4001"
name="%metatype.name.Usage_4001"
kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
@@ -703,6 +714,16 @@
<specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
<param name="semanticHint" value="4018"/>
</specializationType>
+ <metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
+ <metamodelType
+ id="org.eclipse.papyrus.uml.diagram.component.Connector_4019"
+ name="%metatype.name.Connector_4019"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="Connector"
+ edithelper="org.eclipse.papyrus.uml.diagram.component.edit.helpers.ConnectorEditHelper">
+ <param name="semanticHint" value="4019"/>
+ </metamodelType>
+ </metamodel>
</extension>
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings" id="element-types-bindings">
@@ -740,6 +761,7 @@
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Operation_5"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Reception_6"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Interface_3072"/>
+ <elementType ref="org.eclipse.papyrus.uml.diagram.component.Property_3079"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Usage_4001"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.InterfaceRealization_4006"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Generalization_4003"/>
@@ -753,6 +775,7 @@
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Dependency_4010"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Dependency_4017"/>
<elementType ref="org.eclipse.papyrus.uml.diagram.component.Link_4018"/>
+ <elementType ref="org.eclipse.papyrus.uml.diagram.component.Connector_4019"/>
<advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
</binding>
</extension>
@@ -953,6 +976,16 @@
</entry>
<entry
defineOnly="true"
+ description="Create new Connector"
+ id="component.tool.connector"
+ kind="tool"
+ label="Connector"
+ large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif"
+ path=""
+ small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif">
+ </entry>
+ <entry
+ defineOnly="true"
description="Create a Dependency"
id="component.tool.dependency"
kind="tool"
@@ -1132,6 +1165,10 @@
path="/component.group.links">
</predefinedEntry>
<predefinedEntry
+ id="component.tool.connector"
+ path="/component.group.links">
+ </predefinedEntry>
+ <predefinedEntry
id="component.tool.dependency"
path="/component.group.links">
</predefinedEntry>
@@ -1299,6 +1336,14 @@
<?gmfgen generated="true"?>
<page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLComponentDiagram"
+ class="org.eclipse.papyrus.uml.diagram.component.preferences.ConnectorPreferencePage"
+ id="org.eclipse.papyrus.uml.diagram.component.preferences.ConnectorPreferencePage"
+ name="Connector Link" />
+
+
+
+ <?gmfgen generated="true"?>
+ <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLComponentDiagram"
class="org.eclipse.papyrus.uml.diagram.component.preferences.ManifestationPreferencePage"
id="org.eclipse.papyrus.uml.diagram.component.preferences.ManifestationPreferencePage"
name="Manifestation Link" />
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorCreateCommand.java
new file mode 100644
index 00000000000..353de7eebf7
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorCreateCommand.java
@@ -0,0 +1,164 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.UMLBaseItemSemanticEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.providers.ElementInitializers;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * @generated
+ */
+public class ConnectorCreateCommand extends EditElementCommand {
+
+ /**
+ * @generated
+ */
+ protected final EObject source;
+
+ /**
+ * @generated
+ */
+ protected final EObject target;
+
+ /**
+ * @generated
+ */
+ protected StructuredClassifier container;
+
+ /**
+ * @generated
+ */
+ public ConnectorCreateCommand(CreateRelationshipRequest request, EObject source, EObject target) {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ container = deduceContainer(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute() {
+ if(source == null && target == null) {
+ return false;
+ }
+ if(source != null && false == source instanceof ConnectorEnd) {
+ return false;
+ }
+ if(target != null && false == target instanceof ConnectorEnd) {
+ return false;
+ }
+ if(getSource() == null) {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ if(getContainer() == null) {
+ return false;
+ }
+ return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateConnector_4019(getContainer(), getSource(), getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ if(!canExecute()) {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+ Connector newElement = UMLFactory.eINSTANCE.createConnector();
+ getContainer().getOwnedConnectors().add(newElement);
+ newElement.getEnds().add(getSource());
+ newElement.getEnds().add(getTarget());
+ ElementInitializers.getInstance().init_Connector_4019(newElement);
+ doConfigure(newElement, monitor, info);
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(Connector newElement, IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ configureRequest.setParameter(CreateRelationshipRequest.SOURCE, getSource());
+ configureRequest.setParameter(CreateRelationshipRequest.TARGET, getTarget());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if(configureCommand != null && configureCommand.canExecute()) {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getSource() {
+ return (ConnectorEnd)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getTarget() {
+ return (ConnectorEnd)target;
+ }
+
+ /**
+ * @generated
+ */
+ public StructuredClassifier getContainer() {
+ return container;
+ }
+
+ /**
+ * Default approach is to traverse ancestors of the source to find instance of container.
+ * Modify with appropriate logic.
+ *
+ * @generated
+ */
+ protected StructuredClassifier deduceContainer(EObject source, EObject target) {
+ // Find container element for the new link.
+ // Climb up by containment hierarchy starting from the source
+ // and return the first element that is instance of the container class.
+ for(EObject element = source; element != null; element = element.eContainer()) {
+ if(element instanceof StructuredClassifier) {
+ return (StructuredClassifier)element;
+ }
+ }
+ return null;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorReorientCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorReorientCommand.java
new file mode 100644
index 00000000000..6cf570c1e60
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/ConnectorReorientCommand.java
@@ -0,0 +1,177 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.UMLBaseItemSemanticEditPolicy;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.StructuredClassifier;
+
+/**
+ * @generated
+ */
+public class ConnectorReorientCommand extends EditElementCommand {
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public ConnectorReorientCommand(ReorientRelationshipRequest request) {
+ super(request.getLabel(), request.getRelationship(), request);
+ reorientDirection = request.getDirection();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute() {
+ if(false == getElementToEdit() instanceof Connector) {
+ return false;
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) {
+ return canReorientSource();
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource() {
+ if(!(oldEnd instanceof ConnectorEnd && newEnd instanceof ConnectorEnd)) {
+ return false;
+ }
+ if(getLink().getEnds().size() != 1) {
+ return false;
+ }
+ ConnectorEnd target = (ConnectorEnd)getLink().getEnds().get(0);
+ if(!(getLink().eContainer() instanceof StructuredClassifier)) {
+ return false;
+ }
+ StructuredClassifier container = (StructuredClassifier)getLink().eContainer();
+ return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistConnector_4019(container, getLink(), getNewSource(), target);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget() {
+ if(!(oldEnd instanceof ConnectorEnd && newEnd instanceof ConnectorEnd)) {
+ return false;
+ }
+ if(getLink().getEnds().size() != 1) {
+ return false;
+ }
+ ConnectorEnd source = (ConnectorEnd)getLink().getEnds().get(0);
+ if(!(getLink().eContainer() instanceof StructuredClassifier)) {
+ return false;
+ }
+ StructuredClassifier container = (StructuredClassifier)getLink().eContainer();
+ return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistConnector_4019(container, getLink(), source, getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ if(!canExecute()) {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) {
+ return reorientSource();
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException {
+ getLink().getEnds().remove(getOldSource());
+ getLink().getEnds().add(getNewSource());
+ return CommandResult.newOKCommandResult(getLink());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException {
+ getLink().getEnds().remove(getOldTarget());
+ getLink().getEnds().add(getNewTarget());
+ return CommandResult.newOKCommandResult(getLink());
+ }
+
+ /**
+ * @generated
+ */
+ protected Connector getLink() {
+ return (Connector)getElementToEdit();
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getOldSource() {
+ return (ConnectorEnd)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getNewSource() {
+ return (ConnectorEnd)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getOldTarget() {
+ return (ConnectorEnd)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected ConnectorEnd getNewTarget() {
+ return (ConnectorEnd)newEnd;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/DependencyBranchCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/DependencyBranchCreateCommand.java
index 18f34e74c01..6d5c6a1244f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/DependencyBranchCreateCommand.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/DependencyBranchCreateCommand.java
@@ -145,8 +145,8 @@ public class DependencyBranchCreateCommand extends EditElementCommand {
}
/**
- * Default approach is to traverse ancestors of the source to find instance of container.
- * Modify with appropriate logic.
+ * Default approach is to traverse ancestors of the source to find instance
+ * of container. Modify with appropriate logic.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/PropertyCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/PropertyCreateCommand.java
new file mode 100644
index 00000000000..f52dbd6f352
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/commands/PropertyCreateCommand.java
@@ -0,0 +1,110 @@
+/*
+ *
+ */
+package org.eclipse.papyrus.uml.diagram.component.edit.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.component.providers.ElementInitializers;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * @generated
+ */
+public class PropertyCreateCommand extends EditElementCommand {
+
+ /**
+ * @generated
+ */
+ private EClass eClass = null;
+
+ /**
+ * @generated
+ */
+ private EObject eObject = null;
+
+ /**
+ * @generated
+ */
+ public PropertyCreateCommand(CreateElementRequest req, EObject eObject) {
+ super(req.getLabel(), null, req);
+ this.eObject = eObject;
+ this.eClass = eObject != null ? eObject.eClass() : null;
+ }
+
+ /**
+ * @generated
+ */
+ public static PropertyCreateCommand create(CreateElementRequest req, EObject eObject) {
+ return new PropertyCreateCommand(req, eObject);
+ }
+
+ /**
+ * @generated
+ */
+ public PropertyCreateCommand(CreateElementRequest req) {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit() {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if(container instanceof View) {
+ container = ((View)container).getElement();
+ }
+ if(container != null) {
+ return container;
+ }
+ return eObject;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute() {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ Property newElement = UMLFactory.eINSTANCE.createProperty();
+ StructuredClassifier owner = (StructuredClassifier)getElementToEdit();
+ owner.getOwnedAttributes().add(newElement);
+ ElementInitializers.getInstance().init_Property_3079(newElement);
+ doConfigure(newElement, monitor, info);
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(Property newElement, IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if(configureCommand != null && configureCommand.canExecute()) {
+ configureCommand.execute(monitor, info);
+ }
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/helpers/ConnectorEditHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/helpers/ConnectorEditHelper.java
new file mode 100644
index 00000000000..c1e4878e4bc
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/helpers/ConnectorEditHelper.java
@@ -0,0 +1,21 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.helpers;
+
+import org.eclipse.papyrus.uml.diagram.common.helper.UMLBaseEditHelper;
+
+/**
+ * @generated
+ */
+public class ConnectorEditHelper extends UMLBaseEditHelper {
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPart.java
index 7c2cc1bf0c1..984ac827787 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPart.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.AbstractCommentEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -349,6 +349,9 @@ public class CommentEditPart extends AbstractCommentEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.CommentAnnotatedElement_4015);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.CommentAnnotatedElement_4015);
+ }
return types;
}
@@ -376,6 +379,7 @@ public class CommentEditPart extends AbstractCommentEditPart {
types.add(UMLElementTypes.Comment_3074);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPartPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPartPCN.java
index 1ada0ed3758..bc6632ee81f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPartPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/CommentEditPartPCN.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.AbstractCommentEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -349,6 +349,9 @@ public class CommentEditPartPCN extends AbstractCommentEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.CommentAnnotatedElement_4015);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.CommentAnnotatedElement_4015);
+ }
return types;
}
@@ -376,6 +379,7 @@ public class CommentEditPartPCN extends AbstractCommentEditPart {
types.add(UMLElementTypes.Comment_3074);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPart.java
index c83c0c5203e..d8952aa4df1 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPart.java
@@ -44,8 +44,8 @@ import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IPapyrusEditPart;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AffixedNodeAlignmentEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
@@ -405,6 +405,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -480,6 +483,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -528,6 +534,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -576,6 +585,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -624,6 +636,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -672,6 +687,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -720,6 +738,9 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -745,6 +766,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -773,6 +795,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -790,6 +813,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -807,6 +831,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -824,6 +849,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -841,6 +867,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -858,6 +885,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -902,6 +930,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -926,6 +955,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -943,6 +973,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -960,6 +991,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -977,6 +1009,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -1000,6 +1033,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1017,6 +1051,7 @@ public class ComponentEditPart extends NamedElementEditPart implements IPapyrusE
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartCN.java
index d1bd6f620bd..9a46b0f2d46 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartCN.java
@@ -43,8 +43,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AffixedNodeAlignmentEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
@@ -404,6 +404,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -479,6 +482,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -527,6 +533,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -575,6 +584,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -623,6 +635,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -671,6 +686,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -719,6 +737,9 @@ public class ComponentEditPartCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -744,6 +765,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -772,6 +794,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -789,6 +812,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -806,6 +830,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -823,6 +848,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -840,6 +866,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -857,6 +884,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -901,6 +929,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -925,6 +954,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -942,6 +972,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -959,6 +990,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -976,6 +1008,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -999,6 +1032,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1016,6 +1050,7 @@ public class ComponentEditPartCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartPCN.java
index 60318a32afd..acdcb620423 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ComponentEditPartPCN.java
@@ -43,8 +43,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AffixedNodeAlignmentEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
@@ -404,6 +404,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -479,6 +482,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -527,6 +533,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -575,6 +584,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -623,6 +635,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -671,6 +686,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -719,6 +737,9 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -744,6 +765,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -772,6 +794,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -789,6 +812,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -806,6 +830,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -823,6 +848,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -840,6 +866,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -857,6 +884,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -901,6 +929,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -925,6 +954,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -942,6 +972,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -959,6 +990,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -976,6 +1008,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -999,6 +1032,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1016,6 +1050,7 @@ public class ComponentEditPartPCN extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorAppliedStereotypeEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorAppliedStereotypeEditPart.java
new file mode 100644
index 00000000000..58d849699df
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorAppliedStereotypeEditPart.java
@@ -0,0 +1,751 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.parts;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.draw2d.ConnectionLocator;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.RunnableWithResult;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.tooling.runtime.edit.policies.DefaultLinkLabelDragPolicy;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.ICustomDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IPopupEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ILabelEditorDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.IPopupEditorHelper;
+import org.eclipse.papyrus.extensionpoints.editors.utils.DirectEditorsUtil;
+import org.eclipse.papyrus.extensionpoints.editors.utils.IDirectEditorsIds;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.directedit.MultilineLabelDirectEditManager;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition;
+import org.eclipse.papyrus.uml.diagram.common.figure.node.ILabelFigure;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.UMLTextSelectionEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLParserProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Feature;
+
+/**
+ * @generated
+ */
+public class ConnectorAppliedStereotypeEditPart extends PapyrusLabelEditPart implements ITextAwareEditPart {
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 6024;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List<?> parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * direct edition mode (default, undefined, registered editor, etc.)
+ *
+ * @generated
+ */
+ protected int directEditionMode = IDirectEdition.UNDEFINED_DIRECT_EDITOR;
+
+ /**
+ * configuration from a registered edit dialog
+ *
+ * @generated
+ */
+ protected IDirectEditorConfiguration configuration;
+ /**
+ * @generated
+ */
+ static {
+ registerSnapBackPosition(UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorAppliedStereotypeEditPart.VISUAL_ID), new Point(0, 60));
+ }
+
+ /**
+ * @generated
+ */
+ public ConnectorAppliedStereotypeEditPart(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new UMLTextSelectionEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DefaultLinkLabelDragPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ public int getKeyPoint() {
+ return ConnectionLocator.MIDDLE;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getText();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getText();
+ } else {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setText(text);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setText(text);
+ } else {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getIcon();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getIcon();
+ } else {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setIcon(icon);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setIcon(icon);
+ } else {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(WrappingLabel figure) {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren() {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint) {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public void setParser(IParser parser) {
+ this.parser = parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement() {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon() {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText() {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if(parserElement != null && getParser() != null) {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if(text == null || text.length() == 0) {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text) {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText() {
+ if(getParserElement() == null || getParser() == null) {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable() {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator() {
+ return new ICellEditorValidator() {
+
+ public String isValid(final Object value) {
+ if(value instanceof String) {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl() {
+
+ public void run() {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ }
+ }
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor() {
+ if(getParserElement() == null || getParser() == null) {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions() {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser() {
+ if(parser == null) {
+ parser = UMLParserProvider.getParser(UMLElementTypes.Connector_4019, getParserElement(), UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorAppliedStereotypeEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager() {
+ if(manager == null) {
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager) {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit() {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ } else {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request) {
+ final Request theRequest = request;
+ if(IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) {
+ directEditionMode = getDirectEditionType();
+ }
+ switch(directEditionMode) {
+ case IDirectEdition.NO_DIRECT_EDITION:
+ // no direct edition mode => does nothing
+ return;
+ case IDirectEdition.EXTENDED_DIRECT_EDITOR:
+ updateExtendedEditorConfiguration();
+ if(configuration == null || configuration.getLanguage() == null) {
+ // Create default edit manager
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ performDefaultDirectEditorEdit(theRequest);
+ } else {
+ configuration.preEditAction(resolveSemanticElement());
+ Dialog dialog = null;
+ if(configuration instanceof ICustomDirectEditorConfiguration) {
+ setManager(((ICustomDirectEditorConfiguration)configuration).createDirectEditManager(this));
+ setParser(((ICustomDirectEditorConfiguration)configuration).createParser(this.resolveSemanticElement()));
+ initializeDirectEditManager(theRequest);
+ return;
+ } else if(configuration instanceof IPopupEditorConfiguration) {
+ IPopupEditorHelper helper = ((IPopupEditorConfiguration)configuration).createPopupEditorHelper(this);
+ helper.showEditor();
+ return;
+ } else if(configuration instanceof IAdvancedEditorConfiguration) {
+ dialog = ((IAdvancedEditorConfiguration)configuration).createDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()));
+ } else if(configuration instanceof IDirectEditorConfiguration) {
+ dialog = new ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), ((IDirectEditorConfiguration)configuration).getTextToEdit(resolveSemanticElement()), (IDirectEditorConfiguration)configuration);
+ } else {
+ return;
+ }
+ final Dialog finalDialog = dialog;
+ if(Window.OK == dialog.open()) {
+ TransactionalEditingDomain domain = getEditingDomain();
+ RecordingCommand command = new RecordingCommand(domain, "Edit Label") {
+
+ @Override
+ protected void doExecute() {
+ configuration.postEditAction(resolveSemanticElement(), ((ILabelEditorDialog)finalDialog).getValue());
+ }
+ };
+ domain.getCommandStack().execute(command);
+ }
+ }
+ break;
+ case IDirectEdition.DEFAULT_DIRECT_EDITOR:
+ initializeDirectEditManager(theRequest);
+ break;
+ default:
+ break;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void initializeDirectEditManager(final Request request) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((request instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)request;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel() {
+ EditPolicy maskLabelPolicy = getEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY);
+ if(maskLabelPolicy == null) {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ }
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ if(resolveSemanticElement() instanceof Feature) {
+ if(((Feature)resolveSemanticElement()).isStatic()) {
+ ((WrappingLabel)getFigure()).setTextUnderline(true);
+ } else {
+ ((WrappingLabel)getFigure()).setTextUnderline(false);
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null) {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color) {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners() {
+ if(getParser() instanceof ISemanticParser) {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for(int i = 0; i < parserElements.size(); i++) {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ } else {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners() {
+ if(parserElements != null) {
+ for(int i = 0; i < parserElements.size(); i++) {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ } else {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart() {
+ if(accessibleEP == null) {
+ accessibleEP = new AccessibleGraphicalEditPart() {
+
+ public void getName(AccessibleEvent e) {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView() {
+ return getPrimaryView();
+ }
+
+ /**
+ * Returns the kind of associated editor for direct edition.
+ *
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @generated
+ */
+ public int getDirectEditionType() {
+ if(checkExtendedEditor()) {
+ initExtendedEditorConfiguration();
+ return IDirectEdition.EXTENDED_DIRECT_EDITOR;
+ }
+ if(checkDefaultEdition()) {
+ return IDirectEdition.DEFAULT_DIRECT_EDITOR;
+ }
+ // not a named element. no specific editor => do nothing
+ return IDirectEdition.NO_DIRECT_EDITION;
+ }
+
+ /**
+ * Checks if an extended editor is present.
+ *
+ * @return <code>true</code> if an extended editor is present.
+ * @generated
+ */
+ protected boolean checkExtendedEditor() {
+ if(resolveSemanticElement() != null) {
+ return DirectEditorsUtil.hasSpecificEditorConfiguration(resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ return false;
+ }
+
+ /**
+ * Checks if a default direct edition is available
+ *
+ * @return <code>true</code> if a default direct edition is available
+ * @generated
+ */
+ protected boolean checkDefaultEdition() {
+ return (getParser() != null);
+ }
+
+ /**
+ * Initializes the extended editor configuration
+ *
+ * @generated
+ */
+ protected void initExtendedEditorConfiguration() {
+ if(configuration == null) {
+ final String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("")) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else {
+ configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ }
+ }
+
+ /**
+ * Updates the preference configuration
+ *
+ * @generated
+ */
+ protected void updateExtendedEditorConfiguration() {
+ String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("") && languagePreferred != configuration.getLanguage()) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else if(IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(languagePreferred)) {
+ configuration = null;
+ }
+ }
+
+ /**
+ * Performs the direct edit usually used by GMF editors.
+ *
+ * @param theRequest
+ * the direct edit request that starts the direct edit system
+ * @generated
+ */
+ protected void performDefaultDirectEditorEdit(final Request theRequest) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event) {
+ Object feature = event.getFeature();
+ if(NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature)) {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ } else if(NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature)) {
+ refreshUnderline();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature)) {
+ refreshStrikeThrough();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature)) {
+ refreshFont();
+ } else {
+ if(getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue())) {
+ refreshLabel();
+ }
+ if(getParser() instanceof ISemanticParser) {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if(modelParser.areSemanticElementsAffected(null, event)) {
+ removeSemanticListeners();
+ if(resolveSemanticElement() != null) {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure() {
+ // Parent should assign one using setLabel() method
+ return null;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorEditPart.java
new file mode 100644
index 00000000000..9bfc0a0aac1
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorEditPart.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.parts;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLinkLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.custom.figure.edges.ConnectorFigure;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.ConnectorItemSemanticEditPolicy;
+
+/**
+ * @generated
+ */
+public class ConnectorEditPart extends UMLConnectionNodeEditPart implements ITreeBranchEditPart {
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4019;
+
+ /**
+ * @generated
+ */
+ public ConnectorEditPart(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ConnectorItemSemanticEditPolicy());
+ installEditPolicy(AppliedStereotypeLinkLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeLinkLabelDisplayEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean addFixedChild(EditPart childEditPart) {
+ if(childEditPart instanceof ConnectorAppliedStereotypeEditPart) {
+ ((ConnectorAppliedStereotypeEditPart)childEditPart).setLabel(getPrimaryShape().getAppliedStereotypeLabel());
+ return true;
+ }
+ if(childEditPart instanceof ConnectorNameEditPart) {
+ ((ConnectorNameEditPart)childEditPart).setLabel(getPrimaryShape().getNameLabel());
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected void addChildVisual(EditPart childEditPart, int index) {
+ if(addFixedChild(childEditPart)) {
+ return;
+ }
+ super.addChildVisual(childEditPart, -1);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean removeFixedChild(EditPart childEditPart) {
+ if(childEditPart instanceof ConnectorAppliedStereotypeEditPart) {
+ return true;
+ }
+ if(childEditPart instanceof ConnectorNameEditPart) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeChildVisual(EditPart childEditPart) {
+ if(removeFixedChild(childEditPart)) {
+ return;
+ }
+ super.removeChildVisual(childEditPart);
+ }
+
+ /**
+ * Creates figure for this edit part.
+ *
+ * Body of this method does not depend on settings in generation model
+ * so you may safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+ protected Connection createConnectionFigure() {
+ return new ConnectorFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public ConnectorFigure getPrimaryShape() {
+ return (ConnectorFigure)getFigure();
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorNameEditPart.java
new file mode 100644
index 00000000000..3358db897ea
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConnectorNameEditPart.java
@@ -0,0 +1,766 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.parts;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.draw2d.ConnectionLocator;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.RunnableWithResult;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.tooling.runtime.edit.policies.DefaultLinkLabelDragPolicy;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.ICustomDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IPopupEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ILabelEditorDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.IPopupEditorHelper;
+import org.eclipse.papyrus.extensionpoints.editors.utils.DirectEditorsUtil;
+import org.eclipse.papyrus.extensionpoints.editors.utils.IDirectEditorsIds;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.directedit.MultilineLabelDirectEditManager;
+import org.eclipse.papyrus.uml.diagram.common.editparts.ILabelRoleProvider;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition;
+import org.eclipse.papyrus.uml.diagram.common.figure.node.ILabelFigure;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.UMLTextSelectionEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLParserProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Feature;
+
+/**
+ * @generated
+ */
+public class ConnectorNameEditPart extends PapyrusLabelEditPart implements ITextAwareEditPart, ILabelRoleProvider {
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 6025;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List<?> parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * direct edition mode (default, undefined, registered editor, etc.)
+ *
+ * @generated
+ */
+ protected int directEditionMode = IDirectEdition.UNDEFINED_DIRECT_EDITOR;
+
+ /**
+ * configuration from a registered edit dialog
+ *
+ * @generated
+ */
+ protected IDirectEditorConfiguration configuration;
+ /**
+ * @generated
+ */
+ static {
+ registerSnapBackPosition(UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorNameEditPart.VISUAL_ID), new Point(0, -20));
+ }
+
+ /**
+ * @generated
+ */
+ public ConnectorNameEditPart(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new UMLTextSelectionEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DefaultLinkLabelDragPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ public int getKeyPoint() {
+ return ConnectionLocator.MIDDLE;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getText();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getText();
+ } else {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setText(text);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setText(text);
+ } else {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getIcon();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getIcon();
+ } else {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setIcon(icon);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setIcon(icon);
+ } else {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(WrappingLabel figure) {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren() {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint) {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public void setParser(IParser parser) {
+ this.parser = parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement() {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon() {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText() {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if(parserElement != null && getParser() != null) {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if(text == null || text.length() == 0) {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text) {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText() {
+ if(getParserElement() == null || getParser() == null) {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable() {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator() {
+ return new ICellEditorValidator() {
+
+ public String isValid(final Object value) {
+ if(value instanceof String) {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl() {
+
+ public void run() {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ }
+ }
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor() {
+ if(getParserElement() == null || getParser() == null) {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions() {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser() {
+ if(parser == null) {
+ parser = UMLParserProvider.getParser(UMLElementTypes.Connector_4019, getParserElement(), UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorNameEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager() {
+ if(manager == null) {
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager) {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit() {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ } else {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request) {
+ final Request theRequest = request;
+ if(IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) {
+ directEditionMode = getDirectEditionType();
+ }
+ switch(directEditionMode) {
+ case IDirectEdition.NO_DIRECT_EDITION:
+ // no direct edition mode => does nothing
+ return;
+ case IDirectEdition.EXTENDED_DIRECT_EDITOR:
+ updateExtendedEditorConfiguration();
+ if(configuration == null || configuration.getLanguage() == null) {
+ // Create default edit manager
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ performDefaultDirectEditorEdit(theRequest);
+ } else {
+ configuration.preEditAction(resolveSemanticElement());
+ Dialog dialog = null;
+ if(configuration instanceof ICustomDirectEditorConfiguration) {
+ setManager(((ICustomDirectEditorConfiguration)configuration).createDirectEditManager(this));
+ setParser(((ICustomDirectEditorConfiguration)configuration).createParser(this.resolveSemanticElement()));
+ initializeDirectEditManager(theRequest);
+ return;
+ } else if(configuration instanceof IPopupEditorConfiguration) {
+ IPopupEditorHelper helper = ((IPopupEditorConfiguration)configuration).createPopupEditorHelper(this);
+ helper.showEditor();
+ return;
+ } else if(configuration instanceof IAdvancedEditorConfiguration) {
+ dialog = ((IAdvancedEditorConfiguration)configuration).createDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()));
+ } else if(configuration instanceof IDirectEditorConfiguration) {
+ dialog = new ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), ((IDirectEditorConfiguration)configuration).getTextToEdit(resolveSemanticElement()), (IDirectEditorConfiguration)configuration);
+ } else {
+ return;
+ }
+ final Dialog finalDialog = dialog;
+ if(Window.OK == dialog.open()) {
+ TransactionalEditingDomain domain = getEditingDomain();
+ RecordingCommand command = new RecordingCommand(domain, "Edit Label") {
+
+ @Override
+ protected void doExecute() {
+ configuration.postEditAction(resolveSemanticElement(), ((ILabelEditorDialog)finalDialog).getValue());
+ }
+ };
+ domain.getCommandStack().execute(command);
+ }
+ }
+ break;
+ case IDirectEdition.DEFAULT_DIRECT_EDITOR:
+ initializeDirectEditManager(theRequest);
+ break;
+ default:
+ break;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void initializeDirectEditManager(final Request request) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((request instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)request;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel() {
+ EditPolicy maskLabelPolicy = getEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY);
+ if(maskLabelPolicy == null) {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ }
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ if(resolveSemanticElement() instanceof Feature) {
+ if(((Feature)resolveSemanticElement()).isStatic()) {
+ ((WrappingLabel)getFigure()).setTextUnderline(true);
+ } else {
+ ((WrappingLabel)getFigure()).setTextUnderline(false);
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null) {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color) {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners() {
+ if(getParser() instanceof ISemanticParser) {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for(int i = 0; i < parserElements.size(); i++) {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ } else {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners() {
+ if(parserElements != null) {
+ for(int i = 0; i < parserElements.size(); i++) {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ } else {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart() {
+ if(accessibleEP == null) {
+ accessibleEP = new AccessibleGraphicalEditPart() {
+
+ public void getName(AccessibleEvent e) {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView() {
+ return getPrimaryView();
+ }
+
+ /**
+ * Returns the kind of associated editor for direct edition.
+ *
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @generated
+ */
+ public int getDirectEditionType() {
+ if(checkExtendedEditor()) {
+ initExtendedEditorConfiguration();
+ return IDirectEdition.EXTENDED_DIRECT_EDITOR;
+ }
+ if(checkDefaultEdition()) {
+ return IDirectEdition.DEFAULT_DIRECT_EDITOR;
+ }
+ // not a named element. no specific editor => do nothing
+ return IDirectEdition.NO_DIRECT_EDITION;
+ }
+
+ /**
+ * Checks if an extended editor is present.
+ *
+ * @return <code>true</code> if an extended editor is present.
+ * @generated
+ */
+ protected boolean checkExtendedEditor() {
+ if(resolveSemanticElement() != null) {
+ return DirectEditorsUtil.hasSpecificEditorConfiguration(resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ return false;
+ }
+
+ /**
+ * Checks if a default direct edition is available
+ *
+ * @return <code>true</code> if a default direct edition is available
+ * @generated
+ */
+ protected boolean checkDefaultEdition() {
+ return (getParser() != null);
+ }
+
+ /**
+ * Initializes the extended editor configuration
+ *
+ * @generated
+ */
+ protected void initExtendedEditorConfiguration() {
+ if(configuration == null) {
+ final String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("")) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else {
+ configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ }
+ }
+
+ /**
+ * Updates the preference configuration
+ *
+ * @generated
+ */
+ protected void updateExtendedEditorConfiguration() {
+ String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("") && languagePreferred != configuration.getLanguage()) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else if(IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(languagePreferred)) {
+ configuration = null;
+ }
+ }
+
+ /**
+ * Performs the direct edit usually used by GMF editors.
+ *
+ * @param theRequest
+ * the direct edit request that starts the direct edit system
+ * @generated
+ */
+ protected void performDefaultDirectEditorEdit(final Request theRequest) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event) {
+ Object feature = event.getFeature();
+ if(NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature)) {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ } else if(NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature)) {
+ refreshUnderline();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature)) {
+ refreshStrikeThrough();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature)) {
+ refreshFont();
+ } else {
+ if(getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue())) {
+ refreshLabel();
+ }
+ if(getParser() instanceof ISemanticParser) {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if(modelParser.areSemanticElementsAffected(null, event)) {
+ removeSemanticListeners();
+ if(resolveSemanticElement() != null) {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure() {
+ // Parent should assign one using setLabel() method
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public String getLabelRole() {
+ return "Name";//$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ public String getIconPathRole() {
+ return "";//$NON-NLS-1$
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPart.java
index f2a9a5e7570..ad9a66b3fb3 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPart.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.AbstractConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -358,6 +358,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -415,6 +418,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -463,6 +469,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -511,6 +520,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -559,6 +571,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
}
@@ -613,6 +628,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -661,6 +679,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -709,6 +730,9 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -734,6 +758,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -755,6 +780,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -772,6 +798,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -789,6 +816,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -806,6 +834,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ConstraintConstrainedElement_4009) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -825,6 +854,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Comment_3074);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -842,6 +872,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -859,6 +890,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -902,6 +934,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -919,6 +952,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -936,6 +970,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -953,6 +988,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -970,6 +1006,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -993,6 +1030,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1010,6 +1048,7 @@ public class ConstraintEditPart extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPartPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPartPCN.java
index eb554fbac58..d9ede4ebf71 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPartPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ConstraintEditPartPCN.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.AbstractConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -358,6 +358,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -415,6 +418,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -463,6 +469,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -511,6 +520,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -559,6 +571,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
}
@@ -613,6 +628,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -661,6 +679,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -709,6 +730,9 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -734,6 +758,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -755,6 +780,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -772,6 +798,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -789,6 +816,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -806,6 +834,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ConstraintConstrainedElement_4009) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -825,6 +854,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Comment_3074);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -842,6 +872,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -859,6 +890,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -902,6 +934,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -919,6 +952,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -936,6 +970,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -953,6 +988,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -970,6 +1006,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -993,6 +1030,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1010,6 +1048,7 @@ public class ConstraintEditPartPCN extends AbstractConstraintEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementEditPart.java
index 9c32e82b290..d5af8622e11 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementEditPart.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ChangeStereotypedShapeEditPolicy;
@@ -201,8 +201,8 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -216,8 +216,8 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -345,6 +345,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -402,6 +405,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -450,6 +456,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -498,6 +507,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -546,6 +558,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -594,6 +609,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -642,6 +660,9 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -667,6 +688,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -688,6 +710,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -705,6 +728,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -722,6 +746,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -739,6 +764,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -756,6 +782,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -773,6 +800,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -816,6 +844,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -833,6 +862,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -850,6 +880,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -867,6 +898,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -884,6 +916,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -907,6 +940,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -924,6 +958,7 @@ public class DefaultNamedElementEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementNameEditPart.java
index 18617b9b211..f5822daa3af 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementNameEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DefaultNamedElementNameEditPart.java
@@ -596,7 +596,9 @@ public class DefaultNamedElementNameEditPart extends PapyrusCompartmentEditPart
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyBranchEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyBranchEditPart.java
index ebbbb4391b1..3bc72bfc3f3 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyBranchEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyBranchEditPart.java
@@ -51,8 +51,8 @@ public class DependencyBranchEditPart extends UMLConnectionNodeEditPart implemen
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyNodeEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyNodeEditPart.java
index 874ead5e1eb..652f5382380 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyNodeEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/DependencyNodeEditPart.java
@@ -47,8 +47,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideLabelEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
import org.eclipse.papyrus.uml.diagram.common.locator.ExternalLabelPositionLocator;
@@ -177,8 +177,8 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -192,8 +192,8 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -316,6 +316,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -373,6 +376,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -421,6 +427,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -469,6 +478,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -517,6 +529,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -565,6 +580,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -613,6 +631,9 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -638,6 +659,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -659,6 +681,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -676,6 +699,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -693,6 +717,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -710,6 +735,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -727,6 +753,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -744,6 +771,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -787,6 +815,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -804,6 +833,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -821,6 +851,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -838,6 +869,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -855,6 +887,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -878,6 +911,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -895,6 +929,7 @@ public class DependencyNodeEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceAttributeCompartmentEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceAttributeCompartmentEditPartCN.java
index 7bfc6458433..f38a4d351f0 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceAttributeCompartmentEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceAttributeCompartmentEditPartCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.parts;
import org.eclipse.draw2d.geometry.Dimension;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPart.java
index 60f50525139..62fe7bf788f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPart.java
@@ -44,8 +44,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
import org.eclipse.papyrus.uml.diagram.common.locator.ExternalLabelPositionLocator;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomDiagramDragDropEditPolicy;
@@ -314,6 +314,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -371,6 +374,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -419,6 +425,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -467,6 +476,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -515,6 +527,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -563,6 +578,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -611,6 +629,9 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -636,6 +657,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -657,6 +679,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -674,6 +697,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -691,6 +715,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -708,6 +733,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -725,6 +751,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -742,6 +769,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -785,6 +813,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -802,6 +831,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -819,6 +849,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -836,6 +867,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -853,6 +885,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -876,6 +909,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -893,6 +927,7 @@ public class InterfaceEditPart extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPartPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPartPCN.java
index 886d973e6b4..b3c4fa8acea 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPartPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceEditPartPCN.java
@@ -44,8 +44,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
import org.eclipse.papyrus.uml.diagram.common.locator.ExternalLabelPositionLocator;
import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomDiagramDragDropEditPolicy;
@@ -317,6 +317,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -392,6 +395,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -440,6 +446,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -488,6 +497,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -536,6 +548,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -584,6 +599,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -632,6 +650,9 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -657,6 +678,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -685,6 +707,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -702,6 +725,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -719,6 +743,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -736,6 +761,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -753,6 +779,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -770,6 +797,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -815,6 +843,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -832,6 +861,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -856,6 +886,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -873,6 +904,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -890,6 +922,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -907,6 +940,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -930,6 +964,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -947,6 +982,7 @@ public class InterfaceEditPartPCN extends AbstractBorderedShapeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceOperationCompartmentEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceOperationCompartmentEditPartCN.java
index 16f64908f78..cfc9114ee90 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceOperationCompartmentEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfaceOperationCompartmentEditPartCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.parts;
import org.eclipse.draw2d.geometry.Dimension;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfacePortLinkEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfacePortLinkEditPart.java
index 9ebbbae9b4b..1a3b937abeb 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfacePortLinkEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/InterfacePortLinkEditPart.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.parts;
import org.eclipse.draw2d.Connection;
@@ -38,8 +41,8 @@ public class InterfacePortLinkEditPart extends ConnectionEditPart implements ITr
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPart.java
index a0618492960..caa5cd7e27a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPart.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -224,8 +224,8 @@ public class ModelEditPart extends NamedElementEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -239,8 +239,8 @@ public class ModelEditPart extends NamedElementEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -368,6 +368,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -425,6 +428,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -473,6 +479,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -521,6 +530,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -569,6 +581,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -617,6 +632,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -665,6 +683,9 @@ public class ModelEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -690,6 +711,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -711,6 +733,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -728,6 +751,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -745,6 +769,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -762,6 +787,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -779,6 +805,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -796,6 +823,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -839,6 +867,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -856,6 +885,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -873,6 +903,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -890,6 +921,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -907,6 +939,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -930,6 +963,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -947,6 +981,7 @@ public class ModelEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPartCN.java
index 053b67e7bef..c213784778b 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelEditPartCN.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ConstrainedItemBorderLayoutEditPolicy;
@@ -214,8 +214,8 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -229,8 +229,8 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -358,6 +358,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -415,6 +418,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -463,6 +469,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -511,6 +520,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -559,6 +571,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -607,6 +622,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -655,6 +673,9 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -680,6 +701,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -701,6 +723,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -718,6 +741,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -735,6 +759,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -752,6 +777,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -769,6 +795,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -786,6 +813,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -829,6 +857,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -846,6 +875,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -863,6 +893,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -880,6 +911,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -897,6 +929,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -920,6 +953,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -937,6 +971,7 @@ public class ModelEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPart.java
index 023204b8bad..f121eeb2cf1 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPart.java
@@ -610,7 +610,9 @@ public class ModelNameEditPart extends PapyrusCompartmentEditPart implements ITe
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPartCN.java
index a9892f76a02..56c1dfc543c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ModelNameEditPartCN.java
@@ -610,7 +610,9 @@ public class ModelNameEditPartCN extends PapyrusCompartmentEditPart implements I
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/MultiDependencyLabelEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/MultiDependencyLabelEditPart.java
index bc52781b34a..637d3a2bc1c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/MultiDependencyLabelEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/MultiDependencyLabelEditPart.java
@@ -626,7 +626,9 @@ public class MultiDependencyLabelEditPart extends LabelEditPart implements IText
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/OperationForInterfaceEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/OperationForInterfaceEditPart.java
index 16320014923..53c0e3f40c8 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/OperationForInterfaceEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/OperationForInterfaceEditPart.java
@@ -621,7 +621,9 @@ public class OperationForInterfaceEditPart extends UMLCompartmentEditPart implem
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPart.java
index e248d0a2d77..73b245b0870 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPart.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
@@ -368,6 +368,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -425,6 +428,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -473,6 +479,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -521,6 +530,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -569,6 +581,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -617,6 +632,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -665,6 +683,9 @@ public class PackageEditPart extends NamedElementEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -690,6 +711,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -711,6 +733,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -728,6 +751,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -745,6 +769,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -762,6 +787,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -779,6 +805,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -796,6 +823,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -839,6 +867,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -856,6 +885,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -873,6 +903,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -890,6 +921,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -907,6 +939,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -930,6 +963,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -947,6 +981,7 @@ public class PackageEditPart extends NamedElementEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPartCN.java
index 59eaef848a3..1091bac1f6e 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageEditPartCN.java
@@ -39,8 +39,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ConstrainedItemBorderLayoutEditPolicy;
@@ -214,8 +214,8 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -229,8 +229,8 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -358,6 +358,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -415,6 +418,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -463,6 +469,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -511,6 +520,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -559,6 +571,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -607,6 +622,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -655,6 +673,9 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -680,6 +701,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -701,6 +723,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -718,6 +741,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -735,6 +759,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -752,6 +777,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -769,6 +795,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -786,6 +813,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -829,6 +857,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -846,6 +875,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -863,6 +893,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -880,6 +911,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -897,6 +929,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -920,6 +953,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -937,6 +971,7 @@ public class PackageEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageNameEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageNameEditPartCN.java
index 0b82a871b44..09f88b6174a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageNameEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PackageNameEditPartCN.java
@@ -610,7 +610,9 @@ public class PackageNameEditPartCN extends PapyrusCompartmentEditPart implements
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PortEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PortEditPart.java
index bb1f50a5daa..27620f879ae 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PortEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PortEditPart.java
@@ -48,8 +48,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editparts.AbstractBorderEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeIconlDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
@@ -357,6 +357,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -414,6 +417,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -462,6 +468,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -510,6 +519,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -558,6 +570,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -606,6 +621,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -654,6 +672,9 @@ public class PortEditPart extends AbstractBorderEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -679,6 +700,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -700,6 +722,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -717,6 +740,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -734,6 +758,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -751,6 +776,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -768,6 +794,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -785,6 +812,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -828,6 +856,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Substitution_4012) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -845,6 +874,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -862,6 +892,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -879,6 +910,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -896,6 +928,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -919,6 +952,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -936,6 +970,7 @@ public class PortEditPart extends AbstractBorderEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyForInterfaceEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyForInterfaceEditPart.java
index cfc97da9df6..23043ae73a6 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyForInterfaceEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyForInterfaceEditPart.java
@@ -621,7 +621,9 @@ public class PropertyForInterfaceEditPart extends UMLCompartmentEditPart impleme
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartEditPartCN.java
new file mode 100644
index 00000000000..8fcfa2c504b
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartEditPartCN.java
@@ -0,0 +1,1038 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.parts;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.draw2d.Shape;
+import org.eclipse.draw2d.StackLayout;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.requests.CreateRequest;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IBorderItemEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.IBorderItemLocator;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
+import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.BorderItemResizableEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.QualifiedNameDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomDiagramDragDropEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.CustomGraphicalNodeEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.PropertyLayoutEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.itemsemantic.PropertyPartItemSemanticEditPolicyCN;
+import org.eclipse.papyrus.uml.diagram.component.custom.figure.nodes.PropertyPartFigure;
+import org.eclipse.papyrus.uml.diagram.component.custom.locators.PortPositionLocator;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.PropertyItemSemanticEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @generated
+ */
+public class PropertyPartEditPartCN extends org.eclipse.papyrus.uml.diagram.component.custom.edit.part.PropertyPartEditPartCN {
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 3079;
+
+ /**
+ * @generated
+ */
+ protected IFigure contentPane;
+
+ /**
+ * @generated
+ */
+ protected IFigure primaryShape;
+
+ /**
+ * @generated
+ */
+ public PropertyPartEditPartCN(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new PapyrusCreationEditPolicy());
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new PropertyItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ //in Papyrus diagrams are not strongly synchronised
+ //installEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CANONICAL_ROLE, new org.eclipse.papyrus.uml.diagram.component.edit.policies.PropertyCanonicalEditPolicy());
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new PropertyPartItemSemanticEditPolicyCN());
+ installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new CustomGraphicalNodeEditPolicy());
+ installEditPolicy(QualifiedNameDisplayEditPolicy.QUALIFIED_NAME_POLICY, new QualifiedNameDisplayEditPolicy());
+ installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeNodeLabelDisplayEditPolicy());
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, new PropertyLayoutEditPolicy());
+ installEditPolicy(ShowHideCompartmentEditPolicy.SHOW_HIDE_COMPARTMENT_POLICY, new ShowHideCompartmentEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy());
+ // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable editpolicies
+ // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE);
+ }
+
+ /**
+ * Papyrus codeGen
+ *
+ * @generated
+ **/
+ protected void handleNotificationEvent(Notification event) {
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected LayoutEditPolicy createLayoutEditPolicy() {
+ org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() {
+
+ protected EditPolicy createChildEditPolicy(EditPart child) {
+ View childView = (View)child.getModel();
+ switch(UMLVisualIDRegistry.getVisualID(childView)) {
+ case PortEditPart.VISUAL_ID:
+ return new BorderItemResizableEditPolicy();
+ }
+ EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(result == null) {
+ result = new NonResizableEditPolicy();
+ }
+ return result;
+ }
+
+ protected Command getMoveChildrenCommand(Request request) {
+ return null;
+ }
+
+ protected Command getCreateCommand(CreateRequest request) {
+ return null;
+ }
+ };
+ return lep;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createNodeShape() {
+ return primaryShape = new PropertyPartFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public PropertyPartFigure getPrimaryShape() {
+ return (PropertyPartFigure)primaryShape;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean addFixedChild(EditPart childEditPart) {
+ if(childEditPart instanceof PropertyPartNameEditPartCN) {
+ ((PropertyPartNameEditPartCN)childEditPart).setLabel(getPrimaryShape().getNameLabel());
+ return true;
+ }
+ //Papyrus Gencode :Affixed Port locator
+ if(childEditPart instanceof PortEditPart) {
+ IBorderItemLocator locator = new PortPositionLocator(getMainFigure(), PositionConstants.NONE);
+ getBorderedFigure().getBorderItemContainer().add(((PortEditPart)childEditPart).getFigure(), locator);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean removeFixedChild(EditPart childEditPart) {
+ if(childEditPart instanceof PropertyPartNameEditPartCN) {
+ return true;
+ }
+ if(childEditPart instanceof PortEditPart) {
+ getBorderedFigure().getBorderItemContainer().remove(((PortEditPart)childEditPart).getFigure());
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected void addChildVisual(EditPart childEditPart, int index) {
+ if(addFixedChild(childEditPart)) {
+ return;
+ }
+ super.addChildVisual(childEditPart, -1);
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeChildVisual(EditPart childEditPart) {
+ if(removeFixedChild(childEditPart)) {
+ return;
+ }
+ super.removeChildVisual(childEditPart);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure getContentPaneFor(IGraphicalEditPart editPart) {
+ if(editPart instanceof IBorderItemEditPart) {
+ return getBorderedFigure().getBorderItemContainer();
+ }
+ return getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected NodeFigure createNodePlate() {
+ String prefElementId = "Property";
+ IPreferenceStore store = UMLDiagramEditorPlugin.getInstance().getPreferenceStore();
+ String preferenceConstantWitdh = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.WIDTH);
+ String preferenceConstantHeight = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.HEIGHT);
+ DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(store.getInt(preferenceConstantWitdh), store.getInt(preferenceConstantHeight));
+ return result;
+ }
+
+ /**
+ * Creates figure for this edit part.
+ *
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+ protected NodeFigure createMainFigure() {
+ NodeFigure figure = createNodePlate();
+ figure.setLayoutManager(new StackLayout());
+ IFigure shape = createNodeShape();
+ figure.add(shape);
+ contentPane = setupContentPane(shape);
+ return figure;
+ }
+
+ /**
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
+ *
+ * @param nodeShape
+ * instance of generated figure class
+ * @generated
+ */
+ protected IFigure setupContentPane(IFigure nodeShape) {
+ if(nodeShape.getLayoutManager() == null) {
+ ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
+ layout.setSpacing(5);
+ nodeShape.setLayoutManager(layout);
+ }
+ return nodeShape; // use nodeShape itself as contentPane
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure getContentPane() {
+ if(contentPane != null) {
+ return contentPane;
+ }
+ return super.getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected void setForegroundColor(Color color) {
+ if(primaryShape != null) {
+ primaryShape.setForegroundColor(color);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLineWidth(int width) {
+ if(primaryShape instanceof Shape) {
+ ((Shape)primaryShape).setLineWidth(width);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLineType(int style) {
+ if(primaryShape instanceof Shape) {
+ ((Shape)primaryShape).setLineStyle(style);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public EditPart getPrimaryChildEditPart() {
+ return getChildBySemanticHint(UMLVisualIDRegistry.getType(PropertyPartNameEditPartCN.VISUAL_ID));
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSource() {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(8);
+ types.add(UMLElementTypes.Usage_4001);
+ types.add(UMLElementTypes.InterfaceRealization_4006);
+ types.add(UMLElementTypes.Substitution_4012);
+ types.add(UMLElementTypes.Manifestation_4014);
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ types.add(UMLElementTypes.Abstraction_4013);
+ types.add(UMLElementTypes.Dependency_4010);
+ types.add(UMLElementTypes.Dependency_4017);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSourceAndTarget(IGraphicalEditPart targetEditPart) {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.InterfaceRealization_4006);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.InterfaceRealization_4006);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.InterfaceRealization_4006);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
+ if(targetEditPart instanceof DependencyNodeEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ComponentEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ModelEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof PackageEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ConstraintEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof DefaultNamedElementEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof InterfaceEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof PortEditPart) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ModelEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof PackageEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof RectangleInterfaceEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ComponentEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ComponentEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof ConstraintEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof InterfaceEditPartPCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForTarget(IElementType relationshipType) {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if(relationshipType == UMLElementTypes.Usage_4001) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Interface_3072);
+ } else if(relationshipType == UMLElementTypes.Substitution_4012) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Manifestation_4014) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Abstraction_4013) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Dependency_4010) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Dependency_4017) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnTarget() {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(9);
+ types.add(UMLElementTypes.Usage_4001);
+ types.add(UMLElementTypes.Substitution_4012);
+ types.add(UMLElementTypes.Manifestation_4014);
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ types.add(UMLElementTypes.Abstraction_4013);
+ types.add(UMLElementTypes.CommentAnnotatedElement_4015);
+ types.add(UMLElementTypes.ConstraintConstrainedElement_4009);
+ types.add(UMLElementTypes.Dependency_4010);
+ types.add(UMLElementTypes.Dependency_4017);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForSource(IElementType relationshipType) {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if(relationshipType == UMLElementTypes.Usage_4001) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Substitution_4012) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Manifestation_4014) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Abstraction_4013) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
+ types.add(UMLElementTypes.Comment_3201);
+ types.add(UMLElementTypes.Comment_3074);
+ } else if(relationshipType == UMLElementTypes.ConstraintConstrainedElement_4009) {
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.Constraint_3075);
+ } else if(relationshipType == UMLElementTypes.Dependency_4010) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ } else if(relationshipType == UMLElementTypes.Dependency_4017) {
+ types.add(UMLElementTypes.Dependency_3203);
+ types.add(UMLElementTypes.Component_2002);
+ types.add(UMLElementTypes.Model_3202);
+ types.add(UMLElementTypes.Package_3200);
+ types.add(UMLElementTypes.Interface_3205);
+ types.add(UMLElementTypes.Constraint_3199);
+ types.add(UMLElementTypes.NamedElement_3204);
+ types.add(UMLElementTypes.NamedElement_2003);
+ types.add(UMLElementTypes.Port_3069);
+ types.add(UMLElementTypes.Model_3077);
+ types.add(UMLElementTypes.Package_3076);
+ types.add(UMLElementTypes.Interface_3078);
+ types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Component_3071);
+ types.add(UMLElementTypes.Constraint_3075);
+ types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ public Object getPreferredValue(EStructuralFeature feature) {
+ IPreferenceStore preferenceStore = (IPreferenceStore)getDiagramPreferencesHint().getPreferenceStore();
+ Object result = null;
+ if(feature == NotationPackage.eINSTANCE.getLineStyle_LineColor() || feature == NotationPackage.eINSTANCE.getFontStyle_FontColor() || feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) {
+ String prefColor = null;
+ if(feature == NotationPackage.eINSTANCE.getLineStyle_LineColor()) {
+ prefColor = PreferencesConstantsHelper.getElementConstant("Property", PreferencesConstantsHelper.COLOR_LINE);
+ } else if(feature == NotationPackage.eINSTANCE.getFontStyle_FontColor()) {
+ prefColor = PreferencesConstantsHelper.getElementConstant("Property", PreferencesConstantsHelper.COLOR_FONT);
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) {
+ prefColor = PreferencesConstantsHelper.getElementConstant("Property", PreferencesConstantsHelper.COLOR_FILL);
+ }
+ result = FigureUtilities.RGBToInteger(PreferenceConverter.getColor((IPreferenceStore)preferenceStore, prefColor));
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency() || feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) {
+ String prefGradient = PreferencesConstantsHelper.getElementConstant("Property", PreferencesConstantsHelper.COLOR_GRADIENT);
+ GradientPreferenceConverter gradientPreferenceConverter = new GradientPreferenceConverter(preferenceStore.getString(prefGradient));
+ if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency()) {
+ result = new Integer(gradientPreferenceConverter.getTransparency());
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) {
+ result = gradientPreferenceConverter.getGradientData();
+ }
+ }
+ if(result == null) {
+ result = getStructuralFeatureValue(feature);
+ }
+ return result;
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartNameEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartNameEditPartCN.java
new file mode 100644
index 00000000000..3353d90c10f
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/PropertyPartNameEditPartCN.java
@@ -0,0 +1,810 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.parts;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.RunnableWithResult;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.tooling.runtime.edit.policies.DefaultNodeLabelDragPolicy;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.ICustomDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IPopupEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ILabelEditorDialog;
+import org.eclipse.papyrus.extensionpoints.editors.ui.IPopupEditorHelper;
+import org.eclipse.papyrus.extensionpoints.editors.utils.DirectEditorsUtil;
+import org.eclipse.papyrus.extensionpoints.editors.utils.IDirectEditorsIds;
+import org.eclipse.papyrus.infra.emf.appearance.helper.NameLabelIconHelper;
+import org.eclipse.papyrus.infra.emf.appearance.helper.VisualInformationPapyrusConstants;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusCompartmentEditPart;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.directedit.MultilineLabelDirectEditManager;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition;
+import org.eclipse.papyrus.uml.diagram.common.figure.node.ILabelFigure;
+import org.eclipse.papyrus.uml.diagram.common.util.DiagramEditPartsUtil;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.PropertyLabelEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.edit.policies.UMLTextSelectionEditPolicy;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLParserProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Feature;
+
+/**
+ * @generated
+ */
+public class PropertyPartNameEditPartCN extends PapyrusCompartmentEditPart implements ITextAwareEditPart {
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 5268;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List<?> parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * direct edition mode (default, undefined, registered editor, etc.)
+ *
+ * @generated
+ */
+ protected int directEditionMode = IDirectEdition.UNDEFINED_DIRECT_EDITOR;
+
+ /**
+ * configuration from a registered edit dialog
+ *
+ * @generated
+ */
+ protected IDirectEditorConfiguration configuration;
+
+ /**
+ * @generated
+ */
+ public PropertyPartNameEditPartCN(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new UMLTextSelectionEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DefaultNodeLabelDragPolicy());
+ installEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY, new PropertyLabelEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getText();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getText();
+ } else {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setText(text);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setText(text);
+ } else {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure) {
+ if(figure instanceof WrappingLabel) {
+ return ((WrappingLabel)figure).getIcon();
+ } else if(figure instanceof ILabelFigure) {
+ return ((ILabelFigure)figure).getIcon();
+ } else {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon) {
+ if(figure instanceof WrappingLabel) {
+ ((WrappingLabel)figure).setIcon(icon);
+ } else if(figure instanceof ILabelFigure) {
+ ((ILabelFigure)figure).setIcon(icon);
+ } else {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(WrappingLabel figure) {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren() {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint) {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public void setParser(IParser parser) {
+ this.parser = parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement() {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon() {
+ EObject parserElement = getParserElement();
+ if(parserElement == null) {
+ return null;
+ }
+ List<View> views = DiagramEditPartsUtil.findViews(parserElement, getViewer());
+ for(View view : views) {
+ if(NameLabelIconHelper.showLabelIcon(view)) {
+ return UMLElementTypes.getImage(parserElement.eClass());
+ }
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText() {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if(parserElement != null && getParser() != null) {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if(text == null || text.length() == 0) {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text) {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText() {
+ if(getParserElement() == null || getParser() == null) {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable() {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator() {
+ return new ICellEditorValidator() {
+
+ public String isValid(final Object value) {
+ if(value instanceof String) {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl() {
+
+ public void run() {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ }
+ }
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor() {
+ if(getParserElement() == null || getParser() == null) {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions() {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser() {
+ if(parser == null) {
+ parser = UMLParserProvider.getParser(UMLElementTypes.Property_3079, getParserElement(), UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartNameEditPartCN.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager() {
+ if(manager == null) {
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager) {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit() {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter) {
+ if(getManager() instanceof TextDirectEditManager) {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ } else {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request) {
+ final Request theRequest = request;
+ if(IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) {
+ directEditionMode = getDirectEditionType();
+ }
+ switch(directEditionMode) {
+ case IDirectEdition.NO_DIRECT_EDITION:
+ // no direct edition mode => does nothing
+ return;
+ case IDirectEdition.EXTENDED_DIRECT_EDITOR:
+ updateExtendedEditorConfiguration();
+ if(configuration == null || configuration.getLanguage() == null) {
+ // Create default edit manager
+ setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this)));
+ performDefaultDirectEditorEdit(theRequest);
+ } else {
+ configuration.preEditAction(resolveSemanticElement());
+ Dialog dialog = null;
+ if(configuration instanceof ICustomDirectEditorConfiguration) {
+ setManager(((ICustomDirectEditorConfiguration)configuration).createDirectEditManager(this));
+ setParser(((ICustomDirectEditorConfiguration)configuration).createParser(this.resolveSemanticElement()));
+ initializeDirectEditManager(theRequest);
+ return;
+ } else if(configuration instanceof IPopupEditorConfiguration) {
+ IPopupEditorHelper helper = ((IPopupEditorConfiguration)configuration).createPopupEditorHelper(this);
+ helper.showEditor();
+ return;
+ } else if(configuration instanceof IAdvancedEditorConfiguration) {
+ dialog = ((IAdvancedEditorConfiguration)configuration).createDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()));
+ } else if(configuration instanceof IDirectEditorConfiguration) {
+ dialog = new ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), ((IDirectEditorConfiguration)configuration).getTextToEdit(resolveSemanticElement()), (IDirectEditorConfiguration)configuration);
+ } else {
+ return;
+ }
+ final Dialog finalDialog = dialog;
+ if(Window.OK == dialog.open()) {
+ TransactionalEditingDomain domain = getEditingDomain();
+ RecordingCommand command = new RecordingCommand(domain, "Edit Label") {
+
+ @Override
+ protected void doExecute() {
+ configuration.postEditAction(resolveSemanticElement(), ((ILabelEditorDialog)finalDialog).getValue());
+ }
+ };
+ domain.getCommandStack().execute(command);
+ }
+ }
+ break;
+ case IDirectEdition.DEFAULT_DIRECT_EDITOR:
+ initializeDirectEditManager(theRequest);
+ break;
+ default:
+ break;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void initializeDirectEditManager(final Request request) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((request instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)request;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel() {
+ EditPolicy maskLabelPolicy = getEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY);
+ if(maskLabelPolicy == null) {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ }
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) {
+ ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ if(resolveSemanticElement() instanceof Feature) {
+ if(((Feature)resolveSemanticElement()).isStatic()) {
+ ((WrappingLabel)getFigure()).setTextUnderline(true);
+ } else {
+ ((WrappingLabel)getFigure()).setTextUnderline(false);
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null && getFigure() instanceof WrappingLabel) {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont() {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if(style != null) {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color) {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners() {
+ if(getParser() instanceof ISemanticParser) {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for(int i = 0; i < parserElements.size(); i++) {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ } else {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners() {
+ if(parserElements != null) {
+ for(int i = 0; i < parserElements.size(); i++) {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ } else {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart() {
+ if(accessibleEP == null) {
+ accessibleEP = new AccessibleGraphicalEditPart() {
+
+ public void getName(AccessibleEvent e) {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView() {
+ return (View)getModel();
+ }
+
+ /**
+ * Returns the kind of associated editor for direct edition.
+ *
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @generated
+ */
+ public int getDirectEditionType() {
+ if(checkExtendedEditor()) {
+ initExtendedEditorConfiguration();
+ return IDirectEdition.EXTENDED_DIRECT_EDITOR;
+ }
+ if(checkDefaultEdition()) {
+ return IDirectEdition.DEFAULT_DIRECT_EDITOR;
+ }
+ // not a named element. no specific editor => do nothing
+ return IDirectEdition.NO_DIRECT_EDITION;
+ }
+
+ /**
+ * Checks if an extended editor is present.
+ *
+ * @return <code>true</code> if an extended editor is present.
+ * @generated
+ */
+ protected boolean checkExtendedEditor() {
+ if(resolveSemanticElement() != null) {
+ return DirectEditorsUtil.hasSpecificEditorConfiguration(resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ return false;
+ }
+
+ /**
+ * Checks if a default direct edition is available
+ *
+ * @return <code>true</code> if a default direct edition is available
+ * @generated
+ */
+ protected boolean checkDefaultEdition() {
+ return (getParser() != null);
+ }
+
+ /**
+ * Initializes the extended editor configuration
+ *
+ * @generated
+ */
+ protected void initExtendedEditorConfiguration() {
+ if(configuration == null) {
+ final String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("")) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else {
+ configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, resolveSemanticElement().eClass().getInstanceClassName());
+ }
+ }
+ }
+
+ /**
+ * Updates the preference configuration
+ *
+ * @generated
+ */
+ protected void updateExtendedEditorConfiguration() {
+ String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName());
+ if(languagePreferred != null && !languagePreferred.equals("") && languagePreferred != configuration.getLanguage()) {
+ configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement().eClass().getInstanceClassName());
+ } else if(IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(languagePreferred)) {
+ configuration = null;
+ }
+ }
+
+ /**
+ * Performs the direct edit usually used by GMF editors.
+ *
+ * @param theRequest
+ * the direct edit request that starts the direct edit system
+ * @generated
+ */
+ protected void performDefaultDirectEditorEdit(final Request theRequest) {
+ // initialize the direct edit manager
+ try {
+ getEditingDomain().runExclusive(new Runnable() {
+
+ public void run() {
+ if(isActive() && isEditable()) {
+ if(theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) {
+ Character initialChar = (Character)theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ } else if((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ } else {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners() {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners() {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event) {
+ refreshLabel();
+ Object feature = event.getFeature();
+ if(NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature)) {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ } else if(NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature)) {
+ refreshUnderline();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature)) {
+ refreshStrikeThrough();
+ } else if(NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature)) {
+ refreshFont();
+ } else {
+ if(getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue())) {
+ refreshLabel();
+ }
+ if(getParser() instanceof ISemanticParser) {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if(modelParser.areSemanticElementsAffected(null, event)) {
+ removeSemanticListeners();
+ if(resolveSemanticElement() != null) {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ if(event.getNewValue() instanceof EAnnotation && VisualInformationPapyrusConstants.DISPLAY_NAMELABELICON.equals(((EAnnotation)event.getNewValue()).getSource())) {
+ refreshLabel();
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure() {
+ // Parent should assign one using setLabel() method
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ private static final String ADD_PARENT_MODEL = "AddParentModel";
+
+ /**
+ * @generated
+ */
+ public void activate() {
+ super.activate();
+ addOwnerElementListeners();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addOwnerElementListeners() {
+ addListenerFilter(ADD_PARENT_MODEL, this, ((View)getParent().getModel())); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ public void deactivate() {
+ removeOwnerElementListeners();
+ super.deactivate();
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeOwnerElementListeners() {
+ removeListenerFilter(ADD_PARENT_MODEL);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ReceptionInInterfaceEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ReceptionInInterfaceEditPart.java
index 025e857eca5..10f6179e03f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ReceptionInInterfaceEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/ReceptionInInterfaceEditPart.java
@@ -616,7 +616,9 @@ public class ReceptionInInterfaceEditPart extends CompartmentEditPart implements
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPart.java
index 6d1b358bbb0..cb7322b0900 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPart.java
@@ -41,8 +41,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideClassifierContentsEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy;
@@ -225,8 +225,8 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -240,8 +240,8 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -370,6 +370,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -445,6 +448,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -493,6 +499,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -541,6 +550,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -589,6 +601,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -637,6 +652,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -685,6 +703,9 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -710,6 +731,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -738,6 +760,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -755,6 +778,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -772,6 +796,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -789,6 +814,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -806,6 +832,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -823,6 +850,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -868,6 +896,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -885,6 +914,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -909,6 +939,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -926,6 +957,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -943,6 +975,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -960,6 +993,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -983,6 +1017,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -1000,6 +1035,7 @@ public class RectangleInterfaceEditPart extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPartCN.java
index 661918fea5e..40449ec65b0 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceEditPartCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.parts;
import java.util.ArrayList;
@@ -29,8 +32,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideClassifierContentsEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy;
@@ -213,8 +216,8 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
/**
* Creates figure for this edit part.
*
- * Body of this method does not depend on settings in generation model
- * so you may safely remove <i>generated</i> tag and modify it.
+ * Body of this method does not depend on settings in generation model so
+ * you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
@@ -228,8 +231,8 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
}
/**
- * Default implementation treats passed figure as content pane.
- * Respects layout one may have set for generated figure.
+ * Default implementation treats passed figure as content pane. Respects
+ * layout one may have set for generated figure.
*
* @param nodeShape
* instance of generated figure class
@@ -358,6 +361,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Usage_4001);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Usage_4001);
+ }
if(targetEditPart instanceof RectangleInterfaceEditPart) {
types.add(UMLElementTypes.InterfaceRealization_4006);
}
@@ -433,6 +439,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Substitution_4012);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Substitution_4012);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Manifestation_4014);
}
@@ -481,6 +490,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Manifestation_4014);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Manifestation_4014);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
@@ -529,6 +541,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.ComponentRealization_4007);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.ComponentRealization_4007);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Abstraction_4013);
}
@@ -577,6 +592,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Abstraction_4013);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Abstraction_4013);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4010);
}
@@ -625,6 +643,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4010);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4010);
+ }
if(targetEditPart instanceof DependencyNodeEditPart) {
types.add(UMLElementTypes.Dependency_4017);
}
@@ -673,6 +694,9 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
if(targetEditPart instanceof InterfaceEditPartPCN) {
types.add(UMLElementTypes.Dependency_4017);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ types.add(UMLElementTypes.Dependency_4017);
+ }
return types;
}
@@ -698,6 +722,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Interface_3205);
types.add(UMLElementTypes.Interface_3078);
@@ -726,6 +751,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -743,6 +769,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -760,6 +787,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -777,6 +805,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4010) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -794,6 +823,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -811,6 +841,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
@@ -856,6 +887,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.InterfaceRealization_4006) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -873,6 +905,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Generalization_4003) {
types.add(UMLElementTypes.Component_2002);
types.add(UMLElementTypes.Interface_3205);
@@ -897,6 +930,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Manifestation_4014) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -914,6 +948,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.ComponentRealization_4007) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -931,6 +966,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Abstraction_4013) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -948,6 +984,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4015) {
types.add(UMLElementTypes.Comment_3201);
types.add(UMLElementTypes.Comment_3074);
@@ -971,6 +1008,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
} else if(relationshipType == UMLElementTypes.Dependency_4017) {
types.add(UMLElementTypes.Dependency_3203);
types.add(UMLElementTypes.Component_2002);
@@ -988,6 +1026,7 @@ public class RectangleInterfaceEditPartCN extends ShapeNodeEditPart {
types.add(UMLElementTypes.Component_3071);
types.add(UMLElementTypes.Constraint_3075);
types.add(UMLElementTypes.Interface_3072);
+ types.add(UMLElementTypes.Property_3079);
}
return types;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPart.java
index bcd0fbb634d..e8e000fd125 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPart.java
@@ -611,7 +611,9 @@ public class RectangleInterfaceNameEditPart extends PapyrusCompartmentEditPart i
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPartCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPartCN.java
index ccb70a7b1b3..dfedbe7b9e5 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPartCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/RectangleInterfaceNameEditPartCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.parts;
import java.util.Collections;
@@ -584,7 +587,9 @@ public class RectangleInterfaceNameEditPartCN extends PapyrusCompartmentEditPart
/**
* Returns the kind of associated editor for direct edition.
*
- * @return an <code>int</code> corresponding to the kind of direct editor, @see org.eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
+ * @return an <code>int</code> corresponding to the kind of direct editor, @see
+ * org
+ * .eclipse.papyrus.uml.diagram.common.editpolicies.IDirectEdition
* @generated
*/
public int getDirectEditionType() {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/UMLEditPartFactory.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/UMLEditPartFactory.java
index c3342f3b831..dc138a60512 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/UMLEditPartFactory.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/parts/UMLEditPartFactory.java
@@ -124,6 +124,10 @@ public class UMLEditPartFactory implements EditPartFactory {
return new InterfaceEditPartPCN(view);
case InterfaceNameEditPartPCN.VISUAL_ID:
return new InterfaceNameEditPartPCN(view);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return new PropertyPartEditPartCN(view);
+ case PropertyPartNameEditPartCN.VISUAL_ID:
+ return new PropertyPartNameEditPartCN(view);
case ComponentCompositeCompartmentEditPart.VISUAL_ID:
return new ComponentCompositeCompartmentEditPart(view);
case ModelPackageableElementCompartmentEditPart.VISUAL_ID:
@@ -194,6 +198,12 @@ public class UMLEditPartFactory implements EditPartFactory {
return new DependencyBranchEditPart(view);
case InterfacePortLinkEditPart.VISUAL_ID:
return new InterfacePortLinkEditPart(view);
+ case ConnectorEditPart.VISUAL_ID:
+ return new ConnectorEditPart(view);
+ case ConnectorAppliedStereotypeEditPart.VISUAL_ID:
+ return new ConnectorAppliedStereotypeEditPart(view);
+ case ConnectorNameEditPart.VISUAL_ID:
+ return new ConnectorNameEditPart(view);
}
}
return createUnrecognizedEditPart(context, model);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicy.java
index 178e449b721..dab5005fa68 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicy.java
@@ -14,9 +14,11 @@ package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EObject;
@@ -33,6 +35,7 @@ import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
import org.eclipse.gmf.runtime.notation.Node;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramUpdater;
import org.eclipse.papyrus.uml.diagram.component.part.UMLNodeDescriptor;
import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
@@ -49,6 +52,11 @@ public class ComponentCompositeCompartmentCanonicalEditPolicy extends CanonicalE
/**
* @generated
*/
+ private Set<EStructuralFeature> myFeaturesToSynchronize;
+
+ /**
+ * @generated
+ */
protected void refreshOnActivate() {
// Need to activate editpart children before invoking the canonical refresh for EditParts to add event listeners
List<?> c = getHost().getChildren();
@@ -59,13 +67,15 @@ public class ComponentCompositeCompartmentCanonicalEditPolicy extends CanonicalE
}
/**
- * Gets the feature to synchronize.
- *
- * @return the feature to synchronize
* @generated
*/
- protected EStructuralFeature getFeatureToSynchronize() {
- return UMLPackage.eINSTANCE.getComponent_PackagedElement();
+ protected Set getFeaturesToSynchronize() {
+ if(myFeaturesToSynchronize == null) {
+ myFeaturesToSynchronize = new HashSet<EStructuralFeature>();
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getComponent_PackagedElement());
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute());
+ }
+ return myFeaturesToSynchronize;
}
/**
@@ -108,7 +118,8 @@ public class ComponentCompositeCompartmentCanonicalEditPolicy extends CanonicalE
* @generated
*/
private boolean isMyDiagramElement(View view) {
- return ComponentEditPartCN.VISUAL_ID == UMLVisualIDRegistry.getVisualID(view);
+ int visualID = UMLVisualIDRegistry.getVisualID(view);
+ return visualID == ComponentEditPartCN.VISUAL_ID || visualID == PropertyPartEditPartCN.VISUAL_ID;
}
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyCN.java
index 3d894149f17..89de98ea1d6 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyCN.java
@@ -14,9 +14,11 @@ package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EObject;
@@ -33,6 +35,7 @@ import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
import org.eclipse.gmf.runtime.notation.Node;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramUpdater;
import org.eclipse.papyrus.uml.diagram.component.part.UMLNodeDescriptor;
import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
@@ -49,6 +52,11 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyCN extends Canonica
/**
* @generated
*/
+ private Set<EStructuralFeature> myFeaturesToSynchronize;
+
+ /**
+ * @generated
+ */
protected void refreshOnActivate() {
// Need to activate editpart children before invoking the canonical refresh for EditParts to add event listeners
List<?> c = getHost().getChildren();
@@ -59,13 +67,15 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyCN extends Canonica
}
/**
- * Gets the feature to synchronize.
- *
- * @return the feature to synchronize
* @generated
*/
- protected EStructuralFeature getFeatureToSynchronize() {
- return UMLPackage.eINSTANCE.getComponent_PackagedElement();
+ protected Set getFeaturesToSynchronize() {
+ if(myFeaturesToSynchronize == null) {
+ myFeaturesToSynchronize = new HashSet<EStructuralFeature>();
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getComponent_PackagedElement());
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute());
+ }
+ return myFeaturesToSynchronize;
}
/**
@@ -108,7 +118,8 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyCN extends Canonica
* @generated
*/
private boolean isMyDiagramElement(View view) {
- return ComponentEditPartCN.VISUAL_ID == UMLVisualIDRegistry.getVisualID(view);
+ int visualID = UMLVisualIDRegistry.getVisualID(view);
+ return visualID == ComponentEditPartCN.VISUAL_ID || visualID == PropertyPartEditPartCN.VISUAL_ID;
}
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyPCN.java
index a35ed95732f..a1b3114be39 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentCanonicalEditPolicyPCN.java
@@ -14,9 +14,11 @@ package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EObject;
@@ -33,6 +35,7 @@ import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
import org.eclipse.gmf.runtime.notation.Node;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramUpdater;
import org.eclipse.papyrus.uml.diagram.component.part.UMLNodeDescriptor;
import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
@@ -49,6 +52,11 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyPCN extends Canonic
/**
* @generated
*/
+ private Set<EStructuralFeature> myFeaturesToSynchronize;
+
+ /**
+ * @generated
+ */
protected void refreshOnActivate() {
// Need to activate editpart children before invoking the canonical refresh for EditParts to add event listeners
List<?> c = getHost().getChildren();
@@ -59,13 +67,15 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyPCN extends Canonic
}
/**
- * Gets the feature to synchronize.
- *
- * @return the feature to synchronize
* @generated
*/
- protected EStructuralFeature getFeatureToSynchronize() {
- return UMLPackage.eINSTANCE.getComponent_PackagedElement();
+ protected Set getFeaturesToSynchronize() {
+ if(myFeaturesToSynchronize == null) {
+ myFeaturesToSynchronize = new HashSet<EStructuralFeature>();
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getComponent_PackagedElement());
+ myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute());
+ }
+ return myFeaturesToSynchronize;
}
/**
@@ -108,7 +118,8 @@ public class ComponentCompositeCompartmentCanonicalEditPolicyPCN extends Canonic
* @generated
*/
private boolean isMyDiagramElement(View view) {
- return ComponentEditPartCN.VISUAL_ID == UMLVisualIDRegistry.getVisualID(view);
+ int visualID = UMLVisualIDRegistry.getVisualID(view);
+ return visualID == ComponentEditPartCN.VISUAL_ID || visualID == PropertyPartEditPartCN.VISUAL_ID;
}
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicy.java
index f7dd5361c47..473de7eaf50 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicy.java
@@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
import org.eclipse.papyrus.uml.diagram.component.edit.commands.ComponentCreateCommandCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.PropertyCreateCommand;
import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
// TODO: Auto-generated Javadoc
@@ -69,6 +70,12 @@ public class ComponentCompositeCompartmentItemSemanticEditPolicy extends UMLBase
}
return getGEFWrapper(new ComponentCreateCommandCN(req));
}
+ if(UMLElementTypes.Property_3079 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new PropertyCreateCommand(req));
+ }
return super.getCreateCommand(req);
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyCN.java
index 91cb2be43e3..be548445f52 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyCN.java
@@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
import org.eclipse.papyrus.uml.diagram.component.edit.commands.ComponentCreateCommandCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.PropertyCreateCommand;
import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
// TODO: Auto-generated Javadoc
@@ -69,6 +70,12 @@ public class ComponentCompositeCompartmentItemSemanticEditPolicyCN extends UMLBa
}
return getGEFWrapper(new ComponentCreateCommandCN(req));
}
+ if(UMLElementTypes.Property_3079 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new PropertyCreateCommand(req));
+ }
return super.getCreateCommand(req);
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyPCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyPCN.java
index 9511030f6d7..b205d5452e7 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyPCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ComponentCompositeCompartmentItemSemanticEditPolicyPCN.java
@@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
import org.eclipse.papyrus.uml.diagram.component.edit.commands.ComponentCreateCommandCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.PropertyCreateCommand;
import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
// TODO: Auto-generated Javadoc
@@ -69,6 +70,12 @@ public class ComponentCompositeCompartmentItemSemanticEditPolicyPCN extends UMLB
}
return getGEFWrapper(new ComponentCreateCommandCN(req));
}
+ if(UMLElementTypes.Property_3079 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new PropertyCreateCommand(req));
+ }
return super.getCreateCommand(req);
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ConnectorItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ConnectorItemSemanticEditPolicy.java
new file mode 100644
index 00000000000..48c66a93686
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ConnectorItemSemanticEditPolicy.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.policies;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.AbstractionCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.CommentAnnotatedElementCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.CommentAnnotatedElementReorientCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ComponentRealizationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConstraintConstrainedElementCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConstraintConstrainedElementReorientCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.DependencyBranchCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.DependencyCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.InterfaceRealizationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ManifestationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.SubstitutionCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.UsageCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.AbstractionEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.CommentAnnotatedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintConstrainedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyBranchEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ManifestationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.SubstitutionEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.UsageEditPart;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+
+/**
+ * @generated
+ */
+public class ConnectorItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
+
+ /**
+ * @generated
+ */
+ public ConnectorItemSemanticEditPolicy() {
+ super(UMLElementTypes.Connector_4019);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req) {
+ EObject selectedEObject = req.getElementToDestroy();
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(selectedEObject);
+ if(provider != null) {
+ // Retrieve delete command from the Element Edit service
+ ICommand deleteCommand = provider.getEditCommand(req);
+ if(deleteCommand != null) {
+ return new ICommandProxy(deleteCommand);
+ }
+ }
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateRelationshipCommand(CreateRelationshipRequest req) {
+ Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req) : getCompleteCreateRelationshipCommand(req);
+ return command != null ? command : super.getCreateRelationshipCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
+ IElementType requestElementType = req.getElementType();
+ if(requestElementType == null) {
+ return null;
+ }
+ IElementType baseElementType = requestElementType;
+ boolean isExtendedType = false;
+ if(requestElementType instanceof IExtendedHintedElementType) {
+ baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
+ if(baseElementType != null) {
+ isExtendedType = true;
+ } else {
+ // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
+ isExtendedType = true;
+ }
+ }
+ if(UMLElementTypes.Usage_4001 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new UsageCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.InterfaceRealization_4006 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new InterfaceRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Substitution_4012 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new SubstitutionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Manifestation_4014 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ManifestationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ComponentRealization_4007 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ComponentRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Abstraction_4013 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new AbstractionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.CommentAnnotatedElement_4015 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.ConstraintConstrainedElement_4009 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.Dependency_4010 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4017 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyBranchCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
+ IElementType requestElementType = req.getElementType();
+ if(requestElementType == null) {
+ return null;
+ }
+ IElementType baseElementType = requestElementType;
+ boolean isExtendedType = false;
+ if(requestElementType instanceof IExtendedHintedElementType) {
+ baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
+ if(baseElementType != null) {
+ isExtendedType = true;
+ } else {
+ // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
+ isExtendedType = true;
+ }
+ }
+ if(UMLElementTypes.Usage_4001 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new UsageCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.InterfaceRealization_4006 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.Substitution_4012 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new SubstitutionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Manifestation_4014 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ManifestationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ComponentRealization_4007 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ComponentRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Abstraction_4013 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new AbstractionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.CommentAnnotatedElement_4015 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new CommentAnnotatedElementCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ConstraintConstrainedElement_4009 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ConstraintConstrainedElementCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4010 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4017 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyBranchCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * Returns command to reorient EClass based link. New link target or source
+ * should be the domain model element associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case UsageEditPart.VISUAL_ID:
+ case InterfaceRealizationEditPart.VISUAL_ID:
+ case SubstitutionEditPart.VISUAL_ID:
+ case ManifestationEditPart.VISUAL_ID:
+ case ComponentRealizationEditPart.VISUAL_ID:
+ case AbstractionEditPart.VISUAL_ID:
+ case DependencyEditPart.VISUAL_ID:
+ case DependencyBranchEditPart.VISUAL_ID:
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ // Retrieve re-orient command from the Element Edit service
+ ICommand reorientCommand = provider.getEditCommand(req);
+ if(reorientCommand == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return getGEFWrapper(reorientCommand.reduce());
+ }
+ return super.getReorientRelationshipCommand(req);
+ }
+
+ /**
+ * Returns command to reorient EReference based link. New link target or source
+ * should be the domain model element associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case CommentAnnotatedElementEditPart.VISUAL_ID:
+ return getGEFWrapper(new CommentAnnotatedElementReorientCommand(req));
+ case ConstraintConstrainedElementEditPart.VISUAL_ID:
+ return getGEFWrapper(new ConstraintConstrainedElementReorientCommand(req));
+ }
+ return super.getReorientReferenceRelationshipCommand(req);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DefaultNamedElementItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DefaultNamedElementItemSemanticEditPolicy.java
index f4d1323fdf8..7e42a205919 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DefaultNamedElementItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DefaultNamedElementItemSemanticEditPolicy.java
@@ -287,8 +287,8 @@ public class DefaultNamedElementItemSemanticEditPolicy extends UMLBaseItemSemant
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyBranchItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyBranchItemSemanticEditPolicy.java
index 75c2ca206d8..3789004a692 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyBranchItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyBranchItemSemanticEditPolicy.java
@@ -274,8 +274,8 @@ public class DependencyBranchItemSemanticEditPolicy extends UMLBaseItemSemanticE
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyNodeItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyNodeItemSemanticEditPolicy.java
index 4d74aea4a5e..f31f5f28d36 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyNodeItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/DependencyNodeItemSemanticEditPolicy.java
@@ -274,8 +274,8 @@ public class DependencyNodeItemSemanticEditPolicy extends UMLBaseItemSemanticEdi
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentCanonicalEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentCanonicalEditPolicyCN.java
index caf0e0725f7..73138c5361a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentCanonicalEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentCanonicalEditPolicyCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import java.util.ArrayList;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentItemSemanticEditPolicyCN.java
index e09555e8baf..57a380c06e2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceAttributeCompartmentItemSemanticEditPolicyCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import org.eclipse.gef.commands.Command;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentCanonicalEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentCanonicalEditPolicyCN.java
index aa071e45517..8120b78b1b0 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentCanonicalEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentCanonicalEditPolicyCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import java.util.ArrayList;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentItemSemanticEditPolicyCN.java
index a16623330ab..30f55bc324c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/InterfaceOperationCompartmentItemSemanticEditPolicyCN.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.edit.policies;
import org.eclipse.gef.commands.Command;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelCanonicalEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelCanonicalEditPolicy.java
index a1bc003d38d..9a39f7c2f76 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelCanonicalEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelCanonicalEditPolicy.java
@@ -59,6 +59,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.DefaultNamedElementEditPart;
@@ -77,6 +78,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ModelEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.SubstitutionEditPart;
@@ -490,6 +492,14 @@ public class ModelCanonicalEditPolicy extends CanonicalEditPolicy {
domain2NotationMap.putView(view.getElement(), view);
break;
}
+ case PropertyPartEditPartCN.VISUAL_ID:
+ {
+ if(!domain2NotationMap.containsKey(view.getElement())) {
+ result.addAll(UMLDiagramUpdater.getProperty_3079ContainedLinks(view));
+ }
+ domain2NotationMap.putView(view.getElement(), view);
+ break;
+ }
case UsageEditPart.VISUAL_ID:
{
if(!domain2NotationMap.containsKey(view.getElement())) {
@@ -562,6 +572,14 @@ public class ModelCanonicalEditPolicy extends CanonicalEditPolicy {
domain2NotationMap.putView(view.getElement(), view);
break;
}
+ case ConnectorEditPart.VISUAL_ID:
+ {
+ if(!domain2NotationMap.containsKey(view.getElement())) {
+ result.addAll(UMLDiagramUpdater.getConnector_4019ContainedLinks(view));
+ }
+ domain2NotationMap.putView(view.getElement(), view);
+ break;
+ }
}
for(Iterator children = view.getChildren().iterator(); children.hasNext();) {
result.addAll(collectAllLinks((View)children.next(), domain2NotationMap));
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicy.java
index 06454c7c85f..36ec451cdd5 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicy.java
@@ -627,8 +627,8 @@ public class ModelItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicyCN.java
index e13399e3a33..3b4473b6949 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/ModelItemSemanticEditPolicyCN.java
@@ -627,8 +627,8 @@ public class ModelItemSemanticEditPolicyCN extends UMLBaseItemSemanticEditPolicy
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PackageItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PackageItemSemanticEditPolicyCN.java
index 37ccc4a7ccb..7f919994079 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PackageItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PackageItemSemanticEditPolicyCN.java
@@ -274,8 +274,8 @@ public class PackageItemSemanticEditPolicyCN extends UMLBaseItemSemanticEditPoli
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyCanonicalEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyCanonicalEditPolicy.java
new file mode 100644
index 00000000000..fd5cce09029
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyCanonicalEditPolicy.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.policies;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.ui.commands.DeferredLayoutCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.commands.SetViewMutabilityCommand;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramUpdater;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLNodeDescriptor;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * @generated
+ */
+public class PropertyCanonicalEditPolicy extends CanonicalEditPolicy {
+
+ /**
+ * @generated
+ */
+ protected void refreshOnActivate() {
+ // Need to activate editpart children before invoking the canonical refresh for EditParts to add event listeners
+ List<?> c = getHost().getChildren();
+ for(int i = 0; i < c.size(); i++) {
+ ((EditPart)c.get(i)).activate();
+ }
+ super.refreshOnActivate();
+ }
+
+ /**
+ * @generated
+ */
+ protected EStructuralFeature getFeatureToSynchronize() {
+ return UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute();
+ }
+
+ /**
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ protected List getSemanticChildrenList() {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<UMLNodeDescriptor> childDescriptors = UMLDiagramUpdater.getProperty_3079SemanticChildren(viewObject);
+ for(UMLNodeDescriptor d : childDescriptors) {
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection<EObject> semanticChildren, final View view) {
+ return isMyDiagramElement(view) && !semanticChildren.contains(view.getElement());
+ }
+
+ /**
+ * @generated
+ */
+ private boolean isMyDiagramElement(View view) {
+ return PortEditPart.VISUAL_ID == UMLVisualIDRegistry.getVisualID(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshSemantic() {
+ if(resolveSemanticElement() == null) {
+ return;
+ }
+ LinkedList<IAdaptable> createdViews = new LinkedList<IAdaptable>();
+ List<UMLNodeDescriptor> childDescriptors = UMLDiagramUpdater.getProperty_3079SemanticChildren((View)getHost().getModel());
+ LinkedList<View> orphaned = new LinkedList<View>();
+ // we care to check only views we recognize as ours
+ LinkedList<View> knownViewChildren = new LinkedList<View>();
+ for(View v : getViewChildren()) {
+ if(isMyDiagramElement(v)) {
+ knownViewChildren.add(v);
+ }
+ }
+ // alternative to #cleanCanonicalSemanticChildren(getViewChildren(), semanticChildren)
+ //
+ // iteration happens over list of desired semantic elements, trying to find best matching View, while original CEP
+ // iterates views, potentially losing view (size/bounds) information - i.e. if there are few views to reference same EObject, only last one
+ // to answer isOrphaned == true will be used for the domain element representation, see #cleanCanonicalSemanticChildren()
+ for(Iterator<UMLNodeDescriptor> descriptorsIterator = childDescriptors.iterator(); descriptorsIterator.hasNext();) {
+ UMLNodeDescriptor next = descriptorsIterator.next();
+ String hint = UMLVisualIDRegistry.getType(next.getVisualID());
+ LinkedList<View> perfectMatch = new LinkedList<View>(); // both semanticElement and hint match that of NodeDescriptor
+ for(View childView : getViewChildren()) {
+ EObject semanticElement = childView.getElement();
+ if(next.getModelElement().equals(semanticElement)) {
+ if(hint.equals(childView.getType())) {
+ perfectMatch.add(childView);
+ // actually, can stop iteration over view children here, but
+ // may want to use not the first view but last one as a 'real' match (the way original CEP does
+ // with its trick with viewToSemanticMap inside #cleanCanonicalSemanticChildren
+ }
+ }
+ }
+ if(perfectMatch.size() > 0) {
+ descriptorsIterator.remove(); // precise match found no need to create anything for the NodeDescriptor
+ // use only one view (first or last?), keep rest as orphaned for further consideration
+ knownViewChildren.remove(perfectMatch.getFirst());
+ }
+ }
+ // those left in knownViewChildren are subject to removal - they are our diagram elements we didn't find match to,
+ // or those we have potential matches to, and thus need to be recreated, preserving size/location information.
+ orphaned.addAll(knownViewChildren);
+ //
+ ArrayList<CreateViewRequest.ViewDescriptor> viewDescriptors = new ArrayList<CreateViewRequest.ViewDescriptor>(childDescriptors.size());
+ for(UMLNodeDescriptor next : childDescriptors) {
+ String hint = UMLVisualIDRegistry.getType(next.getVisualID());
+ IAdaptable elementAdapter = new CanonicalElementAdapter(next.getModelElement(), hint);
+ CreateViewRequest.ViewDescriptor descriptor = new CreateViewRequest.ViewDescriptor(elementAdapter, Node.class, hint, ViewUtil.APPEND, false, host().getDiagramPreferencesHint());
+ viewDescriptors.add(descriptor);
+ }
+ boolean changed = deleteViews(orphaned.iterator());
+ //
+ CreateViewRequest request = getCreateViewRequest(viewDescriptors);
+ Command cmd = getCreateViewCommand(request);
+ if(cmd != null && cmd.canExecute()) {
+ SetViewMutabilityCommand.makeMutable(new EObjectAdapter(host().getNotationView())).execute();
+ executeCommand(cmd);
+ @SuppressWarnings("unchecked")
+ List<IAdaptable> nl = (List<IAdaptable>)request.getNewObject();
+ createdViews.addAll(nl);
+ }
+ if(changed || createdViews.size() > 0) {
+ postProcessRefreshSemantic(createdViews);
+ }
+ if(createdViews.size() > 1) {
+ // perform a layout of the container
+ DeferredLayoutCommand layoutCmd = new DeferredLayoutCommand(host().getEditingDomain(), createdViews, host());
+ executeCommand(new ICommandProxy(layoutCmd));
+ }
+ makeViewsImmutable(createdViews);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java
new file mode 100644
index 00000000000..172f026e434
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java
@@ -0,0 +1,401 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST)- Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.edit.policies;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.command.DeleteCommand;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.commands.wrappers.EMFtoGMFCommandWrapper;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.AbstractionCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.CommentAnnotatedElementCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.CommentAnnotatedElementReorientCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ComponentRealizationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConstraintConstrainedElementCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConstraintConstrainedElementReorientCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.DependencyBranchCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.DependencyCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.InterfaceRealizationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.ManifestationCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.PortCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.SubstitutionCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.commands.UsageCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.AbstractionEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.CommentAnnotatedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintConstrainedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyBranchEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.DependencyEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.InterfaceRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ManifestationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.SubstitutionEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.UsageEditPart;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+
+/**
+ * @generated
+ */
+public class PropertyItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
+
+ /**
+ * @generated
+ */
+ public PropertyItemSemanticEditPolicy() {
+ super(UMLElementTypes.Property_3079);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req) {
+ IElementType requestElementType = req.getElementType();
+ if(requestElementType == null) {
+ return super.getCreateCommand(req);
+ }
+ IElementType baseElementType = requestElementType;
+ boolean isExtendedType = false;
+ if(requestElementType instanceof IExtendedHintedElementType) {
+ baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
+ if(baseElementType != null) {
+ isExtendedType = true;
+ } else {
+ // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
+ isExtendedType = true;
+ }
+ }
+ if(UMLElementTypes.Port_3069 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new PortCreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req) {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(true);
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if(annotation == null) {
+ // there are indirectly referenced children, need extra commands: true
+ addDestroyChildNodesCommand(cmd);
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ List<EObject> todestroy = new ArrayList<EObject>();
+ todestroy.add(req.getElementToDestroy());
+ //cmd.add(new org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand(req));
+ cmd.add(new EMFtoGMFCommandWrapper(new DeleteCommand(getEditingDomain(), todestroy)));
+ } else {
+ cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+ /**
+ * @generated
+ */
+ protected void addDestroyChildNodesCommand(ICompositeCommand cmd) {
+ View view = (View)getHost().getModel();
+ for(Iterator<?> nit = view.getChildren().iterator(); nit.hasNext();) {
+ Node node = (Node)nit.next();
+ switch(UMLVisualIDRegistry.getVisualID(node)) {
+ case PortEditPart.VISUAL_ID:
+ for(Iterator<?> it = node.getTargetEdges().iterator(); it.hasNext();) {
+ Edge incomingLink = (Edge)it.next();
+ switch(UMLVisualIDRegistry.getVisualID(incomingLink)) {
+ case CommentAnnotatedElementEditPart.VISUAL_ID:
+ case ConstraintConstrainedElementEditPart.VISUAL_ID:
+ DestroyReferenceRequest destroyRefReq = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null, incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(destroyRefReq));
+ cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), incomingLink));
+ break;
+ case UsageEditPart.VISUAL_ID:
+ case SubstitutionEditPart.VISUAL_ID:
+ case ManifestationEditPart.VISUAL_ID:
+ case ComponentRealizationEditPart.VISUAL_ID:
+ case AbstractionEditPart.VISUAL_ID:
+ case DependencyEditPart.VISUAL_ID:
+ case DependencyBranchEditPart.VISUAL_ID:
+ DestroyElementRequest destroyEltReq = new DestroyElementRequest(incomingLink.getElement(), false);
+ cmd.add(new DestroyElementCommand(destroyEltReq));
+ cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), incomingLink));
+ break;
+ }
+ }
+ for(Iterator<?> it = node.getSourceEdges().iterator(); it.hasNext();) {
+ Edge outgoingLink = (Edge)it.next();
+ switch(UMLVisualIDRegistry.getVisualID(outgoingLink)) {
+ case UsageEditPart.VISUAL_ID:
+ case InterfaceRealizationEditPart.VISUAL_ID:
+ case SubstitutionEditPart.VISUAL_ID:
+ case ManifestationEditPart.VISUAL_ID:
+ case ComponentRealizationEditPart.VISUAL_ID:
+ case AbstractionEditPart.VISUAL_ID:
+ case DependencyEditPart.VISUAL_ID:
+ case DependencyBranchEditPart.VISUAL_ID:
+ DestroyElementRequest destroyEltReq = new DestroyElementRequest(outgoingLink.getElement(), false);
+ cmd.add(new DestroyElementCommand(destroyEltReq));
+ cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), outgoingLink));
+ break;
+ }
+ }
+ cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), node.getElement(), false))); // directlyOwned: false
+ // don't need explicit deletion of node as parent's view deletion would clean child views as well
+ // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), node));
+ break;
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateRelationshipCommand(CreateRelationshipRequest req) {
+ Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req) : getCompleteCreateRelationshipCommand(req);
+ return command != null ? command : super.getCreateRelationshipCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
+ IElementType requestElementType = req.getElementType();
+ if(requestElementType == null) {
+ return null;
+ }
+ IElementType baseElementType = requestElementType;
+ boolean isExtendedType = false;
+ if(requestElementType instanceof IExtendedHintedElementType) {
+ baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
+ if(baseElementType != null) {
+ isExtendedType = true;
+ } else {
+ // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
+ isExtendedType = true;
+ }
+ }
+ if(UMLElementTypes.Usage_4001 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new UsageCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.InterfaceRealization_4006 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new InterfaceRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Substitution_4012 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new SubstitutionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Manifestation_4014 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ManifestationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ComponentRealization_4007 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ComponentRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Abstraction_4013 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new AbstractionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.CommentAnnotatedElement_4015 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.ConstraintConstrainedElement_4009 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.Dependency_4010 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4017 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyBranchCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
+ IElementType requestElementType = req.getElementType();
+ if(requestElementType == null) {
+ return null;
+ }
+ IElementType baseElementType = requestElementType;
+ boolean isExtendedType = false;
+ if(requestElementType instanceof IExtendedHintedElementType) {
+ baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
+ if(baseElementType != null) {
+ isExtendedType = true;
+ } else {
+ // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
+ isExtendedType = true;
+ }
+ }
+ if(UMLElementTypes.Usage_4001 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new UsageCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.InterfaceRealization_4006 == baseElementType) {
+ return null;
+ }
+ if(UMLElementTypes.Substitution_4012 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new SubstitutionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Manifestation_4014 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ManifestationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ComponentRealization_4007 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ComponentRealizationCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Abstraction_4013 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new AbstractionCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.CommentAnnotatedElement_4015 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new CommentAnnotatedElementCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.ConstraintConstrainedElement_4009 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new ConstraintConstrainedElementCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4010 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if(UMLElementTypes.Dependency_4017 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ return getGEFWrapper(new DependencyBranchCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * Returns command to reorient EClass based link. New link target or source
+ * should be the domain model element associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case UsageEditPart.VISUAL_ID:
+ case InterfaceRealizationEditPart.VISUAL_ID:
+ case SubstitutionEditPart.VISUAL_ID:
+ case ManifestationEditPart.VISUAL_ID:
+ case ComponentRealizationEditPart.VISUAL_ID:
+ case AbstractionEditPart.VISUAL_ID:
+ case DependencyEditPart.VISUAL_ID:
+ case DependencyBranchEditPart.VISUAL_ID:
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ // Retrieve re-orient command from the Element Edit service
+ ICommand reorientCommand = provider.getEditCommand(req);
+ if(reorientCommand == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return getGEFWrapper(reorientCommand.reduce());
+ }
+ return super.getReorientRelationshipCommand(req);
+ }
+
+ /**
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req) {
+ switch(getVisualID(req)) {
+ case CommentAnnotatedElementEditPart.VISUAL_ID:
+ return getGEFWrapper(new CommentAnnotatedElementReorientCommand(req));
+ case ConstraintConstrainedElementEditPart.VISUAL_ID:
+ return getGEFWrapper(new ConstraintConstrainedElementReorientCommand(req));
+ }
+ return super.getReorientReferenceRelationshipCommand(req);
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/RectangleInterfaceItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/RectangleInterfaceItemSemanticEditPolicy.java
index 22ac18ffcf9..ef4527b1f92 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/RectangleInterfaceItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/RectangleInterfaceItemSemanticEditPolicy.java
@@ -357,8 +357,8 @@ public class RectangleInterfaceItemSemanticEditPolicy extends UMLBaseItemSemanti
}
/**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
+ * Returns command to reorient EReference based link. New link target or
+ * source should be the domain model element associated with this node.
*
* @generated
*/
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/UMLBaseItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/UMLBaseItemSemanticEditPolicy.java
index b9c150d1168..6ccb7b8c931 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/UMLBaseItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/UMLBaseItemSemanticEditPolicy.java
@@ -59,6 +59,8 @@ import org.eclipse.uml2.uml.Abstraction;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Element;
@@ -68,6 +70,7 @@ import org.eclipse.uml2.uml.InterfaceRealization;
import org.eclipse.uml2.uml.Manifestation;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.StructuredClassifier;
import org.eclipse.uml2.uml.Substitution;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.Usage;
@@ -717,6 +720,13 @@ public class UMLBaseItemSemanticEditPolicy extends SemanticEditPolicy {
}
/**
+ * @generated
+ */
+ public boolean canCreateConnector_4019(StructuredClassifier container, ConnectorEnd source, ConnectorEnd target) {
+ return canExistConnector_4019(container, null, source, target);
+ }
+
+ /**
* Can exist usage_4001.
*
* @param container
@@ -957,5 +967,12 @@ public class UMLBaseItemSemanticEditPolicy extends SemanticEditPolicy {
public boolean canExistLink_4018() {
return true;
}
+
+ /**
+ * @generated
+ */
+ public boolean canExistConnector_4019(StructuredClassifier container, Connector linkInstance, ConnectorEnd source, ConnectorEnd target) {
+ return true;
+ }
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/Messages.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/Messages.java
index be4969f6055..073952f2193 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/Messages.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/Messages.java
@@ -385,6 +385,16 @@ public class Messages extends NLS {
/**
* @generated
*/
+ public static String createConnectorCreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String createConnectorCreationTool_desc;
+
+ /**
+ * @generated
+ */
public static String createDependencyCreationTool_title;
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLDiagramUpdater.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLDiagramUpdater.java
index 7d0aae5f03d..bbcdd13f7b8 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLDiagramUpdater.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLDiagramUpdater.java
@@ -24,6 +24,8 @@ import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.gmf.tooling.runtime.update.DiagramUpdater;
+import org.eclipse.papyrus.uml.diagram.common.part.ICustomDiagramUpdater;
+import org.eclipse.papyrus.uml.diagram.component.custom.parts.PropertyDiagramUpdater;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.AbstractionEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.CommentAnnotatedElementEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.CommentEditPart;
@@ -36,6 +38,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintConstrainedElementEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
@@ -63,6 +66,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackagePackageableEl
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackagePackageableElementCompartmentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyForInterfaceEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
@@ -74,6 +78,8 @@ import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.Component;
import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Element;
@@ -89,6 +95,7 @@ import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.Port;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.StructuredClassifier;
import org.eclipse.uml2.uml.Substitution;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.UMLPackage;
@@ -112,6 +119,8 @@ public class UMLDiagramUpdater {
return getComponent_3070SemanticChildren(view);
case ComponentEditPartPCN.VISUAL_ID:
return getComponent_3071SemanticChildren(view);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return getProperty_3079SemanticChildren(view);
case ComponentCompositeCompartmentEditPart.VISUAL_ID:
return getComponentCompositeCompartment_7001SemanticChildren(view);
case ModelPackageableElementCompartmentEditPart.VISUAL_ID:
@@ -265,6 +274,14 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List getProperty_3079SemanticChildren(View view) {
+ ICustomDiagramUpdater customUpdater = new PropertyDiagramUpdater();
+ return customUpdater.getSemanticChildren(view);
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLNodeDescriptor> getComponentCompositeCompartment_7001SemanticChildren(View view) {
if(false == view.eContainer() instanceof View) {
return Collections.emptyList();
@@ -283,6 +300,14 @@ public class UMLDiagramUpdater {
continue;
}
}
+ for(Iterator<?> it = modelElement.getOwnedAttributes().iterator(); it.hasNext();) {
+ Property childElement = (Property)it.next();
+ int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
+ if(visualID == PropertyPartEditPartCN.VISUAL_ID) {
+ result.add(new UMLNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
return result;
}
@@ -531,6 +556,14 @@ public class UMLDiagramUpdater {
continue;
}
}
+ for(Iterator<?> it = modelElement.getOwnedAttributes().iterator(); it.hasNext();) {
+ Property childElement = (Property)it.next();
+ int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
+ if(visualID == PropertyPartEditPartCN.VISUAL_ID) {
+ result.add(new UMLNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
return result;
}
@@ -555,6 +588,14 @@ public class UMLDiagramUpdater {
continue;
}
}
+ for(Iterator<?> it = modelElement.getOwnedAttributes().iterator(); it.hasNext();) {
+ Property childElement = (Property)it.next();
+ int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
+ if(visualID == PropertyPartEditPartCN.VISUAL_ID) {
+ result.add(new UMLNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
return result;
}
@@ -719,6 +760,8 @@ public class UMLDiagramUpdater {
return getReception_6ContainedLinks(view);
case InterfaceEditPartPCN.VISUAL_ID:
return getInterface_3072ContainedLinks(view);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return getProperty_3079ContainedLinks(view);
case UsageEditPart.VISUAL_ID:
return getUsage_4001ContainedLinks(view);
case InterfaceRealizationEditPart.VISUAL_ID:
@@ -737,6 +780,8 @@ public class UMLDiagramUpdater {
return getDependency_4010ContainedLinks(view);
case DependencyBranchEditPart.VISUAL_ID:
return getDependency_4017ContainedLinks(view);
+ case ConnectorEditPart.VISUAL_ID:
+ return getConnector_4019ContainedLinks(view);
}
return Collections.emptyList();
}
@@ -788,6 +833,8 @@ public class UMLDiagramUpdater {
return getReception_6IncomingLinks(view);
case InterfaceEditPartPCN.VISUAL_ID:
return getInterface_3072IncomingLinks(view);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return getProperty_3079IncomingLinks(view);
case UsageEditPart.VISUAL_ID:
return getUsage_4001IncomingLinks(view);
case InterfaceRealizationEditPart.VISUAL_ID:
@@ -806,6 +853,8 @@ public class UMLDiagramUpdater {
return getDependency_4010IncomingLinks(view);
case DependencyBranchEditPart.VISUAL_ID:
return getDependency_4017IncomingLinks(view);
+ case ConnectorEditPart.VISUAL_ID:
+ return getConnector_4019IncomingLinks(view);
}
return Collections.emptyList();
}
@@ -857,6 +906,8 @@ public class UMLDiagramUpdater {
return getReception_6OutgoingLinks(view);
case InterfaceEditPartPCN.VISUAL_ID:
return getInterface_3072OutgoingLinks(view);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return getProperty_3079OutgoingLinks(view);
case UsageEditPart.VISUAL_ID:
return getUsage_4001OutgoingLinks(view);
case InterfaceRealizationEditPart.VISUAL_ID:
@@ -875,6 +926,8 @@ public class UMLDiagramUpdater {
return getDependency_4010OutgoingLinks(view);
case DependencyBranchEditPart.VISUAL_ID:
return getDependency_4017OutgoingLinks(view);
+ case ConnectorEditPart.VISUAL_ID:
+ return getConnector_4019OutgoingLinks(view);
}
return Collections.emptyList();
}
@@ -910,6 +963,7 @@ public class UMLDiagramUpdater {
Component modelElement = (Component)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getContainedTypeModelFacetLinks_Generalization_4003(modelElement));
+ result.addAll(getContainedTypeModelFacetLinks_Connector_4019(modelElement));
return result;
}
@@ -1049,6 +1103,7 @@ public class UMLDiagramUpdater {
Component modelElement = (Component)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getContainedTypeModelFacetLinks_Generalization_4003(modelElement));
+ result.addAll(getContainedTypeModelFacetLinks_Connector_4019(modelElement));
return result;
}
@@ -1059,6 +1114,7 @@ public class UMLDiagramUpdater {
Component modelElement = (Component)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getContainedTypeModelFacetLinks_Generalization_4003(modelElement));
+ result.addAll(getContainedTypeModelFacetLinks_Connector_4019(modelElement));
return result;
}
@@ -1075,6 +1131,13 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getProperty_3079ContainedLinks(View view) {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLLinkDescriptor> getComment_3074ContainedLinks(View view) {
Comment modelElement = (Comment)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
@@ -1179,6 +1242,13 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getConnector_4019ContainedLinks(View view) {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLLinkDescriptor> getDependency_3203IncomingLinks(View view) {
Dependency modelElement = (Dependency)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
@@ -1485,6 +1555,25 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getProperty_3079IncomingLinks(View view) {
+ Property modelElement = (Property)view.getElement();
+ Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
+ LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
+ result.addAll(getIncomingTypeModelFacetLinks_Usage_4001(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Substitution_4012(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Manifestation_4014(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_ComponentRealization_4007(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Abstraction_4013(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_4015(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_4009(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Dependency_4010(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Dependency_4017(modelElement, crossReferences));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLLinkDescriptor> getComment_3074IncomingLinks(View view) {
Comment modelElement = (Comment)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
@@ -1701,6 +1790,25 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getConnector_4019IncomingLinks(View view) {
+ Connector modelElement = (Connector)view.getElement();
+ Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
+ LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
+ result.addAll(getIncomingTypeModelFacetLinks_Usage_4001(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Substitution_4012(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Manifestation_4014(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_ComponentRealization_4007(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Abstraction_4013(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_4015(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_4009(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Dependency_4010(modelElement, crossReferences));
+ result.addAll(getIncomingTypeModelFacetLinks_Dependency_4017(modelElement, crossReferences));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLLinkDescriptor> getDependency_3203OutgoingLinks(View view) {
Dependency modelElement = (Dependency)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
@@ -1973,6 +2081,23 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getProperty_3079OutgoingLinks(View view) {
+ Property modelElement = (Property)view.getElement();
+ LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
+ result.addAll(getOutgoingTypeModelFacetLinks_Usage_4001(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_InterfaceRealization_4006(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Substitution_4012(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Manifestation_4014(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_ComponentRealization_4007(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Abstraction_4013(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Dependency_4010(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Dependency_4017(modelElement));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
public static List<UMLLinkDescriptor> getComment_3074OutgoingLinks(View view) {
Comment modelElement = (Comment)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
@@ -2165,6 +2290,23 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ public static List<UMLLinkDescriptor> getConnector_4019OutgoingLinks(View view) {
+ Connector modelElement = (Connector)view.getElement();
+ LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
+ result.addAll(getOutgoingTypeModelFacetLinks_Usage_4001(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_InterfaceRealization_4006(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Substitution_4012(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Manifestation_4014(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_ComponentRealization_4007(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Abstraction_4013(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Dependency_4010(modelElement));
+ result.addAll(getOutgoingTypeModelFacetLinks_Dependency_4017(modelElement));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
private static Collection<UMLLinkDescriptor> getContainedTypeModelFacetLinks_Usage_4001(Package container) {
Collection result = new LinkedList();
for(Iterator links = container.getPackagedElements().iterator(); links.hasNext();) {
@@ -2429,6 +2571,38 @@ public class UMLDiagramUpdater {
/**
* @generated
*/
+ private static Collection<UMLLinkDescriptor> getContainedTypeModelFacetLinks_Connector_4019(StructuredClassifier container) {
+ Collection result = new LinkedList();
+ for(Iterator links = container.getOwnedConnectors().iterator(); links.hasNext();) {
+ EObject linkObject = (EObject)links.next();
+ if(false == linkObject instanceof Connector) {
+ continue;
+ }
+ Connector link = (Connector)linkObject;
+ if(ConnectorEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
+ continue;
+ }
+ //Papyrus GenCode
+ List targets = link.getEnds();
+ Object theTarget = targets.size() >= 2 ? targets.get(1) : null;
+ if(false == theTarget instanceof ConnectorEnd) {
+ continue;
+ }
+ ConnectorEnd dst = (ConnectorEnd)theTarget;
+ List sources = link.getEnds();
+ Object theSource = sources.size() >= 1 ? sources.get(0) : null;
+ if(false == theSource instanceof ConnectorEnd) {
+ continue;
+ }
+ ConnectorEnd src = (ConnectorEnd)theSource;
+ result.add(new UMLLinkDescriptor(src, dst, link, UMLElementTypes.Connector_4019, ConnectorEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
private static Collection<UMLLinkDescriptor> getIncomingTypeModelFacetLinks_Usage_4001(NamedElement target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLPaletteFactory.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLPaletteFactory.java
index c84bf8c6e52..34b6574f20e 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLPaletteFactory.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLPaletteFactory.java
@@ -85,6 +85,11 @@ public class UMLPaletteFactory extends PaletteFactory.Adapter {
/**
* @generated
*/
+ private final static String COMPONENT_TOOL_CONNECTOR = "component.tool.connector"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
private final static String COMPONENT_TOOL_DEPENDENCY = "component.tool.dependency"; //$NON-NLS-1$
/**
@@ -170,6 +175,9 @@ public class UMLPaletteFactory extends PaletteFactory.Adapter {
if(toolId.equals(COMPONENT_TOOL_LINK)) {
return createLinkCreationTool();
}
+ if(toolId.equals(COMPONENT_TOOL_CONNECTOR)) {
+ return createConnectorCreationTool();
+ }
if(toolId.equals(COMPONENT_TOOL_DEPENDENCY)) {
return createDependencyCreationTool();
}
@@ -258,8 +266,9 @@ public class UMLPaletteFactory extends PaletteFactory.Adapter {
* @generated
*/
private Tool createPropertyCreationTool() {
- List<IElementType> types = new ArrayList<IElementType>(1);
+ List<IElementType> types = new ArrayList<IElementType>(2);
types.add(UMLElementTypes.Property_1);
+ types.add(UMLElementTypes.Property_3079);
Tool tool = new AspectUnspecifiedTypeCreationTool(types);
return tool;
}
@@ -330,6 +339,16 @@ public class UMLPaletteFactory extends PaletteFactory.Adapter {
/**
* @generated
*/
+ private Tool createConnectorCreationTool() {
+ List<IElementType> types = new ArrayList<IElementType>(1);
+ types.add(UMLElementTypes.Connector_4019);
+ Tool tool = new AspectUnspecifiedTypeConnectionTool(types);
+ return tool;
+ }
+
+ /**
+ * @generated
+ */
private Tool createDependencyCreationTool() {
List<IElementType> types = new ArrayList<IElementType>(1);
types.add(UMLElementTypes.Dependency_4010);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLVisualIDRegistry.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLVisualIDRegistry.java
index 765d2a54bc9..0b694f6d6b3 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLVisualIDRegistry.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/part/UMLVisualIDRegistry.java
@@ -38,6 +38,9 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentNameEditPar
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationAppliedStereotypeEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationNameEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorAppliedStereotypeEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintNameEditPart;
@@ -83,6 +86,8 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortAppliedStereotyp
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyForInterfaceEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartNameEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
@@ -241,10 +246,18 @@ public class UMLVisualIDRegistry {
return PortEditPart.VISUAL_ID;
}
break;
+ case PropertyPartEditPartCN.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getPort().isSuperTypeOf(domainElement.eClass())) {
+ return PortEditPart.VISUAL_ID;
+ }
+ break;
case ComponentCompositeCompartmentEditPart.VISUAL_ID:
if(UMLPackage.eINSTANCE.getComponent().isSuperTypeOf(domainElement.eClass())) {
return ComponentEditPartCN.VISUAL_ID;
}
+ if(UMLPackage.eINSTANCE.getProperty().isSuperTypeOf(domainElement.eClass())) {
+ return PropertyPartEditPartCN.VISUAL_ID;
+ }
break;
case ModelPackageableElementCompartmentEditPart.VISUAL_ID:
if(UMLPackage.eINSTANCE.getInterface().isSuperTypeOf(domainElement.eClass())) {
@@ -342,11 +355,17 @@ public class UMLVisualIDRegistry {
if(UMLPackage.eINSTANCE.getComponent().isSuperTypeOf(domainElement.eClass())) {
return ComponentEditPartCN.VISUAL_ID;
}
+ if(UMLPackage.eINSTANCE.getProperty().isSuperTypeOf(domainElement.eClass())) {
+ return PropertyPartEditPartCN.VISUAL_ID;
+ }
break;
case ComponentCompositeCompartmentEditPartPCN.VISUAL_ID:
if(UMLPackage.eINSTANCE.getComponent().isSuperTypeOf(domainElement.eClass())) {
return ComponentEditPartCN.VISUAL_ID;
}
+ if(UMLPackage.eINSTANCE.getProperty().isSuperTypeOf(domainElement.eClass())) {
+ return PropertyPartEditPartCN.VISUAL_ID;
+ }
break;
case InterfaceAttributeCompartmentEditPart.VISUAL_ID:
if(UMLPackage.eINSTANCE.getProperty().isSuperTypeOf(domainElement.eClass())) {
@@ -567,10 +586,21 @@ public class UMLVisualIDRegistry {
return true;
}
break;
+ case PropertyPartEditPartCN.VISUAL_ID:
+ if(PropertyPartNameEditPartCN.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
+ if(PortEditPart.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
+ break;
case ComponentCompositeCompartmentEditPart.VISUAL_ID:
if(ComponentEditPartCN.VISUAL_ID == nodeVisualID) {
return true;
}
+ if(PropertyPartEditPartCN.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
break;
case ModelPackageableElementCompartmentEditPart.VISUAL_ID:
if(RectangleInterfaceEditPartCN.VISUAL_ID == nodeVisualID) {
@@ -668,11 +698,17 @@ public class UMLVisualIDRegistry {
if(ComponentEditPartCN.VISUAL_ID == nodeVisualID) {
return true;
}
+ if(PropertyPartEditPartCN.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
break;
case ComponentCompositeCompartmentEditPartPCN.VISUAL_ID:
if(ComponentEditPartCN.VISUAL_ID == nodeVisualID) {
return true;
}
+ if(PropertyPartEditPartCN.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
break;
case InterfaceAttributeCompartmentEditPart.VISUAL_ID:
if(PropertyForInterfaceEditPart.VISUAL_ID == nodeVisualID) {
@@ -745,6 +781,14 @@ public class UMLVisualIDRegistry {
return true;
}
break;
+ case ConnectorEditPart.VISUAL_ID:
+ if(ConnectorAppliedStereotypeEditPart.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
+ if(ConnectorNameEditPart.VISUAL_ID == nodeVisualID) {
+ return true;
+ }
+ break;
}
return false;
}
@@ -783,6 +827,9 @@ public class UMLVisualIDRegistry {
if(UMLPackage.eINSTANCE.getDependency().isSuperTypeOf(domainElement.eClass())) {
return DependencyBranchEditPart.VISUAL_ID;
}
+ if(UMLPackage.eINSTANCE.getConnector().isSuperTypeOf(domainElement.eClass())) {
+ return ConnectorEditPart.VISUAL_ID;
+ }
return -1;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/AbstractionPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/AbstractionPreferencePage.java
index c05fe8cf2d6..179956d00e3 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/AbstractionPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/AbstractionPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/CommentPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/CommentPreferencePage.java
index c179f358536..649a5a628de 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/CommentPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/CommentPreferencePage.java
@@ -13,8 +13,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentPreferencePage.java
index 11277a84140..423032803f4 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
@@ -104,7 +104,7 @@ public class ComponentPreferencePage extends AbstractPapyrusNodePreferencePage {
*/
private static TreeMap<String, Boolean> getStaticCompartmentVisibilityPreferences() {
TreeMap<String, Boolean> map = new TreeMap<String, Boolean>();
- map.put("CompositeCompartment", Boolean.FALSE);
+ map.put("CompositeCompartment", Boolean.TRUE);
return map;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentRealizationPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentRealizationPreferencePage.java
index 719ae31d405..7eda37e8a42 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentRealizationPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ComponentRealizationPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConnectorPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConnectorPreferencePage.java
new file mode 100644
index 00000000000..345882cb69f
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConnectorPreferencePage.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ *
+ * 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:
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ /*****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.component.preferences;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
+import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
+
+/**
+ * @generated
+ */
+public class ConnectorPreferencePage extends AbstractPapyrusLinkPreferencePage {
+
+ /**
+ * @generated
+ */
+ public ConnectorPreferencePage() {
+ super();
+ setPreferenceKey(ComponentDiagramEditPart.MODEL_ID + "_Connector");
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected String getBundleId() {
+ return UMLDiagramEditorPlugin.ID;
+ }
+
+ /**
+ * @generated
+ */
+ public static void initDefaults(IPreferenceStore store) {
+ String key = ComponentDiagramEditPart.MODEL_ID + "_Connector";
+ Map<String, Boolean> map = getStaticLabelVisibilityPreferences();
+ for(String role : map.keySet()) {
+ String preferenceName = PreferencesConstantsHelper.getLabelElementConstant(key, role, PreferencesConstantsHelper.LABEL_VISIBILITY);
+ store.setDefault(preferenceName, map.get(role));
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private static TreeMap<String, String> getStaticLabelRole() {
+ TreeMap<String, String> map = new TreeMap<String, String>(new StringComparator());
+ map.put("Name", "");//$NON-NLS-1$ //$NON-NLS-2$
+ return map;
+ }
+
+ /**
+ * @generated
+ */
+ private static TreeMap<String, Boolean> getStaticLabelVisibilityPreferences() {
+ TreeMap<String, Boolean> map = new TreeMap<String, Boolean>();
+ map.put("Name", Boolean.FALSE);//$NON-NLS-1$
+ return map;
+ }
+
+ /**
+ * @generated
+ */
+ protected TreeMap<String, String> getLabelRole() {
+ return getStaticLabelRole();
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConstraintPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConstraintPreferencePage.java
index 5dfbe15e6f4..76008afe195 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConstraintPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ConstraintPreferencePage.java
@@ -13,8 +13,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DefaultNamedElementPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DefaultNamedElementPreferencePage.java
index 1649a634d4d..5758dfc1908 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DefaultNamedElementPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DefaultNamedElementPreferencePage.java
@@ -13,8 +13,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyLinkPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyLinkPreferencePage.java
index 0e1adf8d5d1..a1349566615 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyLinkPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyLinkPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyNodePreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyNodePreferencePage.java
index 2138c878582..dd8a64a5451 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyNodePreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DependencyNodePreferencePage.java
@@ -13,8 +13,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DiagramPreferenceInitializer.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DiagramPreferenceInitializer.java
index 954b7195f7c..defb2ade432 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DiagramPreferenceInitializer.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/DiagramPreferenceInitializer.java
@@ -47,6 +47,7 @@ public class DiagramPreferenceInitializer extends AbstractPreferenceInitializer
ConstraintConstrainedElementPreferencePage.initDefaults(store);
AbstractionPreferencePage.initDefaults(store);
InterfacePortLinkPreferencePage.initDefaults(store);
+ ConnectorPreferencePage.initDefaults(store);
ManifestationPreferencePage.initDefaults(store);
GeneralizationPreferencePage.initDefaults(store);
DependencyPreferencePage.initDefaults(store);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/GeneralizationPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/GeneralizationPreferencePage.java
index 23c90404b30..30a443cbe38 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/GeneralizationPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/GeneralizationPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePortLinkPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePortLinkPreferencePage.java
index 41562b70b88..33e011206f9 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePortLinkPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePortLinkPreferencePage.java
@@ -1,3 +1,6 @@
+/*
+ *
+ */
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePreferencePage.java
index 7c6dd3e80f0..5a60dfb862c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/InterfacePreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ManifestationPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ManifestationPreferencePage.java
index 0ff452651be..e2cf55395a2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ManifestationPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ManifestationPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ModelPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ModelPreferencePage.java
index 37f2814779c..5e5427f4d91 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ModelPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ModelPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/NamedElementPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/NamedElementPreferencePage.java
index 2ab0a317c67..fb33e9b122a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/NamedElementPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/NamedElementPreferencePage.java
@@ -17,8 +17,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/OperationPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/OperationPreferencePage.java
index 756b6cb96ee..6baa1d89a7f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/OperationPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/OperationPreferencePage.java
@@ -14,8 +14,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PackagePreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PackagePreferencePage.java
index 2b24dbecb14..72081118f93 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PackagePreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PackagePreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PortPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PortPreferencePage.java
index 08ee3449183..d1112b83238 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PortPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PortPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PropertyPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PropertyPreferencePage.java
index 5ce51395be0..b3b59834d4b 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PropertyPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/PropertyPreferencePage.java
@@ -14,8 +14,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
@@ -45,8 +45,8 @@ public class PropertyPreferencePage extends AbstractPapyrusNodePreferencePage {
*/
public static void initDefaults(IPreferenceStore store) {
String key = ComponentDiagramEditPart.MODEL_ID + "_Property";
- store.setDefault(PreferencesConstantsHelper.getElementConstant(key, PreferencesConstantsHelper.WIDTH), 40);
- store.setDefault(PreferencesConstantsHelper.getElementConstant(key, PreferencesConstantsHelper.HEIGHT), 40);
+ store.setDefault(PreferencesConstantsHelper.getElementConstant(key, PreferencesConstantsHelper.WIDTH), 150);
+ store.setDefault(PreferencesConstantsHelper.getElementConstant(key, PreferencesConstantsHelper.HEIGHT), 70);
//org.eclipse.jface.preference.PreferenceConverter.setDefault(store, org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper.getElementConstant(elementName, org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper.COLOR_FILL), new org.eclipse.swt.graphics.RGB(255, 255, 255));
//org.eclipse.jface.preference.PreferenceConverter.setDefault(store, org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper.getElementConstant(elementName, org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper.COLOR_LINE), new org.eclipse.swt.graphics.RGB(0, 0, 0));
// Set the default for the gradient
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ReceptionPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ReceptionPreferencePage.java
index 71d1c334491..e04f6a50ec0 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ReceptionPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/ReceptionPreferencePage.java
@@ -14,8 +14,8 @@
package org.eclipse.papyrus.uml.diagram.component.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusNodePreferencePage;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/SubstitutionPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/SubstitutionPreferencePage.java
index 9cadc5dfd8b..2261df7489e 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/SubstitutionPreferencePage.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/preferences/SubstitutionPreferencePage.java
@@ -16,8 +16,8 @@ import java.util.Map;
import java.util.TreeMap;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusLinkPreferencePage;
import org.eclipse.papyrus.uml.diagram.common.util.StringComparator;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLDiagramEditorPlugin;
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/ElementInitializers.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/ElementInitializers.java
index f5e7dc51ed5..1249d7d866d 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/ElementInitializers.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/ElementInitializers.java
@@ -20,6 +20,7 @@ import org.eclipse.uml2.uml.AggregationKind;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.Component;
import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Connector;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Interface;
@@ -222,6 +223,18 @@ public class ElementInitializers {
/**
* @generated
*/
+ public void init_Property_3079(Property instance) {
+ try {
+ Object value_0 = name_Property_3079(instance);
+ instance.setName((String)value_0);
+ } catch (RuntimeException e) {
+ UMLDiagramEditorPlugin.getInstance().logError("Element initialization failed", e); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
public void init_Comment_3074(Comment instance) {
try {
Object value_0 = body_Comment_3074(instance);
@@ -380,6 +393,18 @@ public class ElementInitializers {
/**
* @generated
*/
+ public void init_Connector_4019(Connector instance) {
+ try {
+ Object value_0 = name_Connector_4019(instance);
+ instance.setName((String)value_0);
+ } catch (RuntimeException e) {
+ UMLDiagramEditorPlugin.getInstance().logError("Element initialization failed", e); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
private String name_Model_3202(Model self) {
return NamedElementHelper.EINSTANCE.getNewUMLElementName(self.getOwner(), self.eClass());
}
@@ -479,6 +504,13 @@ public class ElementInitializers {
/**
* @generated
*/
+ private String name_Property_3079(Property self) {
+ return NamedElementHelper.EINSTANCE.getNewUMLElementName(self.getOwner(), self.eClass());
+ }
+
+ /**
+ * @generated
+ */
private String name_Substitution_4012(Substitution self) {
return NamedElementHelper.EINSTANCE.getNewUMLElementName(self.getOwner(), self.eClass());
}
@@ -521,6 +553,13 @@ public class ElementInitializers {
/**
* @generated
*/
+ private String name_Connector_4019(Connector self) {
+ return NamedElementHelper.EINSTANCE.getNewUMLElementName(self.getOwner(), self.eClass());
+ }
+
+ /**
+ * @generated
+ */
public static ElementInitializers getInstance() {
ElementInitializers cached = UMLDiagramEditorPlugin.getInstance().getElementInitializers();
if(cached == null) {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLElementTypes.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLElementTypes.java
index 4411974f907..665c5b1ac86 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLElementTypes.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLElementTypes.java
@@ -33,6 +33,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintConstrainedElementEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
@@ -54,6 +55,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyForInterfaceEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
@@ -177,6 +179,11 @@ public class UMLElementTypes {
/**
* @generated
*/
+ public static final IElementType Property_3079 = getElementType("org.eclipse.papyrus.uml.diagram.component.Property_3079"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
public static final IElementType Comment_3074 = getElementType("org.eclipse.papyrus.uml.diagram.component.Comment_3074"); //$NON-NLS-1$
/**
@@ -267,6 +274,11 @@ public class UMLElementTypes {
/**
* @generated
*/
+ public static final IElementType Connector_4019 = getElementType("org.eclipse.papyrus.uml.diagram.component.Connector_4019"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
public static ImageDescriptor getImageDescriptor(ENamedElement element) {
return elementTypeImages.getImageDescriptor(element);
}
@@ -323,6 +335,7 @@ public class UMLElementTypes {
elements.put(Operation_5, UMLPackage.eINSTANCE.getOperation());
elements.put(Reception_6, UMLPackage.eINSTANCE.getReception());
elements.put(Interface_3072, UMLPackage.eINSTANCE.getInterface());
+ elements.put(Property_3079, UMLPackage.eINSTANCE.getProperty());
elements.put(Usage_4001, UMLPackage.eINSTANCE.getUsage());
elements.put(InterfaceRealization_4006, UMLPackage.eINSTANCE.getInterfaceRealization());
elements.put(Generalization_4003, UMLPackage.eINSTANCE.getGeneralization());
@@ -334,6 +347,7 @@ public class UMLElementTypes {
elements.put(ConstraintConstrainedElement_4009, UMLPackage.eINSTANCE.getConstraint_ConstrainedElement());
elements.put(Dependency_4010, UMLPackage.eINSTANCE.getDependency());
elements.put(Dependency_4017, UMLPackage.eINSTANCE.getDependency());
+ elements.put(Connector_4019, UMLPackage.eINSTANCE.getConnector());
}
return (ENamedElement)elements.get(type);
}
@@ -373,6 +387,7 @@ public class UMLElementTypes {
KNOWN_ELEMENT_TYPES.add(Operation_5);
KNOWN_ELEMENT_TYPES.add(Reception_6);
KNOWN_ELEMENT_TYPES.add(Interface_3072);
+ KNOWN_ELEMENT_TYPES.add(Property_3079);
KNOWN_ELEMENT_TYPES.add(Usage_4001);
KNOWN_ELEMENT_TYPES.add(InterfaceRealization_4006);
KNOWN_ELEMENT_TYPES.add(Generalization_4003);
@@ -386,6 +401,7 @@ public class UMLElementTypes {
KNOWN_ELEMENT_TYPES.add(Dependency_4010);
KNOWN_ELEMENT_TYPES.add(Dependency_4017);
KNOWN_ELEMENT_TYPES.add(Link_4018);
+ KNOWN_ELEMENT_TYPES.add(Connector_4019);
}
return KNOWN_ELEMENT_TYPES.contains(elementType);
}
@@ -439,6 +455,8 @@ public class UMLElementTypes {
return Reception_6;
case InterfaceEditPartPCN.VISUAL_ID:
return Interface_3072;
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return Property_3079;
case UsageEditPart.VISUAL_ID:
return Usage_4001;
case InterfaceRealizationEditPart.VISUAL_ID:
@@ -465,6 +483,8 @@ public class UMLElementTypes {
return Dependency_4017;
case InterfacePortLinkEditPart.VISUAL_ID:
return Link_4018;
+ case ConnectorEditPart.VISUAL_ID:
+ return Connector_4019;
}
return null;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLModelingAssistantProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLModelingAssistantProvider.java
index 39853610bb9..4bff1304af2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLModelingAssistantProvider.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLModelingAssistantProvider.java
@@ -53,6 +53,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackagePackageableElementCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackagePackageableElementCompartmentEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.part.Messages;
@@ -113,9 +114,15 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
types.add(UMLElementTypes.Port_3069);
return types;
}
- if(editPart instanceof ComponentCompositeCompartmentEditPart) {
+ if(editPart instanceof PropertyPartEditPartCN) {
ArrayList<IElementType> types = new ArrayList<IElementType>(1);
+ types.add(UMLElementTypes.Port_3069);
+ return types;
+ }
+ if(editPart instanceof ComponentCompositeCompartmentEditPart) {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Property_3079);
return types;
}
if(editPart instanceof ModelPackageableElementCompartmentEditPart) {
@@ -163,13 +170,15 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
return types;
}
if(editPart instanceof ComponentCompositeCompartmentEditPartCN) {
- ArrayList<IElementType> types = new ArrayList<IElementType>(1);
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Property_3079);
return types;
}
if(editPart instanceof ComponentCompositeCompartmentEditPartPCN) {
- ArrayList<IElementType> types = new ArrayList<IElementType>(1);
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
types.add(UMLElementTypes.Component_3070);
+ types.add(UMLElementTypes.Property_3079);
return types;
}
return Collections.EMPTY_LIST;
@@ -234,6 +243,9 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
if(sourceEditPart instanceof InterfaceEditPartPCN) {
return ((InterfaceEditPartPCN)sourceEditPart).getMARelTypesOnSource();
}
+ if(sourceEditPart instanceof PropertyPartEditPartCN) {
+ return ((PropertyPartEditPartCN)sourceEditPart).getMARelTypesOnSource();
+ }
return Collections.EMPTY_LIST;
}
@@ -296,6 +308,9 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
if(targetEditPart instanceof InterfaceEditPartPCN) {
return ((InterfaceEditPartPCN)targetEditPart).getMARelTypesOnTarget();
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ return ((PropertyPartEditPartCN)targetEditPart).getMARelTypesOnTarget();
+ }
return Collections.EMPTY_LIST;
}
@@ -359,6 +374,9 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
if(sourceEditPart instanceof InterfaceEditPartPCN) {
return ((InterfaceEditPartPCN)sourceEditPart).getMARelTypesOnSourceAndTarget(targetEditPart);
}
+ if(sourceEditPart instanceof PropertyPartEditPartCN) {
+ return ((PropertyPartEditPartCN)sourceEditPart).getMARelTypesOnSourceAndTarget(targetEditPart);
+ }
return Collections.EMPTY_LIST;
}
@@ -421,6 +439,9 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
if(targetEditPart instanceof InterfaceEditPartPCN) {
return ((InterfaceEditPartPCN)targetEditPart).getMATypesForSource(relationshipType);
}
+ if(targetEditPart instanceof PropertyPartEditPartCN) {
+ return ((PropertyPartEditPartCN)targetEditPart).getMATypesForSource(relationshipType);
+ }
return Collections.EMPTY_LIST;
}
@@ -483,6 +504,9 @@ public class UMLModelingAssistantProvider extends ModelingAssistantProvider {
if(sourceEditPart instanceof InterfaceEditPartPCN) {
return ((InterfaceEditPartPCN)sourceEditPart).getMATypesForTarget(relationshipType);
}
+ if(sourceEditPart instanceof PropertyPartEditPartCN) {
+ return ((PropertyPartEditPartCN)sourceEditPart).getMATypesForTarget(relationshipType);
+ }
return Collections.EMPTY_LIST;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLParserProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLParserProvider.java
index e3cbb86186b..d842904118d 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLParserProvider.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLParserProvider.java
@@ -36,6 +36,8 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentNameEditPar
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentNameEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationAppliedStereotypeEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationNameEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorAppliedStereotypeEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintNameEditPartPCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintSpecificationEditPart;
@@ -57,6 +59,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PackageNameEditPartC
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortAppliedStereotypeEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyForInterfaceEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartNameEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceNameEditPartCN;
@@ -380,6 +383,26 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid
/**
* @generated
*/
+ private IParser propertyName_5268Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getPropertyName_5268Parser() {
+ if(propertyName_5268Parser == null) {
+ EAttribute[] features = new EAttribute[]{ UMLPackage.eINSTANCE.getNamedElement_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ parser.setViewPattern("{0}"); //$NON-NLS-1$
+ parser.setEditorPattern("{0}"); //$NON-NLS-1$
+ parser.setEditPattern("{0}"); //$NON-NLS-1$
+ propertyName_5268Parser = parser;
+ }
+ return propertyName_5268Parser;
+ }
+
+ /**
+ * @generated
+ */
private CommentParser commentBody_5258Parser;
/**
@@ -656,6 +679,38 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid
/**
* @generated
*/
+ private AppliedStereotypeParser connectorName_6024Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getConnectorName_6024Parser() {
+ if(connectorName_6024Parser == null) {
+ connectorName_6024Parser = new AppliedStereotypeParser();
+ }
+ return connectorName_6024Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser connectorName_6025Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getConnectorName_6025Parser() {
+ if(connectorName_6025Parser == null) {
+ EAttribute[] features = new EAttribute[]{ UMLPackage.eINSTANCE.getNamedElement_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ connectorName_6025Parser = parser;
+ }
+ return connectorName_6025Parser;
+ }
+
+ /**
+ * @generated
+ */
protected IParser getParser(int visualID) {
switch(visualID) {
case MultiDependencyLabelEditPart.VISUAL_ID:
@@ -706,6 +761,8 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid
return getReception_6Parser();
case InterfaceNameEditPartPCN.VISUAL_ID:
return getInterfaceName_0Parser();
+ case PropertyPartNameEditPartCN.VISUAL_ID:
+ return getPropertyName_5268Parser();
case GeneralizationAppliedStereotypeEditPart.VISUAL_ID:
return getGeneralizationIsSubstitutable_2Parser();
case SubstitutionNameEditPart.VISUAL_ID:
@@ -728,6 +785,10 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid
return getDependencyName_6009Parser();
case DependencyAppliedStereotypeEditPart.VISUAL_ID:
return getDependencyName_6023Parser();
+ case ConnectorAppliedStereotypeEditPart.VISUAL_ID:
+ return getConnectorName_6024Parser();
+ case ConnectorNameEditPart.VISUAL_ID:
+ return getConnectorName_6025Parser();
}
return null;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLViewProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLViewProvider.java
index af915a63986..8303d7ce62b 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLViewProvider.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/providers/UMLViewProvider.java
@@ -53,8 +53,8 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.AbstractionAppliedStereotypeEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.AbstractionEditPart;
@@ -77,6 +77,9 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentNameEditPar
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationAppliedStereotypeEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ComponentRealizationNameEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorAppliedStereotypeEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintConstrainedElementEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConstraintEditPartPCN;
@@ -125,6 +128,8 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortAppliedStereotyp
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PortNameEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyForInterfaceEditPart;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartEditPartCN;
+import org.eclipse.papyrus.uml.diagram.component.edit.parts.PropertyPartNameEditPartCN;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ReceptionInInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPart;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.RectangleInterfaceEditPartCN;
@@ -262,6 +267,7 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
case PropertyForInterfaceEditPart.VISUAL_ID:
case OperationForInterfaceEditPart.VISUAL_ID:
case ReceptionInInterfaceEditPart.VISUAL_ID:
+ case PropertyPartEditPartCN.VISUAL_ID:
case ComponentEditPartCN.VISUAL_ID:
case ComponentEditPartPCN.VISUAL_ID:
case CommentEditPartPCN.VISUAL_ID:
@@ -276,7 +282,7 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
}
}
}
- return DependencyNodeEditPart.VISUAL_ID == visualID || ComponentEditPart.VISUAL_ID == visualID || ModelEditPart.VISUAL_ID == visualID || PackageEditPart.VISUAL_ID == visualID || RectangleInterfaceEditPart.VISUAL_ID == visualID || CommentEditPart.VISUAL_ID == visualID || ConstraintEditPart.VISUAL_ID == visualID || DefaultNamedElementEditPart.VISUAL_ID == visualID || InterfaceEditPart.VISUAL_ID == visualID || PortEditPart.VISUAL_ID == visualID || ModelEditPartCN.VISUAL_ID == visualID || PackageEditPartCN.VISUAL_ID == visualID || RectangleInterfaceEditPartCN.VISUAL_ID == visualID || ComponentEditPartCN.VISUAL_ID == visualID || ComponentEditPartPCN.VISUAL_ID == visualID || CommentEditPartPCN.VISUAL_ID == visualID || ConstraintEditPartPCN.VISUAL_ID == visualID || PropertyForInterfaceEditPart.VISUAL_ID == visualID || OperationForInterfaceEditPart.VISUAL_ID == visualID || ReceptionInInterfaceEditPart.VISUAL_ID == visualID || InterfaceEditPartPCN.VISUAL_ID == visualID;
+ return DependencyNodeEditPart.VISUAL_ID == visualID || ComponentEditPart.VISUAL_ID == visualID || ModelEditPart.VISUAL_ID == visualID || PackageEditPart.VISUAL_ID == visualID || RectangleInterfaceEditPart.VISUAL_ID == visualID || CommentEditPart.VISUAL_ID == visualID || ConstraintEditPart.VISUAL_ID == visualID || DefaultNamedElementEditPart.VISUAL_ID == visualID || InterfaceEditPart.VISUAL_ID == visualID || PortEditPart.VISUAL_ID == visualID || ModelEditPartCN.VISUAL_ID == visualID || PackageEditPartCN.VISUAL_ID == visualID || RectangleInterfaceEditPartCN.VISUAL_ID == visualID || ComponentEditPartCN.VISUAL_ID == visualID || ComponentEditPartPCN.VISUAL_ID == visualID || CommentEditPartPCN.VISUAL_ID == visualID || ConstraintEditPartPCN.VISUAL_ID == visualID || PropertyForInterfaceEditPart.VISUAL_ID == visualID || OperationForInterfaceEditPart.VISUAL_ID == visualID || ReceptionInInterfaceEditPart.VISUAL_ID == visualID || InterfaceEditPartPCN.VISUAL_ID == visualID || PropertyPartEditPartCN.VISUAL_ID == visualID;
}
/**
@@ -377,6 +383,8 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
return createReception_6(domainElement, containerView, index, persisted, preferencesHint);
case InterfaceEditPartPCN.VISUAL_ID:
return createInterface_3072(domainElement, containerView, index, persisted, preferencesHint);
+ case PropertyPartEditPartCN.VISUAL_ID:
+ return createProperty_3079(domainElement, containerView, index, persisted, preferencesHint);
}
// can't happen, provided #provides(CreateNodeViewOperation) is correct
return null;
@@ -415,6 +423,8 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
return createDependency_4017(getSemanticElement(semanticAdapter), containerView, index, persisted, preferencesHint);
case InterfacePortLinkEditPart.VISUAL_ID:
return createLink_4018(containerView, index, persisted, preferencesHint);
+ case ConnectorEditPart.VISUAL_ID:
+ return createConnector_4019(getSemanticElement(semanticAdapter), containerView, index, persisted, preferencesHint);
}
// can never happen, provided #provides(CreateEdgeViewOperation) is correct
return null;
@@ -762,6 +772,24 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
/**
* @generated
*/
+ public Node createProperty_3079(EObject domainElement, View containerView, int index, boolean persisted, PreferencesHint preferencesHint) {
+ Node node = NotationFactory.eINSTANCE.createShape();
+ node.getStyles().add(NotationFactory.eINSTANCE.createDescriptionStyle());
+ node.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ node.setType(UMLVisualIDRegistry.getType(PropertyPartEditPartCN.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ // initializeFromPreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+ PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, "Property");
+ Node label5268 = createLabel(node, UMLVisualIDRegistry.getType(PropertyPartNameEditPartCN.VISUAL_ID));
+ return node;
+ }
+
+ /**
+ * @generated
+ */
public Node createComment_3074(EObject domainElement, View containerView, int index, boolean persisted, PreferencesHint preferencesHint) {
Shape node = NotationFactory.eINSTANCE.createShape();
node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
@@ -1256,6 +1284,44 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider {
/**
* @generated
*/
+ public Edge createConnector_4019(EObject domainElement, View containerView, int index, boolean persisted, PreferencesHint preferencesHint) {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(UMLVisualIDRegistry.getType(ConnectorEditPart.VISUAL_ID));
+ edge.setElement(domainElement);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+ PreferenceInitializerForElementHelper.initForegroundFromPrefs(edge, prefStore, "Connector");
+ PreferenceInitializerForElementHelper.initFontStyleFromPrefs(edge, prefStore, "Connector");
+ //org.eclipse.gmf.runtime.notation.Routing routing = org.eclipse.gmf.runtime.notation.Routing.get(prefStore.getInt(org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants.PREF_LINE_STYLE));
+ //if (routing != null) {
+ // org.eclipse.gmf.runtime.diagram.core.util.ViewUtil.setStructuralFeatureValue(edge, org.eclipse.gmf.runtime.notation.NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ //}
+ PreferenceInitializerForElementHelper.initRountingFromPrefs(edge, prefStore, "Connector");
+ Node label6024 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorAppliedStereotypeEditPart.VISUAL_ID));
+ label6024.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ Location location6024 = (Location)label6024.getLayoutConstraint();
+ location6024.setX(0);
+ location6024.setY(60);
+ Node label6025 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorNameEditPart.VISUAL_ID));
+ label6025.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ Location location6025 = (Location)label6025.getLayoutConstraint();
+ location6025.setX(0);
+ location6025.setY(-20);
+ PreferenceInitializerForElementHelper.initLabelVisibilityFromPrefs(edge, prefStore, "Connector");
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
protected void stampShortcut(View containerView, Node target) {
if(!ComponentDiagramEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(containerView))) {
EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();

Back to the top