diff options
author | Sayi <sayi@apache.org> | 2020-08-27 04:16:56 +0000 |
---|---|---|
committer | Sayi <sayi@apache.org> | 2020-08-27 04:16:56 +0000 |
commit | 17e3eaadaeac87fabe76de8eb3236c6ff4672a17 (patch) | |
tree | 0de5173c15caff86cb9cdc97981958fa5b2bb931 /src | |
parent | 5e04140d591b07aefda594d2777c4694bce171d5 (diff) | |
download | poi-17e3eaadaeac87fabe76de8eb3236c6ff4672a17.tar.gz poi-17e3eaadaeac87fabe76de8eb3236c6ff4672a17.zip |
Add get/set indentationLeftChars/indentationRightChars in paragraph
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1881232 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r-- | src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java | 52 | ||||
-rw-r--r-- | src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java | 17 |
2 files changed, 68 insertions, 1 deletions
diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java index d28ead68be..58064b00fd 100644 --- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java +++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java @@ -1167,6 +1167,32 @@ public class XWPFParagraph implements IBodyElement, IRunBody, ISDTContents, Para } /** + * Get the indentation which is placed at the left/start of this paragraph + * + * @return indentation in hundredths of a character unit or -1 if indentation is not set + */ + public int getIndentationLeftChars() { + CTInd indentation = getCTInd(false); + return (indentation != null && indentation.isSetLeftChars()) ? indentation.getLeftChars().intValue() + : -1; + } + + /** + * Specifies the indentation which shall be placed at the left/start of this paragraph + * <p> + * If this attribute is omitted, its value shall be assumed to be zero. + * if the left/start attribute is specified, then its value is ignored, and is superseded by this value. + * </p> + * + * @param indentation this value is specified in hundredths of a character unit + */ + public void setIndentationLeftChars(int indentation) { + CTInd indent = getCTInd(true); + BigInteger bi = new BigInteger(Integer.toString(indentation)); + indent.setLeftChars(bi); + } + + /** * Specifies the indentation which shall be placed between the right text * margin for this paragraph and the right edge of that paragraph's content * in a left to right paragraph, and the right text margin and the right @@ -1206,6 +1232,32 @@ public class XWPFParagraph implements IBodyElement, IRunBody, ISDTContents, Para } /** + * Get the indentation which is placed at the right/end of this paragraph + * + * @return indentation in hundredths of a character unit or -1 if indentation is not set + */ + public int getIndentationRightChars() { + CTInd indentation = getCTInd(false); + return (indentation != null && indentation.isSetRightChars()) ? indentation.getRightChars().intValue() + : -1; + } + + /** + * Specifies the indentation which shall be placed at the right/end of this paragraph + * <p> + * If this attribute is omitted, its value shall be assumed to be zero. + * if the right/end attribute is specified, then its value is ignored, and is superseded by this value. + * </p> + * + * @param indentation this value is specified in hundredths of a character unit + */ + public void setIndentationRightChars(int indentation) { + CTInd indent = getCTInd(true); + BigInteger bi = new BigInteger(Integer.toString(indentation)); + indent.setRightChars(bi); + } + + /** * Specifies the indentation which shall be removed from the first line of * the parent paragraph, by moving the indentation on the first line back * towards the beginning of the direction of text flow. diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java index 3ce354b089..6dd394a215 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java @@ -202,6 +202,22 @@ public final class TestXWPFParagraph { } @Test + public void testSetGetIndentationChars() throws IOException { + try (XWPFDocument doc = new XWPFDocument()) { + XWPFParagraph p = doc.createParagraph(); + + assertEquals(-1, p.getIndentationLeftChars()); + assertEquals(-1, p.getIndentationRightChars()); + // set 1.5 characters + p.setIndentationLeftChars(150); + assertEquals(150, p.getIndentationLeftChars()); + + p.setIndentationRightChars(250); + assertEquals(250, p.getIndentationRightChars()); + } + } + + @Test public void testSetGetIndentation() throws IOException { try (XWPFDocument doc = new XWPFDocument()) { XWPFParagraph p = doc.createParagraph(); @@ -221,7 +237,6 @@ public final class TestXWPFParagraph { assertEquals(100, ind.getLeft().intValue()); } } - @Test public void testSetGetVerticalAlignment() throws IOException { //new clean instance of paragraph |