XSLF: remove creation of empty paragraph in XSLFTextShape.addNewTextParagraph()

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1745100 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2016-05-22 23:57:14 +00:00
parent e48e4e771d
commit dae1a761fd
2 changed files with 11 additions and 3 deletions

View File

@ -175,8 +175,15 @@ public abstract class XSLFTextShape extends XSLFSimpleShape
* @return created paragraph run
*/
public XSLFTextParagraph addNewTextParagraph() {
CTTextBody txBody = getTextBody(true);
CTTextParagraph p = txBody.addNewP();
CTTextBody txBody = getTextBody(false);
CTTextParagraph p;
if (txBody == null) {
txBody = getTextBody(true);
p = txBody.getPArray(0);
p.removeR(0);
} else {
p = txBody.addNewP();
}
XSLFTextParagraph paragraph = new XSLFTextParagraph(p, this);
_paragraphs.add(paragraph);
return paragraph;

View File

@ -194,7 +194,8 @@ public class TestXSLFAutoShape {
assertEquals(1000, p.getXmlObject().getPPr().getLnSpc().getSpcPts().getVal());
assertFalse(p.getXmlObject().getPPr().getLnSpc().isSetSpcPct());
assertFalse(p.getXmlObject().getPPr().isSetAlgn());
// align is set in autoshape prototype
assertTrue(p.getXmlObject().getPPr().isSetAlgn());
assertEquals(TextAlign.LEFT, p.getTextAlign());
p.setTextAlign(TextAlign.LEFT);
assertTrue(p.getXmlObject().getPPr().isSetAlgn());