Search in sources :

Example 1 with CTTextField

use of org.openxmlformats.schemas.drawingml.x2006.main.CTTextField in project poi by apache.

the class XSLFTextRun method getRenderableText.

String getRenderableText() {
    if (_r instanceof CTTextField) {
        CTTextField tf = (CTTextField) _r;
        XSLFSheet sheet = _p.getParentShape().getSheet();
        if ("slidenum".equals(tf.getType()) && sheet instanceof XSLFSlide) {
            return Integer.toString(((XSLFSlide) sheet).getSlideNumber());
        }
        return tf.getT();
    } else if (_r instanceof CTTextLineBreak) {
        return "\n";
    }
    String txt = ((CTRegularTextRun) _r).getT();
    TextCap cap = getTextCap();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < txt.length(); i++) {
        char c = txt.charAt(i);
        if (c == '\t') {
            // TODO: finish support for tabs
            buf.append("  ");
        } else {
            switch(cap) {
                case ALL:
                    buf.append(Character.toUpperCase(c));
                    break;
                case SMALL:
                    buf.append(Character.toLowerCase(c));
                    break;
                default:
                    buf.append(c);
            }
        }
    }
    return buf.toString();
}
Also used : CTTextLineBreak(org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak) CTTextField(org.openxmlformats.schemas.drawingml.x2006.main.CTTextField) DrawPaint(org.apache.poi.sl.draw.DrawPaint) SolidPaint(org.apache.poi.sl.usermodel.PaintStyle.SolidPaint) CTRegularTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun)

Example 2 with CTTextField

use of org.openxmlformats.schemas.drawingml.x2006.main.CTTextField in project poi by apache.

the class XSSFChart method setTitleText.

/**
     * Sets the title text as a static string.
     * @param newTitle to use
     */
public void setTitleText(String newTitle) {
    CTTitle ctTitle;
    if (chart.isSetTitle()) {
        ctTitle = chart.getTitle();
    } else {
        ctTitle = chart.addNewTitle();
    }
    CTTx tx;
    if (ctTitle.isSetTx()) {
        tx = ctTitle.getTx();
    } else {
        tx = ctTitle.addNewTx();
    }
    if (tx.isSetStrRef()) {
        tx.unsetStrRef();
    }
    CTTextBody rich;
    if (tx.isSetRich()) {
        rich = tx.getRich();
    } else {
        rich = tx.addNewRich();
        // body properties must exist (but can be empty)
        rich.addNewBodyPr();
    }
    CTTextParagraph para;
    if (rich.sizeOfPArray() > 0) {
        para = rich.getPArray(0);
    } else {
        para = rich.addNewP();
    }
    if (para.sizeOfRArray() > 0) {
        CTRegularTextRun run = para.getRArray(0);
        run.setT(newTitle);
    } else if (para.sizeOfFldArray() > 0) {
        CTTextField fld = para.getFldArray(0);
        fld.setT(newTitle);
    } else {
        CTRegularTextRun run = para.addNewR();
        run.setT(newTitle);
    }
}
Also used : CTTextParagraph(org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph) CTTextField(org.openxmlformats.schemas.drawingml.x2006.main.CTTextField) CTTx(org.openxmlformats.schemas.drawingml.x2006.chart.CTTx) CTTextBody(org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody) CTTitle(org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle) CTRegularTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun)

Aggregations

CTRegularTextRun (org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun)2 CTTextField (org.openxmlformats.schemas.drawingml.x2006.main.CTTextField)2 DrawPaint (org.apache.poi.sl.draw.DrawPaint)1 SolidPaint (org.apache.poi.sl.usermodel.PaintStyle.SolidPaint)1 CTTitle (org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle)1 CTTx (org.openxmlformats.schemas.drawingml.x2006.chart.CTTx)1 CTTextBody (org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody)1 CTTextLineBreak (org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak)1 CTTextParagraph (org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph)1