5 #include <sheet-object.h>
6 #include <goffice/goffice.h>
7 #include <glib-object.h>
11 void gnm_go_data_set_sheet (GOData
*dat
, Sheet
*sheet
);
12 Sheet
*gnm_go_data_get_sheet (GOData
const *dat
);
13 GnmExprTop
const *gnm_go_data_get_expr (GOData
const *dat
);
14 void gnm_go_data_foreach_dep (GOData
*dat
, SheetObject
*so
,
15 SheetObjectForeachDepFunc func
, gpointer user
);
17 #define GNM_GO_DATA_SCALAR_TYPE (gnm_go_data_scalar_get_type ())
18 #define GNM_GO_DATA_SCALAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_SCALAR_TYPE, GnmGODataScalar))
19 #define GNM_IS_GO_DATA_SCALAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_SCALAR_TYPE))
21 typedef struct _GnmGODataScalar GnmGODataScalar
;
22 GType
gnm_go_data_scalar_get_type (void);
23 GOData
*gnm_go_data_scalar_new_expr (Sheet
*sheet
, GnmExprTop
const *texpr
);
25 #define GNM_GO_DATA_VECTOR_TYPE (gnm_go_data_vector_get_type ())
26 #define GNM_GO_DATA_VECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_VECTOR_TYPE, GnmGODataVector))
27 #define GNM_IS_GO_DATA_VECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_VECTOR_TYPE))
29 typedef struct _GnmGODataVector GnmGODataVector
;
30 GType
gnm_go_data_vector_get_type (void);
31 GOData
*gnm_go_data_vector_new_expr (Sheet
*sheet
, GnmExprTop
const *texpr
);
33 #define GNM_GO_DATA_MATRIX_TYPE (gnm_go_data_matrix_get_type ())
34 #define GNM_GO_DATA_MATRIX(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_MATRIX_TYPE, GnmGODataMatrix))
35 #define GNM_IS_GO_DATA_MATRIX(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_MATRIX_TYPE))
37 typedef struct _GnmGODataMatrix GnmGODataMatrix
;
38 GType
gnm_go_data_matrix_get_type (void);
39 GOData
*gnm_go_data_matrix_new_expr (Sheet
*sheet
, GnmExprTop
const *texpr
);
41 /* closure for data allocation */
43 int colrowmode
; /* 0 = auto; 1 = columns; 2 = rows */
44 gboolean share_x
, new_sheet
;
46 GogDataAllocator
*dalloc
;
47 GnmSOAnchorMode anchor_mode
;
48 } GnmGraphDataClosure
;
52 #endif /* _GNM_GRAPH_H_ */