Example usage for com.lowagie.text Cell getColspan

List of usage examples for com.lowagie.text Cell getColspan

Introduction

In this page you can find the example usage for com.lowagie.text Cell getColspan.

Prototype

public int getColspan() 

Source Link

Document

Gets the colspan.

Usage

From source file:ilarkesto.integration.itext.Table.java

License:Open Source License

@Override
public ATable createCellBorders(Color color, float width) {
    float[] cellWidths = getCellWidths();
    int cols = cellWidths == null ? getColumnCount() : cellWidths.length;
    int col = 0;/*from w w w. j a  v a 2  s  . c o  m*/
    int row = 0;
    for (Cell cell : cells) {
        if (row == 0)
            cell.setBorderTop(color, width);
        cell.setBorderRight(color, width);
        cell.setBorderBottom(color, width);
        if (col == 0)
            cell.setBorderLeft(color, width);
        col += cell.getColspan();
        if (col >= cols) {
            col = 0;
            row++;
        }
    }
    return this;
}

From source file:org.pentaho.reporting.engine.classic.core.modules.output.table.rtf.itext.PatchRtfCell.java

License:Open Source License

/**
 * Imports the Cell properties into the PatchRtfCell
 *
 * @param cell//www  .j a v  a 2  s  .co m
 *          The Cell to import
 */
private void importCell(Cell cell) {
    this.content = new ArrayList<RtfBasicElement>();

    if (cell == null) {
        this.borders = new PatchRtfBorderGroup(this.document, PatchRtfBorder.CELL_BORDER,
                this.parentRow.getParentTable().getBorders());
        return;
    }

    if (cell instanceof PatchRtfCell) {
        PatchRtfCell rtfCell = (PatchRtfCell) cell;
        this.minimumHeight = rtfCell.minimumHeight;
    }

    this.colspan = cell.getColspan();
    this.rowspan = cell.getRowspan();
    if (cell.getRowspan() > 1) {
        this.mergeType = MERGE_VERT_PARENT;
    }
    if (cell instanceof PatchRtfCell) {
        this.borders = new PatchRtfBorderGroup(this.document, PatchRtfBorder.CELL_BORDER,
                ((PatchRtfCell) cell).getBorders());
    } else {
        this.borders = new PatchRtfBorderGroup(this.document, PatchRtfBorder.CELL_BORDER, cell.getBorder(),
                cell.getBorderWidth(), cell.getBorderColor());
    }
    this.verticalAlignment = cell.getVerticalAlignment();
    if (cell.getBackgroundColor() == null) {
        this.backgroundColor = new RtfColor(this.document, 255, 255, 255);
    } else {
        this.backgroundColor = new RtfColor(this.document, cell.getBackgroundColor());
    }

    this.cellPadding = (int) this.parentRow.getParentTable().getCellPadding();

    Iterator cellIterator = cell.getElements();
    Paragraph container = null;
    while (cellIterator.hasNext()) {
        try {
            Element element = (Element) cellIterator.next();
            // should we wrap it in a paragraph
            if (!(element instanceof Paragraph) && !(element instanceof List)) {
                if (container != null) {
                    container.add(element);
                } else {
                    container = new Paragraph();
                    container.setAlignment(cell.getHorizontalAlignment());
                    container.add(element);
                }
            } else {
                if (container != null) {
                    RtfBasicElement[] rtfElements = this.document.getMapper().mapElement(container);
                    for (int i = 0; i < rtfElements.length; i++) {
                        rtfElements[i].setInTable(true);
                        this.content.add(rtfElements[i]);
                    }
                    container = null;
                }
                // if horizontal alignment is undefined overwrite
                // with that of enclosing cell
                if (element instanceof Paragraph
                        && ((Paragraph) element).getAlignment() == Element.ALIGN_UNDEFINED) {
                    ((Paragraph) element).setAlignment(cell.getHorizontalAlignment());
                }

                RtfBasicElement[] rtfElements = this.document.getMapper().mapElement(element);
                for (int i = 0; i < rtfElements.length; i++) {
                    rtfElements[i].setInTable(true);
                    this.content.add(rtfElements[i]);
                }
            }
        } catch (DocumentException de) {
            de.printStackTrace();
        }
    }
    if (container != null) {
        try {
            RtfBasicElement[] rtfElements = this.document.getMapper().mapElement(container);
            for (int i = 0; i < rtfElements.length; i++) {
                rtfElements[i].setInTable(true);
                this.content.add(rtfElements[i]);
            }
        } catch (DocumentException de) {
            de.printStackTrace();
        }
    }
}