X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Ftable.h;h=649ae965f6ce328e20c4c320c65b6c0dd827910f;hb=5e05ce94d98d7bb9ef99d53334429ff183bd1b93;hp=e245b72760facc0ff02798b09bff4095716dbfdb;hpb=ff2c83253f1f450a8bd1d36c7efb8b59cdfed058;p=pspp diff --git a/src/output/table.h b/src/output/table.h index e245b72760..649ae965f6 100644 --- a/src/output/table.h +++ b/src/output/table.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997, 1998, 1999, 2000, 2009 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2009, 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 @@ -40,6 +40,7 @@ struct casereader; struct fmt_spec; +struct table_item; struct variable; /* Properties of a table cell. */ @@ -47,29 +48,40 @@ enum { TAB_NONE = 0, - /* Alignment of cell contents. */ - TAB_RIGHT = 0 << 0, /* Right justify. */ - TAB_LEFT = 1 << 0, /* Left justify. */ - TAB_CENTER = 2 << 0, /* Centered. */ - TAB_ALIGNMENT = 3 << 0, /* Alignment mask. */ + /* Horizontal alignment of cell contents. */ + TAB_RIGHT = 0 << 0, + TAB_LEFT = 1 << 0, + TAB_CENTER = 2 << 0, + TAB_HALIGN = 3 << 0, /* Alignment mask. */ + + /* Vertical alignment of cell contents. */ + TAB_TOP = 0 << 2, + TAB_MIDDLE = 1 << 2, + TAB_BOTTOM = 2 << 2, + TAB_VALIGN = 3 << 2, /* Alignment mask. */ /* These flags may be combined with any alignment. */ - TAB_EMPH = 1 << 2, /* Emphasize cell contents. */ - TAB_FIX = 1 << 3, /* Use fixed font. */ + TAB_EMPH = 1 << 4, /* Emphasize cell contents. */ + TAB_FIX = 1 << 5, /* Use fixed font. */ /* Bits with values (1 << TAB_FIRST_AVAILABLE) and higher are not used, so they are available for subclasses to use as they wish. */ - TAB_FIRST_AVAILABLE = 4 + TAB_FIRST_AVAILABLE = 6 }; /* Styles for the rules around table cells. */ enum { - TAL_0, /* No line. */ - TAL_GAP, /* Spacing but no line. */ - TAL_1, /* Single line. */ - TAL_2, /* Double line. */ + TAL_NONE, /* No spacing. */ +#define TAL_0 TAL_NONE + TAL_SOLID, +#define TAL_1 TAL_SOLID + TAL_DASHED, + TAL_THICK, + TAL_THIN, + TAL_DOUBLE, +#define TAL_2 TAL_DOUBLE N_LINES }; @@ -162,6 +174,8 @@ void table_set_hb (struct table *, int hb); /* Simple kinds of tables. */ struct table *table_from_string (unsigned int options, const char *); +struct table *table_from_string_span (unsigned int options, const char *, + int colspan, int rowspan); struct table *table_from_variables (unsigned int options, struct variable **, size_t); struct table *table_from_casereader (const struct casereader *,