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();
{
retval.getMargins()[BottomMargin] = (BottomMarginRecord) rec;
}
+ else if ( rec.getSid() == WindowTwoRecord.sid )
+ {
+ retval.windowTwo = (WindowTwoRecord) rec;
+ }
if (rec != null)
{
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();
* @return record containing a WindowTwoRecord
*/
- protected Record createWindowTwo()
+ protected WindowTwoRecord createWindowTwo()
{
WindowTwoRecord retval = new WindowTwoRecord();
* @param sel True to select the sheet, false otherwise.
*/
public void setSelected(boolean sel) {
- WindowTwoRecord windowTwo = (WindowTwoRecord) findFirstRecordBySid(WindowTwoRecord.sid);
windowTwo.setSelected(sel);
}
}
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();
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();
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.
*
margins = new Margin[4];
return margins;
}
-
}
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 {
public void remove() {
rows.remove();
}
-
-
}
}
+ /**
+ * 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);
- }
-
+ }
}