1 ////////////////////////////////////////////////////////////////////////////////
2 // MillScript-Excel: an Open Spice interpreter and batch website creation tool
3 // Copyright (C) 2005 Open World Ltd, Kevin Rogers
4 //
5 // This file is part of MillScript-Excel.
6 //
7 // MillScript-Excel is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU General Public License as published by the Free
9 // Software Foundation; either version 2 of the License, or (at your option)
10 // any later version.
11 //
12 // MillScript-Excel is distributed in the hope that it will be useful, but WITHOUT
13 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 // more details.
16 //
17 // You should have received a copy of the GNU General Public License along with
18 // MillScript-Excel; if not, write to the Free Software Foundation, Inc., 59 Temple
19 // Place, Suite 330, Boston, MA 02111-1307 USA
20 ////////////////////////////////////////////////////////////////////////////////
21 package org.millscript.office.excel.records;
22
23 import org.millscript.office.excel.Record;
24 import org.millscript.office.excel.alerts.BIFFAlert;
25 import org.millscript.office.excel.blocks.CalculationSettings;
26
27 /**
28 *
29 */
30 public class CalcMode extends Record implements CalculationSettings {
31
32 /**
33 *
34 */
35 public enum Mode {
36
37 AUTOMATIC_EXCEPT_MULTIPLE_TABLE_OPERATIONS, MANUALLY, AUTOMATICALLY;
38
39 public static Mode getMode( final int mode ) {
40 switch ( mode ) {
41 case 0xFFFF:
42 return AUTOMATIC_EXCEPT_MULTIPLE_TABLE_OPERATIONS;
43 case 0x0000:
44 return MANUALLY;
45 case 0x0001:
46 return AUTOMATICALLY;
47 default:
48 throw new BIFFAlert(
49 "Unknown mode for CALCMODE record"
50 ).culprit( "mode", mode ).mishap();
51 }
52 }
53
54 }
55
56 private Mode calcMode;
57
58 /**
59 *
60 */
61 public CalcMode( final Mode mode ) {
62 this.calcMode = mode;
63 }
64
65 }