Update all #include directives to the currently preferred style.
[pspp-builds.git] / src / data / datasheet.h
index 860f236ec33af74b1ba8f53be1d5108a40644501..ab6c28d80af56697d18151ac7884106487b7ebfb 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #ifndef DATA_DATASHEET_H
 #define DATA_DATASHEET_H 1
 
-#include <data/case.h>
-#include <data/value.h>
+#include "data/case.h"
+#include "data/value.h"
 
+struct caseproto;
 struct casereader;
 
-/* A datasheet is a 2-d array of data that may be stored in
-   memory or on disk.  It efficiently supports data storage and
-   retrieval, as well as adding, removing, and rearranging both
-   rows and columns.  */
+/* A datasheet is a 2-d array of "union value"s that may be
+   stored in memory or on disk.  It efficiently supports data
+   storage and retrieval, as well as adding, removing, and
+   rearranging both rows and columns.  */
 
 struct datasheet *datasheet_create (struct casereader *);
 void datasheet_destroy (struct datasheet *);
 struct datasheet *datasheet_rename (struct datasheet *);
 
+const struct caseproto *datasheet_get_proto (const struct datasheet *);
+int datasheet_get_column_width (const struct datasheet *, size_t column);
+
 bool datasheet_error (const struct datasheet *);
 void datasheet_force_error (struct datasheet *);
 const struct taint *datasheet_get_taint (const struct datasheet *);
@@ -38,17 +42,20 @@ const struct taint *datasheet_get_taint (const struct datasheet *);
 struct casereader *datasheet_make_reader (struct datasheet *);
 
 /* Columns. */
-size_t datasheet_get_column_cnt (const struct datasheet *);
-bool datasheet_insert_columns (struct datasheet *,
-                               const union value[], size_t cnt,
-                               size_t before);
+size_t datasheet_get_n_columns (const struct datasheet *);
+bool datasheet_insert_column (struct datasheet *,
+                              const union value *, int width, size_t before);
 void datasheet_delete_columns (struct datasheet *, size_t start, size_t cnt);
 void datasheet_move_columns (struct datasheet *,
                              size_t old_start, size_t new_start,
                              size_t cnt);
+bool datasheet_resize_column (struct datasheet *, size_t column, int new_width,
+                              void (*resize_cb) (const union value *,
+                                                 union value *, void *aux),
+                              void *aux);
 
 /* Rows. */
-casenumber datasheet_get_row_cnt (const struct datasheet *);
+casenumber datasheet_get_n_rows (const struct datasheet *);
 bool datasheet_insert_rows (struct datasheet *,
                             casenumber before, struct ccase *[],
                             casenumber cnt);
@@ -62,11 +69,12 @@ void datasheet_move_rows (struct datasheet *,
 struct ccase *datasheet_get_row (const struct datasheet *, casenumber);
 bool datasheet_put_row (struct datasheet *, casenumber, struct ccase *);
 bool datasheet_get_value (const struct datasheet *, casenumber, size_t column,
-                          union value *, int width);
+                          union value *);
 bool datasheet_put_value (struct datasheet *, casenumber, size_t column,
-                          const union value *, int width);
+                          const union value *);
 
 
 unsigned int hash_datasheet (const struct datasheet *ds);
 struct datasheet *clone_datasheet (const struct datasheet *ds);
+
 #endif /* data/datasheet.h */