diff options
author | Camille Letavernier | 2018-07-26 08:57:40 +0000 |
---|---|---|
committer | Camille Letavernier | 2018-07-30 12:20:39 +0000 |
commit | 639bdee050c1d97ead5c584800085e9ae31f5d4d (patch) | |
tree | 8260204266cc39fe3b8e9a05c37457b9f20f4ccb | |
parent | 3f089a76591df4843ef00b3cfcb2a9cc23ddd96f (diff) | |
download | org.eclipse.papyrus-639bdee050c1d97ead5c584800085e9ae31f5d4d.tar.gz org.eclipse.papyrus-639bdee050c1d97ead5c584800085e9ae31f5d4d.tar.xz org.eclipse.papyrus-639bdee050c1d97ead5c584800085e9ae31f5d4d.zip |
Bug 536642: [Sequence Diagram] Complete the Duration edit parts to
include floating labels
https://bugs.eclipse.org/bugs/show_bug.cgi?id=536642
Change-Id: Iebdae62dff2d4cbf51cd19cd09f7a64dff89fbe7
Signed-off-by: Camille Letavernier <cletavernier@eclipsesource.com>
15 files changed, 4056 insertions, 215 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/parser/ObservationParser.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/parser/ObservationParser.java new file mode 100644 index 00000000000..52afd9a8003 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/parser/ObservationParser.java @@ -0,0 +1,27 @@ +/***************************************************************************** + * Copyright (c) 2018 CEA LIST, EclipseSource and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * EclipseSource - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.common.parser; + +import org.eclipse.gmf.runtime.common.ui.services.parser.IParser; +import org.eclipse.uml2.uml.Observation; + +/** + * <p> + * An {@link IParser} for {@link Observation} + * </p> + */ +public class ObservationParser extends NamedElementLabelParser { + + // Placeholder + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.css/theme/uml.css b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.css/theme/uml.css index 53d369b4f35..142fb709a1a 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.css/theme/uml.css +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.css/theme/uml.css @@ -1 +1,19 @@ -/* Reserved */ +/***************************************************************************** + * Copyright (c) 2018 CEA LIST, EclipseSource and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * EclipseSource + *****************************************************************************/ + +/* + * UML-specific rules for Papyrus Theme and B&W Theme + */ + +DurationObservation > Label { + elementIcon: true; +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/figures/DurationLinkFigure.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/figures/DurationLinkFigure.java index d3063197edd..f2f10162a29 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/figures/DurationLinkFigure.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/figures/DurationLinkFigure.java @@ -13,13 +13,18 @@ package org.eclipse.papyrus.uml.diagram.sequence.figures; +import java.util.List; + import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.ConnectionRouter; import org.eclipse.draw2d.Graphics; +import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PolylineConnection; import org.eclipse.draw2d.PolylineDecoration; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; +import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel; +import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.PapyrusWrappingLabel; import org.eclipse.papyrus.uml.diagram.common.figure.edge.UMLEdgeFigure; import org.eclipse.swt.SWT; import org.eclipse.uml2.uml.DurationConstraint; @@ -52,6 +57,7 @@ public class DurationLinkFigure extends UMLEdgeFigure { private static final int ARROW_PADDING = 15; private Orientation arrowOrientation = Orientation.VERTICAL; // TODO Orientation is not supported yet (Bug 536637) private int arrowPositionDelta = 0; + private PapyrusWrappingLabel durationLabel; /** * Thin lines may be difficult to select, so we add a tolerance area around it @@ -202,7 +208,14 @@ public class DurationLinkFigure extends UMLEdgeFigure { Rectangle arrowLine = new Rectangle(getArrowTop(), getArrowBottom()); arrowLine.expand(SELECTION_TOLERANCE, SELECTION_TOLERANCE); - return arrowLine.contains(x, y); + if (arrowLine.contains(x, y)) { + return true; + } + + // Child labels + @SuppressWarnings("unchecked") + List<IFigure> children = getChildren(); + return children.stream().anyMatch(child -> child.containsPoint(x, y)); } /** @@ -258,4 +271,18 @@ public class DurationLinkFigure extends UMLEdgeFigure { public static enum Orientation { VERTICAL, HORIZONTAL; } + + public WrappingLabel getDurationLabelFigure() { + return this.durationLabel; + } + + + @Override + protected void createContents() { + super.createContents(); + this.durationLabel = new PapyrusWrappingLabel(); + this.durationLabel.setText(""); //$NON-NLS-1$ + add(this.durationLabel); + } + } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/model/sequenceDiagram.gmfgen b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/model/sequenceDiagram.gmfgen index d1a625dd4b5..69a05dc311c 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/model/sequenceDiagram.gmfgen +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/model/sequenceDiagram.gmfgen @@ -37,7 +37,7 @@ xsi:type="gmfgen:GenDomainElementTarget" contextSelector="/0/@audits/@clientContexts.0"> <element - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction"/> </target> </rules> <rules @@ -52,7 +52,7 @@ xsi:type="gmfgen:GenDomainElementTarget" contextSelector="/0/@audits/@clientContexts.0"> <element - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand"/> </target> </rules> <rules @@ -85,7 +85,7 @@ validationDecorators="true" liveValidationUIFeedback="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Package_SequenceDiagram" @@ -107,7 +107,7 @@ key="org.eclipse.gef.EditPolicy.LAYOUT_ROLE" editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.SequenceDiagramLayoutEditPolicy"/> <domainDiagramElement - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package"/> <childNodes visualID="3007" editPartClassName="ConsiderIgnoreFragmentEditPart" @@ -118,7 +118,7 @@ createCommandClassName="ConsiderIgnoreFragmentCreateCommand" containers="/0/@diagram/@compartments.0 /0/@diagram/@childNodes.2"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.ConsiderIgnoreFragment_Shape" @@ -133,18 +133,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConsiderIgnoreFragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConsiderIgnoreFragment"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.1"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -161,7 +161,7 @@ createCommandClassName="CombinedFragmentCreateCommand" containers="/0/@diagram/@childNodes.2 /0/@diagram/@compartments.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.CombinedFragment_Shape" @@ -180,18 +180,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.CustomDiagramDragDropEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.2"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -207,7 +207,7 @@ createCommandClassName="InteractionOperandCreateCommand" containers="/0/@diagram/@compartments.1"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.InteractionOperand_Shape" @@ -234,11 +234,11 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.ConnectInteractionOperandToGridEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment/operand"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment/operand"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment/operand"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CombinedFragment/operand"/> </modelFacet> </childNodes> <childNodes @@ -252,7 +252,7 @@ createCommandClassName="InteractionUseCreateCommand" containers="/0/@diagram/@childNodes.2 /0/@diagram/@compartments.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.InteractionUse_Shape" @@ -265,18 +265,18 @@ xsi:type="gmfgen:OpenDiagramBehaviour"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionUse"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionUse"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.3"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -287,7 +287,7 @@ notationViewFactoryClassName="InteractionUseNameViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getNameLabel" @@ -299,7 +299,7 @@ editorPattern="" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -309,7 +309,7 @@ notationViewFactoryClassName="InteractionUseNameViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getCenterLabel" @@ -320,7 +320,7 @@ viewPattern="" editorPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> </childNodes> @@ -335,7 +335,7 @@ createCommandClassName="ContinuationCreateCommand" containers="/0/@diagram/@childNodes.2"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Continuation_Shape" @@ -346,18 +346,18 @@ figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.ContinuationFigure"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Continuation"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Continuation"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionOperand/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.4"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -368,7 +368,7 @@ notationViewFactoryClassName="ContinuationNameViewFactory" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getFigureContinuationNameLabel" @@ -378,7 +378,7 @@ parser="/0/@labelParsers/@implementations.1" viewPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> </childNodes> @@ -393,7 +393,7 @@ createCommandClassName="LifelineCreateCommand" containers="/0/@diagram/@compartments.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Lifeline_Shape" @@ -437,18 +437,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.LifeLineResizeAffixedNodeEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Lifeline"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Lifeline"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/lifeline"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/lifeline"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/lifeline"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/lifeline"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.5"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -458,7 +458,7 @@ itemSemanticEditPolicyClassName="LifelineNameItemSemanticEditPolicy" notationViewFactoryClassName="LifelineNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getFigureLifelineLabelFigure" @@ -470,7 +470,7 @@ editorPattern="{0}" editPattern="{0}"> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> </childNodes> @@ -484,7 +484,7 @@ createCommandClassName="ActionExecutionSpecificationCreateCommand" containers="/0/@diagram/@childNodes.5"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.ActionExecutionSpecification_Shape" @@ -511,11 +511,11 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ExecutionSpecificationComponentEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ActionExecutionSpecification"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ActionExecutionSpecification"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> </modelFacet> </childNodes> <childNodes @@ -528,7 +528,7 @@ createCommandClassName="BehaviorExecutionSpecificationCreateCommand" containers="/0/@diagram/@childNodes.5"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.BehaviorExecutionSpecification_Shape" @@ -555,11 +555,11 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ExecutionSpecificationComponentEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/BehaviorExecutionSpecification"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/BehaviorExecutionSpecification"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> </modelFacet> </childNodes> <childNodes @@ -573,7 +573,7 @@ createCommandClassName="StateInvariantCreateCommand" containers="/0/@diagram/@childNodes.5"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.StateInvariant_Shape" @@ -584,18 +584,18 @@ figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.ContinuationFigure"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StateInvariant"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StateInvariant"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.6"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -606,7 +606,7 @@ notationViewFactoryClassName="StateInvariantNameViewFactory" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getFigureContinuationNameLabel" @@ -615,7 +615,7 @@ xsi:type="gmfgen:FeatureLabelModelFacet" parser="/0/@labelParsers/@implementations.1"> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -625,7 +625,7 @@ notationViewFactoryClassName="StateInvariantLabelViewFactory" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getInvariantFigure" @@ -645,7 +645,7 @@ createCommandClassName="TimeConstraintCreateCommand" containers="/0/@diagram/@childNodes.5"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.TimeConstraint_Shape" @@ -656,33 +656,33 @@ figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.TimeMarkElementFigure"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeConstraint"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeConstraint"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenReferenceNewElementSpec"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/specification"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/specification"/> <newElementInitializers> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.8"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> <elementClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeInterval"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeInterval"/> </newElementInitializers> </initializers> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.9"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -693,7 +693,7 @@ itemSemanticEditPolicyClassName="TimeConstraintLabelItemSemanticEditPolicy" notationViewFactoryClassName="TimeConstraintLabelViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.MultilineLabelFigure"/> @@ -709,7 +709,7 @@ readOnly="true" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.figure.node.AppliedStereotypeWrappingLabelFigure"> @@ -736,7 +736,7 @@ createCommandClassName="TimeObservationCreateCommand" containers="/0/@diagram/@childNodes.5"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.TimeObservation_Shape" @@ -751,18 +751,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.DeleteTimeElementWithoutEventPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeObservation"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TimeObservation"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.10"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -773,7 +773,7 @@ itemSemanticEditPolicyClassName="TimeObservationLabelItemSemanticEditPolicy" notationViewFactoryClassName="TimeObservationLabelViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.MultilineLabelFigure"/> @@ -789,7 +789,7 @@ readOnly="true" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.figure.node.AppliedStereotypeWrappingLabelFigure"> @@ -817,7 +817,7 @@ containers="/0/@diagram/@childNodes.5" preferredSideName="SOUTH"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.DestructionOccurrenceSpecification_Shape" @@ -831,16 +831,16 @@ </viewmap> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DestructionOccurrenceSpecification"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DestructionOccurrenceSpecification"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/fragment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.13"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -855,7 +855,7 @@ createCommandClassName="ConstraintCreateCommand" containers="/0/@diagram/@compartments.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Constraint_Shape" @@ -870,26 +870,26 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenReferenceNewElementSpec"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/specification"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/specification"/> <newElementInitializers> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.14"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/LiteralString/value"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/LiteralString/value"/> </initializers> <elementClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/LiteralString"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/LiteralString"/> </newElementInitializers> </initializers> </modelElementInitializer> @@ -900,7 +900,7 @@ itemSemanticEditPolicyClassName="ConstraintNameItemSemanticEditPolicy" notationViewFactoryClassName="ConstraintNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getNameLabel" @@ -910,7 +910,7 @@ parser="/0/@labelParsers/@implementations.1" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -919,7 +919,7 @@ itemSemanticEditPolicyClassName="Constraint2ItemSemanticEditPolicy" notationViewFactoryClassName="ConstraintLabelViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getConstraintFigure" @@ -938,7 +938,7 @@ createCommandClassName="CommentCreateCommand" containers="/0/@diagram/@compartments.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Comment_Shape" @@ -961,18 +961,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusReflowableShapeEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.1/@expressions.0"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/body"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/body"/> </initializers> </modelElementInitializer> </modelFacet> @@ -982,7 +982,7 @@ itemSemanticEditPolicyClassName="CommentBodyItemSemanticEditPolicy" notationViewFactoryClassName="CommentBodyViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getCornerBentFigure" @@ -992,7 +992,7 @@ parser="/0/@labelParsers/@implementations.5" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/body"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/body"/> </modelFacet> </labels> </childNodes> @@ -1006,7 +1006,7 @@ createCommandClassName="GateCreateCommand" containers="/0/@diagram/@childNodes.1 /0/@diagram/@childNodes.3 /0/@diagram/@topLevelNodes.0"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Gate_Shape" @@ -1027,18 +1027,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.common.editpolicies.MaskManagedNodeEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Gate"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Gate"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/formalGate"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/formalGate"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/formalGate"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/formalGate"/> </modelFacet> <labels xsi:type="gmfgen:GenExternalNodeLabel" visualID="5024" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.infra.gmfdiag.common.figure.node.PapyrusWrappingLabel"> @@ -1051,7 +1051,7 @@ xsi:type="gmfgen:FeatureLabelModelFacet" parser="/0/@labelParsers/@implementations.1"> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> </childNodes> @@ -1066,7 +1066,7 @@ graphicalNodeEditPolicyClassName="InteractionGraphicalNodeEditPolicy" createCommandClassName="InteractionCreateCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Interaction_Shape" @@ -1094,18 +1094,18 @@ editPolicyQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.edit.policies.CustomDiagramDragDropEditPolicy"/> <modelFacet> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.0"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> </modelFacet> @@ -1115,7 +1115,7 @@ itemSemanticEditPolicyClassName="InteractionNameItemSemanticEditPolicy" notationViewFactoryClassName="InteractionNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getNameLabel" @@ -1127,7 +1127,7 @@ editorPattern="{0}" editPattern="{0}"> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> </topLevelNodes> @@ -1139,7 +1139,7 @@ createCommandClassName="MessageSyncCreateCommand" reorientCommandClassName="MessageSyncReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_SynchEdge" @@ -1164,15 +1164,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.1"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6001" @@ -1180,7 +1180,7 @@ itemSemanticEditPolicyClassName="MessageSyncNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1196,7 +1196,7 @@ editorPattern="" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1206,7 +1206,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1231,7 +1231,7 @@ createCommandClassName="MessageAsyncCreateCommand" reorientCommandClassName="MessageAsyncReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_AsynchEdge" @@ -1256,15 +1256,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.4"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6002" @@ -1272,7 +1272,7 @@ itemSemanticEditPolicyClassName="MessageAsyncNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1287,7 +1287,7 @@ parser="/0/@labelParsers/@implementations.4" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1297,7 +1297,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1322,7 +1322,7 @@ createCommandClassName="MessageReplyCreateCommand" reorientCommandClassName="MessageReplyReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_ReplyEdge" @@ -1347,15 +1347,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.7"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6003" @@ -1363,7 +1363,7 @@ itemSemanticEditPolicyClassName="MessageReplyNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1378,7 +1378,7 @@ parser="/0/@labelParsers/@implementations.4" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1388,7 +1388,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1413,7 +1413,7 @@ createCommandClassName="MessageCreateCreateCommand" reorientCommandClassName="MessageCreateReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_CreateEdge" @@ -1438,15 +1438,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.10"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6004" @@ -1454,7 +1454,7 @@ itemSemanticEditPolicyClassName="MessageCreateNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1470,7 +1470,7 @@ editorPattern="" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1480,7 +1480,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1505,7 +1505,7 @@ createCommandClassName="MessageDeleteCreateCommand" reorientCommandClassName="MessageDeleteReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_DeleteEdge" @@ -1530,15 +1530,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.13"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6005" @@ -1546,7 +1546,7 @@ itemSemanticEditPolicyClassName="MessageDeleteNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1561,7 +1561,7 @@ parser="/0/@labelParsers/@implementations.4" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1571,7 +1571,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1596,7 +1596,7 @@ createCommandClassName="MessageLostCreateCommand" reorientCommandClassName="MessageLostReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_LostEdge" @@ -1621,15 +1621,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.16"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6006" @@ -1637,7 +1637,7 @@ itemSemanticEditPolicyClassName="MessageLostNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1653,7 +1653,7 @@ editorPattern="" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1663,7 +1663,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1688,7 +1688,7 @@ createCommandClassName="MessageFoundCreateCommand" reorientCommandClassName="MessageFoundReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Message_FoundEdge" @@ -1713,15 +1713,15 @@ xsi:type="gmfgen:TypeLinkModelFacet" modelElementSelector="/0/@expressionProviders/@providers.1/@expressions.19"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Message"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interaction/message"/> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/owner"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedElement"/> </modelFacet> <labels visualID="6007" @@ -1729,7 +1729,7 @@ itemSemanticEditPolicyClassName="MessageFoundNameItemSemanticEditPolicy" notationViewFactoryClassName="MessageNameViewFactory"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getMessageLabelFigure" @@ -1744,7 +1744,7 @@ parser="/0/@labelParsers/@implementations.4" editPattern=""> <metaFeatures - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </modelFacet> </labels> <labels @@ -1754,7 +1754,7 @@ notationViewFactoryClassName="MessageLabelViewFactory" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1779,7 +1779,7 @@ createCommandClassName="CommentAnnotatedElementCreateCommand" reorientCommandClassName="CommentAnnotatedElementReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Comment_AnnotatedElementEdge" @@ -1790,7 +1790,7 @@ <modelFacet xsi:type="gmfgen:FeatureLinkModelFacet"> <metaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/annotatedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/annotatedElement"/> </modelFacet> </links> <links @@ -1801,7 +1801,7 @@ createCommandClassName="ConstraintConstrainedElementCreateCommand" reorientCommandClassName="ConstraintConstrainedElementReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Constraint_ConstrainedElementEdge" @@ -1812,7 +1812,7 @@ <modelFacet xsi:type="gmfgen:FeatureLinkModelFacet"> <metaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> </modelFacet> </links> <links @@ -1823,7 +1823,7 @@ createCommandClassName="GeneralOrderingCreateCommand" reorientCommandClassName="GeneralOrderingReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.GeneralOrdering_Edge" @@ -1839,24 +1839,24 @@ <modelFacet xsi:type="gmfgen:TypeLinkModelFacet"> <metaClass - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionFragment/generalOrdering"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionFragment/generalOrdering"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionFragment/generalOrdering"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InteractionFragment/generalOrdering"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.18"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering/before"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering/before"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering/after"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/GeneralOrdering/after"/> </modelFacet> <labels visualID="6015" @@ -1866,7 +1866,7 @@ readOnly="true" elementIcon="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1887,7 +1887,7 @@ createCommandClassName="ContextLinkCreateCommand" reorientCommandClassName="ContextLinkReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> <elementType xsi:type="gmfgen:SpecializationType" uniqueIdentifier="org.eclipse.papyrus.umldi.Constraint_ContextEdge" @@ -1902,7 +1902,7 @@ <modelFacet xsi:type="gmfgen:FeatureLinkModelFacet"> <metaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/context"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/context"/> </modelFacet> <labels visualID="8501" @@ -1910,7 +1910,7 @@ itemSemanticEditPolicyClassName="ConstraintContextAppliedStereotypeItemSemanticEditPolicy" readOnly="true"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getAppliedStereotypeLabel" @@ -1934,7 +1934,7 @@ createCommandClassName="DurationConstraintCreateCommand" reorientCommandClassName="DurationConstraintReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Connector"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Connector"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.DurationConstraint_Edge" @@ -1944,28 +1944,77 @@ <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.DurationLinkFigure"/> + <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="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationConstraint"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationConstraint"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/ownedRule"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.18"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/> </modelFacet> + <labels + visualID="6020" + editPartClassName="DurationConstraintLinkNameEditPart" + itemSemanticEditPolicyClassName="DurationConstraintLinkItemSemanticEditPolicy" + notationViewFactoryClassName="MessageNameViewFactory"> + <diagramRunTimeClass + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + <viewmap + xsi:type="gmfgen:ParentAssignedViewmap" + getterName="getDurationLabelFigure" + figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"> + <attributes + xsi:type="gmfgen:LabelOffsetAttributes" + x="1" + y="-13"/> + </viewmap> + <modelFacet + xsi:type="gmfgen:FeatureLabelModelFacet" + parser="/0/@labelParsers/@implementations.9" + editorPattern="" + editPattern=""> + <metaFeatures + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + </modelFacet> + </labels> + <labels + visualID="6021" + editPartClassName="DurationConstraintLinkAppliedStereotypeEditPart" + itemSemanticEditPolicyClassName="DurationConstraintLinkAppliedStereotypeItemSemanticEditPolicy" + notationViewFactoryClassName="MessageLabelViewFactory" + readOnly="true"> + <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" + x="1" + y="-33"/> + </viewmap> + <modelFacet + parser="/0/@labelParsers/@implementations.8"/> + </labels> </links> <links visualID="4014" @@ -1974,7 +2023,7 @@ createCommandClassName="DurationObservationCreateCommand" reorientCommandClassName="DurationObservationReorientCommand"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Connector"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Connector"/> <elementType xsi:type="gmfgen:MetamodelType" uniqueIdentifier="org.eclipse.papyrus.umldi.DurationObservation_Edge" @@ -1984,28 +2033,78 @@ <viewmap xsi:type="gmfgen:FigureViewmap" figureQualifiedClassName="org.eclipse.papyrus.uml.diagram.sequence.figures.DurationLinkFigure"/> + <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="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation"/> <containmentMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <childMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/> <modelElementInitializer xsi:type="gmfgen:GenFeatureSeqInitializer"> <initializers xsi:type="gmfgen:GenFeatureValueSpec" value="/0/@expressionProviders/@providers.0/@expressions.18"> <feature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> </initializers> </modelElementInitializer> <sourceMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation/event"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation/event"/> <targetMetaFeature - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation/event"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/DurationObservation/event"/> </modelFacet> + <labels + visualID="6022" + editPartClassName="DurationObservationLinkNameEditPart" + itemSemanticEditPolicyClassName="DurationObservationLinkItemSemanticEditPolicy" + notationViewFactoryClassName="MessageNameViewFactory" + elementIcon="true"> + <diagramRunTimeClass + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + <viewmap + xsi:type="gmfgen:ParentAssignedViewmap" + getterName="getDurationLabelFigure" + figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"> + <attributes + xsi:type="gmfgen:LabelOffsetAttributes" + x="1" + y="-13"/> + </viewmap> + <modelFacet + xsi:type="gmfgen:FeatureLabelModelFacet" + parser="/0/@labelParsers/@implementations.10" + editorPattern="" + editPattern=""> + <metaFeatures + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/> + </modelFacet> + </labels> + <labels + visualID="6023" + editPartClassName="DurationObservationLinkAppliedStereotypeEditPart" + itemSemanticEditPolicyClassName="DurationObservationLinkAppliedStereotypeItemSemanticEditPolicy" + notationViewFactoryClassName="MessageLabelViewFactory" + readOnly="true"> + <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" + x="1" + y="-33"/> + </viewmap> + <modelFacet + parser="/0/@labelParsers/@implementations.8"/> + </labels> </links> <compartments visualID="7001" @@ -2020,7 +2119,7 @@ node="/0/@diagram/@topLevelNodes.0" listLayout="false"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getCompartmentFigure" @@ -2050,7 +2149,7 @@ needsTitle="false" node="/0/@diagram/@childNodes.1"> <diagramRunTimeClass - href="platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> + href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> <viewmap xsi:type="gmfgen:ParentAssignedViewmap" getterName="getCompartmentFigure" @@ -2123,7 +2222,7 @@ </tabs> </propertySheet> <domainGenModel - href="platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#/"/> + href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#/"/> <expressionProviders> <providers xsi:type="gmfgen:GenJavaExpressionProvider" @@ -2282,12 +2381,16 @@ qualifiedName="org.eclipse.papyrus.uml.diagram.sequence.parser.custom.TimeObservationParser"/> <implementations xsi:type="gmfgen:CustomParser" - uses="/0/@diagram/@links.2/@labels.1/@modelFacet /0/@diagram/@links.9/@labels.0/@modelFacet /0/@diagram/@links.1/@labels.1/@modelFacet /0/@diagram/@childNodes.9/@labels.1/@modelFacet /0/@diagram/@links.0/@labels.1/@modelFacet /0/@diagram/@childNodes.10/@labels.1/@modelFacet /0/@diagram/@links.6/@labels.1/@modelFacet /0/@diagram/@links.5/@labels.1/@modelFacet /0/@diagram/@links.3/@labels.1/@modelFacet /0/@diagram/@links.4/@labels.1/@modelFacet" + uses="/0/@diagram/@links.2/@labels.1/@modelFacet /0/@diagram/@links.9/@labels.0/@modelFacet /0/@diagram/@links.1/@labels.1/@modelFacet /0/@diagram/@childNodes.9/@labels.1/@modelFacet /0/@diagram/@links.0/@labels.1/@modelFacet /0/@diagram/@childNodes.10/@labels.1/@modelFacet /0/@diagram/@links.6/@labels.1/@modelFacet /0/@diagram/@links.5/@labels.1/@modelFacet /0/@diagram/@links.3/@labels.1/@modelFacet /0/@diagram/@links.4/@labels.1/@modelFacet /0/@diagram/@links.12/@labels.1/@modelFacet /0/@diagram/@links.11/@labels.1/@modelFacet" qualifiedName="org.eclipse.papyrus.uml.diagram.common.parser.stereotype.AppliedStereotypeParser"/> <implementations xsi:type="gmfgen:CustomParser" - uses="/0/@diagram/@childNodes.12/@labels.1/@modelFacet /0/@diagram/@childNodes.8/@labels.1/@modelFacet" + uses="/0/@diagram/@childNodes.12/@labels.1/@modelFacet /0/@diagram/@childNodes.8/@labels.1/@modelFacet /0/@diagram/@links.11/@labels.0/@modelFacet" qualifiedName="org.eclipse.papyrus.uml.diagram.common.parser.ConstraintParser"/> + <implementations + xsi:type="gmfgen:CustomParser" + uses="/0/@diagram/@links.12/@labels.0/@modelFacet" + qualifiedName="org.eclipse.papyrus.uml.diagram.common.parser.ObservationParser"/> </labelParsers> <contextMenus context="/0/@diagram"> @@ -2403,20 +2506,25 @@ comment="Name" role="Name" iconPathRole="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/icons/label_role/name.png" - linkLabels="/0/@diagram/@links.0/@labels.0 /0/@diagram/@links.1/@labels.0 /0/@diagram/@links.2/@labels.0 /0/@diagram/@links.3/@labels.0 /0/@diagram/@links.4/@labels.0 /0/@diagram/@links.5/@labels.0 /0/@diagram/@links.6/@labels.0" + linkLabels="/0/@diagram/@links.0/@labels.0 /0/@diagram/@links.1/@labels.0 /0/@diagram/@links.2/@labels.0 /0/@diagram/@links.3/@labels.0 /0/@diagram/@links.4/@labels.0 /0/@diagram/@links.5/@labels.0 /0/@diagram/@links.6/@labels.0 /0/@diagram/@links.11/@labels.0 /0/@diagram/@links.12/@labels.0" externalNodeLabels="/0/@diagram/@childNodes.14/@labels.0"/> <extensionNodes xsi:type="papyrusgmfgenextension:LabelVisibilityPreference" comment="Stereotype" role="Stereotype" iconPathRole="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif" - linkLabels="/0/@diagram/@links.0/@labels.1 /0/@diagram/@links.1/@labels.1 /0/@diagram/@links.2/@labels.1 /0/@diagram/@links.3/@labels.1 /0/@diagram/@links.4/@labels.1 /0/@diagram/@links.5/@labels.1 /0/@diagram/@links.6/@labels.1 /0/@diagram/@links.9/@labels.0 /0/@diagram/@links.10/@labels.0"/> + linkLabels="/0/@diagram/@links.0/@labels.1 /0/@diagram/@links.1/@labels.1 /0/@diagram/@links.2/@labels.1 /0/@diagram/@links.3/@labels.1 /0/@diagram/@links.4/@labels.1 /0/@diagram/@links.5/@labels.1 /0/@diagram/@links.6/@labels.1 /0/@diagram/@links.9/@labels.0 /0/@diagram/@links.10/@labels.0 /0/@diagram/@links.11/@labels.1 /0/@diagram/@links.12/@labels.1"/> <extensionNodes xsi:type="papyrusgmfgenextension:ExtendedGenView" comment="precise the super class of the GateEditPart" genView="/0/@diagram/@childNodes.14" name="GateEditPart superclass" superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.RoundedBorderNamedElementEditPart"/> + <extensionNodes + xsi:type="papyrusgmfgenextension:ExtendedGenView" + genView="/0/@diagram/@links.11 /0/@diagram/@links.12" + name="Duration Links superclass" + superOwnedEditPart="org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart"/> </papyrusgmfgenextension:PapyrusExtensionRootNode> <papyrusgmfgenextension:VisualIDOverride genView="/0/@diagram" @@ -2624,9 +2732,23 @@ </child> <child genView="/0/@diagram/@links.11" - visualID="DurationConstraint_Edge"/> + visualID="DurationConstraint_Edge"> + <child + genView="/0/@diagram/@links.11/@labels.0" + visualID="DurationConstraint_NameLabel"/> + <child + genView="/0/@diagram/@links.11/@labels.1" + visualID="DurationConstraint_StereotypeLabel"/> + </child> <child genView="/0/@diagram/@links.12" - visualID="DurationObservation_Edge"/> + visualID="DurationObservation_Edge"> + <child + genView="/0/@diagram/@links.12/@labels.0" + visualID="DurationObservation_NameLabel"/> + <child + genView="/0/@diagram/@links.12/@labels.1" + visualID="DurationObservation_StereotypeLabel"/> + </child> </papyrusgmfgenextension:VisualIDOverride> </xmi:XMI> diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/plugin.xml b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/plugin.xml index c1ddf3f4261..d2f4bdc175c 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/plugin.xml +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/plugin.xml @@ -561,6 +561,22 @@ type="Constraint_KeywordLabel"> </mapping> <mapping + humanReadableType="Name" + type="DurationConstraint_NameLabel"> + </mapping> + <mapping + humanReadableType="Stereotype" + type="DurationConstraint_StereotypeLabel"> + </mapping> + <mapping + humanReadableType="Name" + type="DurationObservation_NameLabel"> + </mapping> + <mapping + humanReadableType="Stereotype" + type="DurationObservation_StereotypeLabel"> + </mapping> + <mapping humanReadableType="Floating Label" type="Gate_NameLabel"> </mapping> diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkAppliedStereotypeEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkAppliedStereotypeEditPart.java new file mode 100644 index 00000000000..efe5bccb802 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkAppliedStereotypeEditPart.java @@ -0,0 +1,839 @@ +/** + * Copyright (c) 2016 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: + * CEA LIST - Initial API and implementation + */ +package org.eclipse.papyrus.uml.diagram.sequence.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.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.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.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.IControlParserForDirectEdit; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.parsers.ParserUtil; +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.sequence.edit.policies.UMLTextSelectionEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLVisualIDRegistry; +import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; +import org.eclipse.swt.SWT; +import org.eclipse.swt.accessibility.AccessibleEvent; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; +import org.eclipse.uml2.uml.Feature; + +/** + * @generated + */ +public class DurationConstraintLinkAppliedStereotypeEditPart extends PapyrusLabelEditPart + implements ITextAwareEditPart, IControlParserForDirectEdit, ILabelRoleProvider { + + /** + * @generated + */ + public static final String VISUAL_ID = "DurationConstraint_StereotypeLabel"; + + /** + * @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.sequence.edit.parts.DurationConstraintLinkAppliedStereotypeEditPart.VISUAL_ID), + new Point(1, -33)); + } + + /** + * @generated + */ + public DurationConstraintLinkAppliedStereotypeEditPart(View view) { + super(view); + } + + /** + * @generated Papyrus Generation + */ + @Override + 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 PapyrusLinkLabelDragPolicy()); + } + + /** + * @generated + */ + @Override + 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(IFigure figure) { + unregisterVisuals(); + setFigure(figure); + defaultText = getLabelTextHelper(figure); + registerVisuals(); + refreshVisuals(); + } + + /** + * @generated + */ + @Override + protected List<?> getModelChildren() { + return Collections.EMPTY_LIST; + } + + /** + * @generated + */ + @Override + public IGraphicalEditPart getChildBySemanticHint(String semanticHint) { + return null; + } + + /** + * @generated + */ + @Override + 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(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + if (text == null || text.length() == 0) { + text = defaultText; + } + return text; + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + public String getEditText() { + if (getParserElement() == null || getParser() == null) { + return ""; //$NON-NLS-1$ + } + return getParser().getEditString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + + /** + * @generated + */ + protected boolean isEditable() { + return false; + } + + /** + * @generated + */ + @Override + public ICellEditorValidator getEditTextValidator() { + return new ICellEditorValidator() { + + @Override + 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<java.lang.Object>() { + + @Override + public void run() { + setResult(parser.isValidEditString( + ParserUtil.getParserAdapter(getParserElement(), + DurationConstraintLinkAppliedStereotypeEditPart.this), + (String) value)); + } + }); + return valid.getCode() == IParserEditStatus.EDITABLE ? null : valid.getMessage(); + } catch (InterruptedException ie) { + ie.printStackTrace(); + } + } + + // shouldn't get here + return null; + } + }; + } + + /** + * @generated + */ + @Override + public IContentAssistProcessor getCompletionProcessor() { + if (getParserElement() == null || getParser() == null) { + return null; + } + return getParser().getCompletionProcessor(ParserUtil.getParserAdapter(getParserElement(), this)); + } + + /** + * @generated + */ + @Override + public ParserOptions getParserOptions() { + return ParserOptions.NONE; + } + + /** + * @generated + */ + @Override + public IParser getParser() { + if (parser == null) { + parser = ParserUtil.getParser(UMLElementTypes.DurationConstraint_Edge, getParserElement(), this, 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() { + BusyIndicator.showWhile(Display.getDefault(), new java.lang.Runnable() { + + @Override + public void run() { + getManager().show(); + } + }); + } + + /** + * @generated + */ + protected void performDirectEdit(Point eventLocation) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(eventLocation.getSWTPoint()); + } + } + + /** + * @generated + */ + protected void performDirectEdit(char initialCharacter) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(initialCharacter); + } else { + performDirectEdit(); + } + } + + /** + * @generated + */ + @Override + 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)); + 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(), + configuration.getTextToEdit(resolveSemanticElement()), 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() { + @Override + 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 { + performDirectEdit(); + } + } + } + }); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + /** + * @generated + */ + @Override + 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) { + maskLabelPolicy = getEditPolicy(IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); + } + if (maskLabelPolicy == null) { + View view = (View) getModel(); + if (view.isVisible()) { + setLabelTextHelper(getFigure(), getLabelText()); + setLabelIconHelper(getFigure(), getLabelIcon()); + } else { + setLabelTextHelper(getFigure(), ""); //$NON-NLS-1$ + setLabelIconHelper(getFigure(), null); + } + } + 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 + */ + @Override + 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 + */ + @Override + protected void setFontColor(Color color) { + getFigure().setForegroundColor(color); + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + protected void removeSemanticListeners() { + if (parserElements != null) { + for (int i = 0; i < parserElements.size(); i++) { + removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$ + } + } else { + super.removeSemanticListeners(); + } + } + + /** + * @generated + */ + @Override + protected AccessibleEditPart getAccessibleEditPart() { + if (accessibleEP == null) { + accessibleEP = new AccessibleGraphicalEditPart() { + + @Override + 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() { + // The label is read-only (defined in GMFGen model) + 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(), this); + } + 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(), + this); + } else { + configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, + resolveSemanticElement(), this); + } + } + } + + /** + * 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.equals(configuration.getLanguage())) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); + } 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() { + + @Override + 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 + */ + @Override + 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 + */ + @Override + protected IFigure createFigure() { + // Parent should assign one using setLabel() method + return null; + } + + /** + * @generated + */ + @Override + public String getLabelRole() { + return "Stereotype";//$NON-NLS-1$ + } + + /** + * @generated + */ + @Override + public String getIconPathRole() { + return "platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif";//$NON-NLS-1$ + } + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkEditPart.java index 1b2fd6aa9d6..fc9afc13178 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkEditPart.java @@ -12,17 +12,20 @@ package org.eclipse.papyrus.uml.diagram.sequence.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.infra.gmfdiag.common.editpart.ConnectionEditPart; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLinkLabelDisplayEditPolicy; import org.eclipse.papyrus.uml.diagram.sequence.figures.DurationLinkFigure; /** * @generated */ -public class DurationConstraintLinkEditPart extends ConnectionEditPart implements ITreeBranchEditPart { +public class DurationConstraintLinkEditPart extends UMLConnectionNodeEditPart implements ITreeBranchEditPart { /** * @generated @@ -43,6 +46,57 @@ public class DurationConstraintLinkEditPart extends ConnectionEditPart implement protected void createDefaultEditPolicies() { super.createDefaultEditPolicies(); installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultSemanticEditPolicy()); + installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, + new AppliedStereotypeLinkLabelDisplayEditPolicy()); + } + + /** + * @generated + */ + protected boolean addFixedChild(EditPart childEditPart) { + if (childEditPart instanceof DurationConstraintLinkNameEditPart) { + ((DurationConstraintLinkNameEditPart) childEditPart).setLabel(getPrimaryShape().getDurationLabelFigure()); + } + if (childEditPart instanceof DurationConstraintLinkAppliedStereotypeEditPart) { + ((DurationConstraintLinkAppliedStereotypeEditPart) childEditPart) + .setLabel(getPrimaryShape().getAppliedStereotypeLabel()); + } + return false; + } + + /** + * @generated + */ + @Override + protected void addChildVisual(EditPart childEditPart, int index) { + if (addFixedChild(childEditPart)) { + return; + } + super.addChildVisual(childEditPart, -1); + } + + /** + * @generated + */ + protected boolean removeFixedChild(EditPart childEditPart) { + if (childEditPart instanceof DurationConstraintLinkNameEditPart) { + return true; + } + if (childEditPart instanceof DurationConstraintLinkAppliedStereotypeEditPart) { + return true; + } + return false; + } + + /** + * @generated + */ + @Override + protected void removeChildVisual(EditPart childEditPart) { + if (removeFixedChild(childEditPart)) { + return; + } + super.removeChildVisual(childEditPart); } /** diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkNameEditPart.java new file mode 100644 index 00000000000..0c20c65da50 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationConstraintLinkNameEditPart.java @@ -0,0 +1,848 @@ +/** + * Copyright (c) 2016 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: + * CEA LIST - Initial API and implementation + */ +package org.eclipse.papyrus.uml.diagram.sequence.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.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.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.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.IControlParserForDirectEdit; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.parsers.ParserUtil; +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.sequence.edit.policies.UMLTextSelectionEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLVisualIDRegistry; +import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; +import org.eclipse.swt.SWT; +import org.eclipse.swt.accessibility.AccessibleEvent; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; +import org.eclipse.uml2.uml.Feature; + +/** + * @generated + */ +public class DurationConstraintLinkNameEditPart extends PapyrusLabelEditPart + implements ITextAwareEditPart, IControlParserForDirectEdit, ILabelRoleProvider { + + /** + * @generated + */ + public static final String VISUAL_ID = "DurationConstraint_NameLabel"; + + /** + * @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.sequence.edit.parts.DurationConstraintLinkNameEditPart.VISUAL_ID), + new Point(1, -13)); + } + + /** + * @generated + */ + public DurationConstraintLinkNameEditPart(View view) { + super(view); + } + + /** + * @generated Papyrus Generation + */ + @Override + 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 PapyrusLinkLabelDragPolicy()); + } + + /** + * @generated + */ + @Override + 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(IFigure figure) { + unregisterVisuals(); + setFigure(figure); + defaultText = getLabelTextHelper(figure); + registerVisuals(); + refreshVisuals(); + } + + /** + * @generated + */ + @Override + protected List<?> getModelChildren() { + return Collections.EMPTY_LIST; + } + + /** + * @generated + */ + @Override + public IGraphicalEditPart getChildBySemanticHint(String semanticHint) { + return null; + } + + /** + * @generated + */ + @Override + 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(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + if (text == null || text.length() == 0) { + text = defaultText; + } + return text; + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + public String getEditText() { + if (getParserElement() == null || getParser() == null) { + return ""; //$NON-NLS-1$ + } + return getParser().getEditString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + + /** + * @generated + */ + protected boolean isEditable() { + return getParser() != null; + } + + /** + * @generated + */ + @Override + public ICellEditorValidator getEditTextValidator() { + return new ICellEditorValidator() { + + @Override + 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<java.lang.Object>() { + + @Override + public void run() { + setResult( + parser.isValidEditString( + ParserUtil.getParserAdapter(getParserElement(), + DurationConstraintLinkNameEditPart.this), + (String) value)); + } + }); + return valid.getCode() == IParserEditStatus.EDITABLE ? null : valid.getMessage(); + } catch (InterruptedException ie) { + ie.printStackTrace(); + } + } + + // shouldn't get here + return null; + } + }; + } + + /** + * @generated + */ + @Override + public IContentAssistProcessor getCompletionProcessor() { + if (getParserElement() == null || getParser() == null) { + return null; + } + return getParser().getCompletionProcessor(ParserUtil.getParserAdapter(getParserElement(), this)); + } + + /** + * @generated + */ + @Override + public ParserOptions getParserOptions() { + return ParserOptions.NONE; + } + + /** + * @generated + */ + @Override + public IParser getParser() { + if (parser == null) { + parser = ParserUtil.getParser(UMLElementTypes.DurationConstraint_Edge, getParserElement(), this, 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() { + BusyIndicator.showWhile(Display.getDefault(), new java.lang.Runnable() { + + @Override + public void run() { + getManager().show(); + } + }); + } + + /** + * @generated + */ + protected void performDirectEdit(Point eventLocation) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(eventLocation.getSWTPoint()); + } + } + + /** + * @generated + */ + protected void performDirectEdit(char initialCharacter) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(initialCharacter); + } else { + performDirectEdit(); + } + } + + /** + * @generated + */ + @Override + 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)); + 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(), + configuration.getTextToEdit(resolveSemanticElement()), 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() { + @Override + 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 { + performDirectEdit(); + } + } + } + }); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + /** + * @generated + */ + @Override + 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) { + maskLabelPolicy = getEditPolicy(IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); + } + if (maskLabelPolicy == null) { + View view = (View) getModel(); + if (view.isVisible()) { + setLabelTextHelper(getFigure(), getLabelText()); + setLabelIconHelper(getFigure(), getLabelIcon()); + } else { + setLabelTextHelper(getFigure(), ""); //$NON-NLS-1$ + setLabelIconHelper(getFigure(), null); + } + } + 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 + */ + @Override + 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 + */ + @Override + protected void setFontColor(Color color) { + getFigure().setForegroundColor(color); + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + protected void removeSemanticListeners() { + if (parserElements != null) { + for (int i = 0; i < parserElements.size(); i++) { + removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$ + } + } else { + super.removeSemanticListeners(); + } + } + + /** + * @generated + */ + @Override + protected AccessibleEditPart getAccessibleEditPart() { + if (accessibleEP == null) { + accessibleEP = new AccessibleGraphicalEditPart() { + + @Override + 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(), this); + } + 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(), + this); + } else { + configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, + resolveSemanticElement(), this); + } + } + } + + /** + * 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.equals(configuration.getLanguage())) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); + } 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() { + + @Override + 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 + */ + @Override + 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 + */ + @Override + protected IFigure createFigure() { + // Parent should assign one using setLabel() method + return null; + } + + /** + * @generated + */ + @Override + public String getLabelRole() { + return "Name";//$NON-NLS-1$ + } + + /** + * @generated + */ + @Override + public String getIconPathRole() { + return "platform:/plugin/org.eclipse.papyrus.uml.diagram.common/icons/label_role/name.png";//$NON-NLS-1$ + } + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkAppliedStereotypeEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkAppliedStereotypeEditPart.java new file mode 100644 index 00000000000..9895e5a7d0f --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkAppliedStereotypeEditPart.java @@ -0,0 +1,840 @@ +/** + * Copyright (c) 2016 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: + * CEA LIST - Initial API and implementation + */ +package org.eclipse.papyrus.uml.diagram.sequence.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.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.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.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.IControlParserForDirectEdit; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.parsers.ParserUtil; +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.sequence.edit.policies.UMLTextSelectionEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLVisualIDRegistry; +import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; +import org.eclipse.swt.SWT; +import org.eclipse.swt.accessibility.AccessibleEvent; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; +import org.eclipse.uml2.uml.Feature; + +/** + * @generated + */ +public class DurationObservationLinkAppliedStereotypeEditPart extends PapyrusLabelEditPart + implements ITextAwareEditPart, IControlParserForDirectEdit, ILabelRoleProvider { + + /** + * @generated + */ + public static final String VISUAL_ID = "DurationObservation_StereotypeLabel"; + + /** + * @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.sequence.edit.parts.DurationObservationLinkAppliedStereotypeEditPart.VISUAL_ID), + new Point(1, -33)); + } + + /** + * @generated + */ + public DurationObservationLinkAppliedStereotypeEditPart(View view) { + super(view); + } + + /** + * @generated Papyrus Generation + */ + @Override + 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 PapyrusLinkLabelDragPolicy()); + } + + /** + * @generated + */ + @Override + 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(IFigure figure) { + unregisterVisuals(); + setFigure(figure); + defaultText = getLabelTextHelper(figure); + registerVisuals(); + refreshVisuals(); + } + + /** + * @generated + */ + @Override + protected List<?> getModelChildren() { + return Collections.EMPTY_LIST; + } + + /** + * @generated + */ + @Override + public IGraphicalEditPart getChildBySemanticHint(String semanticHint) { + return null; + } + + /** + * @generated + */ + @Override + 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(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + if (text == null || text.length() == 0) { + text = defaultText; + } + return text; + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + public String getEditText() { + if (getParserElement() == null || getParser() == null) { + return ""; //$NON-NLS-1$ + } + return getParser().getEditString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + + /** + * @generated + */ + protected boolean isEditable() { + return false; + } + + /** + * @generated + */ + @Override + public ICellEditorValidator getEditTextValidator() { + return new ICellEditorValidator() { + + @Override + 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<java.lang.Object>() { + + @Override + public void run() { + setResult(parser.isValidEditString( + ParserUtil.getParserAdapter(getParserElement(), + DurationObservationLinkAppliedStereotypeEditPart.this), + (String) value)); + } + }); + return valid.getCode() == IParserEditStatus.EDITABLE ? null : valid.getMessage(); + } catch (InterruptedException ie) { + ie.printStackTrace(); + } + } + + // shouldn't get here + return null; + } + }; + } + + /** + * @generated + */ + @Override + public IContentAssistProcessor getCompletionProcessor() { + if (getParserElement() == null || getParser() == null) { + return null; + } + return getParser().getCompletionProcessor(ParserUtil.getParserAdapter(getParserElement(), this)); + } + + /** + * @generated + */ + @Override + public ParserOptions getParserOptions() { + return ParserOptions.NONE; + } + + /** + * @generated + */ + @Override + public IParser getParser() { + if (parser == null) { + parser = ParserUtil.getParser(UMLElementTypes.DurationObservation_Edge, getParserElement(), this, + 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() { + BusyIndicator.showWhile(Display.getDefault(), new java.lang.Runnable() { + + @Override + public void run() { + getManager().show(); + } + }); + } + + /** + * @generated + */ + protected void performDirectEdit(Point eventLocation) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(eventLocation.getSWTPoint()); + } + } + + /** + * @generated + */ + protected void performDirectEdit(char initialCharacter) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(initialCharacter); + } else { + performDirectEdit(); + } + } + + /** + * @generated + */ + @Override + 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)); + 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(), + configuration.getTextToEdit(resolveSemanticElement()), 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() { + @Override + 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 { + performDirectEdit(); + } + } + } + }); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + /** + * @generated + */ + @Override + 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) { + maskLabelPolicy = getEditPolicy(IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); + } + if (maskLabelPolicy == null) { + View view = (View) getModel(); + if (view.isVisible()) { + setLabelTextHelper(getFigure(), getLabelText()); + setLabelIconHelper(getFigure(), getLabelIcon()); + } else { + setLabelTextHelper(getFigure(), ""); //$NON-NLS-1$ + setLabelIconHelper(getFigure(), null); + } + } + 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 + */ + @Override + 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 + */ + @Override + protected void setFontColor(Color color) { + getFigure().setForegroundColor(color); + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + protected void removeSemanticListeners() { + if (parserElements != null) { + for (int i = 0; i < parserElements.size(); i++) { + removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$ + } + } else { + super.removeSemanticListeners(); + } + } + + /** + * @generated + */ + @Override + protected AccessibleEditPart getAccessibleEditPart() { + if (accessibleEP == null) { + accessibleEP = new AccessibleGraphicalEditPart() { + + @Override + 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() { + // The label is read-only (defined in GMFGen model) + 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(), this); + } + 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(), + this); + } else { + configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, + resolveSemanticElement(), this); + } + } + } + + /** + * 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.equals(configuration.getLanguage())) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); + } 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() { + + @Override + 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 + */ + @Override + 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 + */ + @Override + protected IFigure createFigure() { + // Parent should assign one using setLabel() method + return null; + } + + /** + * @generated + */ + @Override + public String getLabelRole() { + return "Stereotype";//$NON-NLS-1$ + } + + /** + * @generated + */ + @Override + public String getIconPathRole() { + return "platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif";//$NON-NLS-1$ + } + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkEditPart.java index 7ed9bd00e00..f31e4c98218 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkEditPart.java @@ -12,17 +12,20 @@ package org.eclipse.papyrus.uml.diagram.sequence.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.infra.gmfdiag.common.editpart.ConnectionEditPart; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editparts.UMLConnectionNodeEditPart; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLinkLabelDisplayEditPolicy; import org.eclipse.papyrus.uml.diagram.sequence.figures.DurationLinkFigure; /** * @generated */ -public class DurationObservationLinkEditPart extends ConnectionEditPart implements ITreeBranchEditPart { +public class DurationObservationLinkEditPart extends UMLConnectionNodeEditPart implements ITreeBranchEditPart { /** * @generated @@ -43,6 +46,57 @@ public class DurationObservationLinkEditPart extends ConnectionEditPart implemen protected void createDefaultEditPolicies() { super.createDefaultEditPolicies(); installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultSemanticEditPolicy()); + installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, + new AppliedStereotypeLinkLabelDisplayEditPolicy()); + } + + /** + * @generated + */ + protected boolean addFixedChild(EditPart childEditPart) { + if (childEditPart instanceof DurationObservationLinkNameEditPart) { + ((DurationObservationLinkNameEditPart) childEditPart).setLabel(getPrimaryShape().getDurationLabelFigure()); + } + if (childEditPart instanceof DurationObservationLinkAppliedStereotypeEditPart) { + ((DurationObservationLinkAppliedStereotypeEditPart) childEditPart) + .setLabel(getPrimaryShape().getAppliedStereotypeLabel()); + } + return false; + } + + /** + * @generated + */ + @Override + protected void addChildVisual(EditPart childEditPart, int index) { + if (addFixedChild(childEditPart)) { + return; + } + super.addChildVisual(childEditPart, -1); + } + + /** + * @generated + */ + protected boolean removeFixedChild(EditPart childEditPart) { + if (childEditPart instanceof DurationObservationLinkNameEditPart) { + return true; + } + if (childEditPart instanceof DurationObservationLinkAppliedStereotypeEditPart) { + return true; + } + return false; + } + + /** + * @generated + */ + @Override + protected void removeChildVisual(EditPart childEditPart) { + if (removeFixedChild(childEditPart)) { + return; + } + super.removeChildVisual(childEditPart); } /** diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkNameEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkNameEditPart.java new file mode 100644 index 00000000000..46c326bdcf3 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/DurationObservationLinkNameEditPart.java @@ -0,0 +1,856 @@ +/** + * Copyright (c) 2016 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: + * CEA LIST - Initial API and implementation + */ +package org.eclipse.papyrus.uml.diagram.sequence.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.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.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.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.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.VisualInformationPapyrusConstants; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IControlParserForDirectEdit; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.parsers.ParserUtil; +import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramEditPartsUtil; +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.sequence.edit.policies.UMLTextSelectionEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLVisualIDRegistry; +import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; +import org.eclipse.swt.SWT; +import org.eclipse.swt.accessibility.AccessibleEvent; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; +import org.eclipse.uml2.uml.Feature; + +/** + * @generated + */ +public class DurationObservationLinkNameEditPart extends PapyrusLabelEditPart + implements ITextAwareEditPart, IControlParserForDirectEdit, ILabelRoleProvider { + + /** + * @generated + */ + public static final String VISUAL_ID = "DurationObservation_NameLabel"; + + /** + * @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.sequence.edit.parts.DurationObservationLinkNameEditPart.VISUAL_ID), + new Point(1, -13)); + } + + /** + * @generated + */ + public DurationObservationLinkNameEditPart(View view) { + super(view); + } + + /** + * @generated Papyrus Generation + */ + @Override + 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 PapyrusLinkLabelDragPolicy()); + } + + /** + * @generated + */ + @Override + 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(IFigure figure) { + unregisterVisuals(); + setFigure(figure); + defaultText = getLabelTextHelper(figure); + registerVisuals(); + refreshVisuals(); + } + + /** + * @generated + */ + @Override + protected List<?> getModelChildren() { + return Collections.EMPTY_LIST; + } + + /** + * @generated + */ + @Override + public IGraphicalEditPart getChildBySemanticHint(String semanticHint) { + return null; + } + + /** + * @generated + */ + @Override + public void setParser(IParser parser) { + this.parser = parser; + } + + /** + * @generated + */ + protected EObject getParserElement() { + return resolveSemanticElement(); + } + + /** + * @generated + */ + protected Image getLabelIcon() { + return DiagramEditPartsUtil.getIcon(getParserElement(), getViewer()); + } + + /** + * @generated + */ + protected String getLabelText() { + String text = null; + EObject parserElement = getParserElement(); + if (parserElement != null && getParser() != null) { + text = getParser().getPrintString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + if (text == null || text.length() == 0) { + text = defaultText; + } + return text; + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + public String getEditText() { + if (getParserElement() == null || getParser() == null) { + return ""; //$NON-NLS-1$ + } + return getParser().getEditString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); + } + + /** + * @generated + */ + protected boolean isEditable() { + return getParser() != null; + } + + /** + * @generated + */ + @Override + public ICellEditorValidator getEditTextValidator() { + return new ICellEditorValidator() { + + @Override + 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<java.lang.Object>() { + + @Override + public void run() { + setResult( + parser.isValidEditString( + ParserUtil.getParserAdapter(getParserElement(), + DurationObservationLinkNameEditPart.this), + (String) value)); + } + }); + return valid.getCode() == IParserEditStatus.EDITABLE ? null : valid.getMessage(); + } catch (InterruptedException ie) { + ie.printStackTrace(); + } + } + + // shouldn't get here + return null; + } + }; + } + + /** + * @generated + */ + @Override + public IContentAssistProcessor getCompletionProcessor() { + if (getParserElement() == null || getParser() == null) { + return null; + } + return getParser().getCompletionProcessor(ParserUtil.getParserAdapter(getParserElement(), this)); + } + + /** + * @generated + */ + @Override + public ParserOptions getParserOptions() { + return ParserOptions.NONE; + } + + /** + * @generated + */ + @Override + public IParser getParser() { + if (parser == null) { + parser = ParserUtil.getParser(UMLElementTypes.DurationObservation_Edge, getParserElement(), this, + 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() { + BusyIndicator.showWhile(Display.getDefault(), new java.lang.Runnable() { + + @Override + public void run() { + getManager().show(); + } + }); + } + + /** + * @generated + */ + protected void performDirectEdit(Point eventLocation) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(eventLocation.getSWTPoint()); + } + } + + /** + * @generated + */ + protected void performDirectEdit(char initialCharacter) { + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(initialCharacter); + } else { + performDirectEdit(); + } + } + + /** + * @generated + */ + @Override + 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)); + 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(), + configuration.getTextToEdit(resolveSemanticElement()), 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() { + @Override + 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 { + performDirectEdit(); + } + } + } + }); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + /** + * @generated + */ + @Override + 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) { + maskLabelPolicy = getEditPolicy(IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); + } + if (maskLabelPolicy == null) { + View view = (View) getModel(); + if (view.isVisible()) { + setLabelTextHelper(getFigure(), getLabelText()); + setLabelIconHelper(getFigure(), getLabelIcon()); + } else { + setLabelTextHelper(getFigure(), ""); //$NON-NLS-1$ + setLabelIconHelper(getFigure(), null); + } + } + 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 + */ + @Override + 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 + */ + @Override + protected void setFontColor(Color color) { + getFigure().setForegroundColor(color); + } + + /** + * @generated + */ + @Override + 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 + */ + @Override + protected void removeSemanticListeners() { + if (parserElements != null) { + for (int i = 0; i < parserElements.size(); i++) { + removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$ + } + } else { + super.removeSemanticListeners(); + } + } + + /** + * @generated + */ + @Override + protected AccessibleEditPart getAccessibleEditPart() { + if (accessibleEP == null) { + accessibleEP = new AccessibleGraphicalEditPart() { + + @Override + 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(), this); + } + 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(), + this); + } else { + configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, + resolveSemanticElement(), this); + } + } + } + + /** + * 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.equals(configuration.getLanguage())) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); + } 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() { + + @Override + 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 + */ + @Override + 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(); + } + } + } + + if (event.getNewValue() instanceof EAnnotation && VisualInformationPapyrusConstants.DISPLAY_NAMELABELICON + .equals(((EAnnotation) event.getNewValue()).getSource())) { + refreshLabel(); + } + super.handleNotificationEvent(event); + } + + /** + * @generated + */ + @Override + protected IFigure createFigure() { + // Parent should assign one using setLabel() method + return null; + } + + /** + * @generated + */ + @Override + public String getLabelRole() { + return "Name";//$NON-NLS-1$ + } + + /** + * @generated + */ + @Override + public String getIconPathRole() { + return "platform:/plugin/org.eclipse.papyrus.uml.diagram.common/icons/label_role/name.png";//$NON-NLS-1$ + } + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/UMLEditPartFactory.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/UMLEditPartFactory.java index eeb9e8c5af8..6d7afa1c9c4 100755 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/UMLEditPartFactory.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/UMLEditPartFactory.java @@ -214,9 +214,21 @@ public class UMLEditPartFactory implements EditPartFactory { case DurationConstraintLinkEditPart.VISUAL_ID: return new DurationConstraintLinkEditPart(view); + case DurationConstraintLinkNameEditPart.VISUAL_ID: + return new DurationConstraintLinkNameEditPart(view); + + case DurationConstraintLinkAppliedStereotypeEditPart.VISUAL_ID: + return new DurationConstraintLinkAppliedStereotypeEditPart(view); + case DurationObservationLinkEditPart.VISUAL_ID: return new DurationObservationLinkEditPart(view); + case DurationObservationLinkNameEditPart.VISUAL_ID: + return new DurationObservationLinkNameEditPart(view); + + case DurationObservationLinkAppliedStereotypeEditPart.VISUAL_ID: + return new DurationObservationLinkAppliedStereotypeEditPart(view); + } } return createUnrecognizedEditPart(context, model); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/part/UMLVisualIDRegistry.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/part/UMLVisualIDRegistry.java index f3ce91873f8..2f51e938253 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/part/UMLVisualIDRegistry.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/part/UMLVisualIDRegistry.java @@ -33,8 +33,12 @@ import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContextLinkEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContinuationEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContinuationNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DestructionOccurrenceSpecificationEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkAppliedStereotypeEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkNameEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkAppliedStereotypeEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GateEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GateNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GeneralOrderingAppliedStereotypeEditPart; @@ -495,6 +499,22 @@ public class UMLVisualIDRegistry { return true; } break; + case DurationConstraintLinkEditPart.VISUAL_ID: + if (DurationConstraintLinkNameEditPart.VISUAL_ID.equals(nodeVisualID)) { + return true; + } + if (DurationConstraintLinkAppliedStereotypeEditPart.VISUAL_ID.equals(nodeVisualID)) { + return true; + } + break; + case DurationObservationLinkEditPart.VISUAL_ID: + if (DurationObservationLinkNameEditPart.VISUAL_ID.equals(nodeVisualID)) { + return true; + } + if (DurationObservationLinkAppliedStereotypeEditPart.VISUAL_ID.equals(nodeVisualID)) { + return true; + } + break; } } return false; diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLParserProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLParserProvider.java index 742cf506e4e..a72c61d816a 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLParserProvider.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLParserProvider.java @@ -27,11 +27,16 @@ import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.uml.diagram.common.parser.CommentParser; import org.eclipse.papyrus.uml.diagram.common.parser.ConstraintParser; +import org.eclipse.papyrus.uml.diagram.common.parser.ObservationParser; import org.eclipse.papyrus.uml.diagram.common.parser.stereotype.AppliedStereotypeParser; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.CommentBodyEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.Constraint2EditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ConstraintNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContinuationNameEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkAppliedStereotypeEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkNameEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkAppliedStereotypeEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GateNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GeneralOrderingAppliedStereotypeEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.InteractionNameEditPart; @@ -543,6 +548,66 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid /** * @generated */ + private ConstraintParser durationConstraint_NameLabel_Parser; + + /** + * @generated + */ + private IParser getDurationConstraint_NameLabel_Parser() { + if (durationConstraint_NameLabel_Parser == null) { + durationConstraint_NameLabel_Parser = new ConstraintParser(); + } + return durationConstraint_NameLabel_Parser; + } + + /** + * @generated + */ + private AppliedStereotypeParser durationConstraint_StereotypeLabel_Parser; + + /** + * @generated + */ + private IParser getDurationConstraint_StereotypeLabel_Parser() { + if (durationConstraint_StereotypeLabel_Parser == null) { + durationConstraint_StereotypeLabel_Parser = new AppliedStereotypeParser(); + } + return durationConstraint_StereotypeLabel_Parser; + } + + /** + * @generated + */ + private ObservationParser durationObservation_NameLabel_Parser; + + /** + * @generated + */ + private IParser getDurationObservation_NameLabel_Parser() { + if (durationObservation_NameLabel_Parser == null) { + durationObservation_NameLabel_Parser = new ObservationParser(); + } + return durationObservation_NameLabel_Parser; + } + + /** + * @generated + */ + private AppliedStereotypeParser durationObservation_StereotypeLabel_Parser; + + /** + * @generated + */ + private IParser getDurationObservation_StereotypeLabel_Parser() { + if (durationObservation_StereotypeLabel_Parser == null) { + durationObservation_StereotypeLabel_Parser = new AppliedStereotypeParser(); + } + return durationObservation_StereotypeLabel_Parser; + } + + /** + * @generated + */ protected IParser getParser(String visualID) { if (visualID != null) { switch (visualID) { @@ -624,6 +689,16 @@ public class UMLParserProvider extends AbstractProvider implements IParserProvid case GeneralOrderingAppliedStereotypeEditPart.VISUAL_ID: return getGeneralOrdering_StereotypeLabel_Parser(); + case DurationConstraintLinkNameEditPart.VISUAL_ID: + return getDurationConstraint_NameLabel_Parser(); + case DurationConstraintLinkAppliedStereotypeEditPart.VISUAL_ID: + return getDurationConstraint_StereotypeLabel_Parser(); + + case DurationObservationLinkNameEditPart.VISUAL_ID: + return getDurationObservation_NameLabel_Parser(); + case DurationObservationLinkAppliedStereotypeEditPart.VISUAL_ID: + return getDurationObservation_StereotypeLabel_Parser(); + } } return null; diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLViewProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLViewProvider.java index db61662e0bc..ae08a66deb8 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLViewProvider.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/providers/UMLViewProvider.java @@ -75,8 +75,12 @@ import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContextLinkEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContinuationEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.ContinuationNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DestructionOccurrenceSpecificationEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkAppliedStereotypeEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationConstraintLinkNameEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkAppliedStereotypeEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.DurationObservationLinkNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GateEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GateNameEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.GeneralOrderingAppliedStereotypeEditPart; @@ -1192,7 +1196,21 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider { // if (routing != null) { // org.eclipse.gmf.runtime.diagram.core.util.ViewUtil.setStructuralFeatureValue(edge, org.eclipse.gmf.runtime.notation.NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing); // } + Node durationConstraint_NameLabel = createLabel(edge, + UMLVisualIDRegistry.getType(DurationConstraintLinkNameEditPart.VISUAL_ID)); + durationConstraint_NameLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation()); + Location durationConstraint_NameLabel_Location = (Location) durationConstraint_NameLabel.getLayoutConstraint(); + durationConstraint_NameLabel_Location.setX(1); + durationConstraint_NameLabel_Location.setY(-13); + Node durationConstraint_StereotypeLabel = createLabel(edge, + UMLVisualIDRegistry.getType(DurationConstraintLinkAppliedStereotypeEditPart.VISUAL_ID)); + durationConstraint_StereotypeLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation()); + Location durationConstraint_StereotypeLabel_Location = (Location) durationConstraint_StereotypeLabel + .getLayoutConstraint(); + durationConstraint_StereotypeLabel_Location.setX(1); + durationConstraint_StereotypeLabel_Location.setY(-33); + PreferenceInitializerForElementHelper.initLabelVisibilityFromPrefs(edge, prefStore, "DurationConstraint"); return edge; } @@ -1220,7 +1238,22 @@ public class UMLViewProvider extends AbstractProvider implements IViewProvider { // if (routing != null) { // org.eclipse.gmf.runtime.diagram.core.util.ViewUtil.setStructuralFeatureValue(edge, org.eclipse.gmf.runtime.notation.NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing); // } + Node durationObservation_NameLabel = createLabel(edge, + UMLVisualIDRegistry.getType(DurationObservationLinkNameEditPart.VISUAL_ID)); + durationObservation_NameLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation()); + Location durationObservation_NameLabel_Location = (Location) durationObservation_NameLabel + .getLayoutConstraint(); + durationObservation_NameLabel_Location.setX(1); + durationObservation_NameLabel_Location.setY(-13); + Node durationObservation_StereotypeLabel = createLabel(edge, + UMLVisualIDRegistry.getType(DurationObservationLinkAppliedStereotypeEditPart.VISUAL_ID)); + durationObservation_StereotypeLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation()); + Location durationObservation_StereotypeLabel_Location = (Location) durationObservation_StereotypeLabel + .getLayoutConstraint(); + durationObservation_StereotypeLabel_Location.setX(1); + durationObservation_StereotypeLabel_Location.setY(-33); + PreferenceInitializerForElementHelper.initLabelVisibilityFromPrefs(edge, prefStore, "DurationObservation"); return edge; } |