Step1MessageExo( ParticipantRange range, StringBounder stringBounder, MessageExo message, DrawableSet drawingSet, Frontier freeY) { super(range, stringBounder, message, drawingSet, freeY); setConfig(getArrowType(message)); this.messageArrow = new MessageExoArrow( freeY.getFreeY(range), drawingSet.getSkin(), drawingSet .getSkin() .createComponent( ComponentType.ARROW, getConfig(), drawingSet.getSkinParam(), getLabelOfMessage(message)), getLivingParticipantBox(), message.getType(), message.getUrl(), message.isShortArrow(), message.getArrowConfiguration()); if (message.getNote() != null) { final ISkinParam skinParam = new SkinParamBackcolored(drawingSet.getSkinParam(), message.getSpecificBackColor()); setNote( drawingSet .getSkin() .createComponent(ComponentType.NOTE, null, skinParam, message.getNote())); // throw new UnsupportedOperationException(); } }
protected final void beforeMessage(LifeEvent n, final double pos) { final Participant p = n.getParticipant(); final LifeLine line = drawingSet.getLivingParticipantBox(p).getLifeLine(); if (n.getType() != LifeEventType.ACTIVATE) { return; } assert n.getType() == LifeEventType.ACTIVATE; int delta = 0; if (message.isCreate()) { delta += 10; } line.addSegmentVariation(LifeSegmentVariation.LARGER, pos + delta, n.getSpecificBackColor()); }
protected final void afterMessage(StringBounder stringBounder, LifeEvent n, final double pos) { final Participant p = n.getParticipant(); final LifeLine line = drawingSet.getLivingParticipantBox(p).getLifeLine(); if (n.getType() == LifeEventType.ACTIVATE || n.getType() == LifeEventType.CREATE) { return; } if (n.getType() == LifeEventType.DESTROY) { final Component comp = drawingSet .getSkin() .createComponent(ComponentType.DESTROY, drawingSet.getSkinParam(), null); final double delta = comp.getPreferredHeight(stringBounder) / 2; final LifeDestroy destroy = new LifeDestroy( pos - delta, drawingSet.getLivingParticipantBox(p).getParticipantBox(), comp); drawingSet.addEvent(n, destroy); } else if (n.getType() != LifeEventType.DEACTIVATE) { throw new IllegalStateException(); } line.addSegmentVariation(LifeSegmentVariation.SMALLER, pos, n.getSpecificBackColor()); }