Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java437
1 files changed, 124 insertions, 313 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java
index 1db2a3008f9..7175a1e520c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/AbstractExecutionSpecificationEditPart.java
@@ -10,7 +10,6 @@ import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Locator;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.draw2d.RelativeLocator;
-import org.eclipse.draw2d.TreeSearch;
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.PrecisionPoint;
@@ -32,6 +31,7 @@ import org.eclipse.gef.requests.ReconnectRequest;
import org.eclipse.gmf.runtime.common.core.util.Log;
import org.eclipse.gmf.runtime.common.core.util.Trace;
import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ResizableShapeEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.internal.DiagramUIDebugOptions;
import org.eclipse.gmf.runtime.diagram.ui.internal.DiagramUIPlugin;
@@ -52,15 +52,18 @@ import org.eclipse.gmf.runtime.notation.IdentityAnchor;
import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.gmf.runtime.notation.datatype.GradientData;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy;
import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.IPapyrusNodeFigure;
import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.LinkLFSVGNodePlateFigure;
import org.eclipse.papyrus.uml.diagram.common.editparts.RoundedCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.common.figure.node.NodeNamedElementFigure;
-import org.eclipse.papyrus.uml.diagram.common.figure.node.RoundedCompartmentFigure;
import org.eclipse.papyrus.uml.diagram.sequence.edit.helpers.AnchorHelper;
import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.AppliedStereotypeCommentCreationEditPolicyEx;
-import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.LifelineXYLayoutEditPolicy;
+import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.OLDLifelineXYLayoutEditPolicy;
+import org.eclipse.papyrus.uml.diagram.sequence.figures.ExecutionSpecificationNodePlate;
+import org.eclipse.papyrus.uml.diagram.sequence.figures.ILifelineInternalFigure;
import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.ConnectExecutionNodeToGrillingEditPolicy;
import org.eclipse.papyrus.uml.diagram.sequence.util.HighlightUtil;
import org.eclipse.papyrus.uml.diagram.sequence.util.LifelineEditPartUtil;
import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceUtil;
@@ -77,7 +80,9 @@ import org.eclipse.uml2.uml.UMLPackage;
public abstract class AbstractExecutionSpecificationEditPart extends RoundedCompartmentEditPart {
public static final String EXECUTION_FIX_ANCHOR_POSITION = "Execution Fix Anchor Position";
-
+ public static int DEFAUT_HEIGHT=100;
+ public static int DEFAUT_WIDTH=20;
+
private List<ExecutionSpecificationEndEditPart> executionSpecificationEndParts;
public AbstractExecutionSpecificationEditPart(View view) {
@@ -121,141 +126,7 @@ public abstract class AbstractExecutionSpecificationEditPart extends RoundedComp
@Override
protected void createDefaultEditPolicies() {
super.createDefaultEditPolicies();
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new ResizableShapeEditPolicy() {
-
- @Override
- protected Command getResizeCommand(ChangeBoundsRequest request) {
- CompoundCommand command = new CompoundCommand();
- command.add(super.getResizeCommand(request));
- EditPart host = getHost();
- LifelineEditPart lifelinePart = SequenceUtil.getParentLifelinePart(host);
- // Calculate children levels
- List<ShapeNodeEditPart> movedChildrenParts = LifelineXYLayoutEditPolicy.getAffixedExecutionSpecificationEditParts((ShapeNodeEditPart) host);
- List<ShapeNodeEditPart> testChildrenParts = new ArrayList<ShapeNodeEditPart>(movedChildrenParts);
- HashMap<ShapeNodeEditPart, Integer> childrenLevels = new HashMap<ShapeNodeEditPart, Integer>();
- Integer currentLevel = 0;
- while (!testChildrenParts.isEmpty()) {
- currentLevel++;
- List<ShapeNodeEditPart> testChildrenPartsNew = new ArrayList<ShapeNodeEditPart>(testChildrenParts);
- HashMap<ShapeNodeEditPart, Integer> childrenLevelsNew = new HashMap<ShapeNodeEditPart, Integer>(childrenLevels);
- for (ShapeNodeEditPart child : testChildrenParts) {
- IFigure figure = child.getFigure();
- Rectangle childRect = figure.getBounds().getCopy();
- if (figure instanceof HandleBounds) {
- childRect = ((HandleBounds) figure).getBounds().getCopy();
- }
- movedChildrenParts.remove(child);
- ShapeNodeEditPart parentTest = LifelineXYLayoutEditPolicy.getParent(lifelinePart, childRect, movedChildrenParts);
- movedChildrenParts.add(child);
- if (childrenLevels.containsKey(parentTest) || parentTest == null) {
- testChildrenPartsNew.remove(child);
- childrenLevelsNew.put(child, currentLevel);
- }
- }
- childrenLevels = childrenLevelsNew;
- testChildrenParts = testChildrenPartsNew;
- }
- // Fetch basic coords
- Rectangle rectRequest = getInitialFeedbackBounds().getCopy();
- getHostFigure().translateToAbsolute(rectRequest);
- rectRequest.translate(0, request.getMoveDelta().y);
- rectRequest.resize(0, request.getSizeDelta().height);
- for (ShapeNodeEditPart child : movedChildrenParts) {
- IFigure figure = child.getFigure();
- Rectangle originalRect = figure.getBounds().getCopy();
- if (figure instanceof HandleBounds) {
- originalRect = ((HandleBounds) figure).getBounds().getCopy();
- }
- Integer level = childrenLevels.get(child);
- Rectangle r = rectRequest.getCopy();
- r.translate(0, level * LifelineXYLayoutEditPolicy.SPACING_HEIGHT);
- r.resize(0, -2 * level * LifelineXYLayoutEditPolicy.SPACING_HEIGHT);
- Rectangle translatedRect = originalRect.getCopy();
- figure.translateToAbsolute(translatedRect);
- if (translatedRect.y < r.y || translatedRect.bottom() > r.bottom()) {
- int moveAmount = 0;
- int resizeAmount = 0;
- if (translatedRect.y < r.y) {
- moveAmount = r.y - translatedRect.y;
- resizeAmount = moveAmount;
- } else { // translatedRect.bottom() > r.bottom()
- resizeAmount = translatedRect.bottom() - r.bottom();
- }
- if (translatedRect.height() - resizeAmount < figure.getMinimumSize().height()) {
- return UnexecutableCommand.INSTANCE;
- }
- // Resize child ES
- ChangeBoundsRequest esRequest = new ChangeBoundsRequest(org.eclipse.gef.RequestConstants.REQ_MOVE);
- esRequest.setEditParts(child);
- esRequest.setResizeDirection(PositionConstants.SOUTH);
- esRequest.setMoveDelta(new Point(0, moveAmount));
- esRequest.setSizeDelta(new Dimension(0, -resizeAmount));
- Command moveESCommand = LifelineXYLayoutEditPolicy.getResizeOrMoveChildrenCommand((LifelineEditPart) lifelinePart, esRequest, false, false, true);
- if (moveESCommand != null && !moveESCommand.canExecute()) {
- // forbid creation of the message if the es can't be moved correctly
- return UnexecutableCommand.INSTANCE;
- } else if (moveESCommand != null) {
- command.add(moveESCommand);
- }
- }
- }
- return command.unwrap();
- }
-
- @Override
- protected void showChangeBoundsFeedback(ChangeBoundsRequest request) {
- request.getMoveDelta().x = 0; // reset offset
- IFigure feedback = getDragSourceFeedbackFigure();
- PrecisionRectangle rect = new PrecisionRectangle(getInitialFeedbackBounds().getCopy());
- getHostFigure().translateToAbsolute(rect);
- IFigure f = getHostFigure();
- Dimension min = f.getMinimumSize().getCopy();
- Dimension max = f.getMaximumSize().getCopy();
- IMapMode mmode = MapModeUtil.getMapMode(f);
- min.height = mmode.LPtoDP(min.height);
- min.width = mmode.LPtoDP(min.width);
- max.height = mmode.LPtoDP(max.height);
- max.width = mmode.LPtoDP(max.width);
- Rectangle originalBounds = rect.getCopy();
- rect.translate(request.getMoveDelta());
- rect.resize(request.getSizeDelta());
- if (min.width > rect.width) {
- rect.width = min.width;
- } else if (max.width < rect.width) {
- rect.width = max.width;
- }
- if (min.height > rect.height) {
- rect.height = min.height;
- } else if (max.height < rect.height) {
- rect.height = max.height;
- }
- if (rect.height == min.height && request.getSizeDelta().height < 0 && request.getMoveDelta().y > 0) { // shrink at north
- Point loc = rect.getLocation();
- loc.y = originalBounds.getBottom().y - min.height;
- rect.setLocation(loc);
- request.getSizeDelta().height = min.height - originalBounds.height;
- request.getMoveDelta().y = loc.y - originalBounds.y;
- }
- if (request.getSizeDelta().height == 0) { // moving
- EditPart parentBar = moveExecutionSpecificationFeedback(request, AbstractExecutionSpecificationEditPart.this, rect);
- if (parentBar == null) {
- parentBar = getParent();
- }
- // Highlight the parentBar when perform moving.
- HighlightUtil.unhighlight();
- HighlightUtil.highlight(parentBar);
- }
- feedback.translateToRelative(rect);
- feedback.setBounds(rect);
- }
-
- @Override
- protected void eraseChangeBoundsFeedback(ChangeBoundsRequest request) {
- super.eraseChangeBoundsFeedback(request);
- HighlightUtil.unhighlight();
- }
- });
- // install a editpolicy to display stereotypes
+ installEditPolicy(ConnectExecutionNodeToGrillingEditPolicy.CONNECT_TO_GRILLING_MANAGEMENT, new ConnectExecutionNodeToGrillingEditPolicy());
installEditPolicy(AppliedStereotypeCommentEditPolicy.APPLIED_STEREOTYPE_COMMENT, new AppliedStereotypeCommentCreationEditPolicyEx());
}
@@ -307,164 +178,123 @@ public abstract class AbstractExecutionSpecificationEditPart extends RoundedComp
return true;
}
- @Override
- protected void handleNotificationEvent(Notification event) {
- super.handleNotificationEvent(event);
- Object feature = event.getFeature();
- if ((getModel() != null) && (getModel() == event.getNotifier())) {
- if (NotationPackage.eINSTANCE.getLineStyle_LineWidth().equals(feature)) {
- refreshLineWidth();
- } else if (NotationPackage.eINSTANCE.getLineTypeStyle_LineType().equals(feature)) {
- refreshLineType();
- }
- } else if (NotationPackage.eINSTANCE.getLocation_X().equals(feature) || NotationPackage.eINSTANCE.getLocation_Y().equals(feature) || NotationPackage.eINSTANCE.getSize_Height().equals(feature)
- || NotationPackage.eINSTANCE.getSize_Width().equals(feature)) {
- getParent().refresh();
- } else if (UMLPackage.eINSTANCE.getExecutionSpecification_Finish().equals(feature) || UMLPackage.eINSTANCE.getExecutionSpecification_Start().equals(feature)) {
- if (executionSpecificationEndParts != null) {
- for (ExecutionSpecificationEndEditPart child : executionSpecificationEndParts) {
- removeChild(child);
- child.removeFromResource();
- }
- executionSpecificationEndParts = null;
- }
- refreshChildren();
- }
- refreshShadow();
- }
-
- public class ExecutionSpecificationRectangleFigure extends RoundedCompartmentFigure {
- public ExecutionSpecificationRectangleFigure() {
- this.setPreferredSize(new Dimension(getMapMode().DPtoLP(16), getMapMode().DPtoLP(60)));
- this.setMinimumSize(new Dimension(getMapMode().DPtoLP(16), getMapMode().DPtoLP(20)));
- }
-
- @Override
- public IFigure findMouseEventTargetAt(int x, int y) {
- // check children first instead of self
- IFigure f = findMouseEventTargetInDescendantsAt(x, y);
- if (f != null) {
- return f;
- }
- if (!containsPoint(x, y)) {
- return null;
- }
- if (isMouseEventTarget()) {
- return this;
- }
- return null;
- }
-
- @Override
- public IFigure findFigureAt(int x, int y, TreeSearch search) {
- if (search.prune(this)) {
- return null;
- }
- IFigure child = findDescendantAtExcluding(x, y, search);
- if (child != null) {
- return child;
- }
- if (!containsPoint(x, y)) {
- return null;
- }
- if (search.accept(this)) {
- return this;
- }
- return null;
- }
- }
+// @Override
+// protected void handleNotificationEvent(Notification event) {
+// super.handleNotificationEvent(event);
+// Object feature = event.getFeature();
+// if ((getModel() != null) && (getModel() == event.getNotifier())) {
+// if (NotationPackage.eINSTANCE.getLineStyle_LineWidth().equals(feature)) {
+// refreshLineWidth();
+// } else if (NotationPackage.eINSTANCE.getLineTypeStyle_LineType().equals(feature)) {
+// refreshLineType();
+// }
+// } else if (NotationPackage.eINSTANCE.getLocation_X().equals(feature) || NotationPackage.eINSTANCE.getLocation_Y().equals(feature) || NotationPackage.eINSTANCE.getSize_Height().equals(feature)
+// || NotationPackage.eINSTANCE.getSize_Width().equals(feature)) {
+// getParent().refresh();
+// } else if (UMLPackage.eINSTANCE.getExecutionSpecification_Finish().equals(feature) || UMLPackage.eINSTANCE.getExecutionSpecification_Start().equals(feature)) {
+// if (executionSpecificationEndParts != null) {
+// for (ExecutionSpecificationEndEditPart child : executionSpecificationEndParts) {
+// removeChild(child);
+// child.removeFromResource();
+// }
+// executionSpecificationEndParts = null;
+// }
+// refreshChildren();
+// }
+// refreshShadow();
+// }
@Override
public abstract ExecutionSpecificationRectangleFigure getPrimaryShape();
// see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=385604
- protected ShapeNodeEditPart moveExecutionSpecificationFeedback(ChangeBoundsRequest request, AbstractExecutionSpecificationEditPart movedPart, PrecisionRectangle rect) {
- CustomLifelineEditPart lifelineEP = (CustomLifelineEditPart) movedPart.getParent();
- Rectangle copy = rect.getCopy();
- lifelineEP.getPrimaryShape().translateToRelative(copy);
- List<ShapeNodeEditPart> executionSpecificationList = LifelineEditPartUtil.getChildShapeNodeEditPart(lifelineEP);
- List<ShapeNodeEditPart> movedChildrenParts = LifelineXYLayoutEditPolicy.getAffixedExecutionSpecificationEditParts(AbstractExecutionSpecificationEditPart.this);
- executionSpecificationList.remove(movedPart); // ignore current action and its children
- executionSpecificationList.removeAll(movedChildrenParts);
- ShapeNodeEditPart parentBar = LifelineXYLayoutEditPolicy.getParent(lifelineEP, copy, executionSpecificationList);
- Rectangle dotLineBounds = lifelineEP.getPrimaryShape().getFigureLifelineDotLineFigure().getBounds();
- int dotLineBarLocationX = dotLineBounds.x + dotLineBounds.width / 2 - LifelineXYLayoutEditPolicy.EXECUTION_INIT_WIDTH / 2;
- if (parentBar == null) {
- if (dotLineBarLocationX < copy.x) { // there is no parent bar, move to the center dotline position
- int dx = dotLineBarLocationX - copy.x;
- request.getMoveDelta().x += dx;
- rect.x += dx;
- }
- } else {
- while (!executionSpecificationList.isEmpty()) {
- Rectangle parentBounds = parentBar.getFigure().getBounds();
- int width = parentBounds.width > 0 ? parentBounds.width : LifelineXYLayoutEditPolicy.EXECUTION_INIT_WIDTH;
- int x = parentBounds.x + width / 2 + 1; // affixed to the parent bar
- int dx = x - copy.x;
- rect.x += dx;
- request.getMoveDelta().x += dx;
- copy.x = x;
- // check again to see if the new bar location overlaps with existing bars
- ShapeNodeEditPart part = LifelineXYLayoutEditPolicy.getParent(lifelineEP, copy, executionSpecificationList);
- if (part == parentBar) {
- break;
- } else {
- // if overlaps, go on moving the bar to next x position
- parentBar = part;
- }
- }
- }
- return parentBar;
- }
-
- /**
- * Override for add elements on ExecutionSpecification
- */
- @Override
- public Command getCommand(Request request) {
- if (request instanceof CreateUnspecifiedTypeRequest) {
- return getParent().getCommand(request);
- }
- return super.getCommand(request);
- }
-
- /**
- * @generated NOT Override for redirecting creation request to the lifeline
- */
- @Override
- public void showSourceFeedback(Request request) {
- if (request instanceof CreateUnspecifiedTypeRequest) {
- getParent().showSourceFeedback(request);
- }
- super.showSourceFeedback(request);
- }
-
- /**
- * @generated NOT Override for redirecting creation request to the lifeline
- */
- @Override
- public void eraseSourceFeedback(Request request) {
- if (request instanceof CreateUnspecifiedTypeRequest) {
- getParent().eraseSourceFeedback(request);
- }
- super.eraseSourceFeedback(request);
- }
-
- @Override
- public void showTargetFeedback(Request request) {
- if (request instanceof CreateUnspecifiedTypeRequest) {
- getParent().showTargetFeedback(request);
- }
- super.showTargetFeedback(request);
- }
-
- @Override
- public void eraseTargetFeedback(Request request) {
- if (request instanceof CreateUnspecifiedTypeRequest) {
- getParent().eraseTargetFeedback(request);
- }
- super.eraseTargetFeedback(request);
- }
+// protected ShapeNodeEditPart moveExecutionSpecificationFeedback(ChangeBoundsRequest request, AbstractExecutionSpecificationEditPart movedPart, PrecisionRectangle rect) {
+// OLDLifelineEditPart lifelineEP = (OLDLifelineEditPart) movedPart.getParent();
+// Rectangle copy = rect.getCopy();
+// lifelineEP.getPrimaryShape().translateToRelative(copy);
+// List<ShapeNodeEditPart> executionSpecificationList = LifelineEditPartUtil.getChildShapeNodeEditPart(lifelineEP);
+// List<ShapeNodeEditPart> movedChildrenParts = OLDLifelineXYLayoutEditPolicy.getAffixedExecutionSpecificationEditParts(AbstractExecutionSpecificationEditPart.this);
+// executionSpecificationList.remove(movedPart); // ignore current action and its children
+// executionSpecificationList.removeAll(movedChildrenParts);
+// ShapeNodeEditPart parentBar = OLDLifelineXYLayoutEditPolicy.getParent(lifelineEP, copy, executionSpecificationList);
+// Rectangle dotLineBounds = lifelineEP.getPrimaryShape().getFigureLifelineDotLineFigure().getBounds();
+// int dotLineBarLocationX = dotLineBounds.x + dotLineBounds.width / 2 - OLDLifelineXYLayoutEditPolicy.EXECUTION_INIT_WIDTH / 2;
+// if (parentBar == null) {
+// if (dotLineBarLocationX < copy.x) { // there is no parent bar, move to the center dotline position
+// int dx = dotLineBarLocationX - copy.x;
+// request.getMoveDelta().x += dx;
+// rect.x += dx;
+// }
+// } else {
+// while (!executionSpecificationList.isEmpty()) {
+// Rectangle parentBounds = parentBar.getFigure().getBounds();
+// int width = parentBounds.width > 0 ? parentBounds.width : OLDLifelineXYLayoutEditPolicy.EXECUTION_INIT_WIDTH;
+// int x = parentBounds.x + width / 2 + 1; // affixed to the parent bar
+// int dx = x - copy.x;
+// rect.x += dx;
+// request.getMoveDelta().x += dx;
+// copy.x = x;
+// // check again to see if the new bar location overlaps with existing bars
+// ShapeNodeEditPart part = OLDLifelineXYLayoutEditPolicy.getParent(lifelineEP, copy, executionSpecificationList);
+// if (part == parentBar) {
+// break;
+// } else {
+// // if overlaps, go on moving the bar to next x position
+// parentBar = part;
+// }
+// }
+// }
+// return parentBar;
+// }
+
+// /**
+// * Override for add elements on ExecutionSpecification
+// */
+// @Override
+// public Command getCommand(Request request) {
+// if (request instanceof CreateUnspecifiedTypeRequest) {
+// return getParent().getCommand(request);
+// }
+// return super.getCommand(request);
+// }
+//
+// /**
+// * @generated NOT Override for redirecting creation request to the lifeline
+// */
+// @Override
+// public void showSourceFeedback(Request request) {
+// if (request instanceof CreateUnspecifiedTypeRequest) {
+// getParent().showSourceFeedback(request);
+// }
+// super.showSourceFeedback(request);
+// }
+//
+// /**
+// * @generated NOT Override for redirecting creation request to the lifeline
+// */
+// @Override
+// public void eraseSourceFeedback(Request request) {
+// if (request instanceof CreateUnspecifiedTypeRequest) {
+// getParent().eraseSourceFeedback(request);
+// }
+// super.eraseSourceFeedback(request);
+// }
+//
+// @Override
+// public void showTargetFeedback(Request request) {
+// if (request instanceof CreateUnspecifiedTypeRequest) {
+// getParent().showTargetFeedback(request);
+// }
+// super.showTargetFeedback(request);
+// }
+//
+// @Override
+// public void eraseTargetFeedback(Request request) {
+// if (request instanceof CreateUnspecifiedTypeRequest) {
+// getParent().eraseTargetFeedback(request);
+// }
+// super.eraseTargetFeedback(request);
+// }
/**
* Add connection on top off the figure during the feedback.
@@ -662,30 +492,11 @@ public abstract class AbstractExecutionSpecificationEditPart extends RoundedComp
@Override
protected NodeFigure createSVGNodePlate() {
- LinkLFSVGNodePlateFigure svgNodePlateFigure = new LinkLFSVGNodePlateFigure(this, -1, -1) {
- /**
- * @see org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure#isDefaultAnchorArea(org.eclipse.draw2d.geometry.PrecisionPoint)
- */
- @Override
- protected boolean isDefaultAnchorArea(PrecisionPoint p) {
- return false;
- }
-
- @Override
- public ConnectionAnchor getConnectionAnchor(String terminal) {
- // Use FixedAnchorEx for MessageSync, this will be invoked by mapConnectionAnchor(termial) operation.
- if (terminal != null && terminal.indexOf("{") != -1 && terminal.indexOf("}") != -1) {
- int position = AnchorHelper.FixedAnchorEx.parsePosition(terminal);
- if (PositionConstants.TOP == position || PositionConstants.BOTTOM == position) {
- return new AnchorHelper.FixedAnchorEx(this, position);
- }
- }
- return super.getConnectionAnchor(terminal);
- }
- };
+ ExecutionSpecificationNodePlate svgNodePlateFigure= new ExecutionSpecificationNodePlate(this, -1, -1);
svgNodePlateFigure.setMinimumSize(new Dimension(getMapMode().DPtoLP(16), getMapMode().DPtoLP(20))); // min height 20
svgNodePlate = svgNodePlateFigure.withLinkLFEnabled();
svgNodePlate.setDefaultNodePlate(createNodePlate());
return svgNodePlate;
}
+
}

Back to the top