]> source.dussan.org Git - poi.git/commitdiff
[github-118] Added get/set for mirror margins setting. This closes #118
authorPJ Fanning <fanningpj@apache.org>
Mon, 30 Jul 2018 22:23:25 +0000 (22:23 +0000)
committerPJ Fanning <fanningpj@apache.org>
Mon, 30 Jul 2018 22:23:25 +0000 (22:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1837093 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java

index fa252662b855d50304bd271e1b9926cd1cdefa88..e11388a13f0d13a53e03f1d4d9436d4dc8af7484 100644 (file)
@@ -1338,6 +1338,40 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
         settings.setZoomPercent(zoomPercent);
     }
 
+    /**
+     * Returns the even-and-odd-headings setting
+     *
+     * @return True or false indicating whether or not separate even and odd headings is turned on.
+     */
+    public boolean getEvenAndOddHeadings() {
+        return settings.getEvenAndOddHeadings();
+    }
+    
+    /**
+     * Sets the even-and-odd-headings setting
+     * @param enable Set to true to turn on separate even and odd headings.
+     */
+    public void setEvenAndOddHeadings(boolean enable) {
+        settings.setEvenAndOddHeadings(enable);
+    }
+    
+    /**
+     * Returns the mirror margins setting
+     *
+     * @return True or false indicating whether or not mirror margins is turned on.
+     */
+    public boolean getMirrorMargins() {
+        return settings.getMirrorMargins();
+    }
+    
+    /**
+     * Sets the mirror margins setting
+     * @param enable Set to true to turn on mirror margins.
+     */
+    public void setMirrorMargins(boolean enable) {
+        settings.setMirrorMargins(enable);
+    }
+    
     /**
      * inserts an existing XWPFTable to the arrays bodyElements and tables
      *
@@ -1758,4 +1792,5 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
             return false;
         }
     }
+
 }
index a37e68b6878b89f82d9e9ac2b985a7ac5ec98fae..f40e283968a5dbb900b169d6e2d6ccbf6d1218ae 100644 (file)
@@ -430,4 +430,48 @@ public class XWPFSettings extends POIXMLDocumentPart {
             throw new RuntimeException(e);
         }
     }
+
+    /**
+     * Check if separate even and odd headings is turned on.
+     *
+     * @return True if even and odd headings is turned on.
+     */
+    public boolean getEvenAndOddHeadings() {
+        return ctSettings.isSetEvenAndOddHeaders();
+    }
+
+    /**
+     * Turn separate even-and-odd headings on or off
+     *
+     * @param enable <code>true</code> to turn on separate even and odd headings, 
+     * <code>false</code> to turn off even and odd headings.
+     */
+    public void setEvenAndOddHeadings(boolean enable) {
+        CTOnOff onOff = CTOnOff.Factory.newInstance();
+        onOff.setVal(enable ? STOnOff.TRUE : STOnOff.FALSE);
+        ctSettings.setEvenAndOddHeaders(onOff);
+    }
+
+    /**
+     * Check if mirrored margins is turned on
+     *
+     * @return True if mirrored margins is turned on.
+     */
+    public boolean getMirrorMargins() {
+        return ctSettings.isSetMirrorMargins();
+    }
+
+    /**
+     * Turn mirrored margins on or off
+     *
+     * @param enable <code>true</code> to turn on mirrored margins, 
+     * <code>false</code> to turn off mirrored marginss.
+     */
+    public void setMirrorMargins(boolean enable) {
+        CTOnOff onOff = CTOnOff.Factory.newInstance();
+        onOff.setVal(enable ? STOnOff.TRUE : STOnOff.FALSE);
+        ctSettings.setMirrorMargins(onOff);
+    }
+
+
 }
index 36757ff6ad48e4f993de0215419eb1277cbb94bf..15611bcf4bdd1d553ec2df6b128c25e8078a8ce5 100644 (file)
@@ -402,6 +402,14 @@ public final class TestXWPFDocument {
         assertEquals(100, settings.getZoomPercent());
         settings.setZoomPercent(50);
         assertEquals(50, settings.getZoomPercent());
+        
+        assertEquals(false, settings.getEvenAndOddHeadings());
+        settings.setEvenAndOddHeadings(true);
+        assertEquals(true, settings.getEvenAndOddHeadings());
+
+        assertEquals(false, settings.getMirrorMargins());
+        settings.setMirrorMargins(true);
+        assertEquals(true, settings.getMirrorMargins());
 
         XWPFDocument doc = new XWPFDocument();
         assertEquals(100, doc.getZoomPercent());
@@ -412,6 +420,14 @@ public final class TestXWPFDocument {
         doc.setZoomPercent(200);
         assertEquals(200, doc.getZoomPercent());
 
+        assertEquals(false, doc.getEvenAndOddHeadings());
+        doc.setEvenAndOddHeadings(true);
+        assertEquals(true, doc.getEvenAndOddHeadings());
+
+        assertEquals(false, doc.getMirrorMargins());
+        doc.setMirrorMargins(true);
+        assertEquals(true, doc.getMirrorMargins());
+
         XWPFDocument back = XWPFTestDataSamples.writeOutAndReadBack(doc);
         assertEquals(200, back.getZoomPercent());
         back.close();