aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSayi <sayi@apache.org>2020-08-27 04:16:56 +0000
committerSayi <sayi@apache.org>2020-08-27 04:16:56 +0000
commit17e3eaadaeac87fabe76de8eb3236c6ff4672a17 (patch)
tree0de5173c15caff86cb9cdc97981958fa5b2bb931 /src
parent5e04140d591b07aefda594d2777c4694bce171d5 (diff)
downloadpoi-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.java52
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java17
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