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"
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"
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 ""
#: 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 ""
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"
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 ""
#: 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"
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 "
"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 ""
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
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
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
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 ""
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 ""
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"
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 ""
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 ""
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 ""
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 "
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
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 ""
msgid "warning"
msgstr "Warnung"
+#~ msgid "PSPP Data Editor"
+#~ msgstr "PSPP Dateiaufbereiter"
+
+#~ msgid "Save Data As"
+#~ msgstr "Speichern unter"
+
#~ msgid "_Insert"
#~ msgstr "_Stecken"
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"
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 ""
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 ""
#: 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 ""
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 ""
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 ""
#: 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 ""
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 "
"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 ""
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
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
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
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 ""
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 ""
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"
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 ""
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 ""
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 ""
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 "
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
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 ""
-/*
+/*
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
* 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>
(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);
}
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;
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);
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);
/**
* 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
*/
gdk_window_invalidate_rect (custom_entry->panel, NULL, TRUE);
}
-}
+}
static gint
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,
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);
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;
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);
-/*
+/*
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
* 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/.
*/
gint
update_data_ref_entry(const GtkSheet *sheet, gint row, gint col)
{
-
+
GladeXML *data_editor_xml = NULL; /* FIXME !!!! */
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"));
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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004 Free Software Foundation
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);
#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)
-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;
}
}
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;
-/*
+/*
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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004,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.
*/
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);
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;
}
}
-void
+void
popup_message(const struct msg *m)
{
GtkWindow *parent;
message_type = GTK_MESSAGE_INFO;
break;
};
-
- switch (m->category)
+
+ switch (m->category)
{
case MSG_SYNTAX:
msg = _("Script Error");
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004,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.
*/
#ifndef ERROR_DIALOG_H
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,
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);
/* 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;
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));
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"),
g_free(discrete_text);
}
-
+
if (gtk_toggle_button_get_active(dialog->button_none))
mv_clear(&dialog->mvl);
/* 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));
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")));
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 ;
/* 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));
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);
}
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);
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)
{
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2005 Free Software Foundation
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
/* --- variables --- */
static GObjectClass *parent_class = NULL;
-enum {CASE_CHANGED,
+enum {CASE_CHANGED,
CASE_INSERTED,
CASES_DELETED,
n_SIGNALS};
0,
NULL, NULL,
g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
1,
G_TYPE_INT);
0,
NULL, NULL,
g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
1,
G_TYPE_INT);
0,
NULL, NULL,
gtkextra_VOID__INT_INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
2,
G_TYPE_INT, G_TYPE_INT);
}
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);
/**
* 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)
/* 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)
{
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 ;
posn = casefile_get_case_cnt(cf->flexifile);
result = casefile_append(cf->flexifile, c);
-
+
g_signal_emit(cf, signal[CASE_INSERTED], 0, posn);
-
+
return result;
}
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);
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);
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 ;
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);
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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
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;
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);
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);
/* psppire-data-store.c
-
+
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
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);
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
+ G_TYPE_NONE,
0);
}
psppire_data_store_get_var_count (const GSheetModel *model)
{
const PsppireDataStore *store = PSPPIRE_DATA_STORE(model);
-
+
return psppire_dict_get_var_cnt(store->dict);
}
gint row, gint column)
{
PsppireDataStore *store = PSPPIRE_DATA_STORE(model);
-
+
return store->font_desc;
}
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),
g_return_if_fail (data);
store = PSPPIRE_DATA_STORE(data);
-
+
g_sheet_model_range_changed (G_SHEET_MODEL(store),
casenum, -1,
casenum, -1);
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);
static void
-dict_size_change_callback(GObject *obj,
+dict_size_change_callback(GObject *obj,
gint posn, gint adjustment, gpointer data)
{
PsppireDataStore *store ;
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);
}
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))
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);
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. */
}
-static gboolean
-psppire_data_store_clear_datum (GSheetModel *model,
+static gboolean
+psppire_data_store_clear_datum (GSheetModel *model,
gint row, gint col)
{
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);
#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;
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
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);
#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),
true, /* writeable */
false, /* dont compress */
3 /* version */
- };
+ };
struct sfm_writer *writer ;
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);
-void
+void
psppire_data_store_clear(PsppireDataStore *data_store)
{
psppire_case_file_clear(data_store->case_file);
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);
static const gchar null_var_name[]=N_("var");
-
+
static gchar *
geometry_get_column_button_label(const GSheetColumn *geom, gint unit)
{
{
PsppireDataStore *ds = PSPPIRE_DATA_STORE(geom);
-
+
return (unit < psppire_case_file_get_case_count(ds->case_file));
}
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;
}
/* psppire-data-store.h
-
+
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
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 */
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;
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004, 2006 Free Software Foundation
/* --- 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];
};
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);
0,
NULL, NULL,
g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
1,
G_TYPE_INT);
0,
NULL, NULL,
g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
1,
G_TYPE_INT);
0,
NULL, NULL,
gtkextra_VOID__INT_INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
2,
G_TYPE_INT,
G_TYPE_INT);
0,
NULL, NULL,
gtkextra_VOID__INT_INT,
- G_TYPE_NONE,
+ G_TYPE_NONE,
2,
G_TYPE_INT,
G_TYPE_INT);
/* 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;
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 */
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 );
}
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);
{
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;
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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004 Free Software Foundation
/* 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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004 Free Software Foundation
return object_type;
}
-static guint signal_changed = 0 ;
+static guint signal_changed = 0 ;
static void
psppire_object_class_init (PsppireObjectClass *class)
/**
* psppire_object_new:
* @returns: a new #PsppireObject object
- *
- * Creates a new #PsppireObject.
+ *
+ * Creates a new #PsppireObject.
*/
PsppireObject*
psppire_object_new (void)
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004 Free Software Foundation
/* psppire-var-store.c
-
+
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
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);
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;
}
-struct variable *
+struct variable *
psppire_var_store_get_var (PsppireVarStore *store, gint row)
{
return psppire_dict_get_variable (store->dict, row);
{
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;
}
gint row, gint column)
{
PsppireVarStore *store = PSPPIRE_VAR_STORE(model);
-
+
return store->font_desc;
}
return retval;
}
-static void
+static void
var_change_callback(GtkWidget *w, gint n, gpointer data)
{
GSheetModel *model = G_SHEET_MODEL(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);
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);
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 ;
pv = psppire_var_store_get_var (var_store, row);
- if ( !pv )
+ if ( !pv )
return FALSE;
switch (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 ;
pv = psppire_var_store_get_var (var_store, row);
- if ( !pv )
+ if ( !pv )
return FALSE;
switch (col)
{
static gchar none[] = N_("None");
- static const gchar *const type_label[] =
+ static const gchar *const type_label[] =
{
N_("Numeric"),
N_("Comma"),
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);
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);
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:
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;
}
{
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
{
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]);
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);
g_free(l);
g_free(h);
- if ( mv_has_value(miss))
+ if ( mv_has_value(miss))
{
gchar *ss = 0;
union value v;
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 ;
}
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;
}
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
/* psppire-var-store.h
-
+
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004, 2005, 2006 Free Software Foundation
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);
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);
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;
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");
textdomain (PACKAGE);
- if ( ! parse_command_line(&argc, &argv, &filename, &err) )
+ if ( ! parse_command_line(&argc, &argv, &filename, &err) )
{
g_clear_error(&err);
return 0;
}
}
- if ( optind < *argc)
+ if ( optind < *argc)
{
*filename = (*argv)[optind];
}
-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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
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);
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);
static gint
delete_event_callback(GtkWidget *widget,
GdkEvent *event,
- gpointer data)
+ gpointer data)
{
struct sort_cases_dialog *dialog = (struct sort_cases_dialog*) data;
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;
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);
}
/* Remove a row from the list of criteria */
static void
-deselect_criteria(gpointer data,
+deselect_criteria(gpointer data,
gpointer user_data)
{
GtkTreeIter iter;
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);
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 */
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);
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);
/* 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));
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",
/* 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();
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);
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));
}
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);
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;
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);
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);
GtkTreeView *dict_view;
-
+
GtkTreeView *criteria_view;
GtkTreeViewColumn *crit_col;
GtkCellRenderer *crit_renderer;
GtkButton *button;
GtkToggleButton *ascending_button;
-
+
/* FIXME: Could this be done better with a GtkToggleAction ?? */
enum {VAR_SELECT, VAR_DESELECT} button_state;
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
);
/* 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 ;
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);
}
}
/* 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);
}
/* 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;
/* 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;
/* 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);
}
-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));
( 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;
}
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,
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;
/* 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;
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);
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);
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);
}
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2005 Free Software Foundation
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004, 2005, 2006 Free Software Foundation
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},
};
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)
{
-/* Callback for when the measure combo box
+/* Callback for when the measure combo box
item is selected */
static void
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
)
{
if (! psppire_dict_check_name(var_store->dict, name, TRUE))
return FALSE;
-
+
psppire_dict_insert_variable(var_store->dict, row, name);
return TRUE;
/* 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 )
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;
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);
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;
{
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);
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);
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:
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));
}
}
}
- break;
+ break;
default:
gtk_sheet_change_entry(sheet, GTK_TYPE_ENTRY);
/* 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)
{
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",
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);
-/*
+/*
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);
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2005, 2006 Free Software Foundation
};
-static const struct fmt_spec dollar_format[] =
+static const struct fmt_spec dollar_format[] =
{
{FMT_DOLLAR, 2, 0},
{FMT_DOLLAR, 3, 0},
{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;
#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
{
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);
/* 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);
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);
add_to_group(GtkWidget *w, gpointer data)
{
GtkSizeGroup *sg = data;
-
+
gtk_size_group_add_widget(sg, w);
}
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));
{
struct var_type_dialog *dialog = data;
GtkTreeIter iter ;
- GValue the_value = {0};
+ GValue the_value = {0};
GtkTreeSelection* sel = gtk_tree_view_get_selection(treeview);
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);
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");
"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"));
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,
-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);
/* 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);
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);
/* 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];
-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);
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;
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)))
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));
/* 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;
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);
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);
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);
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;
/* Popup the dialog box */
-void
+void
var_type_dialog_show(struct var_type_dialog *dialog)
{
var_type_dialog_set_state(dialog);
/* 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)
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;
-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2005 Free Software Foundation
#include <data/format.h>
-enum
+enum
{
BUTTON_NUMERIC,
BUTTON_COMMA,
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);