output: Support decimal and mixed alignment,
[pspp] / src / output / table-casereader.c
index 485014dc81a20eac816f91ed34435033d2910676..e1b75ac5da28564684e1dca3f9ac0d53c24e2df1 100644 (file)
@@ -106,21 +106,24 @@ table_casereader_get_cell (const struct table *t, int x, int y,
   struct ccase *c;
   char *s;
 
+  static const struct area_style style = {
+    AREA_STYLE_INITIALIZER__,
+    .cell_style.halign = TABLE_HALIGN_RIGHT
+  };
+
   cell->d[TABLE_HORZ][0] = x;
   cell->d[TABLE_HORZ][1] = x + 1;
   cell->d[TABLE_VERT][0] = y;
   cell->d[TABLE_VERT][1] = y + 1;
-  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;
+  cell->style = &style;
+  cell->options = 0;
+  cell->n_footnotes = 0;
   if (tc->heading != NULL)
     {
       if (y == 0)
         {
           s = xstrdup (tc->heading);
-          cell->inline_contents.text = s;
+          cell->text = s;
           cell->destructor = free_string;
           cell->destructor_aux = s;
           return;
@@ -136,20 +139,21 @@ 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->inline_contents.text = s;
+  cell->text = s;
   cell->destructor = free_string;
   cell->destructor_aux = s;
 }
 
 static int
 table_casereader_get_rule (const struct table *t, enum table_axis axis,
-                           int x UNUSED, int y)
+                           int x UNUSED, int y,
+                           struct cell_color *color UNUSED)
 {
   struct table_casereader *tc = table_casereader_cast (t);
   if (axis == TABLE_VERT)
     return tc->heading != NULL && y == 1 ? TAL_1 : TAL_0;
   else
-    return TAL_GAP;
+    return TAL_0;
 }
 
 static const struct table_class table_casereader_class =