public void drawU(UGraphic ug, Skin skin, ISkinParam skinParam) { final StringBounder stringBounder = ug.getStringBounder(); final double atX = ug.getTranslateX(); final double atY = ug.getTranslateY(); ug.translate(getStartingX(stringBounder), 0); for (int i = 0; i < events.size(); i++) { ComponentType type = ComponentType.ALIVE_BOX_CLOSE_OPEN; for (final Iterator<SegmentColored> it = getSegmentsCutted(stringBounder, i).iterator(); it.hasNext(); ) { final SegmentColored seg = it.next(); final ISkinParam skinParam2 = new SkinParamBackcolored(skinParam, seg.getSpecificBackColor()); if (it.hasNext() == false) { type = type == ComponentType.ALIVE_BOX_CLOSE_OPEN ? ComponentType.ALIVE_BOX_CLOSE_CLOSE : ComponentType.ALIVE_BOX_OPEN_CLOSE; } final Component comp = skin.createComponent(type, skinParam2, null); type = ComponentType.ALIVE_BOX_OPEN_OPEN; final int currentLevel = getLevel(seg.getSegment().getPos1()); seg.drawU(ug, comp, currentLevel); } } ug.setTranslate(atX, atY); }
public void drawU( UGraphic ug, double xTheoricalPosition, double yTheoricalPosition, double marginWidth, double marginHeight) { final Dimension2D dim = getDimension(ug.getStringBounder()); final double widthTotal = dim.getWidth() + 2 * marginWidth; final double heightTotal = dim.getHeight() + 2 * marginHeight; final URectangle rect = new URectangle(widthTotal, heightTotal); // if (entity.getParent() == null) { if (entity.getType() != EntityType.GROUP) { ug.getParam().setBackcolor(rose.getHtmlColor(param, ColorParam.classBackground)); ug.getParam().setColor(rose.getHtmlColor(param, ColorParam.classBorder)); ug.draw(xTheoricalPosition - marginWidth, yTheoricalPosition - marginHeight, rect); // name.drawU(ug, xTheoricalPosition + margin, yTheoricalPosition + margin); name.drawU(ug, xTheoricalPosition + 0, yTheoricalPosition + 0); } else { // final Frame frame = new Frame(StringUtils.getWithNewlines(entity.getDisplay()), // Color.BLACK, param // .getFont(FontParam.CLASS), rose.getHtmlColor(param, ColorParam.classBorder).getColor()); final Frame frame = new Frame(entity.getDisplay2(), param); ug.getParam().setBackcolor(rose.getHtmlColor(param, ColorParam.background)); ug.getParam().setColor(null); ug.draw(xTheoricalPosition - marginWidth, yTheoricalPosition - marginWidth, rect); final double oldX = ug.getTranslateX(); final double oldY = ug.getTranslateY(); ug.translate(xTheoricalPosition - marginWidth, yTheoricalPosition - marginHeight); frame.drawU(ug, new Area(new Dimension2DDouble(widthTotal, heightTotal)), null); // ug.translate(-xTheoricalPosition + marginWidth, // -yTheoricalPosition + marginHeight); ug.setTranslate(oldX, oldY); // playField.drawInternal(UGraphicUtils.translate(ug, xTheoricalPosition + margin, // yTheoricalPosition + // margin // + frame.getPreferredHeight(ug.getStringBounder()))); playField.drawInternal( UGraphicUtils.translate( ug, xTheoricalPosition + 0, yTheoricalPosition + 0 + frame.getPreferredHeight(ug.getStringBounder()))); } }