1 #ifndef _GNM_GNUMERIC_H_
2 # define _GNM_GNUMERIC_H_
5 #include <goffice/goffice.h>
6 #include <gnumeric-fwd.h>
10 /* Individual maxima for the dimensions. See also gnm_sheet_valid_size. */
11 #define GNM_MAX_ROWS 0x1000000
12 #define GNM_MAX_COLS 0x4000
15 #define GNM_DEFAULT_COLS 0x100
16 #define GNM_DEFAULT_ROWS 0x10000
18 /* Minimum size. dependent.c sets row constraint. */
19 #define GNM_MIN_ROWS 0x80
20 #define GNM_MIN_COLS 0x80
23 * Note: more than 364238 columns will introduce a column named TRUE.
27 GNM_SHEET_VISIBILITY_VISIBLE
,
28 GNM_SHEET_VISIBILITY_HIDDEN
,
29 GNM_SHEET_VISIBILITY_VERY_HIDDEN
49 int col
, row
; /* these must be int not unsigned in some places (eg SUMIF ) */
52 GnmCellPos start
, end
;
61 CELL_ITER_IGNORE_NONEXISTENT
= 1 << 0,
62 CELL_ITER_IGNORE_EMPTY
= 1 << 1,
63 CELL_ITER_IGNORE_BLANK
= (CELL_ITER_IGNORE_NONEXISTENT
| CELL_ITER_IGNORE_EMPTY
),
64 CELL_ITER_IGNORE_HIDDEN
= 1 << 2, /* hidden manually */
66 /* contains SUBTOTAL */
67 CELL_ITER_IGNORE_SUBTOTAL
= 1 << 3,
68 /* hidden row in a filter */
69 CELL_ITER_IGNORE_FILTERED
= 1 << 4
71 typedef struct _GnmCellIter GnmCellIter
;
72 typedef GnmValue
*(*CellIterFunc
) (GnmCellIter
const *iter
, gpointer user
);
75 GNM_SPANCALC_SIMPLE
= 0x0, /* Just calc spans */
76 GNM_SPANCALC_RESIZE
= 0x1, /* Calculate sizes of all cells */
77 GNM_SPANCALC_RE_RENDER
= 0x2, /* Render and Size all cells */
78 GNM_SPANCALC_RENDER
= 0x4, /* Render and Size any unrendered cells */
79 GNM_SPANCALC_ROW_HEIGHT
= 0x8 /* Resize the row height */
83 GNM_EXPR_EVAL_SCALAR_NON_EMPTY
= 0,
84 GNM_EXPR_EVAL_PERMIT_NON_SCALAR
= 0x1,
85 GNM_EXPR_EVAL_PERMIT_EMPTY
= 0x2,
86 GNM_EXPR_EVAL_WANT_REF
= 0x4,
87 GNM_EXPR_EVAL_ARRAY_CONTEXT
= 0x8
92 #endif /* _GNM_GNUMERIC_H_ */