You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2012/02/12 12:14:23 UTC

svn commit: r1243240 - in /poi/trunk/src: java/org/apache/poi/hssf/model/ java/org/apache/poi/hssf/usermodel/ ooxml/java/org/apache/poi/xssf/usermodel/ ooxml/testcases/org/apache/poi/xssf/streaming/ testcases/org/apache/poi/ss/usermodel/

Author: yegor
Date: Sun Feb 12 11:14:23 2012
New Revision: 1243240

URL: http://svn.apache.org/viewvc?rev=1243240&view=rev
Log:
Bugzilla 52626: fixed setting default row height in HSSF and XSSF

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java Sun Feb 12 11:14:23 2012
@@ -1002,6 +1002,8 @@ public final class InternalSheet {
      */
     public void setDefaultRowHeight(short dch) {
         defaultrowheight.setRowHeight(dch);
+        // set the bit that specifies that the default settings for the row height have been changed.
+        defaultrowheight.setOptionFlags((short)1);
     }
 
     /**

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java Sun Feb 12 11:14:23 2012
@@ -197,6 +197,8 @@ public final class HSSFSheet implements 
     public HSSFRow createRow(int rownum)
     {
         HSSFRow row = new HSSFRow(_workbook, this, rownum);
+        // new rows inherit default height from the sheet
+        row.setHeight(getDefaultRowHeight());
 
         addRow(row, true);
         return row;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Sun Feb 12 11:14:23 2012
@@ -2060,8 +2060,7 @@ public class XSSFSheet extends POIXMLDoc
      * @param  height default row height in  twips (1/20 of  a point)
      */
     public void setDefaultRowHeight(short height) {
-        getSheetTypeSheetFormatPr().setDefaultRowHeight((double)height / 20);
-
+        setDefaultRowHeightInPoints((float)height / 20);
     }
 
     /**
@@ -2070,8 +2069,9 @@ public class XSSFSheet extends POIXMLDoc
      * @param height default row height measured in point size.
      */
     public void setDefaultRowHeightInPoints(float height) {
-        getSheetTypeSheetFormatPr().setDefaultRowHeight(height);
-
+        CTSheetFormatPr pr = getSheetTypeSheetFormatPr();
+        pr.setDefaultRowHeight(height);
+        pr.setCustomHeight(true);
     }
 
     /**

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java Sun Feb 12 11:14:23 2012
@@ -19,6 +19,7 @@
 
 package org.apache.poi.xssf.streaming;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.BaseTestRow;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
 
@@ -30,4 +31,13 @@ public final class TestSXSSFRow extends 
     public TestSXSSFRow() {
         super(SXSSFITestDataProvider.instance);
     }
+
+    public void testRowBounds() {
+        baseTestRowBounds(SpreadsheetVersion.EXCEL2007.getLastRowIndex());
+    }
+
+    public void testCellBounds() {
+        baseTestCellBounds(SpreadsheetVersion.EXCEL2007.getLastColumnIndex());
+    }
+
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java Sun Feb 12 11:14:23 2012
@@ -292,6 +292,7 @@ public abstract class BaseTestRow extend
         assertEquals(20*20, row1.getHeight());
 
         Row row2 = sheet.createRow(1);
+        assertEquals(sheet.getDefaultRowHeight(), row2.getHeight());
         row2.setHeight((short)310);
         assertEquals(310, row2.getHeight());
         assertEquals(310F/20, row2.getHeightInPoints(), 0F);

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java?rev=1243240&r1=1243239&r2=1243240&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java Sun Feb 12 11:14:23 2012
@@ -401,6 +401,10 @@ public abstract class BaseTestSheet exte
         assertEquals((short) 300, sheet.getDefaultRowHeight());
         assertEquals(15.0F, sheet.getDefaultRowHeightInPoints(), 0F);
 
+        Row row = sheet.createRow(1);
+        // new row inherits  default height from the sheet
+        assertEquals(sheet.getDefaultRowHeight(), row.getHeight());
+
         // Set a new default row height in twips and test getting the value in points
         sheet.setDefaultRowHeight((short) 360);
         assertEquals(18.0f, sheet.getDefaultRowHeightInPoints(), 0F);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org