]> source.dussan.org Git - poi.git/commitdiff
Updates for the display of gridlines, formulas, and such because I forgot to do this...
authorShawn Laubach <slaubach@apache.org>
Fri, 22 Aug 2003 17:21:20 +0000 (17:21 +0000)
committerShawn Laubach <slaubach@apache.org>
Fri, 22 Aug 2003 17:21:20 +0000 (17:21 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353305 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/model/Sheet.java
src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java

index 6e062eb6a28cdc8edbd8355ce5e1e41a4880332c..a4dc8ffdc186fb8089e8b3ec7266a2dbe7c2fcfb 100644 (file)
@@ -108,6 +108,7 @@ public class Sheet implements Model
     protected HeaderRecord              header           = null;
     protected FooterRecord              footer           = null;
     protected PrintGridlinesRecord      printGridlines   = null;
+    protected WindowTwoRecord           windowTwo        = null;
     protected MergeCellsRecord          merged           = null;
     protected Margin                    margins[]        = null;
     protected ArrayList                 mergedRecords    = new ArrayList();
@@ -280,6 +281,10 @@ public class Sheet implements Model
             {
                retval.getMargins()[BottomMargin] = (BottomMarginRecord) rec;
            }
+           else if ( rec.getSid() == WindowTwoRecord.sid )
+           {
+               retval.windowTwo = (WindowTwoRecord) rec;
+           }
            
             if (rec != null)
             {
@@ -406,7 +411,7 @@ public class Sheet implements Model
         retval.dims    = ( DimensionsRecord ) retval.createDimensions();
         retval.dimsloc = 19;
         records.add(retval.dims);
-        records.add(retval.createWindowTwo());
+        records.add(retval.windowTwo = retval.createWindowTwo());
         retval.setLoc(records.size() - 1);
         retval.selection = 
                 (SelectionRecord) retval.createSelection();
@@ -2066,7 +2071,7 @@ public class Sheet implements Model
      * @return record containing a WindowTwoRecord
      */
 
-    protected Record createWindowTwo()
+    protected WindowTwoRecord createWindowTwo()
     {
         WindowTwoRecord retval = new WindowTwoRecord();
 
@@ -2399,7 +2404,6 @@ public class Sheet implements Model
      * @param sel True to select the sheet, false otherwise.
      */
     public void setSelected(boolean sel) {
-        WindowTwoRecord windowTwo = (WindowTwoRecord) findFirstRecordBySid(WindowTwoRecord.sid);
         windowTwo.setSelected(sel);
     }
 
@@ -2498,9 +2502,8 @@ public class Sheet implements Model
         }
         records.add(loc+1, pane);
 
-        WindowTwoRecord windowRecord = (WindowTwoRecord) records.get(loc);
-        windowRecord.setFreezePanes(true);
-        windowRecord.setFreezePanesNoSplit(true);
+        windowTwo.setFreezePanes(true);
+        windowTwo.setFreezePanesNoSplit(true);
 
         SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid);
 //        SelectionRecord sel2 = (SelectionRecord) sel.clone();
@@ -2548,9 +2551,8 @@ public class Sheet implements Model
         r.setActivePane((short) activePane);
         records.add(loc+1, r);
 
-        WindowTwoRecord windowRecord = (WindowTwoRecord) records.get(loc);
-        windowRecord.setFreezePanes(false);
-        windowRecord.setFreezePanesNoSplit(false);
+        windowTwo.setFreezePanes(false);
+        windowTwo.setFreezePanesNoSplit(false);
 
         SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid);
 //        SelectionRecord sel2 = (SelectionRecord) sel.clone();
@@ -2584,6 +2586,54 @@ public class Sheet implements Model
         this.selection = selection;
     }
 
+    /**
+     * Sets whether the gridlines are shown in a viewer.
+     * @param show whether to show gridlines or not
+     */
+    public void setDisplayGridlines(boolean show) {
+        windowTwo.setDisplayGridlines(show);
+    }
+
+    /**
+     * Returns if gridlines are displayed.
+     * @return whether gridlines are displayed
+     */
+    public boolean isDisplayGridlines() {
+       return windowTwo.getDisplayGridlines();
+    }
+
+    /**
+     * Sets whether the formulas are shown in a viewer.
+     * @param show whether to show formulas or not
+     */
+    public void setDisplayFormulas(boolean show) {
+        windowTwo.setDisplayFormulas(show);
+    }
+
+    /**
+     * Returns if formulas are displayed.
+     * @return whether formulas are displayed
+     */
+    public boolean isDisplayFormulas() {
+       return windowTwo.getDisplayFormulas();
+    }
+
+    /**
+     * Sets whether the RowColHeadings are shown in a viewer.
+     * @param show whether to show RowColHeadings or not
+     */
+    public void setDisplayRowColHeadings(boolean show) {
+        windowTwo.setDisplayRowColHeadings(show);
+    }
+
+    /**
+     * Returns if RowColHeadings are displayed.
+     * @return whether RowColHeadings are displayed
+     */
+    public boolean isDisplayRowColHeadings() {
+       return windowTwo.getDisplayRowColHeadings();
+    }
+
     /**
      * Returns the array of margins.  If not created, will create.
      *
@@ -2594,5 +2644,4 @@ public class Sheet implements Model
             margins = new Margin[4];
        return margins;
     }
-
 }
index 136fd093073d5efe5cc6c64dab4af49c772ffd0c..803a469a9286ab2d6e5a98f75d7cc2de03a76e22 100644 (file)
@@ -1083,7 +1083,53 @@ public class HSSFSheet
         getSheet().createSplitPane( xSplitPos, ySplitPos, topRow, leftmostColumn, activePane );
     }
 
+    /**
+     * Sets whether the gridlines are shown in a viewer.
+     * @param show whether to show gridlines or not
+     */
+    public void setDisplayGridlines(boolean show) {
+        sheet.setDisplayGridlines(show);
+    }
+
+    /**
+     * Returns if gridlines are displayed.
+     * @return whether gridlines are displayed
+     */
+    public boolean isDisplayGridlines() {
+       return sheet.isDisplayGridlines();
+    }
+
+    /**
+     * Sets whether the formulas are shown in a viewer.
+     * @param show whether to show formulas or not
+     */
+    public void setDisplayFormulas(boolean show) {
+        sheet.setDisplayFormulas(show);
+    }
+
+    /**
+     * Returns if formulas are displayed.
+     * @return whether formulas are displayed
+     */
+    public boolean isDisplayFormulas() {
+       return sheet.isDisplayFormulas();
+    }
+
+    /**
+     * Sets whether the RowColHeadings are shown in a viewer.
+     * @param show whether to show RowColHeadings or not
+     */
+    public void setDisplayRowColHeadings(boolean show) {
+        sheet.setDisplayRowColHeadings(show);
+    }
 
+    /**
+     * Returns if RowColHeadings are displayed.
+     * @return whether RowColHeadings are displayed
+     */
+    public boolean isDisplayRowColHeadings() {
+       return sheet.isDisplayRowColHeadings();
+    }
 }
 
 class SheetRowIterator implements Iterator {
@@ -1112,6 +1158,4 @@ class SheetRowIterator implements Iterator {
     public void remove() {
         rows.remove();
     }
-
-
 }
index 2ce397c26db24aca6b5771661fdf8ebbb5b8cd53..e2e30f73f82ac34a60a72c5613d62d1f8f81c580 100644 (file)
@@ -318,8 +318,49 @@ public class TestHSSFSheet
                
        }
 
+    /**
+     * Tests the display of gridlines, formulas, and rowcolheadings.
+     * @author Shawn Laubach (slaubach at apache dot org)
+     */
+    public void testDisplayOptions() throws Exception {
+       HSSFWorkbook wb = new HSSFWorkbook();
+       HSSFSheet sheet = wb.createSheet();
+       
+        File tempFile = File.createTempFile("display", "test.xls");
+        FileOutputStream stream = new FileOutputStream(tempFile);
+        wb.write(stream);
+        stream.close();
+
+        FileInputStream readStream = new FileInputStream(tempFile);
+        wb = new HSSFWorkbook(readStream);
+        sheet = wb.getSheetAt(0);
+       readStream.close();
+
+       assertEquals(sheet.isDisplayGridlines(), true);
+       assertEquals(sheet.isDisplayRowColHeadings(), true);
+       assertEquals(sheet.isDisplayFormulas(), false);
+
+       sheet.setDisplayGridlines(false);
+       sheet.setDisplayRowColHeadings(false);
+       sheet.setDisplayFormulas(true);
+
+        tempFile = File.createTempFile("display", "test.xls");
+        stream = new FileOutputStream(tempFile);
+        wb.write(stream);
+        stream.close();
+
+        readStream = new FileInputStream(tempFile);
+        wb = new HSSFWorkbook(readStream);
+        sheet = wb.getSheetAt(0);
+       readStream.close();
+
+
+       assertEquals(sheet.isDisplayGridlines(), false);
+       assertEquals(sheet.isDisplayRowColHeadings(), false);
+       assertEquals(sheet.isDisplayFormulas(), true);
+    }
+
        public static void main(java.lang.String[] args) {
                 junit.textui.TestRunner.run(TestHSSFSheet.class);
-       }
-    
+       }    
 }