Ben Pfaff [Sun, 17 Jan 2010 02:07:31 +0000 (18:07 -0800)]
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.
Ben Pfaff [Sun, 17 Jan 2010 00:06:38 +0000 (16:06 -0800)]
LIST: Remove WEIGHT subcommand.
This subcommand is not needed for compatibility, and it is not really
useful because the case weight can be listed by including the name of
the weighting variable on the LIST command.
Ben Pfaff [Tue, 22 Dec 2009 01:11:47 +0000 (17:11 -0800)]
casereader: Make parameter to casereader_count_cases const.
casereader_count_cases does not conceptually modify its argument, since
there is no way for the client to observe the difference (other than
through improved performance). So there is no need for the parameter to
be const.
John Darrington [Wed, 16 Dec 2009 20:52:17 +0000 (21:52 +0100)]
Linear Regression: Dependent variables should not be strings.
Prevent the gui from selecting string variables as the dependent
variable in a linear regression procedure, since that's not
allowed in such a procedure.
John Darrington [Wed, 16 Dec 2009 18:49:22 +0000 (19:49 +0100)]
New interface PsppireSelectDestWidget.
Created a new interface type PsppireSelectDestWidget to serve
as an abstract widget which can be the destination for a PsppireSelector.
Changed PsppireVarView to implement this interface.
John Darrington [Sat, 12 Dec 2009 11:55:57 +0000 (12:55 +0100)]
Remove awkward dependency from psppire-selector.c
Removed the default selection functions from being
statically linked to psppire-selector.c - apart from
being inelegant this caused a lot of unncessary dependencies
in the glade module.
John Darrington [Mon, 16 Nov 2009 18:29:25 +0000 (19:29 +0100)]
PsppireDictView: Change "dictionary" property to "model".
Previously, PsppireDictView, which derives from GtkTreeView,
had a property "dictionary", and a trap on the GtkTreeView's
"model" property. This change removes the trap and changes the
"dictionary" property to an override of the "model" property.
John Darrington [Sun, 15 Nov 2009 21:30:18 +0000 (22:30 +0100)]
PsppireSelector: new properties: "source-widget" and "dest-widget".
Previously, a function psppire_selector_set_subjects was used to
set the destination and source widgets of a PsppireSelector. This
change adds two new properties, and sets them in the GtkBuilder
definitions instead of in the C code.
Ben Pfaff [Thu, 15 Oct 2009 04:20:44 +0000 (21:20 -0700)]
sys-file-reader: Tolerate nonsensical opcodes in compressed data.
Compressed data in .sav files uses a set of 256 opcodes, some of which make
sense only for numeric data and others of which only make sense for string
data. However, Jereme Thomas <jereme.thomas@gmail.com> has provided one
file, written by SPSS 14, that uses an opcode that seems to makes sense
only for numeric data in a string field. So this commit adds support for
these opcodes, although it still warns about the ones other than the exact
one found in the file provided by Jereme.
Ben Pfaff [Thu, 15 Oct 2009 03:41:25 +0000 (20:41 -0700)]
Enhance dissect-sysfile utility to print compressed data also.
This proved useful in investigating a report that PSPP failed to read a
.sav file that contained compressed data, so it seems worthwhile to include
it in the PSPP tree.
Ben Pfaff [Mon, 12 Oct 2009 04:31:18 +0000 (21:31 -0700)]
Don't delete .po files from source directory in "make clean".
Running "make clean" when the source directory is configured as a build
directory shouldn't delete the .po files, but the rule as written did so.
This fixes the problem.
Ben Pfaff [Mon, 12 Oct 2009 04:26:30 +0000 (21:26 -0700)]
Eliminate too-expansive "clean" rule kluge by requiring fixed Automake.
The NEWS for Automake 1.10.1 mentions the following bug fix:
- All directories `.libs'/`_libs' used by libtool are cleaned now,
not only those in which libraries are built.
This describes the situation for the kluged "clean" rule in
tests/automake.mk, so by requiring Automake 1.10.1 or later we can also
eliminate the clean rule.
Ben Pfaff [Sun, 11 Oct 2009 21:07:00 +0000 (14:07 -0700)]
Use @VARIABLE@ instead of $(VARIABLE) consistently in Makefiles.
The $(VARIABLE) syntax is usually preferred, because it is possible for the
user to override it at "make" time, whereas @VARIABLE@ is hardwired at
"configure" time.
There was some discussion of this on bug-gnulib@gnu.org:
http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/18588
The summary is that Bruno Haible sometimes prefers @VARIABLE@ but most
others generally prefer $(VARIABLE), for the reason given above.
Ben Pfaff [Sun, 11 Oct 2009 20:53:50 +0000 (13:53 -0700)]
Drop double suffixes from makefiles to improve POSIX make compliance.
POSIX says that suffixes must contain only a single dot, e.g. ".inc.pl"
is not allowed. So this commit renames files and adjusts the makefiles
to comply with this rule.
Ben Pfaff [Sat, 10 Oct 2009 21:35:55 +0000 (14:35 -0700)]
Avoid GNU make extension $(RM) in makefiles.
Automake uses "rm -f" literally so there is not much point in PSPP trying
to use $(RM). At any rate it's a GNU make extension so it's best to avoid
it for portability.
Ben Pfaff [Fri, 9 Oct 2009 02:50:59 +0000 (19:50 -0700)]
Declare Makefile suffixes, to be a little closer to POSIX make compliance.
POSIX requires that suffixes used in implicit rules be declared. Automake
allows one to do that by adding the suffixes to a variable named SUFFIXES.
We weren't doing that consistently, and this commit fixes that up.
POSIX doesn't allow suffixes to contain more than one period, so this isn't
a complete fix, since the Makefiles still use .h.pl and .inc.pl as
suffixes. There are other reasons, too, why the PSPP Makefiles are not
POSIX-compliant.