1 #ifndef _GNM_GRAPH_H_ 2 # define _GNM_GRAPH_H_ 3 4 #include <gnumeric.h> 5 #include <sheet-object.h> 6 #include <goffice/goffice.h> 7 #include <glib-object.h> 8 9 G_BEGIN_DECLS 10 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); 16 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)) 20 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); 24 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)) 28 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); 32 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)) 36 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); 40 41 /* closure for data allocation */ 42 typedef struct { 43 int colrowmode; /* 0 = auto; 1 = columns; 2 = rows */ 44 gboolean share_x, new_sheet; 45 GObject *obj; 46 GogDataAllocator *dalloc; 47 GnmSOAnchorMode anchor_mode; 48 } GnmGraphDataClosure; 49 50 G_END_DECLS 51 52 #endif /* _GNM_GRAPH_H_ */ 53