Update Spanish translation
[gnumeric.git] / src / gnumeric.h
blobb9a5fceb89ee9d61a4d4336902eb8b99ef1d1f6a
1 #ifndef _GNM_GNUMERIC_H_
2 # define _GNM_GNUMERIC_H_
4 #include <glib.h>
5 #include <goffice/goffice.h>
6 #include <gnumeric-fwd.h>
8 G_BEGIN_DECLS
10 /* Individual maxima for the dimensions. See also gnm_sheet_valid_size. */
11 #define GNM_MAX_ROWS 0x1000000
12 #define GNM_MAX_COLS 0x4000
14 /* Standard size */
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.
26 typedef enum {
27 GNM_SHEET_VISIBILITY_VISIBLE,
28 GNM_SHEET_VISIBILITY_HIDDEN,
29 GNM_SHEET_VISIBILITY_VERY_HIDDEN
30 } GnmSheetVisibility;
31 typedef enum {
32 GNM_SHEET_DATA,
33 GNM_SHEET_OBJECT,
34 GNM_SHEET_XLM
35 } GnmSheetType;
37 typedef enum {
38 GNM_ERROR_NULL,
39 GNM_ERROR_DIV0,
40 GNM_ERROR_VALUE,
41 GNM_ERROR_REF,
42 GNM_ERROR_NAME,
43 GNM_ERROR_NUM,
44 GNM_ERROR_NA,
45 GNM_ERROR_UNKNOWN
46 } GnmStdError;
48 typedef struct {
49 int col, row; /* these must be int not unsigned in some places (eg SUMIF ) */
50 } GnmCellPos;
51 typedef struct {
52 GnmCellPos start, end;
53 } GnmRange;
54 typedef struct {
55 Sheet *sheet;
56 GnmRange range;
57 } GnmSheetRange;
59 typedef enum {
60 CELL_ITER_ALL = 0,
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
70 } CellIterFlags;
71 typedef struct _GnmCellIter GnmCellIter;
72 typedef GnmValue *(*CellIterFunc) (GnmCellIter const *iter, gpointer user);
74 typedef enum {
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 */
80 } GnmSpanCalcFlags;
82 typedef enum {
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
88 } GnmExprEvalFlags;
90 G_END_DECLS
92 #endif /* _GNM_GNUMERIC_H_ */