Title: Window Two Record Description: sheet window settings REFERENCE: PG 422 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) @author Andrew C. Oliver (acoliver at apache dot org) @author Jason Height (jheight at chariot dot net dot au) @version 2.0-pre
| 30 | * @version 2.0-pre |
| 31 | */ |
| 32 | public final class WindowTwoRecord extends StandardRecord { |
| 33 | public final static short sid = 0x023E; |
| 34 | |
| 35 | // bitfields |
| 36 | private static final BitField displayFormulas = BitFieldFactory.getInstance(0x01); |
| 37 | private static final BitField displayGridlines = BitFieldFactory.getInstance(0x02); |
| 38 | private static final BitField displayRowColHeadings = BitFieldFactory.getInstance(0x04); |
| 39 | private static final BitField freezePanes = BitFieldFactory.getInstance(0x08); |
| 40 | private static final BitField displayZeros = BitFieldFactory.getInstance(0x10); |
| 41 | /** if false use color in field 4 if true use default foreground for headers */ |
| 42 | private static final BitField defaultHeader = BitFieldFactory.getInstance(0x20); |
| 43 | private static final BitField arabic = BitFieldFactory.getInstance(0x040); |
| 44 | private static final BitField displayGuts = BitFieldFactory.getInstance(0x080); |
| 45 | private static final BitField freezePanesNoSplit = BitFieldFactory.getInstance(0x100); |
| 46 | private static final BitField selected = BitFieldFactory.getInstance(0x200); |
| 47 | private static final BitField active = BitFieldFactory.getInstance(0x400); |
| 48 | private static final BitField savedInPageBreakPreview = BitFieldFactory.getInstance(0x800); |
| 49 | // 4-7 reserved |
| 50 | // end bitfields |
| 51 | |
| 52 | private short field_1_options; |
| 53 | private short field_2_top_row; |
| 54 | private short field_3_left_col; |
| 55 | private int field_4_header_color; |
| 56 | private short field_5_page_break_zoom; |
| 57 | private short field_6_normal_zoom; |
| 58 | private int field_7_reserved; |
| 59 | |
| 60 | public WindowTwoRecord() |
| 61 | { |
| 62 | } |
| 63 | |
| 64 | public WindowTwoRecord(RecordInputStream in) |
| 65 | { |
| 66 | int size = in.remaining(); |
| 67 | field_1_options = in.readShort(); |
| 68 | field_2_top_row = in.readShort(); |
| 69 | field_3_left_col = in.readShort(); |
| 70 | field_4_header_color = in.readInt(); |
| 71 | if (size > 10) |
| 72 | { |
| 73 | field_5_page_break_zoom = in.readShort(); |
| 74 | field_6_normal_zoom = in.readShort(); |
| 75 | } |
| 76 | if (size > 14) |
| 77 | { // there is a special case of this record that has only 14 bytes...undocumented! |
| 78 | field_7_reserved = in.readInt(); |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | /** |
| 83 | * set the options bitmask or just use the bit setters. |
| 84 | * @param options |
| 85 | */ |
| 86 | |
| 87 | public void setOptions(short options) |
| 88 | { |
| 89 | field_1_options = options; |
nothing calls this directly
no test coverage detected