Rewrite PSPP output engine. fc11-i386-build74 fc11-x64-build71 sid-i386-build141
authorBen Pfaff <blp@gnu.org>
Sun, 17 Jan 2010 02:07:31 +0000 (18:07 -0800)
committerBen Pfaff <blp@gnu.org>
Sun, 17 Jan 2010 02:07:31 +0000 (18:07 -0800)
commitdfd1972f7bcb550a4fc3b05dbe7e71d12334b0a7
tree3b19b462c6a90dd7ea5317eaa081c7f8d54b8f9d
parentc9a3c45e44c1c03d13d4eb186e3817bc836f75f8
Rewrite PSPP output engine.

This rewrite makes the PSPP output engine much more object-oriented and
extensible than previously.  It should make it much easier to add new
output features, such as cell footnotes and nested tables.  It also makes
minimal changes to code that currently uses the output engine.  The largest
changes are to the implementation of the LIST procedure, which are
necessary because this procedure had a too-intimate relationship with the
details of the output drivers.

The cairo and ascii drivers are now much better at breaking large cells and
large tables across pages and at choosing appropriate sizes for rows and
columns.

This commit adds a new output driver called "csv", which presents output
in comma-separated value format.  It also updates all of the test cases
that produce output to use this output format.

This commit enhances the HTML output significantly and the ODF output
slightly.

This commit adds support for charts to the GUI output.  However, it
temporarily removes the tree-view output summary pane from GUI output.  It
should not be difficult to restore this later.
235 files changed:
.gitignore
Makefile.am
NEWS
README
configure.ac
doc/introduction.texi
perl-module/automake.mk
perl-module/t/Pspp.t
src/data/make-file.c
src/language/command.c
src/language/data-io/data-parser.c
src/language/data-io/list.q
src/language/data-io/print-space.c
src/language/data-io/print.c
src/language/dictionary/split-file.c
src/language/dictionary/sys-file-info.c
src/language/lexer/lexer.c
src/language/prompt.c
src/language/stats/binomial.c
src/language/stats/chisquare.c
src/language/stats/correlations.c
src/language/stats/crosstabs.q
src/language/stats/descriptives.c
src/language/stats/examine.q
src/language/stats/factor.c
src/language/stats/frequencies.q
src/language/stats/glm.q
src/language/stats/npar-summary.c
src/language/stats/oneway.q
src/language/stats/rank.q
src/language/stats/regression.q
src/language/stats/reliability.q
src/language/stats/roc.c
src/language/stats/sign.c
src/language/stats/t-test.q
src/language/stats/wilcoxon.c
src/language/syntax-file.c
src/language/tests/paper-size.c
src/language/utilities/echo.c
src/language/utilities/include.c
src/language/utilities/set.q
src/language/utilities/title.c
src/output/ascii.c
src/output/automake.mk
src/output/cairo-chart.c [new file with mode: 0644]
src/output/cairo-chart.h [new file with mode: 0644]
src/output/cairo.c
src/output/cairo.h
src/output/chart-item-provider.h [new file with mode: 0644]
src/output/chart-item.c [new file with mode: 0644]
src/output/chart-item.h [new file with mode: 0644]
src/output/chart-provider.h [deleted file]
src/output/chart.c [deleted file]
src/output/chart.h [deleted file]
src/output/charts/boxplot-cairo.c [new file with mode: 0644]
src/output/charts/boxplot.c
src/output/charts/boxplot.h
src/output/charts/cartesian.c [deleted file]
src/output/charts/cartesian.h [deleted file]
src/output/charts/np-plot-cairo.c [new file with mode: 0644]
src/output/charts/np-plot.c
src/output/charts/np-plot.h
src/output/charts/piechart-cairo.c [new file with mode: 0644]
src/output/charts/piechart.c
src/output/charts/piechart.h
src/output/charts/plot-chart.c [deleted file]
src/output/charts/plot-chart.h [deleted file]
src/output/charts/plot-hist-cairo.c [new file with mode: 0644]
src/output/charts/plot-hist.c
src/output/charts/plot-hist.h
src/output/charts/roc-chart-cairo.c [new file with mode: 0644]
src/output/charts/roc-chart.c
src/output/charts/roc-chart.h
src/output/charts/scree-cairo.c [new file with mode: 0644]
src/output/charts/scree.c
src/output/charts/scree.h
src/output/csv.c [new file with mode: 0644]
src/output/driver-provider.h [new file with mode: 0644]
src/output/driver.c [new file with mode: 0644]
src/output/driver.h [new file with mode: 0644]
src/output/html.c
src/output/htmlP.h [deleted file]
src/output/manager.c [deleted file]
src/output/manager.h [deleted file]
src/output/measure.c [new file with mode: 0644]
src/output/measure.h [new file with mode: 0644]
src/output/mk-class-boilerplate [new file with mode: 0755]
src/output/odt.c
src/output/options.c [new file with mode: 0644]
src/output/options.h [new file with mode: 0644]
src/output/output-item-provider.h [new file with mode: 0644]
src/output/output-item.c [new file with mode: 0644]
src/output/output-item.h [new file with mode: 0644]
src/output/output.c [deleted file]
src/output/output.h [deleted file]
src/output/render.c [new file with mode: 0644]
src/output/render.h [new file with mode: 0644]
src/output/tab.c [new file with mode: 0644]
src/output/tab.h [new file with mode: 0644]
src/output/table-casereader.c [new file with mode: 0644]
src/output/table-item.c [new file with mode: 0644]
src/output/table-item.h [new file with mode: 0644]
src/output/table-paste.c [new file with mode: 0644]
src/output/table-provider.h [new file with mode: 0644]
src/output/table-select.c [new file with mode: 0644]
src/output/table-transpose.c [new file with mode: 0644]
src/output/table.c
src/output/table.h
src/output/text-item.c [new file with mode: 0644]
src/output/text-item.h [new file with mode: 0644]
src/ui/gui/executor.c
src/ui/gui/psppire-output-window.c
src/ui/gui/psppire-output-window.h
src/ui/gui/psppire.c
src/ui/source-init-opts.c
src/ui/terminal/main.c
src/ui/terminal/msg-ui.c
src/ui/terminal/read-line.c
src/ui/terminal/terminal-opts.c
tests/.gitignore
tests/atlocal.in [new file with mode: 0644]
tests/automake.mk
tests/bugs/agg-crash-2.sh
tests/bugs/compute-lv.sh
tests/bugs/computebug.out [deleted file]
tests/bugs/computebug.sh
tests/bugs/computebug.stat [deleted file]
tests/bugs/crosstabs-crash.sh
tests/bugs/crosstabs-crash2.sh
tests/bugs/crosstabs2.sh
tests/bugs/examine-missing2.sh
tests/bugs/get.sh
tests/bugs/keep-all.sh
tests/bugs/match-files-scratch.sh
tests/bugs/multipass.sh
tests/bugs/overwrite-input-file.sh
tests/bugs/overwrite-special-file.sh
tests/bugs/random.sh
tests/bugs/recode-copy-bug-1.out [deleted file]
tests/bugs/recode-copy-bug-1.stat [deleted file]
tests/bugs/recode-copy-bug-2.out [deleted file]
tests/bugs/recode-copy-bug-2.stat [deleted file]
tests/bugs/recode-copy-bug.sh
tests/bugs/shbang.sh
tests/bugs/t-test-alpha.sh
tests/bugs/t-test-alpha3.sh
tests/bugs/t-test-paired.sh
tests/bugs/t-test-with-temp.sh
tests/bugs/temp-freq.sh
tests/bugs/temporary.sh
tests/command/add-files.sh
tests/command/aggregate.sh
tests/command/attributes.sh
tests/command/autorecod.sh
tests/command/beg-data.sh
tests/command/correlation.sh
tests/command/count.sh
tests/command/data-list.sh
tests/command/do-if.sh
tests/command/do-repeat.sh
tests/command/examine-extremes.sh
tests/command/examine-percentiles.sh
tests/command/examine.sh
tests/command/file-handle.sh
tests/command/file-label.sh
tests/command/filter.sh
tests/command/flip.sh
tests/command/get-data-gnm.sh
tests/command/get-data-psql.sh
tests/command/get-data-txt-examples.sh
tests/command/get-data-txt-importcases.sh
tests/command/get-data-txt.sh
tests/command/import-export.sh
tests/command/input-program.sh
tests/command/insert.sh
tests/command/lag.sh
tests/command/line-ends.sh
tests/command/list.sh
tests/command/longvars.sh
tests/command/loop.sh
tests/command/match-files.sh
tests/command/n_of_cases.sh
tests/command/no_case_size.sh
tests/command/npar-binomial.sh
tests/command/npar-chisquare.sh
tests/command/npar-sign.sh
tests/command/npar-wilcoxon.sh
tests/command/oneway-missing.sh
tests/command/oneway-with-splits.sh
tests/command/oneway.sh
tests/command/print.sh
tests/command/rank.sh
tests/command/regression-qr.sh
tests/command/regression.sh
tests/command/reliability.sh
tests/command/rename.sh
tests/command/roc.sh
tests/command/roc2.sh
tests/command/sample.sh
tests/command/split-file.sh
tests/command/sysfile-info.sh
tests/command/sysfiles-old.sh
tests/command/sysfiles.sh
tests/command/t-test-1-indep-val.sh
tests/command/t-test-1-sample-missing-anal.sh
tests/command/t-test-1-sample-missing-list.sh
tests/command/t-test-1s.sh
tests/command/t-test-groups.sh
tests/command/t-test-indep-missing-anal.sh
tests/command/t-test-indep-missing-list.sh
tests/command/t-test-paired-missing-anal.sh
tests/command/t-test-paired-missing-list.sh
tests/command/t-test-pairs.sh
tests/command/tabs.sh
tests/command/trimmed-mean.sh
tests/command/update.sh
tests/command/use.sh
tests/command/variable-display.sh
tests/command/vector.sh
tests/command/very-long-strings.sh
tests/command/weight.sh
tests/expressions/valuelabel.sh
tests/expressions/variables.sh
tests/expressions/vectors.sh
tests/formats/360.sh
tests/output/render-test.c [new file with mode: 0644]
tests/output/render.at [new file with mode: 0644]
tests/stats/descript-basic.sh
tests/stats/descript-mean-bug.sh
tests/stats/descript-missing.sh
tests/stats/ntiles.sh
tests/stats/percentiles-compatible.sh
tests/stats/percentiles-enhanced.sh
tests/testsuite.at [new file with mode: 0644]
tests/xforms/recode.sh