output: Add footnote support.
[pspp] / src / output / table-casereader.c
index fa7498c849ac4dd4daced36a956ffc725362d078..485014dc81a20eac816f91ed34435033d2910676 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011, 2013, 2014 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
@@ -38,7 +38,7 @@ static const struct table_class table_casereader_class;
 static struct table_casereader *
 table_casereader_cast (const struct table *table)
 {
-  assert (table->class == &table_casereader_class);
+  assert (table->klass == &table_casereader_class);
   return UP_CAST (table, struct table_casereader, table);
 }
 
@@ -110,13 +110,17 @@ table_casereader_get_cell (const struct table *t, int x, int y,
   cell->d[TABLE_HORZ][1] = x + 1;
   cell->d[TABLE_VERT][0] = y;
   cell->d[TABLE_VERT][1] = y + 1;
-  cell->options = TAB_RIGHT;
+  cell->contents = &cell->inline_contents;
+  cell->n_contents = 1;
+  cell->inline_contents.options = TAB_RIGHT;
+  cell->inline_contents.table = NULL;
+  cell->inline_contents.n_footnotes = 0;
   if (tc->heading != NULL)
     {
       if (y == 0)
         {
           s = xstrdup (tc->heading);
-          cell->contents = s;
+          cell->inline_contents.text = s;
           cell->destructor = free_string;
           cell->destructor_aux = s;
           return;
@@ -132,7 +136,7 @@ table_casereader_get_cell (const struct table *t, int x, int y,
       s = data_out (case_data_idx (c, 0), UTF8, &tc->format);
       case_unref (c);
     }
-  cell->contents = s;
+  cell->inline_contents.text = s;
   cell->destructor = free_string;
   cell->destructor_aux = s;
 }
@@ -142,7 +146,10 @@ table_casereader_get_rule (const struct table *t, enum table_axis axis,
                            int x UNUSED, int y)
 {
   struct table_casereader *tc = table_casereader_cast (t);
-  return axis == TABLE_VERT && tc->heading != NULL && y == 1 ? TAL_1 : TAL_0;
+  if (axis == TABLE_VERT)
+    return tc->heading != NULL && y == 1 ? TAL_1 : TAL_0;
+  else
+    return TAL_GAP;
 }
 
 static const struct table_class table_casereader_class =