projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pivot-table: Initialize subtype, command_id for pivot tables.
[pspp]
/
src
/
output
/
pivot-table.h
diff --git
a/src/output/pivot-table.h
b/src/output/pivot-table.h
index 44fa757bc63f7dda8daa9064ddc231971ebd8878..c11874da2e3802efef4d291e0d352cfcea3b6186 100644
(file)
--- a/
src/output/pivot-table.h
+++ b/
src/output/pivot-table.h
@@
-107,6
+107,7
@@
enum pivot_area
};
const char *pivot_area_to_string (enum pivot_area);
};
const char *pivot_area_to_string (enum pivot_area);
+void pivot_area_get_default_style (enum pivot_area, struct area_style *);
/* Table borders for styling purposes. */
enum pivot_border
/* Table borders for styling purposes. */
enum pivot_border
@@
-145,6
+146,8
@@
enum pivot_border
};
const char *pivot_border_to_string (enum pivot_border);
};
const char *pivot_border_to_string (enum pivot_border);
+void pivot_border_get_default_style (enum pivot_border,
+ struct table_border_style *);
/* Sizing for rows or columns of a rendered table. The comments below talk
about columns and their widths but they apply equally to rows and their
/* Sizing for rows or columns of a rendered table. The comments below talk
about columns and their widths but they apply equally to rows and their
@@
-372,6
+375,11
@@
bool pivot_result_class_change (const char *, const struct fmt_spec *);
/* A pivot table. See the top of this file for more information. */
struct pivot_table
{
/* A pivot table. See the top of this file for more information. */
struct pivot_table
{
+ /* Reference count. A pivot_table may be shared between multiple owners,
+ indicated by a reference count greater than 1. When this is the case,
+ the pivot_table must not be modified. */
+ int ref_cnt;
+
/* Display settings. */
bool rotate_inner_column_labels;
bool rotate_outer_row_labels;
/* Display settings. */
bool rotate_inner_column_labels;
bool rotate_outer_row_labels;
@@
-419,12
+427,12
@@
struct pivot_table
time_t date; /* May be 0 if unknown. */
/* Footnotes. */
time_t date; /* May be 0 if unknown. */
/* Footnotes. */
-
const
struct pivot_footnote **footnotes;
+ struct pivot_footnote **footnotes;
size_t n_footnotes, allocated_footnotes;
/* Titles. */
struct pivot_value *title;
size_t n_footnotes, allocated_footnotes;
/* Titles. */
struct pivot_value *title;
- struct pivot_value *subtype; /* Same as
pivot
_item's subtype. */
+ struct pivot_value *subtype; /* Same as
spv
_item's subtype. */
struct pivot_value *corner_text;
struct pivot_value *caption;
char *notes;
struct pivot_value *corner_text;
struct pivot_value *caption;
char *notes;
@@
-445,10
+453,14
@@
struct pivot_table
/* Creating and destroy pivot tables. */
struct pivot_table *pivot_table_create (const char *title);
/* Creating and destroy pivot tables. */
struct pivot_table *pivot_table_create (const char *title);
-struct pivot_table *pivot_table_create__ (struct pivot_value *title);
+struct pivot_table *pivot_table_create__ (struct pivot_value *title,
+ const char *subtype);
struct pivot_table *pivot_table_create_for_text (struct pivot_value *title,
struct pivot_value *content);
struct pivot_table *pivot_table_create_for_text (struct pivot_value *title,
struct pivot_value *content);
-void pivot_table_destroy (struct pivot_table *);
+
+struct pivot_table *pivot_table_ref (const struct pivot_table *);
+void pivot_table_unref (struct pivot_table *);
+bool pivot_table_is_shared (const struct pivot_table *);
/* Format of PIVOT_RC_COUNT cells. */
void pivot_table_set_weight_var (struct pivot_table *,
/* Format of PIVOT_RC_COUNT cells. */
void pivot_table_set_weight_var (struct pivot_table *,
@@
-640,7
+652,8
@@
struct pivot_value
/* PIVOT_VALUE_TEMPLATE. */
struct
{
/* PIVOT_VALUE_TEMPLATE. */
struct
{
- char *s;
+ char *local; /* Localized. */
+ char *id; /* Identifier. */
struct pivot_argument *args;
size_t n_args;
}
struct pivot_argument *args;
size_t n_args;
}
@@
-706,5
+719,13
@@
struct pivot_argument
};
void pivot_argument_uninit (struct pivot_argument *);
};
void pivot_argument_uninit (struct pivot_argument *);
+
\f
+/* One piece of data within a pivot table. */
+struct pivot_cell
+ {
+ struct hmap_node hmap_node; /* In struct pivot_table's 'cells' hmap. */
+ struct pivot_value *value;
+ unsigned int idx[]; /* One index per table dimension. */
+ };
#endif /* output/pivot-table.h */
#endif /* output/pivot-table.h */