#include "data/settings.h"
#include "libpspp/assertion.h"
#include "libpspp/pool.h"
-#include "output/page-eject-item.h"
+#include "output/output-item.h"
#include "output/pivot-table.h"
-#include "output/table-item.h"
#include "output/table-provider.h"
#include "output/table.h"
-#include "output/text-item.h"
#include "gl/minmax.h"
#include "gl/xalloc.h"
|aaaa1|aaaa2|aaaa3|aaaa1|aaaa2|aaaa3|aaaa1|aaaa2|aaaa3|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
- bool *vrules = xzalloc (n_columns + 1);
+ bool *vrules = XCALLOC (n_columns + 1, bool);
vrules[0] = vrules[n_columns] = true;
for (int dim_index = h_axis->n_dimensions; --dim_index >= 0; )
{
if (x == cell.d[H][0] && y == cell.d[V][0])
{
- for (size_t i = 0; i < cell.value->n_footnotes; i++)
+ const struct pivot_value_ex *ex = pivot_value_ex (cell.value);
+ for (size_t i = 0; i < ex->n_footnotes; i++)
{
- size_t idx = cell.value->footnote_indexes[i];
+ size_t idx = ex->footnote_indexes[i];
assert (idx < pt->n_footnotes);
- if (!refs[idx])
+ if (!refs[idx] && pt->footnotes[idx]->show)
{
refs[idx] = true;
(*n_refs)++;
return NULL;
}
- bool *refs = xzalloc (pt->n_footnotes);
+ bool *refs = XCALLOC (pt->n_footnotes, bool);
size_t n_refs = 0;
add_references (pt, title, refs, &n_refs);
add_references (pt, layers, refs, &n_refs);
if (n_layers > 0)
{
layers = create_aux_table (pt, 1, n_layers, PIVOT_AREA_LAYERS);
- size_t y = 0;
+ size_t y = n_layers - 1;
for (size_t i = 0; i < layer_axis->n_dimensions; i++)
{
const struct pivot_dimension *d = layer_axis->dimensions[i];
continue;
struct string s = DS_EMPTY_INITIALIZER;
- pivot_value_format (d->root->name, pt, &s);
- ds_put_cstr (&s, ": ");
pivot_value_format (d->data_leaves[layer_indexes[i]]->name, pt, &s);
fill_cell_owned (layers, 0, y, 0, y, PIVOT_AREA_LAYERS, &s, false);
- y++;
+ y--;
}
}
else
for (size_t i = 0; i < nf; i++)
{
struct string s = DS_EMPTY_INITIALIZER;
- pivot_value_format (f[i]->marker, pt, &s);
+ pivot_footnote_format_marker (f[i], pt, &s);
ds_put_cstr (&s, ". ");
pivot_value_format (f[i]->content, pt, &s);
fill_cell_owned (footnotes, 0, i, 0, i, PIVOT_AREA_FOOTER, &s,
void
pivot_table_submit (struct pivot_table *pt)
{
- table_item_submit (table_item_create (pt));
+ output_item_submit (table_item_create (pt));
}