diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java')
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java index 386bb347b38..d53628f7baf 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CLifeLineEditPart.java @@ -294,15 +294,13 @@ public class CLifeLineEditPart extends LifelineEditPart { .filter(MessageEnd::isReceive) .filter(end -> end.getMessage().getMessageSort() == MessageSort.CREATE_MESSAGE_LITERAL); - return createEnd.map(this::getCreateMessageIncomingSide) - .filter(OptionalInt::isPresent) - .map(side -> { - getBorderedFigure().getBorderItemContainer() - .add(((IGraphicalEditPart) childEditPart).getFigure(), - new TimeElementLocator(getMainFigure(), this::getTimeElementSide)); - - return true; - }).orElseGet(() -> super.addFixedChild(childEditPart)); + return createEnd.map(__ -> { + getBorderedFigure().getBorderItemContainer() + .add(((IGraphicalEditPart) childEditPart).getFigure(), + new TimeElementLocator(getMainFigure(), this::getTimeElementSide)); + + return true; + }).orElseGet(() -> super.addFixedChild(childEditPart)); } public OptionalInt getCreateMessageIncomingSide(Point where) { @@ -350,10 +348,11 @@ public class CLifeLineEditPart extends LifelineEditPart { } int getTimeElementSide(Rectangle proposedBounds) { - int incoming = getCreateMessageIncomingSide(proposedBounds.getTopLeft()) - .orElse(PositionConstants.WEST); - - // Put the time element on the side opposite to the incoming create message - return PositionConstants.EAST_WEST ^ incoming; + OptionalInt incoming = getCreateMessageIncomingSide(proposedBounds.getTopLeft()); + return incoming.isPresent() + // Put the time element on the side opposite to the incoming create message + ? PositionConstants.EAST_WEST ^ incoming.getAsInt() + // Center it on the lifeline + : PositionConstants.CENTER; } } |