Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 224421 Details for
Bug 377501
[Sequence Diagram] Connections upon Messages creation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
bug fixes
PAPYRUS-253 Wrong anchor position.patch (text/plain), 23.23 KB, created by
Yves YANG
on 2012-12-07 08:00:36 EST
(
hide
)
Description:
bug fixes
Filename:
MIME Type:
Creator:
Yves YANG
Created:
2012-12-07 08:00:36 EST
Size:
23.23 KB
patch
obsolete
>Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java (revision 9476) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java (working copy) >@@ -20,6 +20,7 @@ > import java.util.Map.Entry; > > import org.eclipse.draw2d.Connection; >+import org.eclipse.draw2d.ConnectionRouter; > import org.eclipse.draw2d.IFigure; > import org.eclipse.draw2d.Polyline; > import org.eclipse.draw2d.geometry.Point; >@@ -514,4 +515,10 @@ > return false; > } > >+ protected ConnectionRouter getDummyConnectionRouter(CreateConnectionRequest req) { >+ if(req.getSourceEditPart() instanceof InteractionEditPart || req.getSourceEditPart() instanceof CombinedFragmentEditPart){ >+ return ConnectionRouter.NULL; >+ } >+ return super.getDummyConnectionRouter(req); >+ } > } >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ExecutionSpecificationEndEditPart.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ExecutionSpecificationEndEditPart.java (revision 9476) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ExecutionSpecificationEndEditPart.java (working copy) >@@ -188,7 +188,6 @@ > return false; > > if(model == this.resolveSemanticElement()) { >- System.out.println( ((OccurrenceSpecification) model).getName() ); > if(!this.getNotationView().equals( e.getTarget())) > return true; > } >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java (revision 9549) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java (working copy) >@@ -3,11 +3,11 @@ > import java.util.ArrayList; > import java.util.List; > >+import org.eclipse.draw2d.ConnectionAnchor; > import org.eclipse.draw2d.IFigure; > import org.eclipse.draw2d.Locator; > import org.eclipse.draw2d.PositionConstants; > import org.eclipse.draw2d.RelativeLocator; >-import org.eclipse.draw2d.Shape; > import org.eclipse.draw2d.TreeSearch; > import org.eclipse.draw2d.geometry.Dimension; > import org.eclipse.draw2d.geometry.Point; >@@ -16,6 +16,7 @@ > import org.eclipse.draw2d.geometry.Rectangle; > import org.eclipse.emf.common.notify.Notification; > import org.eclipse.emf.ecore.EObject; >+import org.eclipse.gef.ConnectionEditPart; > import org.eclipse.gef.EditPart; > import org.eclipse.gef.EditPolicy; > import org.eclipse.gef.Request; >@@ -23,8 +24,10 @@ > import org.eclipse.gef.commands.UnexecutableCommand; > import org.eclipse.gef.handles.HandleBounds; > import org.eclipse.gef.requests.ChangeBoundsRequest; >+import org.eclipse.gef.requests.ReconnectRequest; > import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart; > import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ResizableShapeEditPolicy; >+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateUnspecifiedTypeConnectionRequest; > import org.eclipse.gmf.runtime.diagram.ui.requests.CreateUnspecifiedTypeRequest; > import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode; > import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil; >@@ -38,7 +41,9 @@ > import org.eclipse.papyrus.infra.emf.appearance.helper.ShadowFigureHelper; > import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.IPapyrusNodeFigure; > import org.eclipse.papyrus.uml.diagram.common.figure.node.PapyrusNodeFigure; >+import org.eclipse.papyrus.uml.diagram.sequence.edit.helpers.AnchorHelper; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.LifelineXYLayoutEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; > import org.eclipse.swt.graphics.Color; > import org.eclipse.uml2.uml.ExecutionSpecification; > >@@ -375,4 +380,94 @@ > } > super.eraseTargetFeedback(request); > } >+ >+ /** >+ * Add connection on top off the figure during the feedback. >+ */ >+ public ConnectionAnchor getTargetConnectionAnchor(Request request) { >+ if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >+ CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >+ List<?> relationshipTypes = createRequest.getElementTypes(); >+ for(Object obj : relationshipTypes) { >+ if(UMLElementTypes.Message_4003.equals(obj)) { >+ // Sync Message >+ if(!createRequest.getTargetEditPart().equals(createRequest.getSourceEditPart())) { >+ return new AnchorHelper.FixedAnchorEx(getFigure(), PositionConstants.TOP); >+ } >+ // otherwise, this is a recursive call, let destination free >+ } >+ } >+ } else if(request instanceof ReconnectRequest) { >+ ReconnectRequest reconnectRequest = (ReconnectRequest)request; >+ ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >+ if(connectionEditPart instanceof MessageEditPart) { >+ // Sync Message >+ return new AnchorHelper.FixedAnchorEx(getFigure(), PositionConstants.TOP); >+ } >+ } >+ >+ return super.getTargetConnectionAnchor(request); >+ } >+ >+ /** >+ * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >+ * >+ * @param connEditPart >+ * The connection edit part. >+ * @return The anchor. >+ */ >+ @Override >+ public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connEditPart) { >+ if(connEditPart instanceof MessageEditPart) { >+ // Sync Message >+ return new AnchorHelper.FixedAnchorEx(getFigure(), PositionConstants.TOP); >+ } >+ return super.getTargetConnectionAnchor(connEditPart); >+ } >+ >+ >+ /** >+ * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request) >+ * >+ * @param request >+ * The request >+ * @return The anchor >+ */ >+ @Override >+ public ConnectionAnchor getSourceConnectionAnchor(Request request) { >+ if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >+ CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >+ List<?> relationshipTypes = createRequest.getElementTypes(); >+ for(Object obj : relationshipTypes) { >+ if(UMLElementTypes.Message_4005.equals(obj)) { >+ // Reply Message >+ return new AnchorHelper.FixedAnchorEx(getFigure(),PositionConstants.BOTTOM); >+ } >+ } >+ } else if(request instanceof ReconnectRequest) { >+ ReconnectRequest reconnectRequest = (ReconnectRequest)request; >+ ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >+ if(connectionEditPart instanceof Message3EditPart) { >+ // Reply Message >+ return new AnchorHelper.FixedAnchorEx(getFigure(),PositionConstants.BOTTOM); >+ } >+ } >+ return super.getSourceConnectionAnchor(request); >+ } >+ >+ /** >+ * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >+ * >+ * @param connEditPart >+ * The connection edit part. >+ * @return The anchor. >+ */ >+ @Override >+ public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connEditPart) { >+ if(connEditPart instanceof Message3EditPart) { >+ // Reply Message >+ return new AnchorHelper.FixedAnchorEx(getFigure(), PositionConstants.BOTTOM); >+ } >+ return super.getSourceConnectionAnchor(connEditPart); >+ } > } >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/helpers/AnchorHelper.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/helpers/AnchorHelper.java (revision 9476) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/helpers/AnchorHelper.java (working copy) >@@ -2,6 +2,7 @@ > > import org.eclipse.draw2d.ConnectionAnchor; > import org.eclipse.draw2d.IFigure; >+import org.eclipse.draw2d.PositionConstants; > import org.eclipse.draw2d.geometry.Dimension; > import org.eclipse.draw2d.geometry.Point; > import org.eclipse.draw2d.geometry.PointList; >@@ -23,7 +24,6 @@ > import org.eclipse.gmf.runtime.notation.Anchor; > import org.eclipse.gmf.runtime.notation.Edge; > import org.eclipse.gmf.runtime.notation.IdentityAnchor; >-import org.eclipse.papyrus.uml.diagram.common.draw2d.anchors.FixedAnchor; > > > public class AnchorHelper { >@@ -95,55 +95,66 @@ > public IntersectionPointAnchor(IFigure fig) { > super(fig); > } >- >+ > protected Point getLocation(Point ownReference, Point foreignReference) { > PointList intersections = getIntersectionPoints(ownReference, foreignReference); >- if (intersections!=null && intersections.size()!=0) { >+ if (intersections != null && intersections.size() > 0) { > int size = intersections.size(); >- double dist = foreignReference.getDistance(ownReference); >- for(int i = 0; i < size; i ++){ >+ Point near = intersections.getPoint(0); >+ double dist = ownReference.getDistance(near); >+ for(int i = 1; i < size; i ++){ > Point loc = intersections.getPoint(i); >- if(isInOrder(foreignReference,ownReference,dist, loc)){ >- return loc; >+ double d = ownReference.getDistance(loc); >+ if(d < dist){ >+ dist = d; >+ near = loc; > } > } >- return intersections.getFirstPoint(); >+ return near; > } > return null; > } > >- private boolean isInOrder(Point start, Point end, double dist, Point loc) { >- double total = loc.getDistance(start); >- double dist2 = loc.getDistance(end); >- if(total < dist || total < dist2) >- return false; >- >- if(Math.abs(total - dist - dist2) < 0.01) >- return true; >- >- return false; >- } >+// private boolean isInOrder(Point start, Point end, double dist, Point loc) { >+// double total = loc.getDistance(start); >+// double dist2 = loc.getDistance(end); >+// if(total < dist || total < dist2) >+// return false; >+// >+// if(Math.abs(total - dist - dist2) < 0.01) >+// return true; >+// >+// return false; >+// } > } > >- public static class FixedAnchorEx extends FixedAnchor { >- >+ public static class FixedAnchorEx extends SlidableAnchor { >+ > private int location; > > public FixedAnchorEx(IFigure f, int location) { >- super(f, location); >+ super(f, location == PositionConstants.TOP ? new PrecisionPoint(0.0, 0.0) : new PrecisionPoint(0.0, 1.0)); > this.location = location; > } > > public Point getLocation(Point reference) { >- if(location == TOP) >- return getBox().getTop(); >- else if(location == BOTTOM) >- return getBox().getBottom(); >- >+ if(location == PositionConstants.TOP){ >+ Point topLeft = getBox().getTopLeft(); >+ if(reference.x < topLeft.x) >+ return topLeft; >+ else >+ return getBox().getTopRight(); >+ }else if(location == PositionConstants.BOTTOM){ >+ Point bottomLeft = getBox().getBottomLeft(); >+ if(reference.x < bottomLeft.x) >+ return bottomLeft; >+ else >+ return getBox().getBottomRight(); >+ } > return super.getLocation(reference); > } > } >- >+ > public static class SideAnchor extends SlidableAnchor{ > > private boolean isRight; >@@ -161,7 +172,7 @@ > public String getTerminal() { > String side = isRight? "R": "L"; > return super.getTerminal() + "{" + side + "}"; >- } >+ } > } > > public static class InnerPointAnchor extends SlidableAnchor{ >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/BehaviorExecutionSpecificationEditPart.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/BehaviorExecutionSpecificationEditPart.java (revision 9549) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/BehaviorExecutionSpecificationEditPart.java (working copy) >@@ -17,13 +17,11 @@ > import java.util.LinkedList; > import java.util.List; > >-import org.eclipse.draw2d.ConnectionAnchor; > import org.eclipse.draw2d.DelegatingLayout; > import org.eclipse.draw2d.IFigure; > import org.eclipse.draw2d.PositionConstants; > import org.eclipse.draw2d.Shape; > import org.eclipse.emf.ecore.EStructuralFeature; >-import org.eclipse.gef.ConnectionEditPart; > import org.eclipse.gef.EditPart; > import org.eclipse.gef.EditPolicy; > import org.eclipse.gef.Request; >@@ -32,10 +30,8 @@ > import org.eclipse.gef.editpolicies.NonResizableEditPolicy; > import org.eclipse.gef.editpolicies.ResizableEditPolicy; > import org.eclipse.gef.requests.CreateRequest; >-import org.eclipse.gef.requests.ReconnectRequest; > import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; > import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; >-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateUnspecifiedTypeConnectionRequest; > import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities; > import org.eclipse.gmf.runtime.emf.type.core.IElementType; > import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure; >@@ -45,8 +41,6 @@ > import org.eclipse.jface.preference.PreferenceConverter; > import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter; > import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.PreferenceConstantHelper; >-import org.eclipse.papyrus.uml.diagram.common.draw2d.anchors.FixedAnchor; >-import org.eclipse.papyrus.uml.diagram.sequence.edit.helpers.AnchorHelper; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.BehaviorExecutionSpecificationItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ElementCreationWithMessageEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ExecutionSpecificationComponentEditPolicy; >@@ -1019,99 +1013,5 @@ > result = getStructuralFeatureValue(feature); > } > return result; >- } >- >- /** >- * Add connection on top off the figure >- */ >- @Override >- public ConnectionAnchor getTargetConnectionAnchor(Request request) { >- if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >- CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >- List<?> relationshipTypes = createRequest.getElementTypes(); >- for(Object obj : relationshipTypes) { >- if(UMLElementTypes.Message_4003.equals(obj)) { >- // Sync Message >- if(!createRequest.getTargetEditPart().equals(createRequest.getSourceEditPart())) { >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- // otherwise, this is a recursive call, let destination free >- } >- } >- } else if(request instanceof ReconnectRequest) { >- ReconnectRequest reconnectRequest = (ReconnectRequest)request; >- ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >- if(connectionEditPart instanceof MessageEditPart) { >- // Sync Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- } >- >- return super.getTargetConnectionAnchor(request); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >- * >- * @param connEditPart >- * The connection edit part. >- * @return The anchor. >- */ >- >- @Override >- public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connEditPart) { >- if(connEditPart instanceof MessageEditPart) { >- // Sync Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- return super.getTargetConnectionAnchor(connEditPart); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request) >- * >- * @param request >- * The request >- * @return The anchor >- */ >- >- @Override >- public ConnectionAnchor getSourceConnectionAnchor(Request request) { >- if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >- CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >- List<?> relationshipTypes = createRequest.getElementTypes(); >- for(Object obj : relationshipTypes) { >- if(UMLElementTypes.Message_4005.equals(obj)) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- } >- } else if(request instanceof ReconnectRequest) { >- ReconnectRequest reconnectRequest = (ReconnectRequest)request; >- ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >- if(connectionEditPart instanceof Message3EditPart) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- } >- return super.getSourceConnectionAnchor(request); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >- * >- * @param connEditPart >- * The connection edit part. >- * @return The anchor. >- */ >- >- @Override >- public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connEditPart) { >- if(connEditPart instanceof Message3EditPart) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- return super.getSourceConnectionAnchor(connEditPart); >- } >- >+ } > } >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ActionExecutionSpecificationEditPart.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ActionExecutionSpecificationEditPart.java (revision 9549) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/ActionExecutionSpecificationEditPart.java (working copy) >@@ -17,13 +17,11 @@ > import java.util.LinkedList; > import java.util.List; > >-import org.eclipse.draw2d.ConnectionAnchor; > import org.eclipse.draw2d.DelegatingLayout; > import org.eclipse.draw2d.IFigure; > import org.eclipse.draw2d.PositionConstants; > import org.eclipse.draw2d.Shape; > import org.eclipse.emf.ecore.EStructuralFeature; >-import org.eclipse.gef.ConnectionEditPart; > import org.eclipse.gef.EditPart; > import org.eclipse.gef.EditPolicy; > import org.eclipse.gef.Request; >@@ -32,10 +30,8 @@ > import org.eclipse.gef.editpolicies.NonResizableEditPolicy; > import org.eclipse.gef.editpolicies.ResizableEditPolicy; > import org.eclipse.gef.requests.CreateRequest; >-import org.eclipse.gef.requests.ReconnectRequest; > import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; > import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; >-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateUnspecifiedTypeConnectionRequest; > import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities; > import org.eclipse.gmf.runtime.emf.type.core.IElementType; > import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure; >@@ -45,8 +41,6 @@ > import org.eclipse.jface.preference.PreferenceConverter; > import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter; > import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.PreferenceConstantHelper; >-import org.eclipse.papyrus.uml.diagram.common.draw2d.anchors.FixedAnchor; >-import org.eclipse.papyrus.uml.diagram.sequence.edit.helpers.AnchorHelper; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ActionExecutionSpecificationItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ElementCreationWithMessageEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.ExecutionSpecificationComponentEditPolicy; >@@ -1023,98 +1017,4 @@ > } > return result; > } >- >- /** >- * Add connection on top off the figure during the feedback. >- */ >- >- public ConnectionAnchor getTargetConnectionAnchor(Request request) { >- if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >- CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >- List<?> relationshipTypes = createRequest.getElementTypes(); >- for(Object obj : relationshipTypes) { >- if(UMLElementTypes.Message_4003.equals(obj)) { >- // Sync Message >- if(!createRequest.getTargetEditPart().equals(createRequest.getSourceEditPart())) { >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- // otherwise, this is a recursive call, let destination free >- } >- } >- } else if(request instanceof ReconnectRequest) { >- ReconnectRequest reconnectRequest = (ReconnectRequest)request; >- ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >- if(connectionEditPart instanceof MessageEditPart) { >- // Sync Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- } >- >- return super.getTargetConnectionAnchor(request); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >- * >- * @param connEditPart >- * The connection edit part. >- * @return The anchor. >- */ >- >- @Override >- public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connEditPart) { >- if(connEditPart instanceof MessageEditPart) { >- // Sync Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.TOP); >- } >- return super.getTargetConnectionAnchor(connEditPart); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request) >- * >- * @param request >- * The request >- * @return The anchor >- */ >- >- @Override >- public ConnectionAnchor getSourceConnectionAnchor(Request request) { >- if(request instanceof CreateUnspecifiedTypeConnectionRequest) { >- CreateUnspecifiedTypeConnectionRequest createRequest = (CreateUnspecifiedTypeConnectionRequest)request; >- List<?> relationshipTypes = createRequest.getElementTypes(); >- for(Object obj : relationshipTypes) { >- if(UMLElementTypes.Message_4005.equals(obj)) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- } >- } else if(request instanceof ReconnectRequest) { >- ReconnectRequest reconnectRequest = (ReconnectRequest)request; >- ConnectionEditPart connectionEditPart = reconnectRequest.getConnectionEditPart(); >- if(connectionEditPart instanceof Message3EditPart) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- } >- return super.getSourceConnectionAnchor(request); >- } >- >- /** >- * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart) >- * >- * @param connEditPart >- * The connection edit part. >- * @return The anchor. >- */ >- >- @Override >- public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connEditPart) { >- if(connEditPart instanceof Message3EditPart) { >- // Reply Message >- return new AnchorHelper.FixedAnchorEx(getFigure(), FixedAnchor.BOTTOM); >- } >- return super.getSourceConnectionAnchor(connEditPart); >- } >- > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 377501
:
214914
|
220884
|
224162
| 224421 |
224672
|
224673