1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: xltable.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SC_XLTABLE_HXX
32 #define SC_XLTABLE_HXX
34 #include <sal/types.h>
36 // Constants and Enumerations =================================================
38 // Specials for outlines ------------------------------------------------------
40 const sal_uInt8 EXC_OUTLINE_MAX
= 7;
41 const sal_uInt8 EXC_OUTLINE_COUNT
= EXC_OUTLINE_MAX
+ 1;
43 // (0x0000, 0x0200) DIMENSIONS ------------------------------------------------
45 const sal_uInt16 EXC_ID2_DIMENSIONS
= 0x0000;
46 const sal_uInt16 EXC_ID3_DIMENSIONS
= 0x0200;
48 // (0x0001, 0x0201) BLANK -----------------------------------------------------
50 const sal_uInt16 EXC_ID2_BLANK
= 0x0001;
51 const sal_uInt16 EXC_ID3_BLANK
= 0x0201;
53 // (0x0002) INTEGER -----------------------------------------------------------
55 const sal_uInt16 EXC_ID2_INTEGER
= 0x0002;
57 // (0x0003, 0x0203) NUMBER ----------------------------------------------------
59 const sal_uInt16 EXC_ID2_NUMBER
= 0x0003;
60 const sal_uInt16 EXC_ID3_NUMBER
= 0x0203;
62 // (0x0004, 0x0204) LABEL -----------------------------------------------------
64 const sal_uInt16 EXC_ID2_LABEL
= 0x0004;
65 const sal_uInt16 EXC_ID3_LABEL
= 0x0204;
67 const sal_uInt8 EXC_LABEL_MAXLEN
= 0xFF;
69 // (0x0005, 0x0205) BOOLERR ---------------------------------------------------
71 const sal_uInt16 EXC_ID2_BOOLERR
= 0x0005;
72 const sal_uInt16 EXC_ID3_BOOLERR
= 0x0205;
74 const sal_uInt8 EXC_BOOLERR_BOOL
= 0x00;
75 const sal_uInt8 EXC_BOOLERR_ERROR
= 0x01;
77 // (0x0006, 0x0206, 0x0406) FORMULA -------------------------------------------
79 const sal_uInt16 EXC_ID2_FORMULA
= 0x0006;
80 const sal_uInt16 EXC_ID3_FORMULA
= 0x0206;
81 const sal_uInt16 EXC_ID4_FORMULA
= 0x0406;
83 const sal_uInt16 EXC_FORMULA_RECALC_ALWAYS
= 0x0001;
84 const sal_uInt16 EXC_FORMULA_RECALC_ONLOAD
= 0x0002;
85 const sal_uInt16 EXC_FORMULA_SHARED
= 0x0008;
86 const sal_uInt16 EXC_FORMULA_DEFAULTFLAGS
= EXC_FORMULA_RECALC_ONLOAD
;
88 const sal_uInt8 EXC_FORMULA_RES_STRING
= 0x00; /// Result is a string.
89 const sal_uInt8 EXC_FORMULA_RES_BOOL
= 0x01; /// Result is Boolean value.
90 const sal_uInt8 EXC_FORMULA_RES_ERROR
= 0x02; /// Result is error code.
91 const sal_uInt8 EXC_FORMULA_RES_EMPTY
= 0x03; /// Result is empty cell (BIFF8 only).
93 // (0x0007, 0x0207) STRING ----------------------------------------------------
95 const sal_uInt16 EXC_ID2_STRING
= 0x0007;
96 const sal_uInt16 EXC_ID3_STRING
= 0x0207;
98 // (0x0008, 0x0208) ROW -------------------------------------------------------
100 const sal_uInt16 EXC_ID2_ROW
= 0x0008;
101 const sal_uInt16 EXC_ID3_ROW
= 0x0208;
103 const sal_uInt16 EXC_ROW_COLLAPSED
= 0x0010;
104 const sal_uInt16 EXC_ROW_HIDDEN
= 0x0020;
105 const sal_uInt16 EXC_ROW_UNSYNCED
= 0x0040;
106 const sal_uInt16 EXC_ROW_USEDEFXF
= 0x0080;
107 const sal_uInt16 EXC_ROW_DEFAULTFLAGS
= 0x0100;
109 const sal_uInt16 EXC_ROW_XFMASK
= 0x0FFF;
111 const sal_uInt16 EXC_ROW_DEFAULTHEIGHT
= 255;
112 const sal_uInt16 EXC_ROW_FLAGDEFHEIGHT
= 0x8000;
113 const sal_uInt16 EXC_ROW_HEIGHTMASK
= 0x7FFF;
115 const sal_uInt16 EXC_ROW_ROWBLOCKSIZE
= 32; /// Number of rows in a row block.
117 // (0x0020) COLUMNDEFAULT -----------------------------------------------------
119 const sal_uInt16 EXC_ID_COLUMNDEFAULT
= 0x0020;
121 // (0x0021, 0x0221) ARRAY -----------------------------------------------------
123 const sal_uInt16 EXC_ID2_ARRAY
= 0x0021;
124 const sal_uInt16 EXC_ID3_ARRAY
= 0x0221;
126 const sal_uInt16 EXC_ARRAY_RECALC_ALWAYS
= 0x0001;
127 const sal_uInt16 EXC_ARRAY_RECALC_ONLOAD
= 0x0002;
128 const sal_uInt16 EXC_ARRAY_DEFAULTFLAGS
= EXC_ARRAY_RECALC_ONLOAD
;
130 // (0x0024) COLWIDTH ----------------------------------------------------------
132 const sal_uInt16 EXC_ID_COLWIDTH
= 0x0024;
134 // (0x0025, 0x0225) DEFAULTROWHEIGHT ------------------------------------------
136 const sal_uInt16 EXC_ID2_DEFROWHEIGHT
= 0x0025;
137 const sal_uInt16 EXC_ID3_DEFROWHEIGHT
= 0x0225;
139 const sal_uInt16 EXC_DEFROW_UNSYNCED
= 0x0001;
140 const sal_uInt16 EXC_DEFROW_HIDDEN
= 0x0002;
141 const sal_uInt16 EXC_DEFROW_SPACEABOVE
= 0x0004;
142 const sal_uInt16 EXC_DEFROW_SPACEBELOW
= 0x0008;
143 const sal_uInt16 EXC_DEFROW_DEFAULTFLAGS
= 0x0000;
145 const sal_uInt16 EXC_DEFROW_DEFAULTHEIGHT
= 255;
147 // (0x0036, 0x0236) TABLEOP ---------------------------------------------------
149 const sal_uInt16 EXC_ID2_TABLEOP
= 0x0036;
150 const sal_uInt16 EXC_ID3_TABLEOP
= 0x0236;
152 const sal_uInt16 EXC_TABLEOP_RECALC_ALWAYS
= 0x0001;
153 const sal_uInt16 EXC_TABLEOP_RECALC_ONLOAD
= 0x0002;
154 const sal_uInt16 EXC_TABLEOP_ROW
= 0x0004;
155 const sal_uInt16 EXC_TABLEOP_BOTH
= 0x0008;
156 const sal_uInt16 EXC_TABLEOP_DEFAULTFLAGS
= EXC_TABLEOP_RECALC_ONLOAD
;
158 // (0x0037) TABLEOP2 ----------------------------------------------------------
160 const sal_uInt16 EXC_ID2_TABLEOP2
= 0x0037;
162 // (0x0055) DEFCOLWIDTH -------------------------------------------------------
164 const sal_uInt16 EXC_ID_DEFCOLWIDTH
= 0x0055;
165 const sal_uInt16 EXC_DEFCOLWIDTH_DEF
= 10;
167 // (0x007D) COLINFO -----------------------------------------------------------
169 const sal_uInt16 EXC_ID_COLINFO
= 0x007D;
171 const sal_uInt16 EXC_COLINFO_HIDDEN
= 0x0001;
172 const sal_uInt16 EXC_COLINFO_COLLAPSED
= 0x1000;
174 // (0x0080) GUTS --------------------------------------------------------------
176 const sal_uInt16 EXC_ID_GUTS
= 0x0080;
178 // (0x00BD) MULRK -------------------------------------------------------------
180 const sal_uInt16 EXC_ID_MULRK
= 0x00BD;
182 // (0x00BE) MULBLANK ----------------------------------------------------------
184 const sal_uInt16 EXC_ID_MULBLANK
= 0x00BE;
186 // (0x00D6) RSTRING -----------------------------------------------------------
188 const sal_uInt16 EXC_ID_RSTRING
= 0x00D6;
190 // (0x00FD) LABELSST ----------------------------------------------------------
192 const sal_uInt16 EXC_ID_LABELSST
= 0x00FD;
194 // (0x027E) RK ----------------------------------------------------------------
196 const sal_uInt16 EXC_ID_RK
= 0x027E;
198 // (0x04BC) SHRFMLA -----------------------------------------------------------
200 const sal_uInt16 EXC_ID_SHRFMLA
= 0x04BC;
202 // ============================================================================