+/* Styling for a pivot table.
+
+ The division between this and the style information in struct pivot_table
+ seems fairly arbitrary. The ultimate reason for the division is simply
+ because that's how SPSS documentation and file formats do it. */
+struct pivot_table_look
+ {
+ /* Reference count. A pivot_table_look 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;
+
+ char *name; /* May be null. */
+
+ /* General properties. */
+ bool omit_empty;
+ bool row_labels_in_corner;
+ int width_ranges[TABLE_N_AXES][2]; /* In 1/96" units. */
+
+ /* Footnote display settings. */
+ bool show_numeric_markers;
+ bool footnote_marker_superscripts;
+
+ /* Styles. */
+ struct table_area_style areas[PIVOT_N_AREAS];
+ struct table_border_style borders[PIVOT_N_BORDERS];
+
+ /* Print settings. */
+ bool print_all_layers;
+ bool paginate_layers;
+ bool shrink_to_fit[TABLE_N_AXES];
+ bool top_continuation, bottom_continuation;
+ char *continuation;
+ size_t n_orphan_lines;
+ };
+
+const struct pivot_table_look *pivot_table_look_get_default (void);
+void pivot_table_look_set_default (const struct pivot_table_look *);
+
+char *pivot_table_look_read (const char *, struct pivot_table_look **)
+ WARN_UNUSED_RESULT;
+
+const struct pivot_table_look *pivot_table_look_builtin_default (void);
+struct pivot_table_look *pivot_table_look_new_builtin_default (void);
+struct pivot_table_look *pivot_table_look_ref (
+ const struct pivot_table_look *);
+void pivot_table_look_unref (struct pivot_table_look *);
+struct pivot_table_look *pivot_table_look_unshare (struct pivot_table_look *);
+\f