public CellStyle(Writer styleWriter, JRExporterGridCell gridCell) { super(styleWriter); JRPrintElement element = gridCell.getElement(); if (element != null && element.getModeValue() == ModeEnum.OPAQUE) { // fill = "solid"; backcolor = JRColorUtil.getColorHexa(element.getBackcolor()); } else { // fill = "none"; if (gridCell.getBackcolor() != null) { backcolor = JRColorUtil.getColorHexa(gridCell.getBackcolor()); } } RotationEnum rotation = element instanceof JRPrintText ? ((JRPrintText) element).getRotationValue() : RotationEnum.NONE; VerticalAlignEnum vAlign = VerticalAlignEnum.TOP; HorizontalAlignEnum hAlign = HorizontalAlignEnum.LEFT; JRAlignment alignment = element instanceof JRAlignment ? (JRAlignment) element : null; if (alignment != null) { vAlign = alignment.getVerticalAlignmentValue(); hAlign = alignment.getHorizontalAlignmentValue(); } horizontalAlignment = ParagraphStyle.getHorizontalAlignment(hAlign, vAlign, rotation); verticalAlignment = ParagraphStyle.getVerticalAlignment(hAlign, vAlign, rotation); setBox(gridCell.getBox()); }
/** Request the painting of the border */ @Override public void paint(Graphics graphics) { try { Graphics2D g = ComponentFigure.getG2D(graphics); if (g != null) { Rectangle b = getBounds(); JRPrintElement pe = new JRBasePrintText(null); pe.setX(b.x + 10); pe.setY(b.y + 10); pe.setWidth(b.width - 20); pe.setHeight(b.height - 20); if (section.getElement() instanceof ILineBox && section.getElement() != null) bd.drawBox(g, ((ILineBox) section.getElement()).getBoxContainer().getLineBox(), pe); else if (section.getElement() instanceof MStyle) { MStyle styleModel = (MStyle) section.getElement(); bd.drawBox(g, ((JRStyle) styleModel.getValue()).getLineBox(), pe); } } else { graphics.drawRectangle(0, 0, 100, 100); } } catch (Exception e) { // when a font is missing exception is thrown by DrawVisitor // FIXME: maybe draw something, else? e.printStackTrace(); } }
public Color getCellBackcolor() { Color color; JRPrintElement element = getElement(); if (element != null && element.getMode() == JRElement.MODE_OPAQUE) { color = element.getBackcolor(); } else { color = backcolor; } return color; }
public void visit(JRPrintFrame frame, T arg) { visitElement(frame, arg); if (deep) { List<JRPrintElement> elements = frame.getElements(); if (elements != null) { for (JRPrintElement element : elements) { element.accept(this, arg); } } } }
/** @throws IOException */ protected void exportReportElement(JRPrintElement element) throws IOException { xmlWriter.startElement(JRXmlConstants.ELEMENT_reportElement); xmlWriter.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_key, element.getKey()); JRStyle style = element.getStyle(); if (style != null) { xmlWriter.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_style, style.getName()); } xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_mode, element.getOwnModeValue()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_x, element.getX() + getOffsetX()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_y, element.getY() + getOffsetY()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_width, element.getWidth()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_height, element.getHeight()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_forecolor, element.getOwnForecolor()); xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_backcolor, element.getOwnBackcolor()); JROrigin origin = element.getOrigin(); if (origin != null) { xmlWriter.addAttribute( JRXmlConstants.ATTRIBUTE_origin, jasperPrint.getOriginsMap().get(origin)); } int elementId = element.getSourceElementId(); if (elementId != JRPrintElement.UNSET_SOURCE_ELEMENT_ID) { xmlWriter.addAttribute(JRXmlConstants.ATTRIBUTE_srcId, elementId); } exportProperties(element); xmlWriter.closeElement(); }