GUI: Move .ui files from goffice resources to glib resources
[gnumeric.git] / src / graph.h
blob0fa2c865f6269243277407b68e6a1bdc698ecfd6
1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef _GNM_GRAPH_H_
3 # define _GNM_GRAPH_H_
5 #include "gnumeric.h"
6 #include "sheet-object.h"
7 #include <goffice/goffice.h>
8 #include <glib-object.h>
10 G_BEGIN_DECLS
12 void gnm_go_data_set_sheet (GOData *dat, Sheet *sheet);
13 Sheet *gnm_go_data_get_sheet (GOData const *dat);
14 GnmExprTop const *gnm_go_data_get_expr (GOData const *dat);
15 void gnm_go_data_foreach_dep (GOData *dat, SheetObject *so,
16 SheetObjectForeachDepFunc func, gpointer user);
18 #define GNM_GO_DATA_SCALAR_TYPE (gnm_go_data_scalar_get_type ())
19 #define GNM_GO_DATA_SCALAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_SCALAR_TYPE, GnmGODataScalar))
20 #define GNM_IS_GO_DATA_SCALAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_SCALAR_TYPE))
22 typedef struct _GnmGODataScalar GnmGODataScalar;
23 GType gnm_go_data_scalar_get_type (void);
24 GOData *gnm_go_data_scalar_new_expr (Sheet *sheet, GnmExprTop const *texpr);
26 #define GNM_GO_DATA_VECTOR_TYPE (gnm_go_data_vector_get_type ())
27 #define GNM_GO_DATA_VECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_VECTOR_TYPE, GnmGODataVector))
28 #define GNM_IS_GO_DATA_VECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_VECTOR_TYPE))
30 typedef struct _GnmGODataVector GnmGODataVector;
31 GType gnm_go_data_vector_get_type (void);
32 GOData *gnm_go_data_vector_new_expr (Sheet *sheet, GnmExprTop const *texpr);
34 #define GNM_GO_DATA_MATRIX_TYPE (gnm_go_data_matrix_get_type ())
35 #define GNM_GO_DATA_MATRIX(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_GO_DATA_MATRIX_TYPE, GnmGODataMatrix))
36 #define GNM_IS_GO_DATA_MATRIX(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_GO_DATA_MATRIX_TYPE))
38 typedef struct _GnmGODataMatrix GnmGODataMatrix;
39 GType gnm_go_data_matrix_get_type (void);
40 GOData *gnm_go_data_matrix_new_expr (Sheet *sheet, GnmExprTop const *texpr);
42 /* closure for data allocation */
43 typedef struct {
44 int colrowmode; /* 0 = auto; 1 = columns; 2 = rows */
45 gboolean share_x, new_sheet;
46 GObject *obj;
47 GogDataAllocator *dalloc;
48 GnmSOAnchorMode anchor_mode;
49 } GnmGraphDataClosure;
51 G_END_DECLS
53 #endif /* _GNM_GRAPH_H_ */