Whitespace changes only
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 24 Dec 2006 22:30:22 +0000 (22:30 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 24 Dec 2006 22:30:22 +0000 (22:30 +0000)
31 files changed:
po/de.po
po/pspp.pot
src/ui/gui/customentry.c
src/ui/gui/customentry.h
src/ui/gui/data-sheet.c
src/ui/gui/data-sheet.h
src/ui/gui/helper.c
src/ui/gui/helper.h
src/ui/gui/message-dialog.c
src/ui/gui/message-dialog.h
src/ui/gui/missing-val-dialog.c
src/ui/gui/missing-val-dialog.h
src/ui/gui/psppire-case-file.c
src/ui/gui/psppire-case-file.h
src/ui/gui/psppire-data-store.c
src/ui/gui/psppire-data-store.h
src/ui/gui/psppire-dict.c
src/ui/gui/psppire-dict.h
src/ui/gui/psppire-object.c
src/ui/gui/psppire-object.h
src/ui/gui/psppire-var-store.c
src/ui/gui/psppire-var-store.h
src/ui/gui/psppire.c
src/ui/gui/sort-cases-dialog.c
src/ui/gui/sort-cases-dialog.h
src/ui/gui/val-labs-dialog.c
src/ui/gui/val-labs-dialog.h
src/ui/gui/var-sheet.c
src/ui/gui/var-sheet.h
src/ui/gui/var-type-dialog.c
src/ui/gui/var-type-dialog.h

index 6c937bf2c13c0d4a278acd1843359b1131b416b2..61d10a987a78daf961178ab4dfd92f27f87d7226 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.4.2\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-12-21 09:13+0900\n"
+"POT-Creation-Date: 2006-12-25 07:26+0900\n"
 "PO-Revision-Date: 2006-05-26 17:49+0800\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: German <pspp-dev@gnu.org>\n"
@@ -309,13 +309,13 @@ msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/psppire.glade:1227
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1213
 #: src/ui/gui/psppire-var-store.c:481
 msgid "String"
 msgstr "Zeichenkette"
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/psppire.glade:1088
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1074
 #: src/ui/gui/psppire-var-store.c:474
 msgid "Numeric"
 msgstr "Nummer"
@@ -812,15 +812,15 @@ msgstr "Der Variabelname %s ist große als %d Buchstaben."
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/data/variable.c:996
+#: src/data/variable.c:964
 msgid "ordinary"
 msgstr ""
 
-#: src/data/variable.c:998
+#: src/data/variable.c:966
 msgid "system"
 msgstr ""
 
-#: src/data/variable.c:1000
+#: src/data/variable.c:968
 msgid "scratch"
 msgstr ""
 
@@ -1019,7 +1019,7 @@ msgstr ""
 #: src/language/data-io/print.c:396 src/language/dictionary/split-file.c:85
 #: src/language/dictionary/sys-file-info.c:160
 #: src/language/dictionary/sys-file-info.c:395
-#: src/language/stats/descriptives.c:890
+#: src/language/stats/descriptives.c:879
 msgid "Variable"
 msgstr ""
 
@@ -1028,7 +1028,7 @@ msgid "Record"
 msgstr ""
 
 #: src/language/data-io/data-list.c:418 src/language/data-io/print.c:398
-#: src/ui/gui/var-sheet.c:76
+#: src/ui/gui/var-sheet.c:74
 msgid "Columns"
 msgstr "Spalten"
 
@@ -1398,6 +1398,18 @@ msgstr ""
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
+#: src/language/dictionary/delete-variables.c:41
+msgid ""
+"DELETE VARIABLES may not be used after TEMPORARY.  Temporary transformations "
+"will be made permanent."
+msgstr ""
+
+#: src/language/dictionary/delete-variables.c:48
+msgid ""
+"DELETE VARIABLES may not be used to delete all variables from the active "
+"file dictionary.  Use NEW FILE instead."
+msgstr ""
+
 #: src/language/dictionary/formats.c:91
 msgid "`(' expected after variable list."
 msgstr ""
@@ -1548,16 +1560,16 @@ msgstr ""
 
 #: src/language/dictionary/split-file.c:86
 #: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1114 src/language/stats/crosstabs.q:1141
-#: src/language/stats/crosstabs.q:1161 src/language/stats/crosstabs.q:1183
-#: src/language/stats/examine.q:1192 src/language/stats/frequencies.q:1139
-#: src/language/stats/frequencies.q:1267
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
+#: src/language/stats/frequencies.q:1269
 msgid "Value"
 msgstr ""
 
 #: src/language/dictionary/split-file.c:87
 #: src/language/dictionary/sys-file-info.c:402
-#: src/language/dictionary/sys-file-info.c:550 src/ui/gui/var-sheet.c:73
+#: src/language/dictionary/sys-file-info.c:550 src/ui/gui/var-sheet.c:71
 msgid "Label"
 msgstr "Kennsatz"
 
@@ -2096,48 +2108,48 @@ msgstr ""
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:169
+#: src/language/lexer/variable-parser.c:173
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:172
+#: src/language/lexer/variable-parser.c:176
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:176
+#: src/language/lexer/variable-parser.c:180
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:184
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:186
+#: src/language/lexer/variable-parser.c:190
 #, c-format
 msgid ""
 "%s and %s are string variables with different widths.  All variables in this "
 "variable list must have the same width.  %s will be omttied from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:191
+#: src/language/lexer/variable-parser.c:195
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:304
+#: src/language/lexer/variable-parser.c:308
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:312
+#: src/language/lexer/variable-parser.c:316
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2145,19 +2157,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:386
+#: src/language/lexer/variable-parser.c:390
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:429
+#: src/language/lexer/variable-parser.c:433
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:451
+#: src/language/lexer/variable-parser.c:455
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:456
+#: src/language/lexer/variable-parser.c:460
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2248,21 +2260,21 @@ msgid "Group2"
 msgstr ""
 
 #: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:236
-#: src/language/stats/chisquare.c:296 src/language/stats/crosstabs.q:821
-#: src/language/stats/crosstabs.q:1021 src/language/stats/crosstabs.q:1744
-#: src/language/stats/examine.q:912 src/language/stats/frequencies.q:1220
+#: src/language/stats/chisquare.c:296 src/language/stats/crosstabs.q:825
+#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
 #: src/language/stats/oneway.q:306 src/language/stats/oneway.q:470
 #: src/language/stats/regression.q:314
 msgid "Total"
 msgstr ""
 
 #: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:259
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1180
+#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:831
-#: src/language/stats/examine.q:988 src/language/stats/frequencies.q:1516
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
 #: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:391
 #: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
 #: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
@@ -2314,7 +2326,7 @@ msgstr ""
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:324 src/language/stats/crosstabs.q:1115
+#: src/language/stats/chisquare.c:324 src/language/stats/crosstabs.q:1119
 #: src/language/stats/oneway.q:279 src/language/stats/oneway.q:680
 #: src/language/stats/regression.q:307 src/language/stats/t-test.q:981
 #: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
@@ -2351,259 +2363,259 @@ msgstr ""
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:816
+#: src/language/stats/crosstabs.q:820
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:818 src/language/stats/examine.q:976
+#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:819 src/language/stats/examine.q:910
-#: src/language/stats/frequencies.q:1137 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:820 src/language/stats/examine.q:911
-#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1518
-#: src/ui/gui/var-sheet.c:75
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
+#: src/ui/gui/var-sheet.c:73
 msgid "Missing"
 msgstr "Löse"
 
-#: src/language/stats/crosstabs.q:832 src/language/stats/examine.q:991
-#: src/language/stats/frequencies.q:1141 src/language/stats/frequencies.q:1142
-#: src/language/stats/frequencies.q:1143
+#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
+#: src/language/stats/frequencies.q:1149
 msgid "Percent"
 msgstr "Prozent"
 
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1077
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1078
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1079
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1076
+#: src/language/stats/crosstabs.q:1080
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1081
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1082
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1083
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1084
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1110
+#: src/language/stats/crosstabs.q:1114
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1113 src/language/stats/crosstabs.q:1140
-#: src/language/stats/crosstabs.q:1160 src/language/stats/crosstabs.q:1181
-#: src/language/stats/examine.q:1423
+#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
+#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/examine.q:1420
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1117
+#: src/language/stats/crosstabs.q:1121
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1119
+#: src/language/stats/crosstabs.q:1123
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1125
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1140
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1142 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1186
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1155
+#: src/language/stats/crosstabs.q:1159
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1163
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1162 src/language/stats/t-test.q:985
+#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
 #: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1163 src/language/stats/t-test.q:986
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
 #: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1177
+#: src/language/stats/crosstabs.q:1181
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1182 src/ui/gui/var-sheet.c:70
+#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
 msgid "Type"
 msgstr "Typ"
 
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1940
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1941
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1942
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1943
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1939
+#: src/language/stats/crosstabs.q:1944
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
-#: src/language/stats/crosstabs.q:2105
+#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
+#: src/language/stats/crosstabs.q:2110
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1999
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:2000
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2005
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:2006
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2007
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2008
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2009
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2010
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2011
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2012
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2013
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2078
+#: src/language/stats/crosstabs.q:2083
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2081
+#: src/language/stats/crosstabs.q:2086
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2089
+#: src/language/stats/crosstabs.q:2094
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2092
+#: src/language/stats/crosstabs.q:2097
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2123
+#: src/language/stats/crosstabs.q:2128
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2133
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2134
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2135
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2131
+#: src/language/stats/crosstabs.q:2136
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2137
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2142
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
+#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1528
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
 #: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
 #: src/language/stats/oneway.q:392 src/language/stats/t-test.q:682
 #: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
@@ -2619,12 +2631,12 @@ msgstr ""
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1608
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1605
 #: src/language/stats/frequencies.q:130
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1715
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1712
 #: src/language/stats/frequencies.q:131
 msgid "Kurtosis"
 msgstr ""
@@ -2633,7 +2645,7 @@ msgstr ""
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1695
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1692
 #: src/language/stats/frequencies.q:133
 msgid "Skewness"
 msgstr ""
@@ -2642,18 +2654,18 @@ msgstr ""
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1656
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1653
 #: src/language/stats/frequencies.q:135
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1633
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1630
 #: src/language/stats/frequencies.q:136 src/language/stats/npar-summary.c:133
 #: src/language/stats/oneway.q:404
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:116 src/language/stats/examine.q:1644
+#: src/language/stats/descriptives.c:116 src/language/stats/examine.q:1641
 #: src/language/stats/frequencies.q:137 src/language/stats/npar-summary.c:136
 #: src/language/stats/oneway.q:405
 msgid "Maximum"
@@ -2690,133 +2702,133 @@ msgstr ""
 msgid "Target"
 msgstr ""
 
-#: src/language/stats/descriptives.c:674
+#: src/language/stats/descriptives.c:670
 #, c-format
 msgid "Z-score of %s"
 msgstr ""
 
-#: src/language/stats/descriptives.c:893
+#: src/language/stats/descriptives.c:882
 msgid "Valid N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:894
+#: src/language/stats/descriptives.c:883
 msgid "Missing N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:921
+#: src/language/stats/descriptives.c:910
 #, c-format
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:287 src/language/stats/examine.q:290
+#: src/language/stats/examine.q:283 src/language/stats/examine.q:286
 #, c-format
 msgid "%s is not currently supported."
 msgstr ""
 
-#: src/language/stats/examine.q:496 src/language/stats/examine.q:509
+#: src/language/stats/examine.q:492 src/language/stats/examine.q:505
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:970
+#: src/language/stats/examine.q:967
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1177
+#: src/language/stats/examine.q:1174
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1193
+#: src/language/stats/examine.q:1190
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1278
+#: src/language/stats/examine.q:1275
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1283
+#: src/language/stats/examine.q:1280
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1424 src/language/stats/oneway.q:394
+#: src/language/stats/examine.q:1421 src/language/stats/oneway.q:394
 #: src/language/stats/oneway.q:678 src/language/stats/regression.q:211
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1426 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1423 src/language/stats/oneway.q:408
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1546 src/language/stats/oneway.q:399
+#: src/language/stats/examine.q:1543 src/language/stats/oneway.q:399
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1552 src/language/stats/oneway.q:401
+#: src/language/stats/examine.q:1549 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1563 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1560 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1575
+#: src/language/stats/examine.q:1572
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1586 src/language/stats/frequencies.q:127
+#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:127
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1620 src/language/stats/npar-summary.c:130
+#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
 #: src/language/stats/oneway.q:393 src/language/stats/t-test.q:683
 #: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
 #: src/language/stats/t-test.q:1168
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1668
+#: src/language/stats/examine.q:1665
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1820
+#: src/language/stats/examine.q:1817
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1845
+#: src/language/stats/examine.q:1842
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1887
+#: src/language/stats/examine.q:1884
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1888 src/language/stats/examine.q:1894
+#: src/language/stats/examine.q:1885 src/language/stats/examine.q:1891
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1889
+#: src/language/stats/examine.q:1886
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1892
+#: src/language/stats/examine.q:1889
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1895
+#: src/language/stats/examine.q:1892
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:2014 src/language/stats/examine.q:2036
-#: src/language/stats/frequencies.q:1528 src/language/stats/npar-summary.c:143
+#: src/language/stats/examine.q:2011 src/language/stats/examine.q:2033
+#: src/language/stats/frequencies.q:1530 src/language/stats/npar-summary.c:143
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2160
+#: src/language/stats/examine.q:2157
 msgid "Tukey's Hinges"
 msgstr ""
 
@@ -2945,28 +2957,28 @@ msgstr ""
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1138 src/language/stats/frequencies.q:1235
-#: src/language/stats/frequencies.q:1236 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1237
+#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1272
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1140 src/output/charts/plot-hist.c:128
+#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:128
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1161
+#: src/language/stats/frequencies.q:1167
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1268
+#: src/language/stats/frequencies.q:1270
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
+#: src/language/stats/frequencies.q:1271 src/language/stats/frequencies.q:1273
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1490
+#: src/language/stats/frequencies.q:1492
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
@@ -3128,42 +3140,42 @@ msgstr ""
 msgid "Cannot create new rank variable.  All candidates in use."
 msgstr ""
 
-#: src/language/stats/rank.q:824
+#: src/language/stats/rank.q:820
 msgid "Variables Created By RANK"
 msgstr ""
 
-#: src/language/stats/rank.q:848
+#: src/language/stats/rank.q:844
 #, c-format
 msgid "%s into %s(%s of %s using %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:859
+#: src/language/stats/rank.q:855
 #, c-format
 msgid "%s into %s(%s of %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:873
+#: src/language/stats/rank.q:869
 #, c-format
 msgid "%s into %s(%s of %s using %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:883
+#: src/language/stats/rank.q:879
 #, c-format
 msgid "%s into %s(%s of %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:896
+#: src/language/stats/rank.q:892
 msgid ""
 "FRACTION has been specified, but NORMAL and PROPORTION rank functions have "
 "not been requested.  The FRACTION subcommand will be ignored."
 msgstr ""
 
-#: src/language/stats/rank.q:989
+#: src/language/stats/rank.q:985
 #, c-format
 msgid "Variable %s already exists."
 msgstr ""
 
-#: src/language/stats/rank.q:994
+#: src/language/stats/rank.q:990
 msgid "Too many variables in INTO clause."
 msgstr ""
 
@@ -3681,7 +3693,7 @@ msgstr ""
 msgid "Empirical with averaging"
 msgstr ""
 
-#: src/math/sort.c:467
+#: src/math/sort.c:468
 #, c-format
 msgid ""
 "Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
@@ -4090,390 +4102,352 @@ msgstr ""
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:63 src/ui/gui/syntax-editor.c:64
-#: src/ui/gui/syntax-editor.c:86
-msgid "Untitled"
-msgstr "Unbetitelt"
-
-#: src/ui/gui/menu-actions.c:65
-msgid "PSPP Data Editor"
-msgstr "PSPP Dateiaufbereiter"
-
-#: src/ui/gui/menu-actions.c:219 src/ui/gui/psppire.glade:502
+#: src/ui/gui/data-editor.c:301 src/ui/gui/data-editor.glade:497
 msgid "Open"
 msgstr "Öffen"
 
-#: src/ui/gui/menu-actions.c:227
+#: src/ui/gui/data-editor.c:309
 msgid "System Files (*.sav)"
 msgstr "Systemedatein (*.sav)"
 
-#: src/ui/gui/menu-actions.c:233
+#: src/ui/gui/data-editor.c:315
 msgid "Portable Files (*.por) "
 msgstr "Tragbardatein (*.por)"
 
-#: src/ui/gui/menu-actions.c:239 src/ui/gui/syntax-editor.c:125
-#: src/ui/gui/syntax-editor.c:416
+#: src/ui/gui/data-editor.c:321 src/ui/gui/syntax-editor.c:127
+#: src/ui/gui/syntax-editor.c:510
 msgid "All Files"
 msgstr "Alle Datei"
 
-#: src/ui/gui/menu-actions.c:287
-msgid "Save Data As"
-msgstr "Speichern unter"
-
-#: src/ui/gui/menu-actions.c:514
+#: src/ui/gui/data-editor.c:399
 msgid "Font Selection"
 msgstr "Schriftwahlung"
 
-#: src/ui/gui/message-dialog.c:127
-msgid "Script Error"
-msgstr "Skript Fehler"
-
-#: src/ui/gui/message-dialog.c:131
-msgid "Data File Error"
-msgstr "Datei Fehler"
-
-#: src/ui/gui/message-dialog.c:136
-msgid "PSPP Error"
-msgstr "PSPP Fehler"
-
-#: src/ui/gui/message-dialog.c:149
-#, c-format
-msgid "%s (line %d) %s"
-msgstr ""
-
-#: src/ui/gui/missing-val-dialog.c:117 src/ui/gui/missing-val-dialog.c:162
-msgid "Incorrect value for variable type"
-msgstr "Unpassend Wert für Variable"
-
-#: src/ui/gui/missing-val-dialog.c:138 src/ui/gui/missing-val-dialog.c:145
-msgid "Incorrect range specification"
-msgstr "Falshe Spannweitebeschreibung"
-
-#: src/ui/gui/psppire.c:76
-msgid "Sorry. The help system hasn't yet been implemented."
-msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
-
-#: src/ui/gui/psppire-data-store.c:721
-msgid "var"
-msgstr ""
-
-#: src/ui/gui/psppire-data-store.c:802 src/ui/gui/psppire-var-store.c:551
-#: src/ui/gui/psppire-var-store.c:561 src/ui/gui/psppire-var-store.c:571
-#: src/ui/gui/psppire-var-store.c:769
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/ui/gui/psppire.glade:39 src/ui/gui/psppire.glade:2986
+#: src/ui/gui/data-editor.glade:38 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr "_Datei"
 
-#: src/ui/gui/psppire.glade:57 src/ui/gui/psppire.glade:87
-#: src/ui/gui/psppire.glade:3004 src/ui/gui/psppire.glade:3033
+#: src/ui/gui/data-editor.glade:56 src/ui/gui/data-editor.glade:85
+#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:86
 msgid "_Syntax"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:66 src/ui/gui/psppire.glade:96
-#: src/ui/gui/psppire.glade:321 src/ui/gui/psppire.glade:3012
-#: src/ui/gui/psppire.glade:3042
+#: src/ui/gui/data-editor.glade:64 src/ui/gui/data-editor.glade:93
+#: src/ui/gui/data-editor.glade:315 src/ui/gui/syntax-editor.glade:65
+#: src/ui/gui/syntax-editor.glade:95
 #, fuzzy
 msgid "_Data"
 msgstr "Daten"
 
-#: src/ui/gui/psppire.glade:146 src/ui/gui/psppire.glade:3089
+#: src/ui/gui/data-editor.glade:145 src/ui/gui/syntax-editor.glade:142
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
-#: src/ui/gui/psppire.glade:183
+#: src/ui/gui/data-editor.glade:182
 #, fuzzy
 msgid "Paste _Variables"
 msgstr "Variableansicht"
 
-#: src/ui/gui/psppire.glade:191
+#: src/ui/gui/data-editor.glade:190
 msgid "Cl_ear"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:208
+#: src/ui/gui/data-editor.glade:207
 #, fuzzy
 msgid "_Find"
 msgstr "_Datei"
 
-#: src/ui/gui/psppire.glade:232
+#: src/ui/gui/data-editor.glade:231
 msgid "_View"
 msgstr "_Ansicht"
 
-#: src/ui/gui/psppire.glade:241
+#: src/ui/gui/data-editor.glade:240
 msgid "Status Bar"
 msgstr "Statusleiste"
 
-#: src/ui/gui/psppire.glade:250
+#: src/ui/gui/data-editor.glade:248
 msgid "Toolbars"
 msgstr "Werkzeugregal"
 
-#: src/ui/gui/psppire.glade:264
+#: src/ui/gui/data-editor.glade:262
 msgid "Fonts"
 msgstr "Schrift"
 
-#: src/ui/gui/psppire.glade:273
+#: src/ui/gui/data-editor.glade:270
 msgid "Grid Lines"
 msgstr "Glitten"
 
-#: src/ui/gui/psppire.glade:283 src/ui/gui/psppire.glade:784
-#: src/ui/gui/psppire.glade:1662 src/ui/gui/psppire.glade:1939
+#: src/ui/gui/data-editor.glade:279 src/ui/gui/data-editor.glade:797
+#: src/ui/gui/data-editor.glade:1648 src/ui/gui/data-editor.glade:1925
 msgid "Value Labels"
 msgstr "Werten"
 
-#: src/ui/gui/psppire.glade:299
+#: src/ui/gui/data-editor.glade:294
 msgid "Data"
 msgstr "Daten"
 
-#: src/ui/gui/psppire.glade:308 src/ui/gui/psppire.glade:620
+#: src/ui/gui/data-editor.glade:302 src/ui/gui/data-editor.glade:621
 msgid "Variables"
 msgstr "Variableansicht"
 
-#: src/ui/gui/psppire.glade:331 src/ui/gui/psppire.glade:694
+#: src/ui/gui/data-editor.glade:325 src/ui/gui/data-editor.glade:700
 #, fuzzy
 msgid "Insert Variable"
 msgstr "Variableansicht"
 
-#: src/ui/gui/psppire.glade:340
+#: src/ui/gui/data-editor.glade:334
 #, fuzzy
 msgid "Insert Cases"
 msgstr "_Stecken"
 
-#: src/ui/gui/psppire.glade:349 src/ui/gui/psppire.glade:604
-#: src/ui/gui/psppire.glade:2504
+#: src/ui/gui/data-editor.glade:343 src/ui/gui/data-editor.glade:604
+#: src/ui/gui/data-editor.glade:2490
 msgid "Go To Case"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:376 src/ui/gui/psppire.glade:2615
+#: src/ui/gui/data-editor.glade:370 src/ui/gui/data-editor.glade:2601
 msgid "Sort Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:386
+#: src/ui/gui/data-editor.glade:380
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:395
+#: src/ui/gui/data-editor.glade:389
 msgid "Restructure"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:404
+#: src/ui/gui/data-editor.glade:398
 #, fuzzy
 msgid "Merge Files"
 msgstr "Alle Datei"
 
-#: src/ui/gui/psppire.glade:413
+#: src/ui/gui/data-editor.glade:407
 msgid "Aggregate"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:428 src/ui/gui/psppire.glade:723
+#: src/ui/gui/data-editor.glade:422 src/ui/gui/data-editor.glade:731
 #, fuzzy
 msgid "Split File"
 msgstr "Alle Datei"
 
-#: src/ui/gui/psppire.glade:437 src/ui/gui/psppire.glade:755
+#: src/ui/gui/data-editor.glade:431 src/ui/gui/data-editor.glade:767
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:446 src/ui/gui/psppire.glade:739
+#: src/ui/gui/data-editor.glade:440 src/ui/gui/data-editor.glade:749
 msgid "Weight Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:458 src/ui/gui/psppire.glade:3179
+#: src/ui/gui/data-editor.glade:452 src/ui/gui/syntax-editor.glade:232
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: src/ui/gui/psppire.glade:467 src/ui/gui/psppire.glade:3188
+#: src/ui/gui/data-editor.glade:461 src/ui/gui/syntax-editor.glade:241
 msgid "_About"
 msgstr "_Info"
 
-#: src/ui/gui/psppire.glade:517
+#: src/ui/gui/data-editor.glade:513
 msgid "Save"
 msgstr "Speichen"
 
-#: src/ui/gui/psppire.glade:533
+#: src/ui/gui/data-editor.glade:530
 msgid "Print"
 msgstr "Drucken"
 
-#: src/ui/gui/psppire.glade:561
+#: src/ui/gui/data-editor.glade:559
 msgid "Undo"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:576
+#: src/ui/gui/data-editor.glade:575
 msgid "Redo"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:649
+#: src/ui/gui/data-editor.glade:652
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:677
+#: src/ui/gui/data-editor.glade:681
 #, fuzzy
 msgid "Insert Case"
 msgstr "_Stecken"
 
-#: src/ui/gui/psppire.glade:803
+#: src/ui/gui/data-editor.glade:817
 msgid "Use Sets"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:935
+#: src/ui/gui/data-editor.glade:949
 msgid "Data View"
 msgstr "Datenansicht"
 
-#: src/ui/gui/psppire.glade:983
+#: src/ui/gui/data-editor.glade:997
 msgid "Variable View"
 msgstr "Variableansicht"
 
-#: src/ui/gui/psppire.glade:1029
-msgid "This is pre-alpha software.  It probably will not work."
-msgstr "Diese Software ist vor-Alpha.  Wahrscheinlich Funktioniert es nicht."
-
-#: src/ui/gui/psppire.glade:1030
-msgid ""
-"    This program is free software; you can redistribute it and/or modify\n"
-"    it under the terms of the GNU General Public License as published by\n"
-"    the Free Software Foundation; either version 2 of the License, or\n"
-"    (at your option) any later version.\n"
-"\n"
-"    This program is distributed in the hope that it will be useful,\n"
-"    but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"    GNU General Public License for more details.\n"
-"\n"
-"    You should have received a copy of the GNU General Public License\n"
-"    along with this program; if not, write to the Free Software\n"
-"    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
-"    02110-1301, USA.\n"
-msgstr ""
-
-#: src/ui/gui/psppire.glade:1055
+#: src/ui/gui/data-editor.glade:1041
 msgid "Variable Type"
 msgstr "Variableansicht"
 
-#: src/ui/gui/psppire.glade:1107 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:1093 src/ui/gui/psppire-var-store.c:475
 msgid "Comma"
 msgstr "Komma"
 
-#: src/ui/gui/psppire.glade:1127 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1113 src/ui/gui/psppire-var-store.c:476
 msgid "Dot"
 msgstr "Punkt"
 
-#: src/ui/gui/psppire.glade:1147
+#: src/ui/gui/data-editor.glade:1133
 msgid "Scientific notation"
 msgstr "Wissenschaftlichnotation"
 
-#: src/ui/gui/psppire.glade:1167 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1153 src/ui/gui/psppire-var-store.c:478
 msgid "Date"
 msgstr "Datum"
 
-#: src/ui/gui/psppire.glade:1187 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1173 src/ui/gui/psppire-var-store.c:479
 msgid "Dollar"
 msgstr "Euro"
 
-#: src/ui/gui/psppire.glade:1207
+#: src/ui/gui/data-editor.glade:1193
 msgid "Custom currency"
 msgstr "Spezialwährung"
 
-#: src/ui/gui/psppire.glade:1352
+#: src/ui/gui/data-editor.glade:1338
 msgid "positive"
 msgstr "positiv"
 
-#: src/ui/gui/psppire.glade:1377
+#: src/ui/gui/data-editor.glade:1363
 msgid "negative"
 msgstr "negativ"
 
-#: src/ui/gui/psppire.glade:1406
+#: src/ui/gui/data-editor.glade:1392
 msgid "Sample"
 msgstr "Muster"
 
-#: src/ui/gui/psppire.glade:1484
+#: src/ui/gui/data-editor.glade:1470
 msgid "Decimal Places:"
 msgstr "Dezimalstellen:"
 
-#: src/ui/gui/psppire.glade:1561
+#: src/ui/gui/data-editor.glade:1547
 msgid "Width:"
 msgstr "Große:"
 
-#: src/ui/gui/psppire.glade:1780
+#: src/ui/gui/data-editor.glade:1766
 msgid "Value:"
 msgstr "Werte:"
 
-#: src/ui/gui/psppire.glade:1808
+#: src/ui/gui/data-editor.glade:1794
 msgid "Value Label:"
 msgstr "Kennsatz:"
 
-#: src/ui/gui/psppire.glade:2024
+#: src/ui/gui/data-editor.glade:2010
 msgid "Missing Values"
 msgstr "Lösewerten"
 
-#: src/ui/gui/psppire.glade:2110
+#: src/ui/gui/data-editor.glade:2096
 msgid "_No missing values"
 msgstr "_Kein Lösewerten"
 
-#: src/ui/gui/psppire.glade:2135
+#: src/ui/gui/data-editor.glade:2121
 msgid "_Discrete missing values"
 msgstr "_Diskret Lösewerten"
 
-#: src/ui/gui/psppire.glade:2264
+#: src/ui/gui/data-editor.glade:2250
 msgid "_Range plus one optional discrete missing value"
 msgstr "Wertebereich und ein optional Lösewert"
 
-#: src/ui/gui/psppire.glade:2301
+#: src/ui/gui/data-editor.glade:2287
 msgid "_Low:"
 msgstr "_Tief:"
 
-#: src/ui/gui/psppire.glade:2360
+#: src/ui/gui/data-editor.glade:2346
 msgid "_High:"
 msgstr "_Hoch:"
 
-#: src/ui/gui/psppire.glade:2434
+#: src/ui/gui/data-editor.glade:2420
 msgid "Di_screte value:"
 msgstr "Di_skretwerte"
 
-#: src/ui/gui/psppire.glade:2560
+#: src/ui/gui/data-editor.glade:2546
 msgid "Case Number:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2732 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2718 src/ui/gui/sort-cases-dialog.c:279
 msgid "Ascending"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2751 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2737 src/ui/gui/sort-cases-dialog.c:281
 msgid "Descending"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2772
+#: src/ui/gui/data-editor.glade:2758
 msgid "Sort Order"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2809
+#: src/ui/gui/data-editor.glade:2795
 msgid "Sort by:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2957
-msgid "Psppire Syntax Editor"
-msgstr ""
+#: src/ui/gui/message-dialog.c:123
+msgid "Script Error"
+msgstr "Skript Fehler"
 
-#: src/ui/gui/psppire.glade:3134
-msgid "_Run"
-msgstr ""
+#: src/ui/gui/message-dialog.c:127
+msgid "Data File Error"
+msgstr "Datei Fehler"
 
-#: src/ui/gui/psppire.glade:3143
-msgid "All"
+#: src/ui/gui/message-dialog.c:132
+msgid "PSPP Error"
+msgstr "PSPP Fehler"
+
+#: src/ui/gui/message-dialog.c:143
+#, c-format
+msgid "%s (line %d) %s"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3151
-#, fuzzy
-msgid "Selection"
-msgstr "Schriftwahlung"
+#: src/ui/gui/missing-val-dialog.c:117 src/ui/gui/missing-val-dialog.c:162
+msgid "Incorrect value for variable type"
+msgstr "Unpassend Wert für Variable"
 
-#: src/ui/gui/psppire.glade:3159
-msgid "Current Line"
+#: src/ui/gui/missing-val-dialog.c:138 src/ui/gui/missing-val-dialog.c:145
+msgid "Incorrect range specification"
+msgstr "Falshe Spannweitebeschreibung"
+
+#: src/ui/gui/psppire.c:71
+msgid "Sorry. The help system hasn't yet been implemented."
+msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
+
+#: src/ui/gui/psppire-data-store.c:721
+msgid "var"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3167
-msgid "To End"
+#: src/ui/gui/psppire-data-store.c:802 src/ui/gui/psppire-var-store.c:551
+#: src/ui/gui/psppire-var-store.c:561 src/ui/gui/psppire-var-store.c:571
+#: src/ui/gui/psppire-var-store.c:769
+#, c-format
+msgid "%d"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:10
+msgid "This is pre-alpha software.  It probably will not work."
+msgstr "Diese Software ist vor-Alpha.  Wahrscheinlich Funktioniert es nicht."
+
+#: src/ui/gui/psppire.glade:11
+msgid ""
+"    This program is free software; you can redistribute it and/or modify\n"
+"    it under the terms of the GNU General Public License as published by\n"
+"    the Free Software Foundation; either version 2 of the License, or\n"
+"    (at your option) any later version.\n"
+"\n"
+"    This program is distributed in the hope that it will be useful,\n"
+"    but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"    GNU General Public License for more details.\n"
+"\n"
+"    You should have received a copy of the GNU General Public License\n"
+"    along with this program; if not, write to the Free Software\n"
+"    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
+"    02110-1301, USA.\n"
 msgstr ""
 
 #: src/ui/gui/psppire-var-store.c:470
@@ -4496,78 +4470,122 @@ msgstr ""
 msgid "Criteria"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:63
+#: src/ui/gui/syntax-editor.c:64
 #, c-format
 msgid "Save contents of syntax editor to %s?"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:111
+#: src/ui/gui/syntax-editor.c:65 src/ui/gui/syntax-editor.c:87
+msgid "Untitled"
+msgstr "Unbetitelt"
+
+#: src/ui/gui/syntax-editor.c:113
 #, fuzzy
 msgid "Save Syntax"
 msgstr "Speichern unter"
 
-#: src/ui/gui/syntax-editor.c:119 src/ui/gui/syntax-editor.c:410
+#: src/ui/gui/syntax-editor.c:121 src/ui/gui/syntax-editor.c:504
 #, fuzzy
 msgid "Syntax Files (*.sps) "
 msgstr "Systemedatein (*.sav)"
 
-#: src/ui/gui/syntax-editor.c:312
-#, fuzzy, c-format
-msgid "%s --- PSPP Syntax Editor"
-msgstr "PSPP Dateiaufbereiter"
-
-#: src/ui/gui/syntax-editor.c:402
+#: src/ui/gui/syntax-editor.c:496
 msgid "Open Syntax"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:69
+#: src/ui/gui/syntax-editor.glade:10
+msgid "Psppire Syntax Editor"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:187
+msgid "_Run"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:196
+msgid "All"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:204
+#, fuzzy
+msgid "Selection"
+msgstr "Schriftwahlung"
+
+#: src/ui/gui/syntax-editor.glade:212
+msgid "Current Line"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:220
+msgid "To End"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:67
 msgid "Name"
 msgstr "Name"
 
-#: src/ui/gui/var-sheet.c:71
+#: src/ui/gui/var-sheet.c:69
 msgid "Width"
 msgstr "Große"
 
-#: src/ui/gui/var-sheet.c:72
+#: src/ui/gui/var-sheet.c:70
 msgid "Decimals"
 msgstr "Dezimalstellen"
 
-#: src/ui/gui/var-sheet.c:74
+#: src/ui/gui/var-sheet.c:72
 msgid "Values"
 msgstr "Werten"
 
-#: src/ui/gui/var-sheet.c:77
+#: src/ui/gui/var-sheet.c:75
 msgid "Align"
 msgstr "Einstellung"
 
-#: src/ui/gui/var-sheet.c:78
+#: src/ui/gui/var-sheet.c:76
 msgid "Measure"
 msgstr "Messe"
 
-#: src/ui/gui/var-sheet.c:101
+#: src/ui/gui/var-sheet.c:82
 msgid "Left"
 msgstr "Links"
 
-#: src/ui/gui/var-sheet.c:102
+#: src/ui/gui/var-sheet.c:83
 msgid "Right"
 msgstr "Rechts"
 
-#: src/ui/gui/var-sheet.c:103
+#: src/ui/gui/var-sheet.c:84
 msgid "Centre"
 msgstr "Mittel"
 
-#: src/ui/gui/var-sheet.c:108
+#: src/ui/gui/var-sheet.c:89
 msgid "Nominal"
 msgstr "Nominalwert"
 
-#: src/ui/gui/var-sheet.c:109
+#: src/ui/gui/var-sheet.c:90
 msgid "Ordinal"
 msgstr "Ordinalwert"
 
-#: src/ui/gui/var-sheet.c:110
+#: src/ui/gui/var-sheet.c:91
 msgid "Scale"
 msgstr "Skalwert"
 
+#: src/ui/gui/window-manager.c:78
+#, fuzzy, c-format
+msgid "Syntax%d"
+msgstr "Speichern unter"
+
+#: src/ui/gui/window-manager.c:79 src/ui/gui/window-manager.c:107
+#, fuzzy, c-format
+msgid "%s --- PSPP Syntax Editor"
+msgstr "PSPP Dateiaufbereiter"
+
+#: src/ui/gui/window-manager.c:82
+#, fuzzy, c-format
+msgid "Untitled%d"
+msgstr "Unbetitelt"
+
+#: src/ui/gui/window-manager.c:83 src/ui/gui/window-manager.c:110
+#, fuzzy, c-format
+msgid "%s --- PSPP Data Editor"
+msgstr "PSPP Dateiaufbereiter"
+
 #: src/ui/terminal/command-line.c:221
 #, c-format
 msgid ""
@@ -4654,5 +4672,11 @@ msgstr "Fehler"
 msgid "warning"
 msgstr "Warnung"
 
+#~ msgid "PSPP Data Editor"
+#~ msgstr "PSPP Dateiaufbereiter"
+
+#~ msgid "Save Data As"
+#~ msgstr "Speichern unter"
+
 #~ msgid "_Insert"
 #~ msgstr "_Stecken"
index 660b3259fb43f22793e6d238be1b7b9ece6ce5fb..9e48be69b35e7a84e3f5edba300e236b8cf024fb 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-12-21 09:13+0900\n"
+"POT-Creation-Date: 2006-12-25 07:26+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -308,13 +308,13 @@ msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/psppire.glade:1227
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1213
 #: src/ui/gui/psppire-var-store.c:481
 msgid "String"
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/psppire.glade:1088
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1074
 #: src/ui/gui/psppire-var-store.c:474
 msgid "Numeric"
 msgstr ""
@@ -807,15 +807,15 @@ msgstr ""
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/data/variable.c:996
+#: src/data/variable.c:964
 msgid "ordinary"
 msgstr ""
 
-#: src/data/variable.c:998
+#: src/data/variable.c:966
 msgid "system"
 msgstr ""
 
-#: src/data/variable.c:1000
+#: src/data/variable.c:968
 msgid "scratch"
 msgstr ""
 
@@ -1014,7 +1014,7 @@ msgstr ""
 #: src/language/data-io/print.c:396 src/language/dictionary/split-file.c:85
 #: src/language/dictionary/sys-file-info.c:160
 #: src/language/dictionary/sys-file-info.c:395
-#: src/language/stats/descriptives.c:890
+#: src/language/stats/descriptives.c:879
 msgid "Variable"
 msgstr ""
 
@@ -1023,7 +1023,7 @@ msgid "Record"
 msgstr ""
 
 #: src/language/data-io/data-list.c:418 src/language/data-io/print.c:398
-#: src/ui/gui/var-sheet.c:76
+#: src/ui/gui/var-sheet.c:74
 msgid "Columns"
 msgstr ""
 
@@ -1393,6 +1393,18 @@ msgstr ""
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
+#: src/language/dictionary/delete-variables.c:41
+msgid ""
+"DELETE VARIABLES may not be used after TEMPORARY.  Temporary transformations "
+"will be made permanent."
+msgstr ""
+
+#: src/language/dictionary/delete-variables.c:48
+msgid ""
+"DELETE VARIABLES may not be used to delete all variables from the active "
+"file dictionary.  Use NEW FILE instead."
+msgstr ""
+
 #: src/language/dictionary/formats.c:91
 msgid "`(' expected after variable list."
 msgstr ""
@@ -1543,16 +1555,16 @@ msgstr ""
 
 #: src/language/dictionary/split-file.c:86
 #: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1114 src/language/stats/crosstabs.q:1141
-#: src/language/stats/crosstabs.q:1161 src/language/stats/crosstabs.q:1183
-#: src/language/stats/examine.q:1192 src/language/stats/frequencies.q:1139
-#: src/language/stats/frequencies.q:1267
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
+#: src/language/stats/frequencies.q:1269
 msgid "Value"
 msgstr ""
 
 #: src/language/dictionary/split-file.c:87
 #: src/language/dictionary/sys-file-info.c:402
-#: src/language/dictionary/sys-file-info.c:550 src/ui/gui/var-sheet.c:73
+#: src/language/dictionary/sys-file-info.c:550 src/ui/gui/var-sheet.c:71
 msgid "Label"
 msgstr ""
 
@@ -2091,48 +2103,48 @@ msgstr ""
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:169
+#: src/language/lexer/variable-parser.c:173
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:172
+#: src/language/lexer/variable-parser.c:176
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:176
+#: src/language/lexer/variable-parser.c:180
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:184
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:186
+#: src/language/lexer/variable-parser.c:190
 #, c-format
 msgid ""
 "%s and %s are string variables with different widths.  All variables in this "
 "variable list must have the same width.  %s will be omttied from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:191
+#: src/language/lexer/variable-parser.c:195
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:304
+#: src/language/lexer/variable-parser.c:308
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:312
+#: src/language/lexer/variable-parser.c:316
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2140,19 +2152,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:386
+#: src/language/lexer/variable-parser.c:390
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:429
+#: src/language/lexer/variable-parser.c:433
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:451
+#: src/language/lexer/variable-parser.c:455
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:456
+#: src/language/lexer/variable-parser.c:460
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2243,21 +2255,21 @@ msgid "Group2"
 msgstr ""
 
 #: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:236
-#: src/language/stats/chisquare.c:296 src/language/stats/crosstabs.q:821
-#: src/language/stats/crosstabs.q:1021 src/language/stats/crosstabs.q:1744
-#: src/language/stats/examine.q:912 src/language/stats/frequencies.q:1220
+#: src/language/stats/chisquare.c:296 src/language/stats/crosstabs.q:825
+#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
 #: src/language/stats/oneway.q:306 src/language/stats/oneway.q:470
 #: src/language/stats/regression.q:314
 msgid "Total"
 msgstr ""
 
 #: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:259
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1180
+#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:831
-#: src/language/stats/examine.q:988 src/language/stats/frequencies.q:1516
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
 #: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:391
 #: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
 #: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
@@ -2309,7 +2321,7 @@ msgstr ""
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:324 src/language/stats/crosstabs.q:1115
+#: src/language/stats/chisquare.c:324 src/language/stats/crosstabs.q:1119
 #: src/language/stats/oneway.q:279 src/language/stats/oneway.q:680
 #: src/language/stats/regression.q:307 src/language/stats/t-test.q:981
 #: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
@@ -2346,259 +2358,259 @@ msgstr ""
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:816
+#: src/language/stats/crosstabs.q:820
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:818 src/language/stats/examine.q:976
+#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:819 src/language/stats/examine.q:910
-#: src/language/stats/frequencies.q:1137 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:820 src/language/stats/examine.q:911
-#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1518
-#: src/ui/gui/var-sheet.c:75
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
+#: src/ui/gui/var-sheet.c:73
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:832 src/language/stats/examine.q:991
-#: src/language/stats/frequencies.q:1141 src/language/stats/frequencies.q:1142
-#: src/language/stats/frequencies.q:1143
+#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
+#: src/language/stats/frequencies.q:1149
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1077
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1078
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1079
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1076
+#: src/language/stats/crosstabs.q:1080
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1081
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1082
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1083
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1084
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1110
+#: src/language/stats/crosstabs.q:1114
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1113 src/language/stats/crosstabs.q:1140
-#: src/language/stats/crosstabs.q:1160 src/language/stats/crosstabs.q:1181
-#: src/language/stats/examine.q:1423
+#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
+#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/examine.q:1420
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1117
+#: src/language/stats/crosstabs.q:1121
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1119
+#: src/language/stats/crosstabs.q:1123
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1125
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1140
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1142 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1186
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1155
+#: src/language/stats/crosstabs.q:1159
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1163
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1162 src/language/stats/t-test.q:985
+#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
 #: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1163 src/language/stats/t-test.q:986
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
 #: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1177
+#: src/language/stats/crosstabs.q:1181
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1182 src/ui/gui/var-sheet.c:70
+#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1940
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1941
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1942
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1943
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1939
+#: src/language/stats/crosstabs.q:1944
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
-#: src/language/stats/crosstabs.q:2105
+#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
+#: src/language/stats/crosstabs.q:2110
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1999
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:2000
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2005
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:2006
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2007
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2008
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2009
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2010
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2011
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2012
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2013
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2078
+#: src/language/stats/crosstabs.q:2083
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2081
+#: src/language/stats/crosstabs.q:2086
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2089
+#: src/language/stats/crosstabs.q:2094
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2092
+#: src/language/stats/crosstabs.q:2097
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2123
+#: src/language/stats/crosstabs.q:2128
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2133
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2134
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2135
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2131
+#: src/language/stats/crosstabs.q:2136
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2137
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2142
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
+#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1528
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
 #: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
 #: src/language/stats/oneway.q:392 src/language/stats/t-test.q:682
 #: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
@@ -2614,12 +2626,12 @@ msgstr ""
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1608
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1605
 #: src/language/stats/frequencies.q:130
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1715
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1712
 #: src/language/stats/frequencies.q:131
 msgid "Kurtosis"
 msgstr ""
@@ -2628,7 +2640,7 @@ msgstr ""
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1695
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1692
 #: src/language/stats/frequencies.q:133
 msgid "Skewness"
 msgstr ""
@@ -2637,18 +2649,18 @@ msgstr ""
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1656
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1653
 #: src/language/stats/frequencies.q:135
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1633
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1630
 #: src/language/stats/frequencies.q:136 src/language/stats/npar-summary.c:133
 #: src/language/stats/oneway.q:404
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:116 src/language/stats/examine.q:1644
+#: src/language/stats/descriptives.c:116 src/language/stats/examine.q:1641
 #: src/language/stats/frequencies.q:137 src/language/stats/npar-summary.c:136
 #: src/language/stats/oneway.q:405
 msgid "Maximum"
@@ -2685,133 +2697,133 @@ msgstr ""
 msgid "Target"
 msgstr ""
 
-#: src/language/stats/descriptives.c:674
+#: src/language/stats/descriptives.c:670
 #, c-format
 msgid "Z-score of %s"
 msgstr ""
 
-#: src/language/stats/descriptives.c:893
+#: src/language/stats/descriptives.c:882
 msgid "Valid N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:894
+#: src/language/stats/descriptives.c:883
 msgid "Missing N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:921
+#: src/language/stats/descriptives.c:910
 #, c-format
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:287 src/language/stats/examine.q:290
+#: src/language/stats/examine.q:283 src/language/stats/examine.q:286
 #, c-format
 msgid "%s is not currently supported."
 msgstr ""
 
-#: src/language/stats/examine.q:496 src/language/stats/examine.q:509
+#: src/language/stats/examine.q:492 src/language/stats/examine.q:505
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:970
+#: src/language/stats/examine.q:967
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1177
+#: src/language/stats/examine.q:1174
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1193
+#: src/language/stats/examine.q:1190
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1278
+#: src/language/stats/examine.q:1275
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1283
+#: src/language/stats/examine.q:1280
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1424 src/language/stats/oneway.q:394
+#: src/language/stats/examine.q:1421 src/language/stats/oneway.q:394
 #: src/language/stats/oneway.q:678 src/language/stats/regression.q:211
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1426 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1423 src/language/stats/oneway.q:408
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1546 src/language/stats/oneway.q:399
+#: src/language/stats/examine.q:1543 src/language/stats/oneway.q:399
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1552 src/language/stats/oneway.q:401
+#: src/language/stats/examine.q:1549 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1563 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1560 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1575
+#: src/language/stats/examine.q:1572
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1586 src/language/stats/frequencies.q:127
+#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:127
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1620 src/language/stats/npar-summary.c:130
+#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
 #: src/language/stats/oneway.q:393 src/language/stats/t-test.q:683
 #: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
 #: src/language/stats/t-test.q:1168
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1668
+#: src/language/stats/examine.q:1665
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1820
+#: src/language/stats/examine.q:1817
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1845
+#: src/language/stats/examine.q:1842
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1887
+#: src/language/stats/examine.q:1884
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1888 src/language/stats/examine.q:1894
+#: src/language/stats/examine.q:1885 src/language/stats/examine.q:1891
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1889
+#: src/language/stats/examine.q:1886
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1892
+#: src/language/stats/examine.q:1889
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1895
+#: src/language/stats/examine.q:1892
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:2014 src/language/stats/examine.q:2036
-#: src/language/stats/frequencies.q:1528 src/language/stats/npar-summary.c:143
+#: src/language/stats/examine.q:2011 src/language/stats/examine.q:2033
+#: src/language/stats/frequencies.q:1530 src/language/stats/npar-summary.c:143
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2160
+#: src/language/stats/examine.q:2157
 msgid "Tukey's Hinges"
 msgstr ""
 
@@ -2940,28 +2952,28 @@ msgstr ""
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1138 src/language/stats/frequencies.q:1235
-#: src/language/stats/frequencies.q:1236 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1237
+#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1272
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1140 src/output/charts/plot-hist.c:128
+#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:128
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1161
+#: src/language/stats/frequencies.q:1167
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1268
+#: src/language/stats/frequencies.q:1270
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
+#: src/language/stats/frequencies.q:1271 src/language/stats/frequencies.q:1273
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1490
+#: src/language/stats/frequencies.q:1492
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
@@ -3123,42 +3135,42 @@ msgstr ""
 msgid "Cannot create new rank variable.  All candidates in use."
 msgstr ""
 
-#: src/language/stats/rank.q:824
+#: src/language/stats/rank.q:820
 msgid "Variables Created By RANK"
 msgstr ""
 
-#: src/language/stats/rank.q:848
+#: src/language/stats/rank.q:844
 #, c-format
 msgid "%s into %s(%s of %s using %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:859
+#: src/language/stats/rank.q:855
 #, c-format
 msgid "%s into %s(%s of %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:873
+#: src/language/stats/rank.q:869
 #, c-format
 msgid "%s into %s(%s of %s using %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:883
+#: src/language/stats/rank.q:879
 #, c-format
 msgid "%s into %s(%s of %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:896
+#: src/language/stats/rank.q:892
 msgid ""
 "FRACTION has been specified, but NORMAL and PROPORTION rank functions have "
 "not been requested.  The FRACTION subcommand will be ignored."
 msgstr ""
 
-#: src/language/stats/rank.q:989
+#: src/language/stats/rank.q:985
 #, c-format
 msgid "Variable %s already exists."
 msgstr ""
 
-#: src/language/stats/rank.q:994
+#: src/language/stats/rank.q:990
 msgid "Too many variables in INTO clause."
 msgstr ""
 
@@ -3676,7 +3688,7 @@ msgstr ""
 msgid "Empirical with averaging"
 msgstr ""
 
-#: src/math/sort.c:467
+#: src/math/sort.c:468
 #, c-format
 msgid ""
 "Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
@@ -4085,381 +4097,344 @@ msgstr ""
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:63 src/ui/gui/syntax-editor.c:64
-#: src/ui/gui/syntax-editor.c:86
-msgid "Untitled"
-msgstr ""
-
-#: src/ui/gui/menu-actions.c:65
-msgid "PSPP Data Editor"
-msgstr ""
-
-#: src/ui/gui/menu-actions.c:219 src/ui/gui/psppire.glade:502
+#: src/ui/gui/data-editor.c:301 src/ui/gui/data-editor.glade:497
 msgid "Open"
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:227
+#: src/ui/gui/data-editor.c:309
 msgid "System Files (*.sav)"
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:233
+#: src/ui/gui/data-editor.c:315
 msgid "Portable Files (*.por) "
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:239 src/ui/gui/syntax-editor.c:125
-#: src/ui/gui/syntax-editor.c:416
+#: src/ui/gui/data-editor.c:321 src/ui/gui/syntax-editor.c:127
+#: src/ui/gui/syntax-editor.c:510
 msgid "All Files"
 msgstr ""
 
-#: src/ui/gui/menu-actions.c:287
-msgid "Save Data As"
-msgstr ""
-
-#: src/ui/gui/menu-actions.c:514
+#: src/ui/gui/data-editor.c:399
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:127
-msgid "Script Error"
-msgstr ""
-
-#: src/ui/gui/message-dialog.c:131
-msgid "Data File Error"
-msgstr ""
-
-#: src/ui/gui/message-dialog.c:136
-msgid "PSPP Error"
-msgstr ""
-
-#: src/ui/gui/message-dialog.c:149
-#, c-format
-msgid "%s (line %d) %s"
-msgstr ""
-
-#: src/ui/gui/missing-val-dialog.c:117 src/ui/gui/missing-val-dialog.c:162
-msgid "Incorrect value for variable type"
-msgstr ""
-
-#: src/ui/gui/missing-val-dialog.c:138 src/ui/gui/missing-val-dialog.c:145
-msgid "Incorrect range specification"
-msgstr ""
-
-#: src/ui/gui/psppire.c:76
-msgid "Sorry. The help system hasn't yet been implemented."
-msgstr ""
-
-#: src/ui/gui/psppire-data-store.c:721
-msgid "var"
-msgstr ""
-
-#: src/ui/gui/psppire-data-store.c:802 src/ui/gui/psppire-var-store.c:551
-#: src/ui/gui/psppire-var-store.c:561 src/ui/gui/psppire-var-store.c:571
-#: src/ui/gui/psppire-var-store.c:769
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/ui/gui/psppire.glade:39 src/ui/gui/psppire.glade:2986
+#: src/ui/gui/data-editor.glade:38 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:57 src/ui/gui/psppire.glade:87
-#: src/ui/gui/psppire.glade:3004 src/ui/gui/psppire.glade:3033
+#: src/ui/gui/data-editor.glade:56 src/ui/gui/data-editor.glade:85
+#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:86
 msgid "_Syntax"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:66 src/ui/gui/psppire.glade:96
-#: src/ui/gui/psppire.glade:321 src/ui/gui/psppire.glade:3012
-#: src/ui/gui/psppire.glade:3042
+#: src/ui/gui/data-editor.glade:64 src/ui/gui/data-editor.glade:93
+#: src/ui/gui/data-editor.glade:315 src/ui/gui/syntax-editor.glade:65
+#: src/ui/gui/syntax-editor.glade:95
 msgid "_Data"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:146 src/ui/gui/psppire.glade:3089
+#: src/ui/gui/data-editor.glade:145 src/ui/gui/syntax-editor.glade:142
 msgid "_Edit"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:183
+#: src/ui/gui/data-editor.glade:182
 msgid "Paste _Variables"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:191
+#: src/ui/gui/data-editor.glade:190
 msgid "Cl_ear"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:208
+#: src/ui/gui/data-editor.glade:207
 msgid "_Find"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:232
+#: src/ui/gui/data-editor.glade:231
 msgid "_View"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:241
+#: src/ui/gui/data-editor.glade:240
 msgid "Status Bar"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:250
+#: src/ui/gui/data-editor.glade:248
 msgid "Toolbars"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:264
+#: src/ui/gui/data-editor.glade:262
 msgid "Fonts"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:273
+#: src/ui/gui/data-editor.glade:270
 msgid "Grid Lines"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:283 src/ui/gui/psppire.glade:784
-#: src/ui/gui/psppire.glade:1662 src/ui/gui/psppire.glade:1939
+#: src/ui/gui/data-editor.glade:279 src/ui/gui/data-editor.glade:797
+#: src/ui/gui/data-editor.glade:1648 src/ui/gui/data-editor.glade:1925
 msgid "Value Labels"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:299
+#: src/ui/gui/data-editor.glade:294
 msgid "Data"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:308 src/ui/gui/psppire.glade:620
+#: src/ui/gui/data-editor.glade:302 src/ui/gui/data-editor.glade:621
 msgid "Variables"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:331 src/ui/gui/psppire.glade:694
+#: src/ui/gui/data-editor.glade:325 src/ui/gui/data-editor.glade:700
 msgid "Insert Variable"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:340
+#: src/ui/gui/data-editor.glade:334
 msgid "Insert Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:349 src/ui/gui/psppire.glade:604
-#: src/ui/gui/psppire.glade:2504
+#: src/ui/gui/data-editor.glade:343 src/ui/gui/data-editor.glade:604
+#: src/ui/gui/data-editor.glade:2490
 msgid "Go To Case"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:376 src/ui/gui/psppire.glade:2615
+#: src/ui/gui/data-editor.glade:370 src/ui/gui/data-editor.glade:2601
 msgid "Sort Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:386
+#: src/ui/gui/data-editor.glade:380
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:395
+#: src/ui/gui/data-editor.glade:389
 msgid "Restructure"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:404
+#: src/ui/gui/data-editor.glade:398
 msgid "Merge Files"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:413
+#: src/ui/gui/data-editor.glade:407
 msgid "Aggregate"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:428 src/ui/gui/psppire.glade:723
+#: src/ui/gui/data-editor.glade:422 src/ui/gui/data-editor.glade:731
 msgid "Split File"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:437 src/ui/gui/psppire.glade:755
+#: src/ui/gui/data-editor.glade:431 src/ui/gui/data-editor.glade:767
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:446 src/ui/gui/psppire.glade:739
+#: src/ui/gui/data-editor.glade:440 src/ui/gui/data-editor.glade:749
 msgid "Weight Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:458 src/ui/gui/psppire.glade:3179
+#: src/ui/gui/data-editor.glade:452 src/ui/gui/syntax-editor.glade:232
 msgid "_Help"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:467 src/ui/gui/psppire.glade:3188
+#: src/ui/gui/data-editor.glade:461 src/ui/gui/syntax-editor.glade:241
 msgid "_About"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:517
+#: src/ui/gui/data-editor.glade:513
 msgid "Save"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:533
+#: src/ui/gui/data-editor.glade:530
 msgid "Print"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:561
+#: src/ui/gui/data-editor.glade:559
 msgid "Undo"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:576
+#: src/ui/gui/data-editor.glade:575
 msgid "Redo"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:649
+#: src/ui/gui/data-editor.glade:652
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:677
+#: src/ui/gui/data-editor.glade:681
 msgid "Insert Case"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:803
+#: src/ui/gui/data-editor.glade:817
 msgid "Use Sets"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:935
+#: src/ui/gui/data-editor.glade:949
 msgid "Data View"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:983
+#: src/ui/gui/data-editor.glade:997
 msgid "Variable View"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1029
-msgid "This is pre-alpha software.  It probably will not work."
-msgstr ""
-
-#: src/ui/gui/psppire.glade:1030
-msgid ""
-"    This program is free software; you can redistribute it and/or modify\n"
-"    it under the terms of the GNU General Public License as published by\n"
-"    the Free Software Foundation; either version 2 of the License, or\n"
-"    (at your option) any later version.\n"
-"\n"
-"    This program is distributed in the hope that it will be useful,\n"
-"    but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"    GNU General Public License for more details.\n"
-"\n"
-"    You should have received a copy of the GNU General Public License\n"
-"    along with this program; if not, write to the Free Software\n"
-"    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
-"    02110-1301, USA.\n"
-msgstr ""
-
-#: src/ui/gui/psppire.glade:1055
+#: src/ui/gui/data-editor.glade:1041
 msgid "Variable Type"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1107 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:1093 src/ui/gui/psppire-var-store.c:475
 msgid "Comma"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1127 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1113 src/ui/gui/psppire-var-store.c:476
 msgid "Dot"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1147
+#: src/ui/gui/data-editor.glade:1133
 msgid "Scientific notation"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1167 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1153 src/ui/gui/psppire-var-store.c:478
 msgid "Date"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1187 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1173 src/ui/gui/psppire-var-store.c:479
 msgid "Dollar"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1207
+#: src/ui/gui/data-editor.glade:1193
 msgid "Custom currency"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1352
+#: src/ui/gui/data-editor.glade:1338
 msgid "positive"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1377
+#: src/ui/gui/data-editor.glade:1363
 msgid "negative"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1406
+#: src/ui/gui/data-editor.glade:1392
 msgid "Sample"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1484
+#: src/ui/gui/data-editor.glade:1470
 msgid "Decimal Places:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1561
+#: src/ui/gui/data-editor.glade:1547
 msgid "Width:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1780
+#: src/ui/gui/data-editor.glade:1766
 msgid "Value:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1808
+#: src/ui/gui/data-editor.glade:1794
 msgid "Value Label:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2024
+#: src/ui/gui/data-editor.glade:2010
 msgid "Missing Values"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2110
+#: src/ui/gui/data-editor.glade:2096
 msgid "_No missing values"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2135
+#: src/ui/gui/data-editor.glade:2121
 msgid "_Discrete missing values"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2264
+#: src/ui/gui/data-editor.glade:2250
 msgid "_Range plus one optional discrete missing value"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2301
+#: src/ui/gui/data-editor.glade:2287
 msgid "_Low:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2360
+#: src/ui/gui/data-editor.glade:2346
 msgid "_High:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2434
+#: src/ui/gui/data-editor.glade:2420
 msgid "Di_screte value:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2560
+#: src/ui/gui/data-editor.glade:2546
 msgid "Case Number:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2732 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2718 src/ui/gui/sort-cases-dialog.c:279
 msgid "Ascending"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2751 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2737 src/ui/gui/sort-cases-dialog.c:281
 msgid "Descending"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2772
+#: src/ui/gui/data-editor.glade:2758
 msgid "Sort Order"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2809
+#: src/ui/gui/data-editor.glade:2795
 msgid "Sort by:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2957
-msgid "Psppire Syntax Editor"
+#: src/ui/gui/message-dialog.c:123
+msgid "Script Error"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3134
-msgid "_Run"
+#: src/ui/gui/message-dialog.c:127
+msgid "Data File Error"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3143
-msgid "All"
+#: src/ui/gui/message-dialog.c:132
+msgid "PSPP Error"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3151
-msgid "Selection"
+#: src/ui/gui/message-dialog.c:143
+#, c-format
+msgid "%s (line %d) %s"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3159
-msgid "Current Line"
+#: src/ui/gui/missing-val-dialog.c:117 src/ui/gui/missing-val-dialog.c:162
+msgid "Incorrect value for variable type"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:3167
-msgid "To End"
+#: src/ui/gui/missing-val-dialog.c:138 src/ui/gui/missing-val-dialog.c:145
+msgid "Incorrect range specification"
+msgstr ""
+
+#: src/ui/gui/psppire.c:71
+msgid "Sorry. The help system hasn't yet been implemented."
+msgstr ""
+
+#: src/ui/gui/psppire-data-store.c:721
+msgid "var"
+msgstr ""
+
+#: src/ui/gui/psppire-data-store.c:802 src/ui/gui/psppire-var-store.c:551
+#: src/ui/gui/psppire-var-store.c:561 src/ui/gui/psppire-var-store.c:571
+#: src/ui/gui/psppire-var-store.c:769
+#, c-format
+msgid "%d"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:10
+msgid "This is pre-alpha software.  It probably will not work."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:11
+msgid ""
+"    This program is free software; you can redistribute it and/or modify\n"
+"    it under the terms of the GNU General Public License as published by\n"
+"    the Free Software Foundation; either version 2 of the License, or\n"
+"    (at your option) any later version.\n"
+"\n"
+"    This program is distributed in the hope that it will be useful,\n"
+"    but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"    GNU General Public License for more details.\n"
+"\n"
+"    You should have received a copy of the GNU General Public License\n"
+"    along with this program; if not, write to the Free Software\n"
+"    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
+"    02110-1301, USA.\n"
 msgstr ""
 
 #: src/ui/gui/psppire-var-store.c:470
@@ -4482,76 +4457,119 @@ msgstr ""
 msgid "Criteria"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:63
+#: src/ui/gui/syntax-editor.c:64
 #, c-format
 msgid "Save contents of syntax editor to %s?"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:111
+#: src/ui/gui/syntax-editor.c:65 src/ui/gui/syntax-editor.c:87
+msgid "Untitled"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.c:113
 msgid "Save Syntax"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:119 src/ui/gui/syntax-editor.c:410
+#: src/ui/gui/syntax-editor.c:121 src/ui/gui/syntax-editor.c:504
 msgid "Syntax Files (*.sps) "
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:312
-#, c-format
-msgid "%s --- PSPP Syntax Editor"
+#: src/ui/gui/syntax-editor.c:496
+msgid "Open Syntax"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:402
-msgid "Open Syntax"
+#: src/ui/gui/syntax-editor.glade:10
+msgid "Psppire Syntax Editor"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:69
+#: src/ui/gui/syntax-editor.glade:187
+msgid "_Run"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:196
+msgid "All"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:204
+msgid "Selection"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:212
+msgid "Current Line"
+msgstr ""
+
+#: src/ui/gui/syntax-editor.glade:220
+msgid "To End"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:67
 msgid "Name"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:71
+#: src/ui/gui/var-sheet.c:69
 msgid "Width"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:72
+#: src/ui/gui/var-sheet.c:70
 msgid "Decimals"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:74
+#: src/ui/gui/var-sheet.c:72
 msgid "Values"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:77
+#: src/ui/gui/var-sheet.c:75
 msgid "Align"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:78
+#: src/ui/gui/var-sheet.c:76
 msgid "Measure"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:101
+#: src/ui/gui/var-sheet.c:82
 msgid "Left"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:102
+#: src/ui/gui/var-sheet.c:83
 msgid "Right"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:103
+#: src/ui/gui/var-sheet.c:84
 msgid "Centre"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:108
+#: src/ui/gui/var-sheet.c:89
 msgid "Nominal"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:109
+#: src/ui/gui/var-sheet.c:90
 msgid "Ordinal"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:110
+#: src/ui/gui/var-sheet.c:91
 msgid "Scale"
 msgstr ""
 
+#: src/ui/gui/window-manager.c:78
+#, c-format
+msgid "Syntax%d"
+msgstr ""
+
+#: src/ui/gui/window-manager.c:79 src/ui/gui/window-manager.c:107
+#, c-format
+msgid "%s --- PSPP Syntax Editor"
+msgstr ""
+
+#: src/ui/gui/window-manager.c:82
+#, c-format
+msgid "Untitled%d"
+msgstr ""
+
+#: src/ui/gui/window-manager.c:83 src/ui/gui/window-manager.c:110
+#, c-format
+msgid "%s --- PSPP Data Editor"
+msgstr ""
+
 #: src/ui/terminal/command-line.c:221
 #, c-format
 msgid ""
index 9ee5af8c52c6a768ee6d4574646f243ba7254fe3..961a4e47227436d2f20b5b6b9ae987b5b79c4751 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2005  Free Software Foundation
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. 
+   02110-1301, USA.
 */
 
-/* 
-   This widget is a subclass of GtkEntry.  It's an entry widget with a 
+/*
+   This widget is a subclass of GtkEntry.  It's an entry widget with a
    button on the right hand side.
 
    This code is heavily based upon the GtkSpinButton widget.  Therefore
@@ -54,7 +54,7 @@
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 #include <config.h>
@@ -103,7 +103,7 @@ psppire_custom_entry_get_type (void)
          (GInstanceInitFunc) psppire_custom_entry_init,
        };
 
-      ce_type = g_type_register_static (GTK_TYPE_ENTRY, "PsppireCustomEntry", 
+      ce_type = g_type_register_static (GTK_TYPE_ENTRY, "PsppireCustomEntry",
                                        &ce_info, 0);
     }
 
@@ -153,14 +153,14 @@ psppire_custom_entry_realize (GtkWidget *widget)
   GTK_WIDGET_CLASS (parent_class)->realize (widget);
 
   widget->allocation.width = real_width;
-  
+
   attributes.window_type = GDK_WINDOW_CHILD;
   attributes.wclass = GDK_INPUT_OUTPUT;
   attributes.visual = gtk_widget_get_visual (widget);
   attributes.colormap = gtk_widget_get_colormap (widget);
   attributes.event_mask = gtk_widget_get_events (widget);
-  attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK 
-    | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK 
+  attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK
+    | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK
     | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK;
 
   attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
@@ -172,8 +172,8 @@ psppire_custom_entry_realize (GtkWidget *widget)
                                         widget->requisition.height) / 2;
   attributes.width = button_size + 2 * widget->style->xthickness;
   attributes.height = widget->requisition.height;
-  
-  custom_entry->panel = gdk_window_new (gtk_widget_get_parent_window (widget), 
+
+  custom_entry->panel = gdk_window_new (gtk_widget_get_parent_window (widget),
                                        &attributes, attributes_mask);
   gdk_window_set_user_data (custom_entry->panel, widget);
 
@@ -189,7 +189,7 @@ psppire_custom_entry_realize (GtkWidget *widget)
 static gint
 psppire_custom_entry_get_button_width (PsppireCustomEntry *custom_entry)
 {
-  const gint size = pango_font_description_get_size 
+  const gint size = pango_font_description_get_size
     (GTK_WIDGET (custom_entry)->style->font_desc);
 
   gint button_width = MAX (PANGO_PIXELS (size), MIN_BUTTON_WIDTH);
@@ -200,10 +200,10 @@ psppire_custom_entry_get_button_width (PsppireCustomEntry *custom_entry)
 /**
  * custom_entry_get_shadow_type:
  * @custom_entry: a #PsppireCustomEntry
- * 
+ *
  * Convenience function to Get the shadow type from the underlying widget's
  * style.
- * 
+ *
  * Return value: the #GtkShadowType
  **/
 static gint
@@ -249,7 +249,7 @@ psppire_custom_entry_redraw (PsppireCustomEntry *custom_entry)
        */
       gdk_window_invalidate_rect (custom_entry->panel, NULL, TRUE);
     }
-}        
+}
 
 
 static gint
@@ -274,11 +274,11 @@ psppire_custom_entry_expose (GtkWidget      *widget,
 
       gdk_drawable_get_size (ce->panel, &rect.width, &rect.height);
 
-      gdk_window_begin_paint_rect (ce->panel, &rect);      
+      gdk_window_begin_paint_rect (ce->panel, &rect);
 
 
       shadow_type = psppire_custom_entry_get_shadow_type (ce);
-      
+
       if (shadow_type != GTK_SHADOW_NONE)
        {
          gtk_paint_box (widget->style, ce->panel,
@@ -330,24 +330,24 @@ psppire_custom_entry_class_init (PsppireCustomEntryClass *klass)
   widget_class->size_allocate = psppire_custom_entry_size_allocate;
 
 
-  gtk_widget_class_install_style_property_parser 
+  gtk_widget_class_install_style_property_parser
     (widget_class,
-     g_param_spec_enum ("shadow_type", 
-                       "Shadow Type", 
+     g_param_spec_enum ("shadow_type",
+                       "Shadow Type",
                        _("Style of bevel around the custom entry button"),
                        GTK_TYPE_SHADOW_TYPE,
                        GTK_SHADOW_ETCHED_IN,
                        G_PARAM_READABLE),
      gtk_rc_property_parse_enum);
 
-  custom_entry_signals[CLICKED] = 
+  custom_entry_signals[CLICKED] =
     g_signal_new ("clicked",
                  G_TYPE_FROM_CLASS(gobject_class),
                  G_SIGNAL_RUN_LAST,
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  0);
 
 
@@ -405,9 +405,9 @@ psppire_custom_entry_size_allocate (GtkWidget     *widget,
   ce = PSPPIRE_CUSTOM_ENTRY (widget);
   button_width = psppire_custom_entry_get_button_width(ce);
   panel_width = button_width + 2 * widget->style->xthickness;
-  
+
   widget->allocation = *allocation;
-  
+
   entry_allocation = *allocation;
   entry_allocation.width -= panel_width;
 
@@ -431,11 +431,11 @@ psppire_custom_entry_size_allocate (GtkWidget     *widget,
 
   if (GTK_WIDGET_REALIZED (widget))
     {
-      gdk_window_move_resize (PSPPIRE_CUSTOM_ENTRY (widget)->panel, 
+      gdk_window_move_resize (PSPPIRE_CUSTOM_ENTRY (widget)->panel,
                              panel_allocation.x,
                              panel_allocation.y,
                              panel_allocation.width,
-                             panel_allocation.height); 
+                             panel_allocation.height);
     }
 
   psppire_custom_entry_redraw (ce);
index 4f8ad9139c780d776aeb798038a2cac9bc8536f1..14db4fcc651456904f51bc7de5e1c874887a9537 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2005  Free Software Foundation
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. 
+   02110-1301, USA.
 */
 
-/* 
-   This widget is a subclass of GtkEntry.  It's an entry widget with a 
+/*
+   This widget is a subclass of GtkEntry.  It's an entry widget with a
    button on the right hand side.
 
    This code is heavily based upon the GtkSpinButton widget.  Therefore
@@ -54,7 +54,7 @@
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 
index 6cd26bce09b6e3c90572e68e6172cbb3480f6993..bdb18b1e7a506c28d75a5b364fc141340b0e9483 100644 (file)
@@ -80,7 +80,7 @@ traverse_callback (GtkSheet * sheet,
 gint
 update_data_ref_entry(const GtkSheet *sheet, gint row, gint col)
 {
+
   GladeXML *data_editor_xml = NULL; /* FIXME !!!! */
 
 
@@ -101,7 +101,7 @@ update_data_ref_entry(const GtkSheet *sheet, gint row, gint col)
 
       text = g_strdup_printf("%d: %s", row,
                             pv ? var_get_name (pv) : "");
+
       cell_ref_entry = GTK_ENTRY(get_widget_assert (data_editor_xml,
                                                   "cell_ref_entry"));
 
@@ -134,7 +134,7 @@ calc_m_width(GtkWidget *widget, const PangoFontDescription *font_desc)
   g_assert (layout);
 
   pango_layout_set_text (layout, "M", 1);
+
   pango_layout_set_font_description (layout, font_desc);
 
   pango_layout_get_extents (layout, NULL, &rect);
index 285bcb182c55962193491e404747010510efaef5..f4dfb39249165269f17d51d96af31108eb3f58c2 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004  Free Software Foundation
 
@@ -30,13 +30,13 @@ void psppire_data_sheet_clear(GtkSheet *sheet);
 void psppire_data_sheet_set_dictionary(GtkSheet *sheet, PsppireDict *d);
 #endif
 
-GtkWidget* psppire_data_sheet_create (gchar *widget_name, 
-                                     gchar *string1, 
-                                     gchar *string2, 
+GtkWidget* psppire_data_sheet_create (gchar *widget_name,
+                                     gchar *string1,
+                                     gchar *string2,
                                      gint int1, gint int2);
 
 
-void data_sheet_set_cell_value(GtkSheet *sheet, gint row, gint col, 
+void data_sheet_set_cell_value(GtkSheet *sheet, gint row, gint col,
                               const GValue *value);
 
 
index d60a01ac12fce9092228675a20bedcce8fd837b1..d73217b3a1c788ed41d46590a39aed452af93dc8 100644 (file)
@@ -11,7 +11,7 @@
 #include <string.h>
 #include <data/settings.h>
 
-/* Formats a value according to FORMAT 
+/* Formats a value according to FORMAT
    The returned string must be freed when no longer required */
 gchar *
 value_to_text(union value v, struct fmt_spec format)
@@ -28,25 +28,25 @@ value_to_text(union value v, struct fmt_spec format)
 
 
 
-gboolean 
-text_to_value(const gchar *text, union value *v, 
+gboolean
+text_to_value(const gchar *text, union value *v,
              struct fmt_spec format)
 {
   bool ok;
 
-  if ( format.type != FMT_A) 
+  if ( format.type != FMT_A)
     {
       if ( ! text ) return FALSE;
 
       {
        const gchar *s = text;
-       while(*s) 
+       while(*s)
          {
            if ( !isspace(*s))
              break;
            s++;
          }
+
        if ( !*s) return FALSE;
       }
     }
@@ -66,10 +66,10 @@ get_widget_assert(GladeXML *xml, const gchar *name)
   GtkWidget *w;
   g_assert(xml);
   g_assert(name);
-  
+
   w = glade_xml_get_widget(xml, name);
 
-  if ( !w ) 
+  if ( !w )
     g_warning("Widget \"%s\" could not be found\n", name);
 
   return w;
index d648e2a13b7f74a9a35ef40fa97e9a3ea3f78959..407773b1c28bfd1141ed079c59bfc386096343f8 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2004  Free Software Foundation
 
 #include <gtk/gtk.h>
 #include <glade/glade.h>
 
-/* Formats a value according to FORMAT 
+/* Formats a value according to FORMAT
    The returned string must be freed when no longer required */
 gchar * value_to_text(union value v, struct fmt_spec format);
 
 
-gboolean text_to_value(const gchar *text, union value *v, 
+gboolean text_to_value(const gchar *text, union value *v,
                       struct fmt_spec format);
 
 GtkWidget * get_widget_assert(GladeXML *xml, const gchar *name);
index f550e8fce853c1abd2ea6e297e2974c9a5764c26..61847de789ced8c9434d5620e37c2e22ac743ab0 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004,2005  Free Software Foundation
 
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. 
+   02110-1301, USA.
 */
 
 
@@ -46,7 +46,7 @@ static GQueue *message_queue;
 
 
 void
-message_dialog_init (struct source_stream *ss) 
+message_dialog_init (struct source_stream *ss)
 {
   message_queue = g_queue_new();
   msg_init (ss, enqueue_msg);
@@ -59,27 +59,27 @@ message_dialog_done (void)
   g_queue_free(message_queue);
 }
 
-static gboolean 
+static gboolean
 dequeue_message(gpointer data)
 {
   struct msg * m ;
 
   /* If a pointer grab is in effect, then the combination of that, and
-     a modal dialog box, will cause an impossible situation. 
+     a modal dialog box, will cause an impossible situation.
      So don't pop it up just yet.
-  */ 
+  */
   if ( gdk_pointer_is_grabbed())
     return TRUE;
 
   m = g_queue_pop_tail(message_queue);
 
-  if ( m ) 
+  if ( m )
     {
       popup_message(m);
       msg_destroy(m);
       return TRUE;
     }
-  
+
   return FALSE;
 }
 
@@ -94,7 +94,7 @@ enqueue_msg(const struct msg *msg)
 }
 
 
-void 
+void
 popup_message(const struct msg *m)
 {
   GtkWindow *parent;
@@ -116,8 +116,8 @@ popup_message(const struct msg *m)
       message_type = GTK_MESSAGE_INFO;
       break;
     };
-  
-  switch (m->category) 
+
+  switch (m->category)
     {
     case MSG_SYNTAX:
       msg = _("Script Error");
index cbec219237a249f9f8cab252c538adabfee61d7d..63de934e4dcef90a4a6dd7c9138ab48aaa2f9c4f 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004,2005  Free Software Foundation
 
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. 
+   02110-1301, USA.
 */
 
 #ifndef ERROR_DIALOG_H
index 3495171037f9b4007cf02fd8e31a3adcea13d489..3ffcda07855fe4283a8ce7dc80503c80b9c01139 100644 (file)
@@ -46,11 +46,11 @@ err_dialog(const gchar *msg, GtkWindow *window)
   GtkWidget *hbox ;
   GtkWidget *label = gtk_label_new (msg);
 
-  GtkWidget *dialog = 
+  GtkWidget *dialog =
     gtk_dialog_new_with_buttons ("PSPP",
                                 window,
-                                GTK_DIALOG_MODAL | 
-                                GTK_DIALOG_DESTROY_WITH_PARENT | 
+                                GTK_DIALOG_MODAL |
+                                GTK_DIALOG_DESTROY_WITH_PARENT |
                                 GTK_DIALOG_NO_SEPARATOR,
                                 GTK_STOCK_OK,
                                 GTK_RESPONSE_ACCEPT,
@@ -59,9 +59,9 @@ err_dialog(const gchar *msg, GtkWindow *window)
 
   GtkWidget *icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_ERROR,
                                             GTK_ICON_SIZE_DIALOG);
-   
+
   g_signal_connect_swapped (dialog,
-                           "response", 
+                           "response",
                            G_CALLBACK (gtk_widget_destroy),
                            dialog);
 
@@ -78,22 +78,22 @@ err_dialog(const gchar *msg, GtkWindow *window)
 
 
 /* Callback which occurs when the OK button is clicked */
-static void 
+static void
 missing_val_dialog_accept(GtkWidget *w, gpointer data)
 {
   struct missing_val_dialog *dialog = data;
 
   const struct fmt_spec *write_spec = var_get_write_format (dialog->pv);
-  
+
   if ( gtk_toggle_button_get_active(dialog->button_discrete))
     {
       gint nvals = 0;
       gint badvals = 0;
       gint i;
       mv_clear(&dialog->mvl);
-      for(i = 0 ; i < 3 ; ++i ) 
+      for(i = 0 ; i < 3 ; ++i )
        {
-         gchar *text = 
+         gchar *text =
            g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->mv[i])));
 
          union value v;
@@ -108,32 +108,32 @@ missing_val_dialog_accept(GtkWidget *w, gpointer data)
              nvals++;
              mv_add_value (&dialog->mvl, &v);
            }
-         else 
+         else
              badvals++;
          g_free(text);
        }
-      if ( nvals == 0 || badvals > 0 ) 
+      if ( nvals == 0 || badvals > 0 )
        {
-         err_dialog(_("Incorrect value for variable type"), 
+         err_dialog(_("Incorrect value for variable type"),
                     GTK_WINDOW(dialog->window));
          return ;
        }
     }
-  
+
   if (gtk_toggle_button_get_active(dialog->button_range))
     {
       gchar *discrete_text ;
-      
-      union value low_val ; 
+
+      union value low_val ;
       union value high_val;
       const gchar *low_text = gtk_entry_get_text(GTK_ENTRY(dialog->low));
       const gchar *high_text = gtk_entry_get_text(GTK_ENTRY(dialog->high));
 
       if ( text_to_value(low_text, &low_val, *write_spec)
-          && 
-          text_to_value(high_text, &high_val, *write_spec) ) 
+          &&
+          text_to_value(high_text, &high_val, *write_spec) )
        {
-         if ( low_val.f > high_val.f ) 
+         if ( low_val.f > high_val.f )
            {
              err_dialog(_("Incorrect range specification"),
                          GTK_WINDOW(dialog->window));
@@ -147,16 +147,16 @@ missing_val_dialog_accept(GtkWidget *w, gpointer data)
          return;
        }
 
-      discrete_text = 
+      discrete_text =
        g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->discrete)));
 
       mv_clear(&dialog->mvl);
       mv_add_num_range(&dialog->mvl, low_val.f, high_val.f);
-      
+
       if ( discrete_text && strlen(g_strstrip(discrete_text)) > 0 )
        {
          union value discrete_val;
-         if ( !text_to_value(discrete_text, &discrete_val, 
+         if ( !text_to_value(discrete_text, &discrete_val,
                              *write_spec))
            {
              err_dialog(_("Incorrect value for variable type"),
@@ -169,7 +169,7 @@ missing_val_dialog_accept(GtkWidget *w, gpointer data)
       g_free(discrete_text);
     }
 
-  
+
   if (gtk_toggle_button_get_active(dialog->button_none))
     mv_clear(&dialog->mvl);
 
@@ -180,35 +180,35 @@ missing_val_dialog_accept(GtkWidget *w, gpointer data)
 
 
 /* Callback which occurs when the 'discrete' radiobutton is toggled */
-static void 
+static void
 discrete(GtkToggleButton *button, gpointer data)
 {
   gint i;
   struct missing_val_dialog *dialog = data;
 
-  for(i = 0 ; i < 3 ; ++i ) 
+  for(i = 0 ; i < 3 ; ++i )
     {
-      gtk_widget_set_sensitive(dialog->mv[i], 
+      gtk_widget_set_sensitive(dialog->mv[i],
                               gtk_toggle_button_get_active(button));
     }
 }
 
 /* Callback which occurs when the 'range' radiobutton is toggled */
-static void 
+static void
 range(GtkToggleButton *button, gpointer data)
 {
   struct missing_val_dialog *dialog = data;
-  
+
   const gboolean active = gtk_toggle_button_get_active (button);
 
-  gtk_widget_set_sensitive(dialog->low, active);      
-  gtk_widget_set_sensitive(dialog->high, active);      
-  gtk_widget_set_sensitive(dialog->discrete, active);   
+  gtk_widget_set_sensitive(dialog->low, active);
+  gtk_widget_set_sensitive(dialog->high, active);
+  gtk_widget_set_sensitive(dialog->discrete, active);
 }
 
 
 /* Creates the dialog structure from the xml */
-struct missing_val_dialog * 
+struct missing_val_dialog *
 missing_val_dialog_create(GladeXML *xml)
 {
   struct missing_val_dialog *dialog = g_malloc(sizeof(*dialog));
@@ -216,7 +216,7 @@ missing_val_dialog_create(GladeXML *xml)
   dialog->window = get_widget_assert(xml, "missing_values_dialog");
 
   gtk_window_set_transient_for
-    (GTK_WINDOW(dialog->window), 
+    (GTK_WINDOW(dialog->window),
      GTK_WINDOW(get_widget_assert(xml, "data_editor")));
 
 
@@ -234,29 +234,29 @@ missing_val_dialog_create(GladeXML *xml)
   dialog->low = get_widget_assert(xml, "mv-low");
   dialog->high = get_widget_assert(xml, "mv-high");
   dialog->discrete = get_widget_assert(xml, "mv-discrete");
-  
 
-  dialog->button_none     =  
+
+  dialog->button_none     =
     GTK_TOGGLE_BUTTON(get_widget_assert(xml, "no_missing"));
 
-  dialog->button_discrete =  
+  dialog->button_discrete =
     GTK_TOGGLE_BUTTON(get_widget_assert(xml, "discrete_missing"));
 
-  dialog->button_range    =  
+  dialog->button_range    =
     GTK_TOGGLE_BUTTON(get_widget_assert(xml, "range_missing"));
 
 
-  g_signal_connect(G_OBJECT(dialog->button_discrete), "toggled", 
+  g_signal_connect(G_OBJECT(dialog->button_discrete), "toggled",
                   G_CALLBACK(discrete), dialog);
 
-  g_signal_connect(G_OBJECT(dialog->button_range), "toggled", 
+  g_signal_connect(G_OBJECT(dialog->button_range), "toggled",
                   G_CALLBACK(range), dialog);
 
   return dialog;
 }
 
 /* Shows the dialog box and sets default values */
-void 
+void
 missing_val_dialog_show(struct missing_val_dialog *dialog)
 {
   const struct fmt_spec *write_spec ;
@@ -272,10 +272,10 @@ missing_val_dialog_show(struct missing_val_dialog *dialog)
   /* Blank all entry boxes and make them insensitive */
   gtk_entry_set_text(GTK_ENTRY(dialog->low), "");
   gtk_entry_set_text(GTK_ENTRY(dialog->high), "");
-  gtk_entry_set_text(GTK_ENTRY(dialog->discrete), "");   
-  gtk_widget_set_sensitive(dialog->low, FALSE);      
-  gtk_widget_set_sensitive(dialog->high, FALSE);      
-  gtk_widget_set_sensitive(dialog->discrete, FALSE);   
+  gtk_entry_set_text(GTK_ENTRY(dialog->discrete), "");
+  gtk_widget_set_sensitive(dialog->low, FALSE);
+  gtk_widget_set_sensitive(dialog->high, FALSE);
+  gtk_widget_set_sensitive(dialog->discrete, FALSE);
 
   gtk_widget_set_sensitive(GTK_WIDGET(dialog->button_range),
                           var_is_numeric (dialog->pv));
@@ -283,7 +283,7 @@ missing_val_dialog_show(struct missing_val_dialog *dialog)
 
   for(i = 0 ; i < 3 ; ++i )
     {
-      gtk_entry_set_text(GTK_ENTRY(dialog->mv[i]), "");          
+      gtk_entry_set_text(GTK_ENTRY(dialog->mv[i]), "");
       gtk_widget_set_sensitive(dialog->mv[i], FALSE);
     }
 
@@ -296,7 +296,7 @@ missing_val_dialog_show(struct missing_val_dialog *dialog)
 
       low_text = value_to_text(low, *write_spec);
       high_text = value_to_text(high, *write_spec);
-      
+
       gtk_entry_set_text(GTK_ENTRY(dialog->low), low_text);
       gtk_entry_set_text(GTK_ENTRY(dialog->high), high_text);
       g_free(low_text);
@@ -311,18 +311,18 @@ missing_val_dialog_show(struct missing_val_dialog *dialog)
          gtk_entry_set_text(GTK_ENTRY(dialog->discrete), text);
          g_free(text);
        }
-      
+
       gtk_toggle_button_set_active(dialog->button_range, TRUE);
-      gtk_widget_set_sensitive(dialog->low, TRUE);      
-      gtk_widget_set_sensitive(dialog->high, TRUE);      
-      gtk_widget_set_sensitive(dialog->discrete, TRUE);   
+      gtk_widget_set_sensitive(dialog->low, TRUE);
+      gtk_widget_set_sensitive(dialog->high, TRUE);
+      gtk_widget_set_sensitive(dialog->discrete, TRUE);
 
     }
   else if ( mv_has_value (&dialog->mvl))
     {
       const int n = mv_n_values (&dialog->mvl);
 
-      for(i = 0 ; i < 3 ; ++i ) 
+      for(i = 0 ; i < 3 ; ++i )
        {
          if ( i < n)
            {
index deb506f4ecaa00325a6323be7d8f118370b344c3..3ca852af9dd17bd3a923ddfec5b6fbed49bfb042 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2005  Free Software Foundation
 
index cd9c2ba66058040c6f7f09f092df3bed10427a62..6c7942f551a0bfe34e86bd80c6d7b190c1098e8e 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2006  Free Software Foundation
 
@@ -43,7 +43,7 @@ static void psppire_case_file_finalize        (GObject                *object);
 /* --- variables --- */
 static GObjectClass     *parent_class = NULL;
 
-enum  {CASE_CHANGED, 
+enum  {CASE_CHANGED,
        CASE_INSERTED,
        CASES_DELETED,
        n_SIGNALS};
@@ -99,7 +99,7 @@ psppire_case_file_class_init (PsppireCaseFileClass *class)
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  1,
                  G_TYPE_INT);
 
@@ -111,7 +111,7 @@ psppire_case_file_class_init (PsppireCaseFileClass *class)
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  1,
                  G_TYPE_INT);
 
@@ -123,7 +123,7 @@ psppire_case_file_class_init (PsppireCaseFileClass *class)
                  0,
                  NULL, NULL,
                  gtkextra_VOID__INT_INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  2,
                  G_TYPE_INT, G_TYPE_INT);
 }
@@ -132,8 +132,8 @@ static void
 psppire_case_file_finalize (GObject *object)
 {
   PsppireCaseFile *cf = PSPPIRE_CASE_FILE (object);
-  
-  if ( cf->flexifile) 
+
+  if ( cf->flexifile)
     casefile_destroy(cf->flexifile);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -149,8 +149,8 @@ psppire_case_file_init (PsppireCaseFile *cf)
 /**
  * psppire_case_file_new:
  * @returns: a new #PsppireCaseFile object
- * 
- * Creates a new #PsppireCaseFile. 
+ *
+ * Creates a new #PsppireCaseFile.
  */
 PsppireCaseFile*
 psppire_case_file_new (gint val_cnt)
@@ -197,7 +197,7 @@ psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_cases, gint first)
 
 /* Insert case CC into the case file before POSN */
 gboolean
-psppire_case_file_insert_case(PsppireCaseFile *cf, 
+psppire_case_file_insert_case(PsppireCaseFile *cf,
                              struct ccase *cc,
                              gint posn)
 {
@@ -207,19 +207,19 @@ psppire_case_file_insert_case(PsppireCaseFile *cf,
   g_return_val_if_fail(cf->flexifile, FALSE);
 
   result = flexifile_insert_case(FLEXIFILE(cf->flexifile), cc, posn);
-  
-  if ( result ) 
+
+  if ( result )
     g_signal_emit(cf, signal[CASE_INSERTED], 0, posn);
   else
     g_warning("Cannot insert case at position %d\n", posn);
-               
+
   return result;
 }
 
 
 /* Append a case to the case file */
 gboolean
-psppire_case_file_append_case(PsppireCaseFile *cf, 
+psppire_case_file_append_case(PsppireCaseFile *cf,
                              struct ccase *c)
 {
   bool result ;
@@ -231,9 +231,9 @@ psppire_case_file_append_case(PsppireCaseFile *cf,
   posn = casefile_get_case_cnt(cf->flexifile);
 
   result = casefile_append(cf->flexifile, c);
-  
+
   g_signal_emit(cf, signal[CASE_INSERTED], 0, posn);
-               
+
   return result;
 }
 
@@ -242,8 +242,8 @@ inline gint
 psppire_case_file_get_case_count(const PsppireCaseFile *cf)
 {
   g_return_val_if_fail(cf, FALSE);
-  
-  if ( ! cf->flexifile) 
+
+  if ( ! cf->flexifile)
     return 0;
 
   return casefile_get_case_cnt(cf->flexifile);
@@ -255,7 +255,7 @@ psppire_case_file_get_case_count(const PsppireCaseFile *cf)
 const union value *
 psppire_case_file_get_value(const PsppireCaseFile *cf, gint casenum, gint idx)
 {
-  const union value *v; 
+  const union value *v;
   struct ccase c;
 
   g_return_val_if_fail(cf, NULL);
@@ -295,7 +295,7 @@ psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum, gint idx,
   if ( ! flexifile_get_case(FLEXIFILE(cf->flexifile), casenum, &cc) )
     return FALSE;
 
-  if ( width == 0 ) 
+  if ( width == 0 )
     bytes = MAX_SHORT_STRING;
   else
     bytes = DIV_RND_UP(width, MAX_SHORT_STRING) * MAX_SHORT_STRING ;
@@ -349,27 +349,27 @@ psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *sc)
   cfile = sort_execute(reader, sc, factory);
 
   casefile_destroy(cf->flexifile);
-  
+
   cf->flexifile = cfile;
 
   /* FIXME: Need to have a signal to change a range of cases, instead of
      calling a signal many times */
-  for ( c = 0 ; c < casefile_get_case_cnt(cf->flexifile) ; ++c ) 
+  for ( c = 0 ; c < casefile_get_case_cnt(cf->flexifile) ; ++c )
     g_signal_emit(cf, signal[CASE_CHANGED], 0, c);
 
   flexifile_factory_destroy (factory);
 }
 
 
-/* Resize the cases in the casefile, by inserting N_VALUES into every 
+/* Resize the cases in the casefile, by inserting N_VALUES into every
    one of them. */
-gboolean 
-psppire_case_file_insert_values (PsppireCaseFile *cf, 
+gboolean
+psppire_case_file_insert_values (PsppireCaseFile *cf,
                                 gint n_values, gint before)
 {
   g_return_val_if_fail(cf, FALSE);
 
-  if ( ! cf->flexifile ) 
+  if ( ! cf->flexifile )
     {
       cf->flexifile = flexifile_create(n_values);
 
@@ -383,7 +383,7 @@ psppire_case_file_insert_values (PsppireCaseFile *cf,
    Returns true on success, false otherwise.
  */
 gboolean
-psppire_case_file_get_case (const PsppireCaseFile *cf, gint casenum, 
+psppire_case_file_get_case (const PsppireCaseFile *cf, gint casenum,
                           struct ccase *c)
 {
   g_return_val_if_fail (cf, FALSE);
index e2b8252c289c16d43dd6b7a3ff645987678b9eda..878fc4744ce5a9ce708e8634cfbf13bc7715a48a 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2006  Free Software Foundation
 
@@ -77,7 +77,7 @@ gboolean psppire_case_file_insert_case(PsppireCaseFile *cf, struct ccase *c, gin
 gint psppire_case_file_get_case_count(const PsppireCaseFile *cf);
 
 
-const union value * psppire_case_file_get_value(const PsppireCaseFile *cf, 
+const union value * psppire_case_file_get_value(const PsppireCaseFile *cf,
                                              gint c, gint idx);
 
 struct fmt_spec;
@@ -86,13 +86,13 @@ gboolean psppire_case_file_data_in(PsppireCaseFile *cf, gint c, gint idx,
                                    struct substring input,
                                    const struct fmt_spec *);
 
-gboolean psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum, 
+gboolean psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum,
                                     gint idx, union value *v, gint width);
 
 void psppire_case_file_clear(PsppireCaseFile *cf);
 
 
-gboolean psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_rows, 
+gboolean psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_rows,
                                        gint first);
 
 gboolean psppire_case_file_insert_values(PsppireCaseFile *cf, gint n_values, gint before);
@@ -100,7 +100,7 @@ gboolean psppire_case_file_insert_values(PsppireCaseFile *cf, gint n_values, gin
 struct sort_criteria;
 void psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *);
 
-gboolean psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum, 
+gboolean psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum,
                                    struct ccase *c);
 
 
index c0bebeccb03f3b7126b90a94e43d8e4d9f7d3c0c..30d0cbd3e6e53d4aaa83590a61cd3157b1c73f74 100644 (file)
@@ -1,5 +1,5 @@
 /* psppire-data-store.c
+
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2006  Free Software Foundation
 
@@ -60,10 +60,10 @@ static void psppire_data_store_finalize        (GObject           *object);
 
 static gchar *psppire_data_store_get_string(const GSheetModel *sheet_model, gint row, gint column);
 
-static gboolean psppire_data_store_set_string(GSheetModel *model, 
+static gboolean psppire_data_store_set_string(GSheetModel *model,
                                          const gchar *text, gint row, gint column);
 
-static gboolean psppire_data_store_clear_datum(GSheetModel *model, 
+static gboolean psppire_data_store_clear_datum(GSheetModel *model,
                                          gint row, gint column);
 
 
@@ -159,7 +159,7 @@ psppire_data_store_class_init (PsppireDataStoreClass *class)
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  0);
 }
 
@@ -169,7 +169,7 @@ static gint
 psppire_data_store_get_var_count (const GSheetModel *model)
 {
   const PsppireDataStore *store = PSPPIRE_DATA_STORE(model);
-  
+
   return psppire_dict_get_var_cnt(store->dict);
 }
 
@@ -195,7 +195,7 @@ psppire_data_store_get_font_desc(const GSheetModel *model,
                              gint row, gint column)
 {
   PsppireDataStore *store = PSPPIRE_DATA_STORE(model);
-  
+
   return store->font_desc;
 }
 
@@ -247,7 +247,7 @@ insert_case_callback(GtkWidget *w, gint casenum, gpointer data)
   g_return_if_fail (data);
 
   store  = PSPPIRE_DATA_STORE(data);
-  
+
   g_sheet_model_range_changed (G_SHEET_MODEL(store),
                               casenum, -1,
                               psppire_case_file_get_case_count(store->case_file),
@@ -264,7 +264,7 @@ changed_case_callback(GtkWidget *w, gint casenum, gpointer data)
   g_return_if_fail (data);
 
   store  = PSPPIRE_DATA_STORE(data);
-  
+
   g_sheet_model_range_changed (G_SHEET_MODEL(store),
                                 casenum, -1,
                                 casenum, -1);
@@ -295,8 +295,8 @@ insert_variable_callback(GObject *obj, gint var_num, gpointer data)
   g_return_if_fail (data);
 
   store  = PSPPIRE_DATA_STORE(data);
-  
-  if ( var_num > 0 ) 
+
+  if ( var_num > 0 )
     {
       struct variable *variable;
       variable = psppire_dict_get_variable(store->dict, var_num);
@@ -318,7 +318,7 @@ insert_variable_callback(GObject *obj, gint var_num, gpointer data)
 
 
 static void
-dict_size_change_callback(GObject *obj, 
+dict_size_change_callback(GObject *obj,
                          gint posn, gint adjustment, gpointer data)
 {
   PsppireDataStore *store ;
@@ -377,34 +377,34 @@ psppire_data_store_set_dictionary(PsppireDataStore *data_store, PsppireDict *dic
 
   data_store->case_file = psppire_case_file_new(var_cnt);
 
-  g_signal_connect(data_store->case_file, "cases-deleted", 
-                  G_CALLBACK(delete_cases_callback), 
+  g_signal_connect(data_store->case_file, "cases-deleted",
+                  G_CALLBACK(delete_cases_callback),
                   data_store);
 
-  g_signal_connect(data_store->case_file, "case-inserted", 
-                  G_CALLBACK(insert_case_callback), 
+  g_signal_connect(data_store->case_file, "case-inserted",
+                  G_CALLBACK(insert_case_callback),
                   data_store);
 
 
-  g_signal_connect(data_store->case_file, "case-changed", 
-                  G_CALLBACK(changed_case_callback), 
+  g_signal_connect(data_store->case_file, "case-changed",
+                  G_CALLBACK(changed_case_callback),
                   data_store);
 
-  g_signal_connect(dict, "variable-inserted", 
-                  G_CALLBACK(insert_variable_callback), 
+  g_signal_connect(dict, "variable-inserted",
+                  G_CALLBACK(insert_variable_callback),
                   data_store);
 
-  g_signal_connect(dict, "variables-deleted", 
-                  G_CALLBACK(delete_variables_callback), 
+  g_signal_connect(dict, "variables-deleted",
+                  G_CALLBACK(delete_variables_callback),
                   data_store);
 
-  g_signal_connect (dict, "dict-size-changed", 
+  g_signal_connect (dict, "dict-size-changed",
                    G_CALLBACK(dict_size_change_callback),
                    data_store);
 
   /* The entire model has changed */
   g_sheet_model_range_changed (G_SHEET_MODEL(data_store), -1, -1, -1, -1);
-  
+
   g_sheet_column_columns_changed(G_SHEET_COLUMN(data_store), 0, -1);
 }
 
@@ -423,19 +423,19 @@ gboolean
 psppire_data_store_insert_new_case(PsppireDataStore *ds, gint posn)
 {
   gboolean result;
-  gint val_cnt, v; 
+  gint val_cnt, v;
   struct ccase cc;
   g_return_val_if_fail (ds, FALSE);
 
 
   /* Opportunity for optimisation exists here when creating a blank case */
   val_cnt = casefile_get_value_cnt(ds->case_file->flexifile) ;
-  
+
   case_create (&cc, val_cnt);
 
   memset ( case_data_rw_idx (&cc, 0), 0, val_cnt * MAX_SHORT_STRING);
 
-  for (v = 0 ; v < psppire_dict_get_var_cnt (ds->dict) ; ++v) 
+  for (v = 0 ; v < psppire_dict_get_var_cnt (ds->dict) ; ++v)
     {
       const struct variable *pv = psppire_dict_get_variable (ds->dict, v);
       if ( var_is_alpha (pv))
@@ -480,7 +480,7 @@ psppire_data_store_get_string (const GSheetModel *model, gint row, gint column)
 
   g_return_val_if_fail(v, NULL);
 
-  if ( store->show_labels) 
+  if ( store->show_labels)
     {
       const struct val_labs * vl = var_get_value_labels (pv);
 
@@ -495,11 +495,11 @@ psppire_data_store_get_string (const GSheetModel *model, gint row, gint column)
 
   s = g_string_sized_new (fp->w + 1);
   g_string_set_size (s, fp->w);
-  
+
   memset (s->str, 0, fp->w);
 
   g_assert (fp->w == s->len);
-    
+
   /* Converts binary value V into printable form in the exactly
      FP->W character in buffer S according to format specification
      FP.  No null terminator is appended to the buffer.  */
@@ -514,8 +514,8 @@ psppire_data_store_get_string (const GSheetModel *model, gint row, gint column)
 }
 
 
-static gboolean 
-psppire_data_store_clear_datum (GSheetModel *model, 
+static gboolean
+psppire_data_store_clear_datum (GSheetModel *model,
                                          gint row, gint col)
 
 {
@@ -531,19 +531,19 @@ psppire_data_store_clear_datum (GSheetModel *model,
   else
     memcpy(v.s, "", MAX_SHORT_STRING);
 
-  psppire_case_file_set_value(store->case_file, row, index, &v, 
+  psppire_case_file_set_value(store->case_file, row, index, &v,
                              var_get_width (pv));
 
   return TRUE;
 }
 
 
-/* Attempts to update that part of the variable store which corresponds 
+/* Attempts to update that part of the variable store which corresponds
    to ROW, COL with  the value TEXT.
    Returns true if anything was updated, false otherwise.
 */
-static gboolean 
-psppire_data_store_set_string(GSheetModel *model, 
+static gboolean
+psppire_data_store_set_string(GSheetModel *model,
                          const gchar *text, gint row, gint col)
 {
   PsppireDataStore *store = PSPPIRE_DATA_STORE(model);
@@ -553,7 +553,7 @@ psppire_data_store_set_string(GSheetModel *model,
 
 #if 0
   /* Allow the user to insert a lot of blank cases, simply by skipping rows */
-  for(r = psppire_case_file_get_case_count(store->case_file); r <= row ; ++r) 
+  for(r = psppire_case_file_get_case_count(store->case_file); r <= row ; ++r)
     {
 
       gint c;
@@ -561,7 +561,7 @@ psppire_data_store_set_string(GSheetModel *model,
       psppire_case_array_insert_case(store->cases, r, 0, 0);
 
 
-      for (c = 0 ; c < psppire_dict_get_var_cnt(store->dict); ++c ) 
+      for (c = 0 ; c < psppire_dict_get_var_cnt(store->dict); ++c )
        psppire_data_store_clear_datum(model, r, c);
     }
 #endif
@@ -569,13 +569,13 @@ psppire_data_store_set_string(GSheetModel *model,
   psppire_case_file_data_in (store->case_file, row,
                              var_get_case_index (pv), ss_cstr (text),
                              var_get_write_format (pv));
-  
+
   return TRUE;
 }
 
 
 void
-psppire_data_store_set_font(PsppireDataStore *store, 
+psppire_data_store_set_font(PsppireDataStore *store,
                            const PangoFontDescription *fd)
 {
   g_return_if_fail (store);
@@ -585,7 +585,7 @@ psppire_data_store_set_font(PsppireDataStore *store,
 #if 0
   store->width_of_m = calc_m_width(fd);
 #endif
-  g_signal_emit(store, signal[FONT_CHANGED], 0);  
+  g_signal_emit(store, signal[FONT_CHANGED], 0);
 
 
   g_sheet_model_range_changed (G_SHEET_MODEL(store),
@@ -618,7 +618,7 @@ psppire_data_store_create_system_file(PsppireDataStore *store,
     true, /* writeable */
     false, /* dont compress */
     3 /* version */
-  }; 
+  };
 
   struct sfm_writer *writer ;
 
@@ -626,16 +626,16 @@ psppire_data_store_create_system_file(PsppireDataStore *store,
 
   writer = sfm_open_writer(handle, store->dict->dict, wo);
 
-  if ( ! writer) 
+  if ( ! writer)
     return;
 
 
   var_cnt = psppire_data_store_get_var_count (G_SHEET_MODEL(store));
 
-  for (i = 0 ; i < psppire_case_file_get_case_count(store->case_file); ++i ) 
+  for (i = 0 ; i < psppire_case_file_get_case_count(store->case_file); ++i )
     {
       struct ccase c;
-      
+
       case_create (&c, var_cnt);
       psppire_case_file_get_case (store->case_file, i, &c);
       sfm_write_case (writer, &c);
@@ -648,7 +648,7 @@ psppire_data_store_create_system_file(PsppireDataStore *store,
 
 
 
-void 
+void
 psppire_data_store_clear(PsppireDataStore *data_store)
 {
   psppire_case_file_clear(data_store->case_file);
@@ -682,7 +682,7 @@ geometry_get_width(const GSheetColumn *geom, gint unit)
 
   pv = psppire_dict_get_variable (ds->dict, unit);
 
-  if ( pv == NULL ) 
+  if ( pv == NULL )
     return ds->width_of_m * 8 ;
 
   return ds->width_of_m * var_get_display_width (pv);
@@ -719,7 +719,7 @@ geometry_get_justification(const GSheetColumn *geom, gint unit)
 
 
 static const gchar null_var_name[]=N_("var");
+
 static gchar *
 geometry_get_column_button_label(const GSheetColumn *geom, gint unit)
 {
@@ -783,7 +783,7 @@ geometry_get_row_sensitivity(const GSheetRow *geom, gint unit, gpointer data)
 {
   PsppireDataStore *ds = PSPPIRE_DATA_STORE(geom);
 
-  
+
   return (unit < psppire_case_file_get_case_count(ds->case_file));
 }
 
@@ -795,16 +795,16 @@ geometry_get_row_button_label(const GSheetRow *geom, gint unit, gpointer data)
   gchar *s;
   PsppireDataStore *ds = PSPPIRE_DATA_STORE(geom);
 
-  if ( unit > 
+  if ( unit >
        TRAILING_ROWS + psppire_case_file_get_case_count(ds->case_file))
     return 0;
 
   s = g_strdup_printf(_("%d"), unit);
 
   text =  pspp_locale_to_utf8(s, -1, 0);
-  
+
   g_free(s);
-  
+
   return text;
 }
 
index c3482cf4cb2accaa60253c1ab6a8f09563224cc3..a828a88a14c9dedbd6a898a8c84da5017b9028a8 100644 (file)
@@ -1,5 +1,5 @@
 /* psppire-data-store.h
+
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2006  Free Software Foundation
 
@@ -61,8 +61,8 @@ struct _PsppireDataStore
   const PangoFontDescription *font_desc;
 
   /* The width of an upper case 'M' rendered in the current font */
-  gint width_of_m ; 
-  
+  gint width_of_m ;
+
   gboolean show_labels;
 
   /* Geometry */
@@ -84,15 +84,15 @@ struct _PsppireDataStoreClass
 inline GType psppire_data_store_get_type (void) G_GNUC_CONST;
 PsppireDataStore *psppire_data_store_new     (PsppireDict *dict);
 
-void psppire_data_store_set_dictionary(PsppireDataStore *data_store, 
+void psppire_data_store_set_dictionary(PsppireDataStore *data_store,
                                       PsppireDict *dict);
 
-void psppire_data_store_set_font(PsppireDataStore *store, 
+void psppire_data_store_set_font(PsppireDataStore *store,
                                 const PangoFontDescription *fd);
 
-void psppire_data_store_show_labels(PsppireDataStore *store, 
+void psppire_data_store_show_labels(PsppireDataStore *store,
                                    gboolean show_labels);
-  
+
 void psppire_data_store_clear(PsppireDataStore *data_store);
 
 struct file_handle;
index 070ce240bb7fcd28fb9f38dcd19f206b305fea9e..61337d24bbae7800017c52c91d2eeb0c755dc380 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2004, 2006  Free Software Foundation
 
@@ -45,10 +45,10 @@ static void dictionary_tree_model_init(GtkTreeModelIface *iface);
 /* --- variables --- */
 static GObjectClass     *parent_class = NULL;
 
-enum  {VARIABLE_CHANGED, 
+enum  {VARIABLE_CHANGED,
        VARIABLE_RESIZED,
        VARIABLE_INSERTED,
-       VARIABLES_DELETED, 
+       VARIABLES_DELETED,
        n_SIGNALS};
 
 static guint signal[n_SIGNALS];
@@ -80,16 +80,16 @@ psppire_dict_get_type (void)
       };
 
       static const GInterfaceInfo tree_model_info = {
-       (GInterfaceInitFunc) dictionary_tree_model_init, 
-       NULL, 
+       (GInterfaceInitFunc) dictionary_tree_model_init,
+       NULL,
        NULL
       };
 
-      object_type = g_type_register_static (G_TYPE_PSPPIRE_OBJECT, 
+      object_type = g_type_register_static (G_TYPE_PSPPIRE_OBJECT,
                                            "PsppireDict",
                                            &object_info, 0);
 
-      g_type_add_interface_static(object_type, GTK_TYPE_TREE_MODEL, 
+      g_type_add_interface_static(object_type, GTK_TYPE_TREE_MODEL,
                                  &tree_model_info);
 
 
@@ -115,7 +115,7 @@ psppire_dict_class_init (PsppireDictClass *class)
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  1,
                  G_TYPE_INT);
 
@@ -128,7 +128,7 @@ psppire_dict_class_init (PsppireDictClass *class)
                  0,
                  NULL, NULL,
                  g_cclosure_marshal_VOID__INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  1,
                  G_TYPE_INT);
 
@@ -140,7 +140,7 @@ psppire_dict_class_init (PsppireDictClass *class)
                  0,
                  NULL, NULL,
                  gtkextra_VOID__INT_INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  2,
                  G_TYPE_INT,
                  G_TYPE_INT);
@@ -153,7 +153,7 @@ psppire_dict_class_init (PsppireDictClass *class)
                  0,
                  NULL, NULL,
                  gtkextra_VOID__INT_INT,
-                 G_TYPE_NONE, 
+                 G_TYPE_NONE,
                  2,
                  G_TYPE_INT,
                  G_TYPE_INT);
@@ -223,7 +223,7 @@ psppire_dict_new_from_dict (struct dictionary *d)
 
 /* Returns a valid name for a new variable in DICT.
    The return value is statically allocated */
-static gchar * 
+static gchar *
 auto_generate_var_name (PsppireDict *dict)
 {
   gint d = 0;
@@ -247,14 +247,14 @@ psppire_dict_insert_variable(PsppireDict *d, gint idx, const gchar *name)
   g_return_if_fail(G_IS_PSPPIRE_DICT(d));
 
 
-  if ( ! name ) 
+  if ( ! name )
     name = auto_generate_var_name(d);
-  
+
   var = dict_create_var(d->dict, name, 0);
 
   dict_reorder_var(d->dict, var, idx);
 
-  g_signal_emit(d, signal[VARIABLE_INSERTED], 0, idx );  
+  g_signal_emit(d, signal[VARIABLE_INSERTED], 0, idx );
 }
 
 /* Delete N variables beginning at FIRST */
@@ -266,20 +266,20 @@ psppire_dict_delete_variables(PsppireDict *d, gint first, gint n)
   g_return_if_fail(d->dict);
   g_return_if_fail(G_IS_PSPPIRE_DICT(d));
 
-  for (idx = 0 ; idx < n ; ++idx ) 
+  for (idx = 0 ; idx < n ; ++idx )
     {
       struct variable *var;
 
       /* Do nothing if it's out of bounds */
       if ( first >= dict_get_var_cnt (d->dict))
-       break; 
+       break;
 
       var = dict_get_var(d->dict, first);
       dict_delete_var (d->dict, var);
     }
   dict_compact_values(d->dict);
 
-  g_signal_emit(d, signal[VARIABLES_DELETED], 0, first, idx );  
+  g_signal_emit(d, signal[VARIABLES_DELETED], 0, first, idx );
 }
 
 
@@ -431,18 +431,18 @@ static gint tree_model_n_columns (GtkTreeModel *model);
 
 static GType tree_model_column_type (GtkTreeModel *model, gint index);
 
-static gboolean tree_model_get_iter (GtkTreeModel *model, GtkTreeIter *iter, 
+static gboolean tree_model_get_iter (GtkTreeModel *model, GtkTreeIter *iter,
                                     GtkTreePath *path);
 
 static gboolean tree_model_iter_next (GtkTreeModel *model, GtkTreeIter *iter);
 
-static GtkTreePath * tree_model_get_path (GtkTreeModel *model, 
+static GtkTreePath * tree_model_get_path (GtkTreeModel *model,
                                          GtkTreeIter *iter);
 
 static void tree_model_get_value (GtkTreeModel *model, GtkTreeIter *iter,
                                  gint column, GValue *value);
 
-static gboolean tree_model_nth_child (GtkTreeModel *model, GtkTreeIter *iter, 
+static gboolean tree_model_nth_child (GtkTreeModel *model, GtkTreeIter *iter,
                                      GtkTreeIter *parent, gint n);
 
 
@@ -484,7 +484,7 @@ tree_model_column_type (GtkTreeModel *model, gint index)
 {
   g_return_val_if_fail (G_IS_PSPPIRE_DICT(model), (GType) 0);
 
-  switch(index) 
+  switch(index)
     {
     case DICT_TVM_COL_NAME:
       return G_TYPE_STRING;
@@ -519,7 +519,7 @@ tree_model_get_iter(GtkTreeModel *model, GtkTreeIter *iter, GtkTreePath *path)
 
   n = indices[0];
 
-  if ( n < 0 || n >= psppire_dict_get_var_cnt (dict)) 
+  if ( n < 0 || n >= psppire_dict_get_var_cnt (dict))
     return FALSE;
 
   variable = dict_get_var (dict->dict, n);
index 5d24198fa3371e3aef1921e0dd97e626269da755..f634b3723daf6a02642cd32347edc4295680be11 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2004  Free Software Foundation
 
@@ -95,11 +95,11 @@ void psppire_dict_delete_variables(PsppireDict *d, gint first, gint n);
 /* Insert a new variable at posn IDX */
 void psppire_dict_insert_variable(PsppireDict *d, gint idx, const gchar *name);
 
-void psppire_dict_resize_variable(PsppireDict *, 
+void psppire_dict_resize_variable(PsppireDict *,
                                  const struct variable *,
                                  gint, gint );
 
-gboolean psppire_dict_check_name(const PsppireDict *dict, 
+gboolean psppire_dict_check_name(const PsppireDict *dict,
                              const gchar *name, gboolean report);
 
 gint psppire_dict_get_next_value_idx (const PsppireDict *dict);
index e47c85c6eb6480006fb309ee83fc453ac5079769..8674f61b12492abe25b84f4d4b05dfba45b6f041 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2004  Free Software Foundation
 
@@ -65,7 +65,7 @@ psppire_object_get_type (void)
   return object_type;
 }
 
-static guint signal_changed = 0 ; 
+static guint signal_changed = 0 ;
 
 static void
 psppire_object_class_init (PsppireObjectClass *class)
@@ -102,8 +102,8 @@ psppire_object_init (PsppireObject *psppire_object)
 /**
  * psppire_object_new:
  * @returns: a new #PsppireObject object
- * 
- * Creates a new #PsppireObject. 
+ *
+ * Creates a new #PsppireObject.
  */
 PsppireObject*
 psppire_object_new (void)
index 0d49553391810e8fd1766ef1af0ac7e750e0edb3..2e9ee04bcd67a1694c8ee1537a1d266cbcb100ed 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2004  Free Software Foundation
 
index 64fbfa7dcd3589becf7badc828372b945d964a4e..f591277b40de8aa4e0a72013734a66bd456d3ba7 100644 (file)
@@ -1,5 +1,5 @@
 /* psppire-var-store.c
+
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2006  Free Software Foundation
 
@@ -56,7 +56,7 @@ static gchar *psppire_var_store_get_string(const GSheetModel *sheet_model, gint
 static gboolean  psppire_var_store_clear(GSheetModel *model,  gint row, gint col);
 
 
-static gboolean psppire_var_store_set_string(GSheetModel *model, 
+static gboolean psppire_var_store_set_string(GSheetModel *model,
                                          const gchar *text, gint row, gint column);
 
 static gint psppire_var_store_get_row_count(const GSheetModel * model);
@@ -151,29 +151,29 @@ psppire_var_store_item_editable(PsppireVarStore *var_store, gint row, gint colum
 
   struct variable *pv = psppire_var_store_get_var (var_store, row);
 
-  if ( !pv ) 
+  if ( !pv )
     return TRUE;
 
-  if ( VAR_STRING == var_get_type (pv) && column == COL_DECIMALS ) 
+  if ( VAR_STRING == var_get_type (pv) && column == COL_DECIMALS )
     return FALSE;
 
   write_spec =var_get_write_format (pv);
 
-  switch ( write_spec->type ) 
+  switch ( write_spec->type )
     {
-    case FMT_DATE:     
-    case FMT_EDATE:    
-    case FMT_SDATE:    
-    case FMT_ADATE:    
-    case FMT_JDATE:    
-    case FMT_QYR:      
-    case FMT_MOYR:     
-    case FMT_WKYR:     
-    case FMT_DATETIME: 
-    case FMT_TIME:     
-    case FMT_DTIME:    
-    case FMT_WKDAY:    
-    case FMT_MONTH:    
+    case FMT_DATE:
+    case FMT_EDATE:
+    case FMT_SDATE:
+    case FMT_ADATE:
+    case FMT_JDATE:
+    case FMT_QYR:
+    case FMT_MOYR:
+    case FMT_WKYR:
+    case FMT_DATETIME:
+    case FMT_TIME:
+    case FMT_DTIME:
+    case FMT_WKDAY:
+    case FMT_MONTH:
       if ( column == COL_DECIMALS || column == COL_WIDTH)
        return FALSE;
       break;
@@ -185,7 +185,7 @@ psppire_var_store_item_editable(PsppireVarStore *var_store, gint row, gint colum
 }
 
 
-struct variable * 
+struct variable *
 psppire_var_store_get_var (PsppireVarStore *store, gint row)
 {
   return psppire_dict_get_variable (store->dict, row);
@@ -204,9 +204,9 @@ psppire_var_store_get_foreground(const GSheetModel *model, gint row, gint column
 {
   PsppireVarStore *store = PSPPIRE_VAR_STORE(model);
 
-  if ( ! psppire_var_store_item_editable(store, row, column) ) 
+  if ( ! psppire_var_store_item_editable(store, row, column) )
     return &store->disabled;
-  
+
   return NULL;
 }
 
@@ -216,7 +216,7 @@ psppire_var_store_get_font_desc(const GSheetModel *model,
                              gint row, gint column)
 {
   PsppireVarStore *store = PSPPIRE_VAR_STORE(model);
-  
+
   return store->font_desc;
 }
 
@@ -259,7 +259,7 @@ psppire_var_store_new (PsppireDict *dict)
   return retval;
 }
 
-static void 
+static void
 var_change_callback(GtkWidget *w, gint n, gpointer data)
 {
   GSheetModel *model = G_SHEET_MODEL(data);
@@ -268,17 +268,17 @@ var_change_callback(GtkWidget *w, gint n, gpointer data)
 }
 
 
-static void 
+static void
 var_delete_callback(GtkWidget *w, gint first, gint n, gpointer data)
 {
   GSheetModel *model = G_SHEET_MODEL(data);
-  
+
   g_sheet_model_rows_deleted (model, first, n);
 }
 
 
 
-static void 
+static void
 var_insert_callback(GtkWidget *w, gint row, gpointer data)
 {
   GSheetModel *model = G_SHEET_MODEL(data);
@@ -303,13 +303,13 @@ psppire_var_store_set_dictionary(PsppireVarStore *var_store, PsppireDict *dict)
 
   var_store->dict = dict;
 
-  g_signal_connect(dict, "variable-changed", G_CALLBACK(var_change_callback), 
+  g_signal_connect(dict, "variable-changed", G_CALLBACK(var_change_callback),
                   var_store);
 
-  g_signal_connect(dict, "variables-deleted", G_CALLBACK(var_delete_callback), 
+  g_signal_connect(dict, "variables-deleted", G_CALLBACK(var_delete_callback),
                   var_store);
 
-  g_signal_connect(dict, "variable-inserted", G_CALLBACK(var_insert_callback), 
+  g_signal_connect(dict, "variable-inserted", G_CALLBACK(var_insert_callback),
                   var_store);
 
 
@@ -333,18 +333,18 @@ psppire_var_store_get_string(const GSheetModel *model, gint row, gint column)
 
   if ( row >= psppire_dict_get_var_cnt(store->dict))
     return 0;
-  
+
   pv = psppire_dict_get_variable (store->dict, row);
-  
+
   return text_for_column (pv, column, 0);
 }
 
 
-/* Clears that part of the variable store, if possible, which corresponds 
+/* Clears that part of the variable store, if possible, which corresponds
    to ROW, COL.
    Returns true if anything was updated, false otherwise.
 */
-static gboolean 
+static gboolean
 psppire_var_store_clear(GSheetModel *model,  gint row, gint col)
 {
   struct variable *pv ;
@@ -356,7 +356,7 @@ psppire_var_store_clear(GSheetModel *model,  gint row, gint col)
 
   pv = psppire_var_store_get_var (var_store, row);
 
-  if ( !pv ) 
+  if ( !pv )
     return FALSE;
 
   switch (col)
@@ -370,12 +370,12 @@ psppire_var_store_clear(GSheetModel *model,  gint row, gint col)
   return FALSE;
 }
 
-/* Attempts to update that part of the variable store which corresponds 
+/* Attempts to update that part of the variable store which corresponds
    to ROW, COL with  the value TEXT.
    Returns true if anything was updated, false otherwise.
 */
-static gboolean 
-psppire_var_store_set_string(GSheetModel *model, 
+static gboolean
+psppire_var_store_set_string(GSheetModel *model,
                          const gchar *text, gint row, gint col)
 {
   struct variable *pv ;
@@ -387,7 +387,7 @@ psppire_var_store_set_string(GSheetModel *model,
 
   pv = psppire_var_store_get_var (var_store, row);
 
-  if ( !pv ) 
+  if ( !pv )
     return FALSE;
 
   switch (col)
@@ -469,7 +469,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
 {
   static gchar none[] = N_("None");
 
-  static const gchar *const type_label[] = 
+  static const gchar *const type_label[] =
     {
       N_("Numeric"),
       N_("Comma"),
@@ -480,7 +480,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
       N_("Custom"),
       N_("String")
     };
-  enum {VT_NUMERIC, VT_COMMA, VT_DOT, VT_SCIENTIFIC, VT_DATE, VT_DOLLAR, 
+  enum {VT_NUMERIC, VT_COMMA, VT_DOT, VT_SCIENTIFIC, VT_DATE, VT_DOLLAR,
        VT_CUSTOM, VT_STRING};
 
   const struct fmt_spec *write_spec = var_get_write_format (pv);
@@ -492,7 +492,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
       break;
     case COL_TYPE:
       {
-       switch ( write_spec->type ) 
+       switch ( write_spec->type )
          {
          case FMT_F:
            return g_locale_to_utf8(gettext(type_label[VT_NUMERIC]), -1, 0, 0, err);
@@ -506,19 +506,19 @@ text_for_column(const struct variable *pv, gint c, GError **err)
          case FMT_E:
            return g_locale_to_utf8(gettext(type_label[VT_SCIENTIFIC]), -1, 0, 0, err);
            break;
-         case FMT_DATE:        
-         case FMT_EDATE:       
-         case FMT_SDATE:       
-         case FMT_ADATE:       
-         case FMT_JDATE:       
-         case FMT_QYR: 
-         case FMT_MOYR:        
-         case FMT_WKYR:        
-         case FMT_DATETIME:    
-         case FMT_TIME:        
-         case FMT_DTIME:       
-         case FMT_WKDAY:       
-         case FMT_MONTH:       
+         case FMT_DATE:
+         case FMT_EDATE:
+         case FMT_SDATE:
+         case FMT_ADATE:
+         case FMT_JDATE:
+         case FMT_QYR:
+         case FMT_MOYR:
+         case FMT_WKYR:
+         case FMT_DATETIME:
+         case FMT_TIME:
+         case FMT_DTIME:
+         case FMT_WKDAY:
+         case FMT_MONTH:
            return g_locale_to_utf8(type_label[VT_DATE], -1, 0, 0, err);
            break;
          case FMT_DOLLAR:
@@ -534,11 +534,11 @@ text_for_column(const struct variable *pv, gint c, GError **err)
          case FMT_A:
            return g_locale_to_utf8(gettext(type_label[VT_STRING]), -1, 0, 0, err);
            break;
-         default: 
+         default:
             {
               char str[FMT_STRING_LEN_MAX + 1];
-              g_warning("Unknown format: \"%s\"\n", 
-                        fmt_to_string(write_spec, str)); 
+              g_warning("Unknown format: \"%s\"\n",
+                        fmt_to_string(write_spec, str));
             }
            break;
          }
@@ -582,7 +582,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
       {
        gchar *s;
        const struct missing_values *miss = var_get_missing_values (pv);
-       if ( mv_is_empty(miss)) 
+       if ( mv_is_empty(miss))
          return g_locale_to_utf8(gettext(none), -1, 0, 0, err);
        else
          {
@@ -592,12 +592,12 @@ text_for_column(const struct variable *pv, gint c, GError **err)
                const int n = mv_n_values(miss);
                gchar *mv[4] = {0,0,0,0};
                gint i;
-               for(i = 0 ; i < n; ++i ) 
+               for(i = 0 ; i < n; ++i )
                  {
                    union value v;
                    mv_peek_value(miss, &v, i);
                    mv[i] = value_to_text(v, *write_spec);
-                   if ( i > 0 ) 
+                   if ( i > 0 )
                      g_string_append(gstr, ", ");
                    g_string_append(gstr, mv[i]);
                    g_free(mv[i]);
@@ -611,7 +611,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
                gchar *l, *h;
                union value low, high;
                mv_peek_range(miss, &low.f, &high.f);
-                 
+
                l = value_to_text(low, *write_spec);
                h = value_to_text(high, *write_spec);
 
@@ -619,7 +619,7 @@ text_for_column(const struct variable *pv, gint c, GError **err)
                g_free(l);
                g_free(h);
 
-               if ( mv_has_value(miss)) 
+               if ( mv_has_value(miss))
                  {
                    gchar *ss = 0;
                    union value v;
@@ -717,8 +717,8 @@ psppire_var_store_get_row_count(const GSheetModel * model)
   gint rows = 0;
   PsppireVarStore *vs = PSPPIRE_VAR_STORE(model);
 
-  if (vs->dict) 
-    rows =  psppire_dict_get_var_cnt(vs->dict); 
+  if (vs->dict)
+    rows =  psppire_dict_get_var_cnt(vs->dict);
 
   return rows ;
 }
@@ -731,8 +731,8 @@ geometry_get_row_count(const GSheetRow *geom, gpointer data)
   gint rows = 0;
   PsppireVarStore *vs = PSPPIRE_VAR_STORE(geom);
 
-  if (vs->dict) 
-    rows =  psppire_dict_get_var_cnt(vs->dict); 
+  if (vs->dict)
+    rows =  psppire_dict_get_var_cnt(vs->dict);
 
   return rows + TRAILING_ROWS;
 }
@@ -749,11 +749,11 @@ static gboolean
 geometry_is_sensitive(const GSheetRow *geom, gint row, gpointer data)
 {
   PsppireVarStore *vs = PSPPIRE_VAR_STORE(geom);
-  
-  if ( ! vs->dict) 
+
+  if ( ! vs->dict)
     return FALSE;
 
-  return  row < psppire_dict_get_var_cnt(vs->dict); 
+  return  row < psppire_dict_get_var_cnt(vs->dict);
 }
 
 static
index c22acbbefc95e9623cbe39d3984ba31e3c1e2296..b2eaf673253043eafb371283f6c1a105792f106c 100644 (file)
@@ -1,5 +1,5 @@
 /* psppire-var-store.h
+
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2006  Free Software Foundation
 
index f0041eba4ec07b0f57ff072226a8695f54338600..7caa47c8cc91e5475a3994d8bfb807b835e44c5c 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004, 2005, 2006  Free Software Foundation
 
@@ -50,7 +50,7 @@
 PsppireDataStore *the_data_store = 0;
 
 
-static bool parse_command_line (int *argc, char ***argv, 
+static bool parse_command_line (int *argc, char ***argv,
                                gchar **filename, GError **err);
 
 
@@ -61,13 +61,13 @@ static void
 give_help(void)
 {
   static struct msg m = {
-    MSG_GENERAL, 
+    MSG_GENERAL,
     MSG_NOTE,
     {0, -1},
-    0, 
+    0,
   };
 
-  if (! m.text) 
+  if (! m.text)
     m.text=g_strdup(_("Sorry. The help system hasn't yet been implemented."));
 
   popup_message(&m);
@@ -81,15 +81,15 @@ struct source_stream *the_source_stream ;
 struct dataset * the_dataset = NULL;
 
 
-int 
-main(int argc, char *argv[]) 
+int
+main(int argc, char *argv[])
 {
   struct casefile_factory *factory;
   PsppireDict *dictionary = 0;
 
 
   GtkWidget *data_editor ;
-  GtkSheet *var_sheet ; 
+  GtkSheet *var_sheet ;
   GtkSheet *data_sheet ;
 
   gchar *filename=0;
@@ -97,15 +97,15 @@ main(int argc, char *argv[])
   gchar *vers;
 
   gtk_init(&argc, &argv);
-  if ( (vers = gtk_check_version(GTK_MAJOR_VERSION, 
-                                GTK_MINOR_VERSION, 
+  if ( (vers = gtk_check_version(GTK_MAJOR_VERSION,
+                                GTK_MINOR_VERSION,
                                 GTK_MICRO_VERSION)) )
     {
       g_critical(vers);
     }
-       
 
-  /* gtk_init messes with the locale. 
+
+  /* gtk_init messes with the locale.
      So unset the bits we want to control ourselves */
   setlocale (LC_NUMERIC, "C");
 
@@ -113,7 +113,7 @@ main(int argc, char *argv[])
 
   textdomain (PACKAGE);
 
-  if ( ! parse_command_line(&argc, &argv, &filename, &err) ) 
+  if ( ! parse_command_line(&argc, &argv, &filename, &err) )
     {
       g_clear_error(&err);
       return 0;
@@ -228,7 +228,7 @@ parse_command_line (int *argc, char ***argv, gchar **filename, GError **err)
        }
     }
 
-  if ( optind < *argc) 
+  if ( optind < *argc)
     {
       *filename = (*argv)[optind];
     }
@@ -238,13 +238,13 @@ parse_command_line (int *argc, char ***argv, gchar **filename, GError **err)
 
 
 
-void 
+void
 create_icon_factory (void)
 {
   GtkIconFactory *factory = gtk_icon_factory_new();
 
   GtkIconSet *icon_set;
-  
+
   GdkPixbuf *pixbuf;
 
   pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/value-labels.png", 0);
index 1d8a5317cc782ed11ec9774f535d79f09d6811ef..cdf0340844fa3b2c015f19dbc3c179d8c18945d4 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2006  Free Software Foundation
 
@@ -68,12 +68,12 @@ dictionary_selection_changed (GtkTreeSelection *selection,
   GtkTreeSelection *otherselection ;
   struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
 
-  if ( 0 == gtk_tree_selection_count_selected_rows(selection) ) 
+  if ( 0 == gtk_tree_selection_count_selected_rows(selection) )
     return ;
 
   gtk_arrow_set(dialog->arrow, GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
   dialog->button_state = VAR_SELECT;
-  
+
   otherselection = gtk_tree_view_get_selection(dialog->criteria_view);
 
   gtk_tree_selection_unselect_all(otherselection);
@@ -88,7 +88,7 @@ criteria_selection_changed (GtkTreeSelection *selection,
   GtkTreeSelection *otherselection ;
   struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
 
-  if ( 0 == gtk_tree_selection_count_selected_rows(selection) ) 
+  if ( 0 == gtk_tree_selection_count_selected_rows(selection) )
     return ;
 
   otherselection = gtk_tree_view_get_selection(dialog->dict_view);
@@ -104,7 +104,7 @@ criteria_selection_changed (GtkTreeSelection *selection,
 static gint
 delete_event_callback(GtkWidget *widget,
                      GdkEvent  *event,
-                     gpointer   data)      
+                     gpointer   data)
 {
   struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
 
@@ -135,7 +135,7 @@ static void
 sort_cases_reset_callback(GObject *obj, gpointer data)
 {
   struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
-  
+
   gtk_arrow_set(dialog->arrow, GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
   dialog->button_state = VAR_SELECT;
 
@@ -156,20 +156,20 @@ select_criteria(GtkTreeModel *model, GtkTreePath *path,
   struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
 
   /* Get the variable from the dictionary */
-  gtk_tree_model_get (model, iter, 
+  gtk_tree_model_get (model, iter,
                      DICT_TVM_COL_VAR, &variable,
                      -1);
-       
+
   index = var_get_dict_index (variable);
 
-  dir = gtk_toggle_button_get_active (dialog->ascending_button) ? 
+  dir = gtk_toggle_button_get_active (dialog->ascending_button) ?
     SRT_ASCEND:SRT_DESCEND;
 
   /* Append to the list of criteria */
   gtk_list_store_append(dialog->criteria_list, &new_iter);
-  gtk_list_store_set(dialog->criteria_list, 
+  gtk_list_store_set(dialog->criteria_list,
                     &new_iter, CRIT_TVM_IDX, index, -1);
-  gtk_list_store_set(dialog->criteria_list, 
+  gtk_list_store_set(dialog->criteria_list,
                     &new_iter, CRIT_TVM_DIR, dir, -1);
 }
 
@@ -188,7 +188,7 @@ path_to_row_ref(GtkTreeModel *model, GtkTreePath *path,
 
 /* Remove a row from the list of criteria */
 static void
-deselect_criteria(gpointer data, 
+deselect_criteria(gpointer data,
                  gpointer user_data)
 {
   GtkTreeIter iter;
@@ -216,7 +216,7 @@ sort_cases_button_callback(GObject *obj, gpointer data)
 
   if ( dialog->button_state == VAR_SELECT) /* Right facing arrow */
     {
-      GtkTreeSelection *selection = 
+      GtkTreeSelection *selection =
        gtk_tree_view_get_selection(dialog->dict_view);
 
       gtk_tree_selection_selected_foreach(selection, select_criteria, dialog);
@@ -224,11 +224,11 @@ sort_cases_button_callback(GObject *obj, gpointer data)
   else   /* Left facing arrow */
     {
       GList *selectedRows = NULL;
-      GtkTreeSelection *selection = 
+      GtkTreeSelection *selection =
        gtk_tree_view_get_selection(dialog->criteria_view);
 
       /* Make a list of rows to be deleted */
-      gtk_tree_selection_selected_foreach(selection, path_to_row_ref, 
+      gtk_tree_selection_selected_foreach(selection, path_to_row_ref,
                                          &selectedRows);
 
       /* ... and delete them */
@@ -266,8 +266,8 @@ criteria_render_func(GtkTreeViewColumn *column, GtkCellRenderer *renderer,
   gchar *varname;
   PsppireDict *dict  = data;
 
-  gtk_tree_model_get(model, iter, 
-                    CRIT_TVM_IDX, &var_index, 
+  gtk_tree_model_get(model, iter,
+                    CRIT_TVM_IDX, &var_index,
                     CRIT_TVM_DIR, &direction, -1);
 
   variable = psppire_dict_get_variable(dict, var_index);
@@ -275,11 +275,11 @@ criteria_render_func(GtkTreeViewColumn *column, GtkCellRenderer *renderer,
   varname = pspp_locale_to_utf8 (var_get_name(variable),
                                -1, 0);
 
-  if ( direction == SRT_ASCEND) 
+  if ( direction == SRT_ASCEND)
       buf = g_strdup_printf("%s: %s", varname, _("Ascending"));
   else
       buf = g_strdup_printf("%s: %s", varname, _("Descending"));
-  
+
   g_free(varname);
 
   g_object_set(renderer, "text", buf, NULL);
@@ -289,7 +289,7 @@ criteria_render_func(GtkTreeViewColumn *column, GtkCellRenderer *renderer,
 
 
 /* Create the dialog */
-struct sort_cases_dialog * 
+struct sort_cases_dialog *
 sort_cases_dialog_create(GladeXML *xml)
 {
   struct sort_cases_dialog *dialog = g_malloc(sizeof(*dialog));
@@ -305,8 +305,8 @@ sort_cases_dialog_create(GladeXML *xml)
 
   dialog->arrow = GTK_ARROW(get_widget_assert(xml, "sort-cases-arrow"));
   dialog->button = GTK_BUTTON(get_widget_assert(xml, "sort-cases-button"));
-  
-  dialog->ascending_button = 
+
+  dialog->ascending_button =
     GTK_TOGGLE_BUTTON(get_widget_assert(xml, "sort-cases-button-ascending"));
 
   g_signal_connect(dialog->window, "delete-event",
@@ -331,7 +331,7 @@ sort_cases_dialog_create(GladeXML *xml)
   /* Set up the dictionary treeview */
     GtkTreeViewColumn *col;
 
-    GtkTreeSelection *selection = 
+    GtkTreeSelection *selection =
       gtk_tree_view_get_selection(dialog->dict_view);
 
     GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
@@ -351,13 +351,13 @@ sort_cases_dialog_create(GladeXML *xml)
 
     gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);
 
-    g_signal_connect(selection, "changed", 
+    g_signal_connect(selection, "changed",
                     G_CALLBACK(dictionary_selection_changed), dialog);
   }
 
   {
     /* Set up the variable list treeview */
-    GtkTreeSelection *selection = 
+    GtkTreeSelection *selection =
       gtk_tree_view_get_selection(dialog->criteria_view);
 
     gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);
@@ -372,21 +372,21 @@ sort_cases_dialog_create(GladeXML *xml)
 
     gtk_tree_view_column_set_sizing (dialog->crit_col, GTK_TREE_VIEW_COLUMN_FIXED);
 
-    gtk_tree_view_append_column(GTK_TREE_VIEW(dialog->criteria_view), 
+    gtk_tree_view_append_column(GTK_TREE_VIEW(dialog->criteria_view),
                                dialog->crit_col);
 
-    g_signal_connect(selection, "changed", 
+    g_signal_connect(selection, "changed",
                     G_CALLBACK(criteria_selection_changed), dialog);
   }
 
   {
     /* Create the list of criteria */
-    dialog->criteria_list = gtk_list_store_new(2, 
+    dialog->criteria_list = gtk_list_store_new(2,
                            G_TYPE_INT, /* index of the variable */
                            G_TYPE_INT  /* Ascending/Descending */
                            );
 
-    gtk_tree_view_set_model(dialog->criteria_view, 
+    gtk_tree_view_set_model(dialog->criteria_view,
                            GTK_TREE_MODEL(dialog->criteria_list));
   }
 
@@ -407,19 +407,19 @@ convert_list_store_to_criteria(GtkListStore *list,
    with a valid sort criteria which can be used to sort the data.
    This structure and its contents must be freed by the caller. */
 gint
-sort_cases_dialog_run(struct sort_cases_dialog *dialog, 
+sort_cases_dialog_run(struct sort_cases_dialog *dialog,
                      PsppireDict *dict,
                      struct sort_criteria *criteria
                      )
 {
   g_assert(! g_main_loop_is_running(dialog->loop));
 
-  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->dict_view), 
+  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->dict_view),
                          GTK_TREE_MODEL(dict));
 
-  
-  gtk_tree_view_column_set_cell_data_func(dialog->crit_col, 
-                                         dialog->crit_renderer, 
+
+  gtk_tree_view_column_set_cell_data_func(dialog->crit_col,
+                                         dialog->crit_renderer,
                                          criteria_render_func, dict, 0);
 
   gtk_list_store_clear(dialog->criteria_list);
@@ -431,8 +431,8 @@ sort_cases_dialog_run(struct sort_cases_dialog *dialog,
 
   g_main_loop_run(dialog->loop);
 
-  if ( GTK_RESPONSE_OK == dialog->response) 
-    convert_list_store_to_criteria(dialog->criteria_list, 
+  if ( GTK_RESPONSE_OK == dialog->response)
+    convert_list_store_to_criteria(dialog->criteria_list,
                                   dict, criteria);
 
   return dialog->response;
@@ -451,10 +451,10 @@ convert_list_store_to_criteria(GtkListStore *list,
   gint n = 0;
 
   GtkTreeModel *model = GTK_TREE_MODEL(list);
-  
+
   criteria->crit_cnt = gtk_tree_model_iter_n_children (model, NULL);
 
-  criteria->crits = g_malloc(sizeof(struct sort_criterion) * 
+  criteria->crits = g_malloc(sizeof(struct sort_criterion) *
                             criteria->crit_cnt);
 
   for(valid = gtk_tree_model_get_iter_first(model, &iter);
@@ -466,9 +466,9 @@ convert_list_store_to_criteria(GtkListStore *list,
       struct sort_criterion *scn = &criteria->crits[n];
       g_assert ( n < criteria->crit_cnt);
       n++;
-      
-      gtk_tree_model_get(model, &iter, 
-                        CRIT_TVM_IDX, &index, 
+
+      gtk_tree_model_get(model, &iter,
+                        CRIT_TVM_IDX, &index,
                         CRIT_TVM_DIR, &scn->dir,
                         -1);
 
index 9d551c2a24fe3b660ef722aa4f4dd579d4d13023..216bb2184c28177984b143db0faf05c95bb5ac8f 100644 (file)
@@ -34,7 +34,7 @@ struct sort_cases_dialog
 
   GtkTreeView *dict_view;
 
-  
+
   GtkTreeView *criteria_view;
   GtkTreeViewColumn *crit_col;
   GtkCellRenderer *crit_renderer;
@@ -47,7 +47,7 @@ struct sort_cases_dialog
   GtkButton *button;
 
   GtkToggleButton *ascending_button;
-  
+
   /* FIXME: Could this be done better with a GtkToggleAction ?? */
   enum {VAR_SELECT, VAR_DESELECT} button_state;
 
@@ -57,8 +57,8 @@ struct sort_cases_dialog
 struct sort_cases_dialog * sort_cases_dialog_create(GladeXML *xml);
 
 
-gint sort_cases_dialog_run(struct sort_cases_dialog *dialog, 
-                          PsppireDict *dict, 
+gint sort_cases_dialog_run(struct sort_cases_dialog *dialog,
+                          PsppireDict *dict,
                           struct sort_criteria *criteria
                           );
 
index 28293808a4ee884ae2465bf73253f5e771c5202a..3918f2f2553314be3cc03686d10e24cafe8a10da 100644 (file)
 /* This callback occurs when the text in the label entry box
    is changed */
 static void
-on_label_entry_change(GtkEntry *entry, gpointer data)
+on_label_entry_change (GtkEntry *entry, gpointer data)
 {
   union value v;
   const gchar *text ;
   struct val_labs_dialog *dialog = data;
-  g_assert(dialog->labs);
+  g_assert (dialog->labs);
 
-  text = gtk_entry_get_text(GTK_ENTRY(dialog->value_entry));
+  text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
 
-  text_to_value(text, &v,
+  text_to_value (text, &v,
                *var_get_write_format (dialog->pv));
 
 
   if ( val_labs_find (dialog->labs, v) )
     {
-      gtk_widget_set_sensitive(dialog->change_button, TRUE);
-      gtk_widget_set_sensitive(dialog->add_button, FALSE);
+      gtk_widget_set_sensitive (dialog->change_button, TRUE);
+      gtk_widget_set_sensitive (dialog->add_button, FALSE);
     }
   else
     {
-      gtk_widget_set_sensitive(dialog->change_button, FALSE);
-      gtk_widget_set_sensitive(dialog->add_button, TRUE);
+      gtk_widget_set_sensitive (dialog->change_button, FALSE);
+      gtk_widget_set_sensitive (dialog->add_button, TRUE);
     }
 }
 
 
 /* Set the TREEVIEW list cursor to the item which has the value VAL */
 static void
-select_treeview_from_value(GtkTreeView *treeview, union value *val)
+select_treeview_from_value (GtkTreeView *treeview, union value *val)
 {
   GtkTreePath *path ;
 
@@ -69,31 +69,31 @@ select_treeview_from_value(GtkTreeView *treeview, union value *val)
     efficient, but the list is short ... */
   GtkTreeIter iter;
 
-  GtkTreeModel * model  = gtk_tree_view_get_model(treeview);
+  GtkTreeModel * model  = gtk_tree_view_get_model (treeview);
 
   gboolean success;
-  for (success = gtk_tree_model_get_iter_first(model, &iter);
+  for (success = gtk_tree_model_get_iter_first (model, &iter);
        success;
-       success = gtk_tree_model_iter_next(model, &iter))
+       success = gtk_tree_model_iter_next (model, &iter))
     {
       union value v;
       GValue gvalue = {0};
 
-      gtk_tree_model_get_value(model, &iter, 1, &gvalue);
+      gtk_tree_model_get_value (model, &iter, 1, &gvalue);
 
-      v.f = g_value_get_double(&gvalue);
+      v.f = g_value_get_double (&gvalue);
 
-      if ( 0 == memcmp(&v, val, sizeof (union value)))
+      if ( 0 == memcmp (&v, val, sizeof (union value)))
        {
          break;
        }
     }
 
-  path = gtk_tree_model_get_path(model, &iter);
+  path = gtk_tree_model_get_path (model, &iter);
   if ( path )
     {
-      gtk_tree_view_set_cursor(treeview, path, 0, 0);
-      gtk_tree_path_free(path);
+      gtk_tree_view_set_cursor (treeview, path, 0, 0);
+      gtk_tree_path_free (path);
     }
 
 }
@@ -102,39 +102,39 @@ select_treeview_from_value(GtkTreeView *treeview, union value *val)
 /* This callback occurs when the text in the value entry box is
    changed */
 static void
-on_value_entry_change(GtkEntry *entry, gpointer data)
+on_value_entry_change (GtkEntry *entry, gpointer data)
 {
   char *s;
 
   struct val_labs_dialog *dialog = data;
 
-  const gchar *text = gtk_entry_get_text(GTK_ENTRY(dialog->value_entry));
+  const gchar *text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
 
   union value v;
-  text_to_value(text, &v,
+  text_to_value (text, &v,
                *var_get_write_format (dialog->pv));
 
 
-  g_signal_handler_block(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_block (GTK_ENTRY (dialog->label_entry),
                         dialog->change_handler_id);
 
-  gtk_entry_set_text(GTK_ENTRY(dialog->label_entry),"");
+  gtk_entry_set_text (GTK_ENTRY (dialog->label_entry),"");
 
 
   if ( (s = val_labs_find (dialog->labs, v)) )
     {
-      gtk_entry_set_text(GTK_ENTRY(dialog->label_entry), s);
-      gtk_widget_set_sensitive(dialog->add_button, FALSE);
-      gtk_widget_set_sensitive(dialog->remove_button, TRUE);
-      select_treeview_from_value(GTK_TREE_VIEW(dialog->treeview), &v);
+      gtk_entry_set_text (GTK_ENTRY (dialog->label_entry), s);
+      gtk_widget_set_sensitive (dialog->add_button, FALSE);
+      gtk_widget_set_sensitive (dialog->remove_button, TRUE);
+      select_treeview_from_value (GTK_TREE_VIEW (dialog->treeview), &v);
     }
   else
     {
-      gtk_widget_set_sensitive(dialog->remove_button, FALSE);
-      gtk_widget_set_sensitive(dialog->add_button, TRUE);
+      gtk_widget_set_sensitive (dialog->remove_button, FALSE);
+      gtk_widget_set_sensitive (dialog->add_button, TRUE);
     }
 
-  g_signal_handler_unblock(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_unblock (GTK_ENTRY (dialog->label_entry),
                         dialog->change_handler_id);
 }
 
@@ -142,7 +142,7 @@ on_value_entry_change(GtkEntry *entry, gpointer data)
 /* Callback for when the Value Labels dialog is closed using
    the OK button.*/
 static gint
-val_labs_ok(GtkWidget *w, gpointer data)
+val_labs_ok (GtkWidget *w, gpointer data)
 {
   struct val_labs_dialog *dialog = data;
 
@@ -158,7 +158,7 @@ val_labs_ok(GtkWidget *w, gpointer data)
 /* Callback for when the Value Labels dialog is closed using
    the Cancel button.*/
 static gint
-val_labs_cancel(GtkWidget *w, gpointer data)
+val_labs_cancel (GtkWidget *w, gpointer data)
 {
   struct val_labs_dialog *dialog = data;
 
@@ -171,24 +171,24 @@ val_labs_cancel(GtkWidget *w, gpointer data)
 
 /* Return the value-label pair currently selected in the dialog box  */
 static struct val_lab *
-get_selected_tuple(struct val_labs_dialog *dialog)
+get_selected_tuple (struct val_labs_dialog *dialog)
 {
-  GtkTreeView *treeview = GTK_TREE_VIEW(dialog->treeview);
+  GtkTreeView *treeview = GTK_TREE_VIEW (dialog->treeview);
   static struct val_lab vl;
 
   GtkTreeIter iter ;
   GValue the_value = {0};
 
-  GtkTreeSelection* sel =  gtk_tree_view_get_selection(treeview);
+  GtkTreeSelection* sel =  gtk_tree_view_get_selection (treeview);
 
-  GtkTreeModel * model  = gtk_tree_view_get_model(treeview);
+  GtkTreeModel * model  = gtk_tree_view_get_model (treeview);
 
   gtk_tree_selection_get_selected (sel, &model, &iter);
 
-  gtk_tree_model_get_value(model, &iter, 1, &the_value);
+  gtk_tree_model_get_value (model, &iter, 1, &the_value);
 
-  vl.value.f = g_value_get_double(&the_value);
-  g_value_unset(&the_value);
+  vl.value.f = g_value_get_double (&the_value);
+  g_value_unset (&the_value);
 
   vl.label = val_labs_find (dialog->labs, vl.value);
 
@@ -196,42 +196,42 @@ get_selected_tuple(struct val_labs_dialog *dialog)
 }
 
 
-static void repopulate_dialog(struct val_labs_dialog *dialog);
+static void repopulate_dialog (struct val_labs_dialog *dialog);
 
 /* Callback which occurs when the "Change" button is clicked */
 static gint
-on_change(GtkWidget *w, gpointer data)
+on_change (GtkWidget *w, gpointer data)
 {
   struct val_labs_dialog *dialog = data;
 
-  const gchar *val_text = gtk_entry_get_text(GTK_ENTRY(dialog->value_entry));
+  const gchar *val_text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
 
   union value v;
 
-  text_to_value(val_text, &v,
+  text_to_value (val_text, &v,
                *var_get_write_format (dialog->pv));
 
   val_labs_replace (dialog->labs, v,
-                   gtk_entry_get_text (GTK_ENTRY(dialog->label_entry)));
+                   gtk_entry_get_text (GTK_ENTRY (dialog->label_entry)));
 
   gtk_widget_set_sensitive (dialog->change_button, FALSE);
 
-  repopulate_dialog(dialog);
+  repopulate_dialog (dialog);
 
   return FALSE;
 }
 
 /* Callback which occurs when the "Add" button is clicked */
 static gint
-on_add(GtkWidget *w, gpointer data)
+on_add (GtkWidget *w, gpointer data)
 {
   struct val_labs_dialog *dialog = data;
 
   union value v;
 
-  const gchar *text = gtk_entry_get_text(GTK_ENTRY(dialog->value_entry));
+  const gchar *text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
 
-  text_to_value(text, &v,
+  text_to_value (text, &v,
                *var_get_write_format (dialog->pv));
 
 
@@ -240,26 +240,26 @@ on_add(GtkWidget *w, gpointer data)
                       ( GTK_ENTRY (dialog->label_entry)) ) )
     return FALSE;
 
-  gtk_widget_set_sensitive(dialog->add_button, FALSE);
+  gtk_widget_set_sensitive (dialog->add_button, FALSE);
 
-  repopulate_dialog(dialog);
+  repopulate_dialog (dialog);
 
   return FALSE;
 }
 
 /* Callback which occurs when the "Remove" button is clicked */
 static gint
-on_remove(GtkWidget *w, gpointer data)
+on_remove (GtkWidget *w, gpointer data)
 {
   struct val_labs_dialog *dialog = data;
 
-  struct val_lab *vl = get_selected_tuple(dialog);
+  struct val_lab *vl = get_selected_tuple (dialog);
 
   val_labs_remove (dialog->labs, vl->value);
 
-  repopulate_dialog(dialog);
+  repopulate_dialog (dialog);
 
-  gtk_widget_set_sensitive(dialog->remove_button, FALSE);
+  gtk_widget_set_sensitive (dialog->remove_button, FALSE);
 
   return FALSE;
 }
@@ -275,65 +275,65 @@ on_select_row                  (GtkTreeView *treeview,
   gchar *labeltext;
   struct val_labs_dialog *dialog = data;
 
-  struct val_lab * vl  = get_selected_tuple(dialog);
+  struct val_lab * vl  = get_selected_tuple (dialog);
 
-  gchar *const text = value_to_text(vl->value,
+  gchar *const text = value_to_text (vl->value,
                                    *var_get_write_format (dialog->pv));
 
-  g_signal_handler_block(GTK_ENTRY(dialog->value_entry),
+  g_signal_handler_block (GTK_ENTRY (dialog->value_entry),
                         dialog->value_handler_id);
 
-  gtk_entry_set_text(GTK_ENTRY(dialog->value_entry), text);
+  gtk_entry_set_text (GTK_ENTRY (dialog->value_entry), text);
 
-  g_signal_handler_unblock(GTK_ENTRY(dialog->value_entry),
+  g_signal_handler_unblock (GTK_ENTRY (dialog->value_entry),
                         dialog->value_handler_id);
-  g_free(text);
+  g_free (text);
 
-  g_signal_handler_block(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_block (GTK_ENTRY (dialog->label_entry),
                         dialog->change_handler_id);
 
-  labeltext = pspp_locale_to_utf8(vl->label, -1, 0);
-  gtk_entry_set_text(GTK_ENTRY(dialog->label_entry),
+  labeltext = pspp_locale_to_utf8 (vl->label, -1, 0);
+  gtk_entry_set_text (GTK_ENTRY (dialog->label_entry),
                     labeltext);
-  g_free(labeltext);
+  g_free (labeltext);
 
-  g_signal_handler_unblock(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_unblock (GTK_ENTRY (dialog->label_entry),
                         dialog->change_handler_id);
 
-  gtk_widget_set_sensitive(dialog->remove_button, TRUE);
-  gtk_widget_set_sensitive(dialog->change_button, FALSE);
+  gtk_widget_set_sensitive (dialog->remove_button, TRUE);
+  gtk_widget_set_sensitive (dialog->change_button, FALSE);
 }
 
 
 /* Create a new dialog box
    (there should  normally be only one)*/
 struct val_labs_dialog *
-val_labs_dialog_create(GladeXML *xml)
+val_labs_dialog_create (GladeXML *xml)
 {
   GtkTreeViewColumn *column;
 
   GtkCellRenderer *renderer ;
 
-  struct val_labs_dialog *dialog = g_malloc(sizeof(*dialog));
+  struct val_labs_dialog *dialog = g_malloc (sizeof (*dialog));
 
-  dialog->window = get_widget_assert(xml,"val_labs_dialog");
-  dialog->value_entry = get_widget_assert(xml,"value_entry");
-  dialog->label_entry = get_widget_assert(xml,"label_entry");
+  dialog->window = get_widget_assert (xml,"val_labs_dialog");
+  dialog->value_entry = get_widget_assert (xml,"value_entry");
+  dialog->label_entry = get_widget_assert (xml,"label_entry");
 
   gtk_window_set_transient_for
-    (GTK_WINDOW(dialog->window),
-     GTK_WINDOW(get_widget_assert(xml, "data_editor")));
+    (GTK_WINDOW (dialog->window),
+     GTK_WINDOW (get_widget_assert (xml, "data_editor")));
 
-  dialog->ok = get_widget_assert(xml, "val_labs_ok");
-  dialog->add_button = get_widget_assert(xml, "val_labs_add");
-  dialog->remove_button = get_widget_assert(xml, "val_labs_remove");
-  dialog->change_button = get_widget_assert(xml, "val_labs_change");
+  dialog->ok = get_widget_assert (xml, "val_labs_ok");
+  dialog->add_button = get_widget_assert (xml, "val_labs_add");
+  dialog->remove_button = get_widget_assert (xml, "val_labs_remove");
+  dialog->change_button = get_widget_assert (xml, "val_labs_change");
 
-  dialog->treeview = get_widget_assert(xml,"treeview1");
+  dialog->treeview = get_widget_assert (xml,"treeview1");
 
-  gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(dialog->treeview), FALSE);
+  gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (dialog->treeview), FALSE);
 
-  renderer = gtk_cell_renderer_text_new();
+  renderer = gtk_cell_renderer_text_new ();
 
   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                     renderer,
@@ -343,40 +343,40 @@ val_labs_dialog_create(GladeXML *xml)
 
   gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->treeview), column);
 
-  g_signal_connect(GTK_OBJECT(get_widget_assert(xml, "val_labs_cancel")),
+  g_signal_connect (GTK_OBJECT (get_widget_assert (xml, "val_labs_cancel")),
                   "clicked",
-                  GTK_SIGNAL_FUNC(val_labs_cancel), dialog);
+                  GTK_SIGNAL_FUNC (val_labs_cancel), dialog);
 
   dialog->change_handler_id =
-    g_signal_connect(GTK_OBJECT(dialog->label_entry),
+    g_signal_connect (GTK_OBJECT (dialog->label_entry),
                     "changed",
-                    GTK_SIGNAL_FUNC(on_label_entry_change), dialog);
+                    GTK_SIGNAL_FUNC (on_label_entry_change), dialog);
 
   dialog->value_handler_id  =
-    g_signal_connect(GTK_OBJECT(dialog->value_entry),
+    g_signal_connect (GTK_OBJECT (dialog->value_entry),
                     "changed",
-                    GTK_SIGNAL_FUNC(on_value_entry_change), dialog);
+                    GTK_SIGNAL_FUNC (on_value_entry_change), dialog);
 
-  g_signal_connect(GTK_OBJECT(dialog->change_button),
+  g_signal_connect (GTK_OBJECT (dialog->change_button),
                   "clicked",
-                  GTK_SIGNAL_FUNC(on_change), dialog);
+                  GTK_SIGNAL_FUNC (on_change), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(get_widget_assert(xml, "val_labs_ok")),
+  g_signal_connect (GTK_OBJECT (get_widget_assert (xml, "val_labs_ok")),
                   "clicked",
-                  GTK_SIGNAL_FUNC(val_labs_ok), dialog);
+                  GTK_SIGNAL_FUNC (val_labs_ok), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->treeview), "cursor-changed",
-                  GTK_SIGNAL_FUNC(on_select_row), dialog);
+  g_signal_connect (GTK_OBJECT (dialog->treeview), "cursor-changed",
+                  GTK_SIGNAL_FUNC (on_select_row), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->remove_button), "clicked",
-                  GTK_SIGNAL_FUNC(on_remove), dialog);
+  g_signal_connect (GTK_OBJECT (dialog->remove_button), "clicked",
+                  GTK_SIGNAL_FUNC (on_remove), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->add_button), "clicked",
-                  GTK_SIGNAL_FUNC(on_add), dialog);
+  g_signal_connect (GTK_OBJECT (dialog->add_button), "clicked",
+                  GTK_SIGNAL_FUNC (on_add), dialog);
 
   dialog->labs = 0;
 
@@ -387,7 +387,7 @@ val_labs_dialog_create(GladeXML *xml)
 /* Populate the components of the dialog box, from the 'labs' member
    variable */
 static void
-repopulate_dialog(struct val_labs_dialog *dialog)
+repopulate_dialog (struct val_labs_dialog *dialog)
 {
   struct val_labs_iterator *vli = 0;
   struct val_lab *vl;
@@ -398,33 +398,33 @@ repopulate_dialog(struct val_labs_dialog *dialog)
                                                 G_TYPE_STRING,
                                                 G_TYPE_DOUBLE);
 
-  g_signal_handler_block(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_block (GTK_ENTRY (dialog->label_entry),
                         dialog->change_handler_id);
-  g_signal_handler_block(GTK_ENTRY(dialog->value_entry),
+  g_signal_handler_block (GTK_ENTRY (dialog->value_entry),
                         dialog->value_handler_id);
 
-  gtk_entry_set_text(GTK_ENTRY(dialog->value_entry), "");
-  gtk_entry_set_text(GTK_ENTRY(dialog->label_entry), "");
+  gtk_entry_set_text (GTK_ENTRY (dialog->value_entry), "");
+  gtk_entry_set_text (GTK_ENTRY (dialog->label_entry), "");
 
-  g_signal_handler_unblock(GTK_ENTRY(dialog->value_entry),
+  g_signal_handler_unblock (GTK_ENTRY (dialog->value_entry),
                         dialog->value_handler_id);
-  g_signal_handler_unblock(GTK_ENTRY(dialog->label_entry),
+  g_signal_handler_unblock (GTK_ENTRY (dialog->label_entry),
                           dialog->change_handler_id);
 
 
-  for(vl = val_labs_first_sorted (dialog->labs, &vli);
+  for (vl = val_labs_first_sorted (dialog->labs, &vli);
       vl;
-      vl = val_labs_next(dialog->labs, &vli))
+      vl = val_labs_next (dialog->labs, &vli))
     {
 
       gchar *const vstr  =
-       value_to_text(vl->value,
+       value_to_text (vl->value,
                      *var_get_write_format (dialog->pv));
 
       gchar *labeltext =
-       pspp_locale_to_utf8(vl->label, -1, 0);
+       pspp_locale_to_utf8 (vl->label, -1, 0);
 
-      gchar *const text = g_strdup_printf("%s = \"%s\"",
+      gchar *const text = g_strdup_printf ("%s = \"%s\"",
                                          vstr, labeltext);
 
 
@@ -434,25 +434,25 @@ repopulate_dialog(struct val_labs_dialog *dialog)
                          1, vl->value.f,
                          -1);
 
-      g_free(labeltext);
-      g_free(text);
-      g_free(vstr);
+      g_free (labeltext);
+      g_free (text);
+      g_free (vstr);
     }
 
-  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->treeview),
-                         GTK_TREE_MODEL(list_store));
+  gtk_tree_view_set_model (GTK_TREE_VIEW (dialog->treeview),
+                         GTK_TREE_MODEL (list_store));
 
-  g_object_unref(list_store);
+  g_object_unref (list_store);
 
 }
 
 /* Initialise and display the dialog box */
 void
-val_labs_dialog_show(struct val_labs_dialog *dialog)
+val_labs_dialog_show (struct val_labs_dialog *dialog)
 {
   const struct val_labs *value_labels;
 
-  g_assert(!dialog->labs);
+  g_assert (!dialog->labs);
 
   value_labels = var_get_value_labels (dialog->pv);
 
@@ -460,12 +460,12 @@ val_labs_dialog_show(struct val_labs_dialog *dialog)
     dialog->labs = val_labs_copy ( value_labels );
   else
     dialog->labs = val_labs_create ( var_get_width (dialog->pv));
-  
-  gtk_widget_set_sensitive(dialog->remove_button, FALSE);
-  gtk_widget_set_sensitive(dialog->change_button, FALSE);
-  gtk_widget_set_sensitive(dialog->add_button, FALSE);
 
-  repopulate_dialog(dialog);
-  gtk_widget_show(dialog->window);
+  gtk_widget_set_sensitive (dialog->remove_button, FALSE);
+  gtk_widget_set_sensitive (dialog->change_button, FALSE);
+  gtk_widget_set_sensitive (dialog->add_button, FALSE);
+
+  repopulate_dialog (dialog);
+  gtk_widget_show (dialog->window);
 }
 
index 2076712515a99d4898ec90643ba09202b02ee1b9..be5580f0d80f40a09a26238851283adf06b4e26c 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2005  Free Software Foundation
 
index 09e23b477dccc3347339fda16b865d5768111b41..45111621dade6832b235cc58746fc1970d1a6502 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004, 2005, 2006  Free Software Foundation
 
@@ -59,21 +59,21 @@ static const gint n_initial_rows = 40;
 
 struct column_parameters
 {
-  gchar label[20];  
+  gchar label[20];
   gint width ;
 };
 
 static const struct column_parameters column_def[] = {
   { N_("Name"),    80},
   { N_("Type"),    100},
-  { N_("Width"),   57}, 
-  { N_("Decimals"),91}, 
-  { N_("Label"),   95}, 
+  { N_("Width"),   57},
+  { N_("Decimals"),91},
+  { N_("Label"),   95},
   { N_("Values"),  103},
-  { N_("Missing"), 95}, 
-  { N_("Columns"), 80}, 
-  { N_("Align"),   69}, 
-  { N_("Measure"), 99}, 
+  { N_("Missing"), 95},
+  { N_("Columns"), 80},
+  { N_("Align"),   69},
+  { N_("Measure"), 99},
 };
 
 
@@ -110,13 +110,13 @@ create_label_list(const gchar **labels)
                          0, gettext(s),
                          -1);
     }
-       
+
   return list_store;
 }
 
-/* Callback for when the alignment combo box 
+/* Callback for when the alignment combo box
    item is selected */
-static void        
+static void
 change_alignment(GtkComboBox *cb,
     gpointer user_data)
 {
@@ -130,7 +130,7 @@ change_alignment(GtkComboBox *cb,
 
 
 
-/* Callback for when the measure combo box 
+/* Callback for when the measure combo box
    item is selected */
 static void
 change_measure(GtkComboBox *cb,
@@ -146,9 +146,9 @@ change_measure(GtkComboBox *cb,
 
 
 
-static gboolean 
-traverse_cell_callback (GtkSheet * sheet, 
-                       gint row, gint column, 
+static gboolean
+traverse_cell_callback (GtkSheet * sheet,
+                       gint row, gint column,
                        gint *new_row, gint *new_column
                        )
 {
@@ -164,7 +164,7 @@ traverse_cell_callback (GtkSheet * sheet,
 
       if (! psppire_dict_check_name(var_store->dict, name, TRUE))
        return FALSE;
-      
+
       psppire_dict_insert_variable(var_store->dict, row, name);
 
       return TRUE;
@@ -173,8 +173,8 @@ traverse_cell_callback (GtkSheet * sheet,
   /* If the destination cell is outside the current  variables, then
      automatically create variables for the new rows.
   */
-  if ( (*new_row > n_vars) || 
-       (*new_row == n_vars && *new_column != COL_NAME) ) 
+  if ( (*new_row > n_vars) ||
+       (*new_row == n_vars && *new_column != COL_NAME) )
     {
       gint i;
       for ( i = n_vars ; i <= *new_row; ++i )
@@ -235,19 +235,19 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        static GtkListStore *list_store = 0;
        GtkComboBoxEntry *cbe;
        gtk_sheet_change_entry(sheet, GTK_TYPE_COMBO_BOX_ENTRY);
-       cbe = 
+       cbe =
          GTK_COMBO_BOX_ENTRY(gtk_sheet_get_entry(sheet)->parent);
 
 
        if ( ! list_store) list_store = create_label_list(alignments);
 
-       gtk_combo_box_set_model(GTK_COMBO_BOX(cbe), 
+       gtk_combo_box_set_model(GTK_COMBO_BOX(cbe),
                                GTK_TREE_MODEL(list_store));
 
        gtk_combo_box_entry_set_text_column (cbe, 0);
 
 
-       g_signal_connect(G_OBJECT(cbe),"changed", 
+       g_signal_connect(G_OBJECT(cbe),"changed",
                         G_CALLBACK(change_alignment), pv);
       }
       break;
@@ -256,13 +256,13 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        static GtkListStore *list_store = 0;
        GtkComboBoxEntry *cbe;
        gtk_sheet_change_entry(sheet, GTK_TYPE_COMBO_BOX_ENTRY);
-       cbe = 
+       cbe =
          GTK_COMBO_BOX_ENTRY(gtk_sheet_get_entry(sheet)->parent);
 
 
        if ( ! list_store) list_store = create_label_list (measures);
 
-       gtk_combo_box_set_model(GTK_COMBO_BOX(cbe), 
+       gtk_combo_box_set_model(GTK_COMBO_BOX(cbe),
                                GTK_TREE_MODEL(list_store));
 
        gtk_combo_box_entry_set_text_column (cbe, 0);
@@ -280,11 +280,11 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
 
        gtk_sheet_change_entry(sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
-       customEntry = 
+       customEntry =
          PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry(sheet));
 
 
-       if (!val_labs_dialog ) 
+       if (!val_labs_dialog )
            val_labs_dialog = val_labs_dialog_create(xml);
 
        val_labs_dialog->pv = pv;
@@ -299,13 +299,13 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
       {
        static struct missing_val_dialog *missing_val_dialog = 0;
        PsppireCustomEntry *customEntry;
-       
+
        gtk_sheet_change_entry(sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
-       customEntry = 
+       customEntry =
          PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry(sheet));
 
-       if (!missing_val_dialog ) 
+       if (!missing_val_dialog )
            missing_val_dialog = missing_val_dialog_create(xml);
 
        missing_val_dialog->pv = psppire_var_store_get_var (var_store, row);
@@ -325,12 +325,12 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
 
        gtk_sheet_change_entry(sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
-       customEntry = 
+       customEntry =
          PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry(sheet));
 
 
        /* Popup the Variable Type dialog box */
-       if (!var_type_dialog ) 
+       if (!var_type_dialog )
            var_type_dialog = var_type_dialog_create(xml);
 
 
@@ -346,27 +346,27 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
     case COL_DECIMALS:
     case COL_COLUMNS:
       {
-       if ( attributes.is_editable) 
+       if ( attributes.is_editable)
          {
            gint r_min, r_max;
 
            const gchar *s = gtk_sheet_cell_get_text(sheet, row, column);
 
-           if (s) 
+           if (s)
              {
                GtkSpinButton *spinButton ;
                const gint current_value  = atoi(s);
                GtkObject *adj ;
 
                const struct fmt_spec *fmt = var_get_write_format (pv);
-               switch (column) 
+               switch (column)
                  {
                  case COL_WIDTH:
                    r_min = MAX (fmt->d + 1, fmt_min_output_width (fmt->type));
                    r_max = fmt_max_output_width (fmt->type);
                    break;
                  case COL_DECIMALS:
-                   r_min = 0 ; 
+                   r_min = 0 ;
                    r_max = fmt_max_output_decimals (fmt->type, fmt->w);
                    break;
                  case COL_COLUMNS:
@@ -384,7 +384,7 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
 
                gtk_sheet_change_entry(sheet, GTK_TYPE_SPIN_BUTTON);
 
-               spinButton = 
+               spinButton =
                  GTK_SPIN_BUTTON(gtk_sheet_get_entry(sheet));
 
                gtk_spin_button_set_adjustment(spinButton, GTK_ADJUSTMENT(adj));
@@ -392,7 +392,7 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
              }
          }
       }
-      break; 
+      break;
 
     default:
       gtk_sheet_change_entry(sheet, GTK_TYPE_ENTRY);
@@ -411,8 +411,8 @@ extern PsppireVarStore *the_var_store;
 
 /* Create the var sheet */
 GtkWidget*
-psppire_variable_sheet_create (gchar *widget_name, 
-                              gchar *string1, 
+psppire_variable_sheet_create (gchar *widget_name,
+                              gchar *string1,
                               gchar *string2,
                               gint int1, gint int2)
 {
@@ -425,8 +425,8 @@ psppire_variable_sheet_create (gchar *widget_name,
   g_assert (the_var_store);
 
   sheet = gtk_sheet_new(G_SHEET_ROW(the_var_store),
-                       G_SHEET_COLUMN(geo), 
-                       "variable sheet", 0); 
+                       G_SHEET_COLUMN(geo),
+                       "variable sheet", 0);
 
 
   g_signal_connect (GTK_OBJECT (sheet), "activate",
@@ -444,16 +444,16 @@ psppire_variable_sheet_create (gchar *widget_name,
   gtk_sheet_set_model(sheet, G_SHEET_MODEL(the_var_store));
 
 
-  /* Since this happens inside glade_xml_new, we must prevent strings from 
+  /* Since this happens inside glade_xml_new, we must prevent strings from
    * being re-encoded twice */
   codeset = bind_textdomain_codeset(PACKAGE, 0);
   bind_textdomain_codeset(PACKAGE, nl_langinfo(CODESET));
-  for (i = 0 ; i < n_COLS ; ++i ) 
+  for (i = 0 ; i < n_COLS ; ++i )
     {
-      g_sheet_hetero_column_set_button_label(G_SHEET_HETERO_COLUMN(geo), i, 
+      g_sheet_hetero_column_set_button_label(G_SHEET_HETERO_COLUMN(geo), i,
                        gettext(column_def[i].label));
-      
-      g_sheet_hetero_column_set_width(G_SHEET_HETERO_COLUMN(geo), i, 
+
+      g_sheet_hetero_column_set_width(G_SHEET_HETERO_COLUMN(geo), i,
                                               column_def[i].width);
     }
   bind_textdomain_codeset(PACKAGE, codeset);
index 4cfe6847cdaefa9ed3ec2aedd088d50bbdaa3b3d..4ef83dc8ee44c25ba12600ef227ae338e6c57c62 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
    PSPPIRE --- A Graphical User Interface for PSPP
    Copyright (C) 2004, 2005, 2006  Free Software Foundation
 
 
 #include "psppire-dict.h"
 
-enum {COL_NAME, 
-      COL_TYPE, 
-      COL_WIDTH, 
-      COL_DECIMALS, 
-      COL_LABEL, 
-      COL_VALUES, 
-      COL_MISSING, 
-      COL_COLUMNS, 
-      COL_ALIGN, 
-      COL_MEASURE, 
+enum {COL_NAME,
+      COL_TYPE,
+      COL_WIDTH,
+      COL_DECIMALS,
+      COL_LABEL,
+      COL_VALUES,
+      COL_MISSING,
+      COL_COLUMNS,
+      COL_ALIGN,
+      COL_MEASURE,
       n_COLS};
 
 
-void var_sheet_range_set_editable(GtkSheet *sheet, 
-                                 const GtkSheetRange *urange, 
+void var_sheet_range_set_editable(GtkSheet *sheet,
+                                 const GtkSheetRange *urange,
                                  gboolean editable);
 
 
 /* Create the var sheet */
-GtkWidget* psppire_variable_sheet_create (gchar *widget_name, 
-                                         gchar *string1, 
+GtkWidget* psppire_variable_sheet_create (gchar *widget_name,
+                                         gchar *string1,
                                          gchar *string2,
                                          gint int1, gint int2);
 
index 7433b93e4b0237d3a07cc9dd5bb3e1fb32a2f2cf..48b6e988dce3b9f3ebe5a928c14cb880d4ca68f3 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2005, 2006  Free Software Foundation
 
@@ -73,7 +73,7 @@ static const struct format_opt format_option[] =
   };
 
 
-static const struct fmt_spec dollar_format[] = 
+static const struct fmt_spec dollar_format[] =
   {
     {FMT_DOLLAR, 2, 0},
     {FMT_DOLLAR, 3, 0},
@@ -89,30 +89,30 @@ static const struct fmt_spec dollar_format[] =
     {FMT_DOLLAR, 19, 2}
   };
 
-static const int cc_format[] = 
+static const int cc_format[] =
   {
-    FMT_CCA, 
-    FMT_CCB, 
-    FMT_CCC, 
-    FMT_CCD, 
-    FMT_CCE, 
+    FMT_CCA,
+    FMT_CCB,
+    FMT_CCC,
+    FMT_CCD,
+    FMT_CCE,
   };
 
 
 static void select_treeview_from_format
  (GtkTreeView *treeview, const struct fmt_spec *fmt);
 
-static void select_treeview_from_format_type(GtkTreeView *treeview, 
+static void select_treeview_from_format_type(GtkTreeView *treeview,
                                             const int fmt_type);
 
 
 /* callback for when any of the radio buttons are toggled */
-static void        
+static void
 on_toggle_1(GtkToggleButton *togglebutton, gpointer user_data)
 {
   struct tgs *tgs = user_data;
 
-  if ( gtk_toggle_button_get_active(togglebutton) == FALSE) 
+  if ( gtk_toggle_button_get_active(togglebutton) == FALSE)
     return ;
 
   tgs->dialog->active_button = tgs->button;
@@ -122,7 +122,7 @@ static void update_width_decimals(const struct var_type_dialog *dialog);
 
 #define force_max(x, val) if (x > val) x = val
 
-/* 
+/*
    Set the local format from the variable
    and force them to have sensible values */
 static void
@@ -130,7 +130,7 @@ set_local_width_decimals(struct var_type_dialog *dialog)
 {
   dialog->fmt_l = * var_get_write_format (dialog->pv);
 
-  switch (dialog->active_button) 
+  switch (dialog->active_button)
     {
     case BUTTON_STRING:
       force_max( dialog->fmt_l.w, 255);
@@ -144,13 +144,13 @@ set_local_width_decimals(struct var_type_dialog *dialog)
 
 
 /* callback for when any of the radio buttons are toggled */
-static void        
+static void
 on_toggle_2(GtkToggleButton *togglebutton, gpointer user_data)
 {
   struct var_type_dialog *dialog = user_data;
-  if ( gtk_toggle_button_get_active(togglebutton) == FALSE) 
+  if ( gtk_toggle_button_get_active(togglebutton) == FALSE)
     {
-      switch (dialog->active_button) 
+      switch (dialog->active_button)
        {
        case BUTTON_DATE:
          gtk_widget_hide(dialog->date_format_list);
@@ -172,7 +172,7 @@ on_toggle_2(GtkToggleButton *togglebutton, gpointer user_data)
   set_local_width_decimals(dialog);
   update_width_decimals(dialog);
 
-  switch (dialog->active_button) 
+  switch (dialog->active_button)
     {
     case BUTTON_STRING:
       gtk_widget_show(dialog->width_decimals);
@@ -214,7 +214,7 @@ static void
 add_to_group(GtkWidget *w, gpointer data)
 {
   GtkSizeGroup *sg = data;
-  
+
   gtk_size_group_add_widget(sg, w);
 }
 
@@ -243,7 +243,7 @@ preview_custom(GtkWidget *w, gpointer data)
 
   struct var_type_dialog *dialog = data;
 
-  if ( dialog->active_button != BUTTON_CUSTOM ) 
+  if ( dialog->active_button != BUTTON_CUSTOM )
     return;
 
   text = gtk_entry_get_text(GTK_ENTRY(dialog->entry_decimals));
@@ -283,7 +283,7 @@ set_format_from_treeview(GtkTreeView *treeview, gpointer data)
 {
   struct var_type_dialog *dialog = data;
   GtkTreeIter iter ;
-  GValue the_value = {0}; 
+  GValue the_value = {0};
 
   GtkTreeSelection* sel =  gtk_tree_view_get_selection(treeview);
 
@@ -305,7 +305,7 @@ set_format_type_from_treeview(GtkTreeView *treeview, gpointer data)
   static struct fmt_spec custom_format = {0,0,0};
   struct var_type_dialog *dialog = data;
   GtkTreeIter iter ;
-  GValue the_value = {0}; 
+  GValue the_value = {0};
 
   GtkTreeSelection* sel =  gtk_tree_view_get_selection(treeview);
 
@@ -334,24 +334,24 @@ var_type_dialog_create (GladeXML *xml)
 
   dialog->window = get_widget_assert(xml,"var_type_dialog");
 
-  gtk_window_set_transient_for(GTK_WINDOW(dialog->window), 
+  gtk_window_set_transient_for(GTK_WINDOW(dialog->window),
                               GTK_WINDOW(get_widget_assert(xml, "data_editor")));
 
-  dialog->radioButton[BUTTON_NUMERIC] = 
+  dialog->radioButton[BUTTON_NUMERIC] =
     get_widget_assert(xml,"radiobutton1");
-  dialog->radioButton[BUTTON_COMMA] =   
+  dialog->radioButton[BUTTON_COMMA] =
     get_widget_assert(xml,"radiobutton2");
-  dialog->radioButton[BUTTON_DOT] =     
+  dialog->radioButton[BUTTON_DOT] =
     get_widget_assert(xml,"radiobutton3");
-  dialog->radioButton[BUTTON_SCIENTIFIC] = 
+  dialog->radioButton[BUTTON_SCIENTIFIC] =
     get_widget_assert(xml,"radiobutton4");
-  dialog->radioButton[BUTTON_DATE] =   
+  dialog->radioButton[BUTTON_DATE] =
     get_widget_assert(xml,"radiobutton5");
-  dialog->radioButton[BUTTON_DOLLAR] = 
+  dialog->radioButton[BUTTON_DOLLAR] =
     get_widget_assert(xml,"radiobutton6");
-  dialog->radioButton[BUTTON_CUSTOM] = 
+  dialog->radioButton[BUTTON_CUSTOM] =
     get_widget_assert(xml,"radiobutton7");
-  dialog->radioButton[BUTTON_STRING] = 
+  dialog->radioButton[BUTTON_STRING] =
     get_widget_assert(xml,"radiobutton8");
 
 
@@ -370,10 +370,10 @@ var_type_dialog_create (GladeXML *xml)
                                                   "custom_currency_hbox");
 
   dialog->dollar_window = get_widget_assert(xml, "dollar_window");
-  dialog->dollar_treeview = 
+  dialog->dollar_treeview =
     GTK_TREE_VIEW(get_widget_assert(xml, "dollar_treeview"));
 
-  dialog->custom_treeview = 
+  dialog->custom_treeview =
     GTK_TREE_VIEW(get_widget_assert(xml, "custom_treeview"));
 
 
@@ -394,40 +394,40 @@ var_type_dialog_create (GladeXML *xml)
      upleasant resizing effects */
   GtkSizeGroup *sizeGroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
-  gtk_container_foreach(GTK_CONTAINER(get_widget_assert(xml, "middle_box")), 
+  gtk_container_foreach(GTK_CONTAINER(get_widget_assert(xml, "middle_box")),
                        add_to_group, sizeGroup);
 
 
-  for (i = 0 ; i < num_BUTTONS; ++i ) 
+  for (i = 0 ; i < num_BUTTONS; ++i )
     {
       tgs[i].dialog = dialog;
       tgs[i].button = i;
-      g_signal_connect(dialog->radioButton[i], "toggled", 
+      g_signal_connect(dialog->radioButton[i], "toggled",
                       G_CALLBACK(on_toggle_1), &tgs[i]);
 
-      g_signal_connect(dialog->radioButton[i], "toggled", 
+      g_signal_connect(dialog->radioButton[i], "toggled",
                       G_CALLBACK(on_toggle_2), dialog);
     }
 
   /* Populate the date format tree view */
-  dialog->date_format_treeview = GTK_TREE_VIEW(get_widget_assert(xml, 
+  dialog->date_format_treeview = GTK_TREE_VIEW(get_widget_assert(xml,
                                              "date_format_list_view"));
 
   renderer = gtk_cell_renderer_text_new();
-  
+
   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                     renderer,
                                                     "text",
                                                     0,
                                                     NULL);
 
-  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->date_format_treeview), 
+  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->date_format_treeview),
                               column);
 
 
   list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
 
-  for ( i = 0 ; i < sizeof(format_option) / sizeof(format_option[0]) ; ++i ) 
+  for ( i = 0 ; i < sizeof(format_option) / sizeof(format_option[0]) ; ++i )
     {
       gtk_list_store_append (list_store, &iter);
       gtk_list_store_set (list_store, &iter,
@@ -436,7 +436,7 @@ var_type_dialog_create (GladeXML *xml)
                          -1);
     }
 
-  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->date_format_treeview), 
+  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->date_format_treeview),
                          GTK_TREE_MODEL(list_store));
 
   g_object_unref(list_store);
@@ -448,21 +448,21 @@ var_type_dialog_create (GladeXML *xml)
   /* populate the dollar treeview */
 
   renderer = gtk_cell_renderer_text_new();
-  
+
   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                     renderer,
                                                     "text",
                                                     0,
                                                     NULL);
 
-  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->dollar_treeview), 
+  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->dollar_treeview),
                               column);
 
 
-  list_store = gtk_list_store_new (2, G_TYPE_STRING, 
+  list_store = gtk_list_store_new (2, G_TYPE_STRING,
                                                 G_TYPE_POINTER);
 
-  for ( i = 0 ; i < sizeof(dollar_format)/sizeof(dollar_format[0]) ; ++i ) 
+  for ( i = 0 ; i < sizeof(dollar_format)/sizeof(dollar_format[0]) ; ++i )
     {
       char *template = fmt_dollar_template (&dollar_format[i]);
       gtk_list_store_append (list_store, &iter);
@@ -473,16 +473,16 @@ var_type_dialog_create (GladeXML *xml)
       free (template);
     }
 
-  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->dollar_treeview), 
+  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->dollar_treeview),
                          GTK_TREE_MODEL(list_store));
 
   g_object_unref(list_store);
 
-  g_signal_connect(GTK_OBJECT(dialog->dollar_treeview), 
+  g_signal_connect(GTK_OBJECT(dialog->dollar_treeview),
                   "cursor-changed",
                   GTK_SIGNAL_FUNC(set_format_from_treeview), dialog);
 
-  g_signal_connect_swapped(GTK_OBJECT(dialog->dollar_treeview), 
+  g_signal_connect_swapped(GTK_OBJECT(dialog->dollar_treeview),
                   "cursor-changed",
                   GTK_SIGNAL_FUNC(update_width_decimals), dialog);
 
@@ -490,21 +490,21 @@ var_type_dialog_create (GladeXML *xml)
   /* populate the custom treeview */
 
   renderer = gtk_cell_renderer_text_new();
-  
+
   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                     renderer,
                                                     "text",
                                                     0,
                                                     NULL);
 
-  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->custom_treeview), 
+  gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->custom_treeview),
                               column);
 
 
-  list_store = gtk_list_store_new (2, G_TYPE_STRING, 
+  list_store = gtk_list_store_new (2, G_TYPE_STRING,
                                                 G_TYPE_POINTER);
 
-  for ( i = 0 ; i < 5 ; ++i ) 
+  for ( i = 0 ; i < 5 ; ++i )
     {
       enum fmt_type cc_fmts[5] = {FMT_CCA, FMT_CCB, FMT_CCC, FMT_CCD, FMT_CCE};
       gchar text[4];
@@ -516,34 +516,34 @@ var_type_dialog_create (GladeXML *xml)
                          -1);
     }
 
-  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->custom_treeview), 
+  gtk_tree_view_set_model(GTK_TREE_VIEW(dialog->custom_treeview),
                          GTK_TREE_MODEL(list_store));
 
   g_object_unref(list_store);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->custom_treeview), 
+  g_signal_connect(GTK_OBJECT(dialog->custom_treeview),
                   "cursor-changed",
                   GTK_SIGNAL_FUNC(set_format_type_from_treeview), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->custom_treeview), 
+  g_signal_connect(GTK_OBJECT(dialog->custom_treeview),
                   "cursor-changed",
                   GTK_SIGNAL_FUNC(preview_custom), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->entry_width), 
+  g_signal_connect(GTK_OBJECT(dialog->entry_width),
                   "changed",
                   GTK_SIGNAL_FUNC(preview_custom), dialog);
 
 
-  g_signal_connect(GTK_OBJECT(dialog->entry_decimals), 
+  g_signal_connect(GTK_OBJECT(dialog->entry_decimals),
                   "changed",
                   GTK_SIGNAL_FUNC(preview_custom), dialog);
 
 
   /* Connect the OK button */
-  g_signal_connect(dialog->ok, "clicked", G_CALLBACK(on_var_type_ok_clicked), 
+  g_signal_connect(dialog->ok, "clicked", G_CALLBACK(on_var_type_ok_clicked),
                   dialog);
 
 
@@ -571,7 +571,7 @@ select_treeview_from_format(GtkTreeView *treeview, const struct fmt_spec *fmt)
   GtkTreePath *path ;
 
   /*
-    We do this with a linear search through the model --- hardly 
+    We do this with a linear search through the model --- hardly
     efficient, but the list is short ... */
   GtkTreeIter iter;
 
@@ -587,7 +587,7 @@ select_treeview_from_format(GtkTreeView *treeview, const struct fmt_spec *fmt)
       GValue value = {0};
 
       gtk_tree_model_get_value(model, &iter, 1, &value);
-         
+
       spec = g_value_get_pointer(&value);
 
       if ( 0 == memcmp(spec, fmt, sizeof (struct fmt_spec)))
@@ -595,14 +595,14 @@ select_treeview_from_format(GtkTreeView *treeview, const struct fmt_spec *fmt)
          break;
        }
     }
-       
+
   path = gtk_tree_model_get_path(model, &iter);
-  if ( path ) 
+  if ( path )
     {
       gtk_tree_view_set_cursor(treeview, path, 0, 0);
       gtk_tree_path_free(path);
     }
-  else 
+  else
     {
       char str[FMT_STRING_LEN_MAX + 1];
       g_warning("Unusual date format: %s\n", fmt_to_string(fmt, str));
@@ -612,13 +612,13 @@ select_treeview_from_format(GtkTreeView *treeview, const struct fmt_spec *fmt)
 
 /* Set the TREEVIEW list cursor to the item described by FMT_TYPE */
 static void
-select_treeview_from_format_type(GtkTreeView *treeview, 
+select_treeview_from_format_type(GtkTreeView *treeview,
                                 const int fmt_type)
 {
   GtkTreePath *path ;
+
  /*
-    We do this with a linear search through the model --- hardly 
+    We do this with a linear search through the model --- hardly
     efficient, but the list is short ... */
   GtkTreeIter iter;
 
@@ -630,19 +630,19 @@ select_treeview_from_format_type(GtkTreeView *treeview,
        success = gtk_tree_model_iter_next(model, &iter))
     {
       int spec ;
-      
+
       GValue value = {0};
 
       gtk_tree_model_get_value(model, &iter, 1, &value);
-         
+
       spec = * ((int *) g_value_get_pointer(&value));
 
       if ( spec == fmt_type)
        break;
     }
-       
+
   path = gtk_tree_model_get_path(model, &iter);
-  if ( path ) 
+  if ( path )
     {
       gtk_tree_view_set_cursor(treeview, path, 0, 0);
       gtk_tree_path_free(path);
@@ -667,12 +667,12 @@ var_type_dialog_set_state(struct var_type_dialog *dialog)
 
   g_string_printf(str, "%d", write_spec->d);
 
-  gtk_entry_set_text(GTK_ENTRY(dialog->entry_decimals), 
+  gtk_entry_set_text(GTK_ENTRY(dialog->entry_decimals),
                     str->str);
 
   g_string_printf(str, "%d", write_spec->w);
 
-  gtk_entry_set_text(GTK_ENTRY(dialog->entry_width), 
+  gtk_entry_set_text(GTK_ENTRY(dialog->entry_width),
                     str->str);
 
   g_string_free(str, TRUE);
@@ -700,22 +700,22 @@ var_type_dialog_set_state(struct var_type_dialog *dialog)
     case FMT_DOLLAR:
       var_type_dialog_set_active_button(dialog, BUTTON_DOLLAR);
       gtk_widget_show_all(dialog->width_decimals);
-      
+
       select_treeview_from_format(dialog->dollar_treeview, write_spec);
       break;
-    case FMT_DATE:     
-    case FMT_EDATE:    
-    case FMT_SDATE:    
-    case FMT_ADATE:    
-    case FMT_JDATE:    
-    case FMT_QYR:      
-    case FMT_MOYR:     
-    case FMT_WKYR:     
-    case FMT_DATETIME: 
-    case FMT_TIME:     
-    case FMT_DTIME:    
-    case FMT_WKDAY:    
-    case FMT_MONTH:    
+    case FMT_DATE:
+    case FMT_EDATE:
+    case FMT_SDATE:
+    case FMT_ADATE:
+    case FMT_JDATE:
+    case FMT_QYR:
+    case FMT_MOYR:
+    case FMT_WKYR:
+    case FMT_DATETIME:
+    case FMT_TIME:
+    case FMT_DTIME:
+    case FMT_WKDAY:
+    case FMT_MONTH:
       var_type_dialog_set_active_button(dialog, BUTTON_DATE);
       gtk_widget_hide(dialog->width_decimals);
       gtk_widget_show(dialog->date_format_list);
@@ -727,7 +727,7 @@ var_type_dialog_set_state(struct var_type_dialog *dialog)
     case FMT_CCD:
     case FMT_CCE:
       var_type_dialog_set_active_button(dialog, BUTTON_CUSTOM);
-      select_treeview_from_format_type(dialog->custom_treeview, 
+      select_treeview_from_format_type(dialog->custom_treeview,
                                       write_spec->type);
       gtk_widget_show_all(dialog->width_decimals);
       break;
@@ -739,7 +739,7 @@ var_type_dialog_set_state(struct var_type_dialog *dialog)
 
 
 /* Popup the dialog box */
-void 
+void
 var_type_dialog_show(struct var_type_dialog *dialog)
 {
   var_type_dialog_set_state(dialog);
@@ -764,7 +764,7 @@ make_output_format_try (struct fmt_spec *f, int type, int w, int d)
 
 /* Callbacks for the Variable Type Dialog Box */
 
-/* Callback for when the var type dialog is closed using the OK button. 
+/* Callback for when the var type dialog is closed using the OK button.
    It sets the appropriate variable accordingly. */
 static gint
 on_var_type_ok_clicked(GtkWidget *w, gpointer data)
@@ -785,7 +785,7 @@ on_var_type_ok_clicked(GtkWidget *w, gpointer data)
     gint new_width = 0;
     bool result = false;
     struct fmt_spec spec;
-    switch (dialog->active_button) 
+    switch (dialog->active_button)
       {
       case BUTTON_STRING:
        new_type = VAR_STRING;
index d856def9f5378c4a5161d24094535fbdf0af2fd0..a51eeaa5263e227ba171eb858000f86e12bfa8bb 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
     PSPPIRE --- A Graphical User Interface for PSPP
     Copyright (C) 2005  Free Software Foundation
 
@@ -27,7 +27,7 @@
 
 #include <data/format.h>
 
-enum 
+enum
   {
     BUTTON_NUMERIC,
     BUTTON_COMMA,
@@ -91,7 +91,7 @@ struct var_type_dialog
 struct var_type_dialog * var_type_dialog_create(GladeXML *xml);
 
 
-void var_type_dialog_set_variable(struct var_type_dialog *dialog, 
+void var_type_dialog_set_variable(struct var_type_dialog *dialog,
                                  variable_changed_func set_variable_changed,
                                  struct variable *var);