Updates for the display of gridlines, formulas, and such because I forgot to do this when I added it to the release.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353305 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Shawn Laubach 2003-08-22 17:21:20 +00:00
parent 25e239b462
commit 880668caa0
3 changed files with 148 additions and 14 deletions

View File

@ -108,6 +108,7 @@ public class Sheet implements Model
protected HeaderRecord header = null; protected HeaderRecord header = null;
protected FooterRecord footer = null; protected FooterRecord footer = null;
protected PrintGridlinesRecord printGridlines = null; protected PrintGridlinesRecord printGridlines = null;
protected WindowTwoRecord windowTwo = null;
protected MergeCellsRecord merged = null; protected MergeCellsRecord merged = null;
protected Margin margins[] = null; protected Margin margins[] = null;
protected ArrayList mergedRecords = new ArrayList(); protected ArrayList mergedRecords = new ArrayList();
@ -280,6 +281,10 @@ public class Sheet implements Model
{ {
retval.getMargins()[BottomMargin] = (BottomMarginRecord) rec; retval.getMargins()[BottomMargin] = (BottomMarginRecord) rec;
} }
else if ( rec.getSid() == WindowTwoRecord.sid )
{
retval.windowTwo = (WindowTwoRecord) rec;
}
if (rec != null) if (rec != null)
{ {
@ -406,7 +411,7 @@ public class Sheet implements Model
retval.dims = ( DimensionsRecord ) retval.createDimensions(); retval.dims = ( DimensionsRecord ) retval.createDimensions();
retval.dimsloc = 19; retval.dimsloc = 19;
records.add(retval.dims); records.add(retval.dims);
records.add(retval.createWindowTwo()); records.add(retval.windowTwo = retval.createWindowTwo());
retval.setLoc(records.size() - 1); retval.setLoc(records.size() - 1);
retval.selection = retval.selection =
(SelectionRecord) retval.createSelection(); (SelectionRecord) retval.createSelection();
@ -2066,7 +2071,7 @@ public class Sheet implements Model
* @return record containing a WindowTwoRecord * @return record containing a WindowTwoRecord
*/ */
protected Record createWindowTwo() protected WindowTwoRecord createWindowTwo()
{ {
WindowTwoRecord retval = new WindowTwoRecord(); WindowTwoRecord retval = new WindowTwoRecord();
@ -2399,7 +2404,6 @@ public class Sheet implements Model
* @param sel True to select the sheet, false otherwise. * @param sel True to select the sheet, false otherwise.
*/ */
public void setSelected(boolean sel) { public void setSelected(boolean sel) {
WindowTwoRecord windowTwo = (WindowTwoRecord) findFirstRecordBySid(WindowTwoRecord.sid);
windowTwo.setSelected(sel); windowTwo.setSelected(sel);
} }
@ -2498,9 +2502,8 @@ public class Sheet implements Model
} }
records.add(loc+1, pane); records.add(loc+1, pane);
WindowTwoRecord windowRecord = (WindowTwoRecord) records.get(loc); windowTwo.setFreezePanes(true);
windowRecord.setFreezePanes(true); windowTwo.setFreezePanesNoSplit(true);
windowRecord.setFreezePanesNoSplit(true);
SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid); SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid);
// SelectionRecord sel2 = (SelectionRecord) sel.clone(); // SelectionRecord sel2 = (SelectionRecord) sel.clone();
@ -2548,9 +2551,8 @@ public class Sheet implements Model
r.setActivePane((short) activePane); r.setActivePane((short) activePane);
records.add(loc+1, r); records.add(loc+1, r);
WindowTwoRecord windowRecord = (WindowTwoRecord) records.get(loc); windowTwo.setFreezePanes(false);
windowRecord.setFreezePanes(false); windowTwo.setFreezePanesNoSplit(false);
windowRecord.setFreezePanesNoSplit(false);
SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid); SelectionRecord sel = (SelectionRecord) findFirstRecordBySid(SelectionRecord.sid);
// SelectionRecord sel2 = (SelectionRecord) sel.clone(); // SelectionRecord sel2 = (SelectionRecord) sel.clone();
@ -2584,6 +2586,54 @@ public class Sheet implements Model
this.selection = selection; 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. * Returns the array of margins. If not created, will create.
* *
@ -2594,5 +2644,4 @@ public class Sheet implements Model
margins = new Margin[4]; margins = new Margin[4];
return margins; return margins;
} }
} }

View File

@ -1083,7 +1083,53 @@ public class HSSFSheet
getSheet().createSplitPane( xSplitPos, ySplitPos, topRow, leftmostColumn, activePane ); 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 { class SheetRowIterator implements Iterator {
@ -1112,6 +1158,4 @@ class SheetRowIterator implements Iterator {
public void remove() { public void remove() {
rows.remove(); rows.remove();
} }
} }

View 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) { public static void main(java.lang.String[] args) {
junit.textui.TestRunner.run(TestHSSFSheet.class); junit.textui.TestRunner.run(TestHSSFSheet.class);
} }
} }