CTRst buildCTRst(String text, TreeMap<Integer, CTRPrElt> formats){ if(text.length() != formats.lastKey()) { throw new IllegalArgumentException("Text length was " + text.length() + " but the last format index was " + formats.lastKey()); } CTRst stf = CTRst.Factory.newInstance(); int runStartIdx = 0; for (Map.Entry<Integer, CTRPrElt> me : formats.entrySet()) { int runEndIdx = me.getKey(); CTRElt run = stf.addNewR(); String fragment = text.substring(runStartIdx, runEndIdx); run.setT(fragment); preserveSpaces(run.xgetT()); CTRPrElt fmt = me.getValue(); if (fmt != null) { run.setRPr(fmt); } runStartIdx = runEndIdx; } return stf; }
/** * Create a rich text string */ public XSSFRichTextString(String str) { st = CTRst.Factory.newInstance(); st.setT(str); preserveSpaces(st.xgetT()); }
/** * Removes any formatting and sets new string value * * @param s new string value */ public void setString(String s) { clearFormatting(); st.setT(s); preserveSpaces(st.xgetT()); }
/** * Append new text to this text run and apply the specify font to it * * @param text the text to append * @param font the font to apply to the appended text or <code>null</code> if no formatting is required */ public void append(String text, XSSFFont font){ if(st.sizeOfRArray() == 0 && st.isSetT()) { //convert <t>string</t> into a text run: <r><t>string</t></r> CTRElt lt = st.addNewR(); lt.setT(st.getT()); preserveSpaces(lt.xgetT()); st.unsetT(); } CTRElt lt = st.addNewR(); lt.setT(text); preserveSpaces(lt.xgetT()); if (font != null) { CTRPrElt pr = lt.addNewRPr(); setRunAttributes(font.getCTFont(), pr); } }
CTRst buildCTRst(String text, TreeMap<Integer, CTRPrElt> formats){ if(text.length() != formats.lastKey()) { throw new IllegalArgumentException("Text length was " + text.length() + " but the last format index was " + formats.lastKey()); } CTRst st = CTRst.Factory.newInstance(); int runStartIdx = 0; for (Iterator<Integer> it = formats.keySet().iterator(); it.hasNext();) { int runEndIdx = it.next(); CTRElt run = st.addNewR(); String fragment = text.substring(runStartIdx, runEndIdx); run.setT(fragment); preserveSpaces(run.xgetT()); CTRPrElt fmt = formats.get(runEndIdx); if(fmt != null) run.setRPr(fmt); runStartIdx = runEndIdx; } return st; }
CTRst buildCTRst(String text, TreeMap<Integer, CTRPrElt> formats){ if(text.length() != formats.lastKey()) { throw new IllegalArgumentException("Text length was " + text.length() + " but the last format index was " + formats.lastKey()); } CTRst stf = CTRst.Factory.newInstance(); int runStartIdx = 0; for (Map.Entry<Integer, CTRPrElt> me : formats.entrySet()) { int runEndIdx = me.getKey(); CTRElt run = stf.addNewR(); String fragment = text.substring(runStartIdx, runEndIdx); run.setT(fragment); preserveSpaces(run.xgetT()); CTRPrElt fmt = me.getValue(); if (fmt != null) { run.setRPr(fmt); } runStartIdx = runEndIdx; } return stf; }
/** * Create a rich text string */ public XSSFRichTextString(String str) { st = CTRst.Factory.newInstance(); st.setT(str); preserveSpaces(st.xgetT()); }
/** * Create a rich text string */ public XSSFRichTextString(String str) { st = CTRst.Factory.newInstance(); st.setT(str); preserveSpaces(st.xgetT()); }
/** * Removes any formatting and sets new string value * * @param s new string value */ public void setString(String s){ clearFormatting(); st.setT(s); preserveSpaces(st.xgetT()); }
/** * Removes any formatting and sets new string value * * @param s new string value */ public void setString(String s) { clearFormatting(); st.setT(s); preserveSpaces(st.xgetT()); }
/** * Append new text to this text run and apply the specify font to it * * @param text the text to append * @param font the font to apply to the appended text or <code>null</code> if no formatting is required */ public void append(String text, XSSFFont font){ if(st.sizeOfRArray() == 0 && st.isSetT()) { //convert <t>string</t> into a text run: <r><t>string</t></r> CTRElt lt = st.addNewR(); lt.setT(st.getT()); preserveSpaces(lt.xgetT()); st.unsetT(); } CTRElt lt = st.addNewR(); lt.setT(text); preserveSpaces(lt.xgetT()); CTRPrElt pr = lt.addNewRPr(); if(font != null) setRunAttributes(font.getCTFont(), pr); }
/** * Append new text to this text run and apply the specify font to it * * @param text the text to append * @param font the font to apply to the appended text or <code>null</code> if no formatting is required */ public void append(String text, XSSFFont font){ if(st.sizeOfRArray() == 0 && st.isSetT()) { //convert <t>string</t> into a text run: <r><t>string</t></r> CTRElt lt = st.addNewR(); lt.setT(st.getT()); preserveSpaces(lt.xgetT()); st.unsetT(); } CTRElt lt = st.addNewR(); lt.setT(text); preserveSpaces(lt.xgetT()); if (font != null) { CTRPrElt pr = lt.addNewRPr(); setRunAttributes(font.getCTFont(), pr); } }