Revert, revert, try another thing
[gnumeric.git] / src / sheet-vector.h
blobd17334878732a1daf8f5dcb09d843b9da885d3fa
1 #ifndef SHEET_VECTOR_H
2 #define SHEET_VECTOR_H
4 #include <libgnome/gnome-defs.h>
5 #include <bonobo/bonobo-object.h>
6 #include "idl/Gnumeric.h"
8 BEGIN_GNOME_DECLS
10 #define SHEET_VECTOR_TYPE (sheet_vector_get_type ())
11 #define SHEET_VECTOR(o) (GTK_CHECK_CAST ((o), SHEET_VECTOR_TYPE, SheetVector))
12 #define SHEET_VECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST((k), SHEET_VECTOR_TYPE, SheetVectorClass))
13 #define IS_SHEET_VECTOR(o) (GTK_CHECK_TYPE ((o), SHEET_VECTOR_TYPE))
14 #define IS_SHEET_VECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SHEET_VECTOR_TYPE))
16 typedef struct _SheetVector SheetVector;
18 typedef struct {
19 int size;
21 Range range;
22 } RangeBlock;
24 struct _SheetVector {
25 BonoboObject base;
27 Sheet *sheet;
28 int len;
31 * A sheet vector consists of a group of ranges. The user
32 * can specify multiple non-contigous ranges as a single
33 * serie.
35 int n_blocks; /* Number of Range blocks */
36 RangeBlock *blocks; /* The blocks. */
39 * This is passed by the Graph component as the
40 * callback to invoke when there is a change
42 GNOME_Gnumeric_VectorNotify notify;
45 typedef struct {
46 BonoboObjectClass parent_class;
47 } SheetVectorClass;
49 GtkType sheet_vector_get_type (void);
50 SheetVector *sheet_vector_new (Sheet *sheet);
51 void sheet_vector_reset (SheetVector *sheet_vector);
52 void sheet_vector_append_range (SheetVector *sheet_vector, Range *range);
54 void sheet_vectors_cell_changed (Cell *cell);
55 void sheet_vector_attach (SheetVector *sheet_vector, Sheet *sheet);
56 void sheet_vector_detach (SheetVector *sheet_vector);
58 END_GNOME_DECLS
61 #endif /* SHEET_VECTOR_H */