void
pivot_output (const struct pivot_table *pt,
const size_t *layer_indexes,
+ bool printing UNUSED,
struct table **titlep,
struct table **layersp,
struct table **bodyp,
body->styles[i] = table_area_style_override (
body->container, &pt->look->areas[i], NULL, NULL, false);
+ struct table_border_style borders[PIVOT_N_BORDERS];
+ memcpy (borders, pt->look->borders, sizeof borders);
+ if (!printing && pt->show_grid_lines)
+ for (int b = 0; b < PIVOT_N_BORDERS; b++)
+ if (borders[b].stroke == TABLE_STROKE_NONE)
+ borders[b].stroke = TABLE_STROKE_DASHED;
+
for (size_t i = 0; i < PIVOT_N_BORDERS; i++)
{
const struct table_border_style *in = &pt->look->borders[i];
compose_headings (body,
&pt->axes[PIVOT_AXIS_COLUMN], H, &pt->axes[PIVOT_AXIS_ROW],
- pt->look->borders,
+ borders,
PIVOT_BORDER_DIM_COL_HORZ,
PIVOT_BORDER_DIM_COL_VERT,
PIVOT_BORDER_CAT_COL_HORZ,
compose_headings (body,
&pt->axes[PIVOT_AXIS_ROW], V, &pt->axes[PIVOT_AXIS_COLUMN],
- pt->look->borders,
+ borders,
PIVOT_BORDER_DIM_ROW_VERT,
PIVOT_BORDER_DIM_ROW_HORZ,
PIVOT_BORDER_CAT_ROW_VERT,
if (body->n[H] && body->n[V])
{
table_hline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_INNER_TOP),
+ body, get_table_rule (borders, PIVOT_BORDER_INNER_TOP),
0, body->n[H] - 1, 0);
table_hline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_INNER_BOTTOM),
+ body, get_table_rule (borders, PIVOT_BORDER_INNER_BOTTOM),
0, body->n[H] - 1, body->n[V]);
table_vline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_INNER_LEFT),
+ body, get_table_rule (borders, PIVOT_BORDER_INNER_LEFT),
0, 0, body->n[V] - 1);
table_vline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_INNER_RIGHT),
+ body, get_table_rule (borders, PIVOT_BORDER_INNER_RIGHT),
body->n[H], 0, body->n[V] - 1);
if (stub[V])
table_hline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_DATA_TOP),
+ body, get_table_rule (borders, PIVOT_BORDER_DATA_TOP),
0, body->n[H] - 1, stub[V]);
if (stub[H])
table_vline (
- body, get_table_rule (pt->look->borders, PIVOT_BORDER_DATA_LEFT),
+ body, get_table_rule (borders, PIVOT_BORDER_DATA_LEFT),
stub[H], 0, body->n[V] - 1);
}
/* Title. */
struct table *title;
- if (pt->title && titlep)
+ if (pt->title && pt->show_title && titlep)
{
title = create_aux_table (pt, 1, 1, PIVOT_AREA_TITLE);
fill_cell (title, 0, 0, 0, 0,
/* Caption. */
struct table *caption;
- if (pt->caption && captionp)
+ if (pt->caption && pt->show_caption && captionp)
{
caption = create_aux_table (pt, 1, 1, PIVOT_AREA_CAPTION);
fill_cell (caption, 0, 0, 0, 0,