John Darrington [Tue, 24 Apr 2012 19:14:17 +0000 (21:14 +0200)]
val_labs_equal: Accept null pointers
Instead of checking for NULL before calling val_labs_equal, put the onus
on the function itself to deal with null pointers and behave appropriately.
John Darrington [Mon, 23 Apr 2012 19:08:21 +0000 (21:08 +0200)]
PsppireValueEntry: Clear the entry, when the underlying model changes.
Since the labels will have changed, the existing text is most likely
inappropriate.
John Darrington [Mon, 23 Apr 2012 18:34:57 +0000 (20:34 +0200)]
PsppireValueEntry: Remove GNU_CONST declaration because it prevents the type being found by GtkBuilder
Ben Pfaff [Tue, 24 Apr 2012 05:05:20 +0000 (22:05 -0700)]
crosstabs-dialog: Line up backslashes.
Ben Pfaff [Sat, 21 Apr 2012 16:22:04 +0000 (09:22 -0700)]
tests: Fix reference to old library libpspp.la.
Reported by John Darrington.
John Darrington [Sat, 21 Apr 2012 16:09:32 +0000 (18:09 +0200)]
Improve Independent Samples T-test dialog
John Darrington [Sat, 21 Apr 2012 15:50:56 +0000 (17:50 +0200)]
PsppireButtonBox: Remove Close from the default set of buttons
Ben Pfaff [Fri, 13 Apr 2012 05:33:07 +0000 (22:33 -0700)]
helper: Move escape_underscores() here.
An upcoming commit will introduce a new user in a different file.
Ben Pfaff [Mon, 9 Apr 2012 03:30:14 +0000 (20:30 -0700)]
gui: New widget PsppireValueEntry for editing a "union value".
This is intended to be a convenenient way to allow the user to
view and edit a "union value" that includes the ability to see
and select values by value label.
Ben Pfaff [Mon, 9 Apr 2012 03:19:30 +0000 (20:19 -0700)]
gui: New boxed type for struct fmt_spec.
This makes it possible to use a struct fmt_spec as the value of a
property on a GObject, which I plan to use in an upcoming widget
PsppireValueEntry.
Ben Pfaff [Thu, 7 Jul 2011 15:09:17 +0000 (08:09 -0700)]
gui: New type PsppireEmptyListStore.
PsppireEmptyListStore is an GtkTreeModel implementation that has a
client-specified number of rows and zero columns. It is a useful model for
GtkTreeView or PsppSheetView when the client can easily synthesize cell
data using a callback set with gtk_tree_view_column_set_cell_data_func().
In that situation, GtkListStore can be wasteful (because it uses a lot of
memory to store what does not need to be stored) and situation-specific
custom models require additional boilerplate.
This commit also modified the text data import dialog code to use
PsppireEmptyListStore. Future commits will add other users.
Ben Pfaff [Sat, 21 Apr 2012 05:01:25 +0000 (22:01 -0700)]
gui: Add undocumented --measure-startup option.
This is useful for testing the effects of code changes upon the
time required to start PSPPIRE.
Ben Pfaff [Fri, 26 Aug 2011 03:20:52 +0000 (20:20 -0700)]
New "range-tower" data structure.
A range tower is a bitmap, implemented as an augmented binary tree.
Beyond the usual features of a bitmap, a range tower can efficiently
implement a "splice" operation that shifts ranges of bits left or right.
This feature does cost memory and time, so use a range tower only if this
feature is actually needed. Otherwise, use a range set (see range-set.h),
which can do everything that a range tower can do except the "splice"
operation.
Each operation has O(lg N) cost, where N is the number of contiguous
regions of 1-bits in the bitmap. Also, a cache reduces the second and
subsequent containment tests within a single contiguous region to O(1).
Ben Pfaff [Sat, 3 Mar 2012 18:34:24 +0000 (10:34 -0800)]
range-set: New macro RANGE_SET_FOR_EACH to make iteration easier.
Ben Pfaff [Tue, 20 Sep 2011 04:34:13 +0000 (21:34 -0700)]
range-set: Rename "insert" function "set1", "delete" to "set0".
An upcoming commit will introduce a new "range-tower" data
structure that can actually insert and delete ranges. It
makes sense not to use different terminology for the two data
structures, so renaming these functions makes sense.
Ben Pfaff [Sun, 6 Nov 2011 21:03:24 +0000 (13:03 -0800)]
abt: New function abt_is_empty().
Ben Pfaff [Tue, 23 Aug 2011 05:00:12 +0000 (22:00 -0700)]
abt: Drop child parameters from 'reaugment' function.
The function can simply inspect the 'down' members.
Ben Pfaff [Sat, 3 Mar 2012 18:46:37 +0000 (10:46 -0800)]
value-labels: New function val_labs_find_value().
The new data sheet implementation (in an upcoming commit) will use
this.
Ben Pfaff [Sat, 31 Mar 2012 22:46:43 +0000 (15:46 -0700)]
helper: New function value_to_text__().
One potential caller of value_to_text() doesn't have a "struct
variable" but does have the other needed information.
Ben Pfaff [Sat, 31 Mar 2012 22:41:39 +0000 (15:41 -0700)]
format: Fix typo in comment.
struct fmt_spec's 'd' member is not normally a number of "implied"
decimal places. It is normally the number of decimal places that
will be presented in formatted values. Thus, update the comment.
Ben Pfaff [Tue, 5 Jul 2011 01:17:17 +0000 (18:17 -0700)]
format: Introduce a new type "enum fmt_use".
This seems slightly nicer than using a "bool" to distinguish
input and output formats.
Ben Pfaff [Mon, 4 Jul 2011 21:48:57 +0000 (14:48 -0700)]
format: New functions fmt_change_width(), fmt_change_decimals().
These will be used in an upcoming commit for GUI-based format
adjustments, where we want to implement the user's request for
width or decimal places to the extent that we can, while
adjusting decimal places or width, respectively, as necessary.
Ben Pfaff [Thu, 12 Jan 2012 04:23:04 +0000 (20:23 -0800)]
gui: Use canonical names for signals.
Hyphens are canonical in parameter names, at least, and they seem
to be used consistently in signal names within GNOME, so use them
here too.
John Darrington [Thu, 19 Apr 2012 19:14:54 +0000 (21:14 +0200)]
DO IF test: Correct expected outcome
Commit
27bd188495ec1a6085354b10545daba47771b517 added a test for an
error condition in DO IF, but appears to contain some cut and paste
errors. This change corrects them.
John Darrington [Thu, 19 Apr 2012 19:11:36 +0000 (21:11 +0200)]
SHOW: New subcommand N
This subcommand reports the number of cases in the active dataset.
Ben Pfaff [Thu, 19 Apr 2012 05:20:35 +0000 (22:20 -0700)]
Revert "psppire-dict: g_return_if_fail for idx in psppire_dict_get_variable()."
This reverts commit
edf4f6b1f7e2b9c17cc86f1c63ff9b4b7e24af26.
John pointed out that it causes the GUI to crash at startup.
Ben Pfaff [Wed, 18 Apr 2012 04:26:21 +0000 (21:26 -0700)]
DO IF: Fix crash when END IF appears without DO IF.
Reported by Jill Covert.
Bug #36231.
Ben Pfaff [Wed, 18 Apr 2012 03:09:34 +0000 (20:09 -0700)]
psppire-dict: g_return_if_fail for idx in psppire_dict_get_variable().
Also, as long as we're checking for too-big we might as well check
for too-small too.
John Darrington [Tue, 17 Apr 2012 19:51:29 +0000 (21:51 +0200)]
Correct bugs in PsppireSelector which cause the Examine Dialog to crash
Ben Pfaff [Wed, 21 Mar 2012 04:29:54 +0000 (21:29 -0700)]
psppire-dict: Return new var from psppire_dict_insert_variable().
An upcoming commit will introduce a user for the return value.
Ben Pfaff [Wed, 21 Mar 2012 04:28:44 +0000 (21:28 -0700)]
psppire-dict: Make auto_generate_var_name() public, and rename.
This function will acquire a few users in upcoming commits.
This commit renames it to have the same prefix as other public
functions in this file.
Ben Pfaff [Wed, 21 Mar 2012 04:18:32 +0000 (21:18 -0700)]
psppire-dict: Get rid of static var in auto_generate_var_name().
This isn't a big deal at the moment but I intend to add new users
of this function in future commits, so then it becomes more
important.
Ben Pfaff [Tue, 20 Mar 2012 06:00:05 +0000 (23:00 -0700)]
Allow dictionary 'var_deleted' callback to examine the deleted var.
The dictionary 'var_deleted' callback is the last chance to look at
a variable as it is getting deleted from a dictionary. For some of
the information in the variable, it legitimately doesn't make any
sense to get it from the variable itself at this point, e.g. the
index into the dictionary or the case, since it no longer is in
a dictionary. But for most of it, it's reasonable to get it from
the variable itself, but the callback doesn't provide any way to
do that, because it doesn't pass in the variable, just a dictionary
index that is no longer correct.
This commit changes the 'var_deleted' interface to pass in the
variable plus the information that can no longer be obtained from
the variable itself. An upcoming change to the GUI will make use
of this.
This commit also adapts all the existing users to the new interface.
Ben Pfaff [Sat, 10 Mar 2012 18:59:17 +0000 (10:59 -0800)]
find-dialog: Change "Cancel" button to "Close" button.
This button doesn't cancel anything, it just closes the dialog box,
so "Close" seems like a better label.
Ben Pfaff [Mon, 30 Jan 2012 00:31:28 +0000 (16:31 -0800)]
gtkxpaned: Remove write-only variables.
Ben Pfaff [Sat, 10 Mar 2012 18:39:19 +0000 (10:39 -0800)]
psppire-buttonbox: Fix style in header file.
It's totally bizarre and unnecessary to define a macro in the
middle of a function prototype, so this commit moves it.
Ben Pfaff [Wed, 28 Mar 2012 03:52:11 +0000 (20:52 -0700)]
psppire-data-store: Use NULL for a null pointer.
Ben Pfaff [Wed, 28 Mar 2012 01:25:01 +0000 (18:25 -0700)]
psppire-data-store: Use PSPPIRE namespace instead of GTK+'s.
Ben Pfaff [Tue, 10 Apr 2012 05:33:35 +0000 (22:33 -0700)]
psppire-data-editor: Drop psppire_data_editor_set_font() redundancy.
set_font() recurses to a GtkContainer's children so
psppire_data_editor_set_font() does not need to also do so.
Ben Pfaff [Mon, 16 Apr 2012 14:39:43 +0000 (07:39 -0700)]
Revert "Fix DSO linking issue"
This reverts commit
34abd8c7de0cac8efeead7fb3848427fb944b5bd.
The author blindly posted the patch without actually testing
whether it was necessary. It was not, because the libraries
in question were already linked against. Thanks to John
Darrington for pointing that out.
Peter Lemenkov [Sun, 15 Apr 2012 16:09:59 +0000 (20:09 +0400)]
Fix DSO linking issue
We must explicitly list every required library in case then linker is built
with default behaviour which prevents implicit DSO linking.
See this for the details on DSO Linking issues:
http://fedoraproject.org/wiki/UnderstandingDSOLinkChange
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
John Darrington [Sat, 14 Apr 2012 11:15:14 +0000 (13:15 +0200)]
PsppireDictView: Call gtk_widget_destroy instead of g_object_unref
GtkMenu is a toplevel window. Therefore, gtk_widget_destroy is appropriate.
John Darrington [Sat, 14 Apr 2012 11:13:20 +0000 (13:13 +0200)]
PsppireDialog: Added assignment for parent_class which it seems was forgotten
John Darrington [Fri, 13 Apr 2012 16:55:36 +0000 (18:55 +0200)]
Replace regression.q with regression.c
Reviewed-by: Jason Stover
John Darrington [Tue, 10 Apr 2012 20:12:19 +0000 (22:12 +0200)]
PspppireSelector: Prevent selection of disallowed entries.
We had been relying on the deselected state of the widget to prevent
selection with the "allow" predicate was false. But clicking the
widget itself isn't the only way items can be selected (double clicking
the item for example). This change adds a test at a lower level to
prevent selection of disallowed items.
Ben Pfaff [Wed, 11 Apr 2012 06:18:40 +0000 (23:18 -0700)]
i18n: Factor out encoding categories from GUI into common code.
It would make sense to use these encodings and categories elsewhere.
Ben Pfaff [Wed, 11 Apr 2012 06:17:14 +0000 (23:17 -0700)]
sys-file-reader: Remove obsolete comment.
The open_text_record() function does the recoding, so there's no
need for parse_long_var_name_map() to do any recoding of its own.
John Darrington [Mon, 9 Apr 2012 19:50:20 +0000 (21:50 +0200)]
Examine dialog: Allow only numeric variables to be selected as the dependent variable
John Darrington [Mon, 9 Apr 2012 13:45:11 +0000 (15:45 +0200)]
Examine gui: remove var-is-numeric predicate from dict-view
Since the factor variable can be string, this predicate is not appropriate.
John Darrington [Mon, 9 Apr 2012 10:51:05 +0000 (12:51 +0200)]
EXAMINE: Implement MISSING=REPORT option
John Darrington [Mon, 9 Apr 2012 09:53:24 +0000 (11:53 +0200)]
categoricals.c: Distinguish between missing values on the dependent and categorical variables.
Needed for upcomming change to the EXAMINE command.
John Darrington [Sun, 8 Apr 2012 15:59:10 +0000 (17:59 +0200)]
Remove KMO and Bartlett statistics from bug check test.
Commit
6b351b28f47c1dfb1ce697eb50cd218b50122fd0 added a test for a bug
fix. This test however included a display of a the KMO and Bartlett
test statistics, which in this case are unstable since the determinant
of the correlation matrix is close to zero. These statistic are not
relevant to the bug being tested. So this change removes them.
John Darrington [Wed, 4 Apr 2012 23:06:29 +0000 (01:06 +0200)]
Documentation: Yet more markup
Ben Pfaff [Wed, 4 Apr 2012 04:57:18 +0000 (21:57 -0700)]
FACTOR: Fix crash with /ROTATION=NOROTATE.
Reported by abderrahim arif <arifabderrahim5@gmail.com>
at http://lists.gnu.org/archive/html/bug-gnu-pspp/2012-04/msg00001.html
Ben Pfaff [Wed, 4 Apr 2012 04:14:03 +0000 (21:14 -0700)]
spreadlevel-plot: Fix missing #include <stdlib.h>
Reported by GCC:
spreadlevel-plot.c: In function ‘spreadlevel_plot_chart_destroy’:
spreadlevel-plot.c:84: error: implicit declaration of function
‘free’
preadlevel-plot.c:84: error: incompatible implicit declaration of
built-in function ‘free’
John Darrington [Sun, 1 Apr 2012 08:34:28 +0000 (10:34 +0200)]
Text Importer: Added filter to the file chooser.
Added a FileChooserFilter to the file chooser for importing text files.
Closes bug #36054
John Darrington [Sun, 1 Apr 2012 07:15:26 +0000 (09:15 +0200)]
Corrected bug in chart rendering which caused the ordinate label to never get displayed
John Darrington [Sat, 31 Mar 2012 20:14:11 +0000 (22:14 +0200)]
Correct typo in examine.ui
John Darrington [Sat, 31 Mar 2012 15:06:52 +0000 (17:06 +0200)]
Examine: Added the /PLOT=SPREADLEVEL option
John Darrington [Sat, 31 Mar 2012 08:21:02 +0000 (10:21 +0200)]
examine.c: Fix a seg fault which caused a crash when recovering from bad syntax
John Darrington [Sat, 31 Mar 2012 06:41:27 +0000 (08:41 +0200)]
Explore Dialog: Replace add hoc functions with the new DialogAction class
John Darrington [Thu, 29 Mar 2012 20:12:46 +0000 (22:12 +0200)]
Documentation: More markup
John Darrington [Wed, 28 Mar 2012 20:36:55 +0000 (22:36 +0200)]
Documentation: New markup for subcommands
John Darrington [Wed, 28 Mar 2012 19:18:18 +0000 (21:18 +0200)]
Documentation: Add a @pspp macro
John Darrington [Tue, 27 Mar 2012 19:28:27 +0000 (21:28 +0200)]
Histograms: Fix the alignment case where little slack exists on either side of the data
John Darrington [Tue, 27 Mar 2012 01:46:08 +0000 (03:46 +0200)]
Correct errors in histogram geometry calcs and add test
John Darrington [Mon, 26 Mar 2012 19:47:41 +0000 (21:47 +0200)]
Fix crash on datasets with single values (again)
John Darrington [Mon, 26 Mar 2012 02:56:38 +0000 (04:56 +0200)]
Readjust histogram parameters if on the first attempt, the number of bins is too large
John Darrington [Mon, 26 Mar 2012 01:18:40 +0000 (03:18 +0200)]
Histograms: Improve the code calculating the bin ranges and comment
John Darrington [Sun, 25 Mar 2012 23:30:56 +0000 (01:30 +0200)]
Simplify algebra
John Darrington [Sun, 25 Mar 2012 22:37:07 +0000 (00:37 +0200)]
xrchart_write_scale: Use integer arithmetic
John Darrington [Sun, 25 Mar 2012 21:30:26 +0000 (23:30 +0200)]
Examine: Print extreme values using the print format of the variable
John Darrington [Mon, 26 Mar 2012 00:52:18 +0000 (01:52 +0100)]
Histogram calculations: Use integer arithmetic
There is no advantage in using floating point numbers in this code.
John Darrington [Sun, 25 Mar 2012 23:55:39 +0000 (00:55 +0100)]
Boxplot: Remove function boxplot_draw_yscale
An identical function exists in a lower level, so use that instead.
John Darrington [Sun, 25 Mar 2012 10:10:53 +0000 (12:10 +0200)]
Histogram plotting: (hist_draw_bar) Added label argument.
Added a boolean argument to indicate whether or not a histogram bar
should be labelled. Labelling every bar leads to overprinted and
hence illegible labels.
John Darrington [Sun, 25 Mar 2012 08:47:27 +0000 (10:47 +0200)]
Histograms: Put hard limit on the number of histogram bins
Histograms with less than one bin are not useful (and tend to cause crashes!)
Histograms with very large numbers of bins are also of little use, and cause
other implementation headaches.
John Darrington [Sun, 25 Mar 2012 07:45:57 +0000 (09:45 +0200)]
Cairo charts: Move check for near zero values to inside of draw_tick
John Darrington [Sun, 25 Mar 2012 07:18:54 +0000 (09:18 +0200)]
Whitespace changes only
John Darrington [Sun, 25 Mar 2012 07:14:39 +0000 (09:14 +0200)]
Fix a crashes where histograms of a single datum were trying to be created.
Reported-by: Ben Pfaff.
John Darrington [Sat, 24 Mar 2012 14:51:40 +0000 (15:51 +0100)]
Fixed yet another problem caused by use of abs where fabs is appropriate
John Darrington [Sat, 24 Mar 2012 12:55:08 +0000 (13:55 +0100)]
Mark histogram legend strings for translation
John Darrington [Sat, 24 Mar 2012 09:10:19 +0000 (10:10 +0100)]
Avoid floating point precision problems in chart scale
Some charts were being drawn with a tick mark at positions
close to but not exactly zero Eg: 2.
187433298e-27
This change avoids this problem.
John Darrington [Sat, 24 Mar 2012 08:53:49 +0000 (09:53 +0100)]
cairo-chart.c: new struct xrchart_axis
This allows a bit of refactoring.
John Darrington [Sat, 24 Mar 2012 06:42:51 +0000 (07:42 +0100)]
Histograms: Ensure that the bins are aligned to an odd number of half bin widths
This has the benefit that the centres of the bins are aligned to integer multiples
of bin widths, and thus the labels are shorter. For example, instead of labels
-1.5 -0.5 0.5 1.5 2.5 we get -2 -1 0 1 2 which is more aesthetically pleasing.
John Darrington [Fri, 23 Mar 2012 21:28:37 +0000 (22:28 +0100)]
Corrected previous commit
John Darrington [Fri, 23 Mar 2012 10:15:11 +0000 (11:15 +0100)]
chart_rounded_tick: Avoid arithmetic problems with inputs close to zero
John Darrington [Fri, 23 Mar 2012 07:48:33 +0000 (08:48 +0100)]
Update the BUGS chapter in the manual
John Darrington [Fri, 23 Mar 2012 07:26:31 +0000 (08:26 +0100)]
Updated the documentation for EXAMINE
John Darrington [Thu, 22 Mar 2012 21:00:01 +0000 (22:00 +0100)]
Improve the way in which histogram bin ranges are chosen
John Darrington [Thu, 22 Mar 2012 09:56:01 +0000 (10:56 +0100)]
EXAMINE: Allow the /ID subcommand to take a non-numeric variable
John Darrington [Tue, 20 Mar 2012 18:49:05 +0000 (19:49 +0100)]
Correct geometrical error plotting histograms
John Darrington [Tue, 20 Mar 2012 18:03:09 +0000 (19:03 +0100)]
histogram.c: histogram_create now takes bin width instead of the number of bins
John Darrington [Tue, 20 Mar 2012 17:33:13 +0000 (18:33 +0100)]
NEWS: Mention changes to EXAMINE
Ben Pfaff [Mon, 19 Mar 2012 04:40:49 +0000 (21:40 -0700)]
sort: Allocate space for sort buffers on demand, not in advance.
Each call to sort_create_writer() was allocating possibly a very
large amount of memory when in many cases only a small fraction of
that memory would actually be used. This commit switches to
allocating a small amount of memory and gradually increasing the
allocation on demand.
Reported by John Darrington.
Bug #35887.
John Darrington [Sun, 18 Mar 2012 21:20:11 +0000 (22:20 +0100)]
Relax NPAR SIGN test
John Darrington [Sun, 18 Mar 2012 21:03:33 +0000 (22:03 +0100)]
Improve translator comments.
Apparently some of the TRANSLATOR comments were not clear enough. This
change makes it less easy for translators to become confused.
John Darrington [Sun, 18 Mar 2012 07:56:10 +0000 (08:56 +0100)]
Fix compiler warnings
John Darrington [Sun, 18 Mar 2012 07:32:58 +0000 (08:32 +0100)]
Whitespace changes only
John Darrington [Sun, 18 Mar 2012 07:28:57 +0000 (08:28 +0100)]
examine.c: Rename xxx0 and xxx1 to something more sensible
Ben Pfaff [Sat, 17 Mar 2012 19:07:53 +0000 (12:07 -0700)]
ods-reader: Fix memory leak.
Found by valgrind.