pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp po/de.po po/pspp.pot src/data/file-name.c ...


From: John Darrington
Subject: [Pspp-cvs] pspp po/de.po po/pspp.pot src/data/file-name.c ...
Date: Thu, 16 Aug 2007 06:30:25 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Changes by:     John Darrington <jmd>   07/08/16 06:30:25

Modified files:
        po             : de.po pspp.pot 
        src/data       : file-name.c 
        src/output     : ChangeLog ascii.c output.c output.h 
        src/ui/gui     : ChangeLog automake.mk helper.c psppire.c 
                         syntax-editor.glade window-manager.c 
                         window-manager.h 
Added files:
        src/ui/gui     : output-viewer.c output-viewer.glade 
                         output-viewer.h 

Log message:
        Added a basic output viewer.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/po/de.po?cvsroot=pspp&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/pspp/po/pspp.pot?cvsroot=pspp&r1=1.143&r2=1.144
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/file-name.c?cvsroot=pspp&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/ChangeLog?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/ascii.c?cvsroot=pspp&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/output.c?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/output.h?cvsroot=pspp&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/ChangeLog?cvsroot=pspp&r1=1.80&r2=1.81
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/automake.mk?cvsroot=pspp&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/helper.c?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/psppire.c?cvsroot=pspp&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/syntax-editor.glade?cvsroot=pspp&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/window-manager.c?cvsroot=pspp&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/window-manager.h?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/output-viewer.c?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/output-viewer.glade?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/output-viewer.h?cvsroot=pspp&rev=1.1

Patches:
Index: po/de.po
===================================================================
RCS file: /sources/pspp/pspp/po/de.po,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- po/de.po    15 Aug 2007 01:47:17 -0000      1.58
+++ po/de.po    16 Aug 2007 06:30:22 -0000      1.59
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: PSPP 0.4.3\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-08-15 08:33+0800\n"
+"POT-Creation-Date: 2007-08-16 14:11+0800\n"
 "PO-Revision-Date: 2006-07-28 19:32+0800\n"
 "Last-Translator: John Darrington <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -3078,11 +3078,11 @@
 msgid "Multivariate GLM not yet supported"
 msgstr ""
 
-#: src/language/stats/glm.q:268 src/language/stats/regression.q:1140
+#: src/language/stats/glm.q:268 src/language/stats/regression.q:1153
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/glm.q:343 src/language/stats/regression.q:1240
+#: src/language/stats/glm.q:343 src/language/stats/regression.q:1252
 msgid "No valid data found. This command was skipped."
 msgstr ""
 
@@ -3334,6 +3334,13 @@
 msgid "Coefficient Correlations"
 msgstr ""
 
+#: src/language/stats/regression.q:1031
+msgid ""
+"The dependent variable is equal to the independent variable. The least "
+"sequares line is therefore Y=X. Standard errors and related statistics may "
+"be meaningless."
+msgstr ""
+
 #: src/language/stats/sort-cases.c:63
 msgid "Buffer limit must be at least 2."
 msgstr ""
@@ -3891,69 +3898,69 @@
 msgid "unexpected end of line expecting string"
 msgstr ""
 
-#: src/output/ascii.c:176
+#: src/output/ascii.c:179
 #, c-format
 msgid ""
 "ascii: page excluding margins and headers must be at least 59 characters "
 "wide by 15 lines long, but as configured is only %d characters by %d lines"
 msgstr ""
 
-#: src/output/ascii.c:291
+#: src/output/ascii.c:295
 #, c-format
 msgid ""
 "ascii: bad index value for `box' key: syntax is box[INDEX], 0 <= INDEX < %d "
 "decimal, with INDEX expressed in base 4"
 msgstr ""
 
-#: src/output/ascii.c:298
+#: src/output/ascii.c:302
 #, c-format
 msgid "ascii: multiple values for %s"
 msgstr ""
 
-#: src/output/ascii.c:306
+#: src/output/ascii.c:310
 #, c-format
 msgid "ascii: unknown parameter `%s'"
 msgstr ""
 
-#: src/output/ascii.c:317
+#: src/output/ascii.c:321
 #, c-format
 msgid "ascii: positive integer required as `%s' value"
 msgstr ""
 
-#: src/output/ascii.c:343
+#: src/output/ascii.c:347
 msgid "ascii: `emphasis' value must be `bold', `underline', or `none'"
 msgstr ""
 
-#: src/output/ascii.c:356
+#: src/output/ascii.c:360
 #, c-format
 msgid "ascii: zero or positive integer required as `%s' value"
 msgstr ""
 
-#: src/output/ascii.c:387
+#: src/output/ascii.c:391
 #, c-format
 msgid "ascii: boolean value expected for `%s'"
 msgstr ""
 
-#: src/output/ascii.c:416 src/output/html.c:188
+#: src/output/ascii.c:423 src/output/html.c:188
 msgid "`chart-files' value must contain `#'"
 msgstr ""
 
-#: src/output/ascii.c:447
+#: src/output/ascii.c:454
 #, c-format
 msgid "ascii: opening output file \"%s\""
 msgstr ""
 
-#: src/output/ascii.c:514
+#: src/output/ascii.c:521
 #, c-format
 msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
 msgstr ""
 
-#: src/output/ascii.c:736 src/output/postscript.c:826
+#: src/output/ascii.c:743 src/output/postscript.c:826
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
 
-#: src/output/ascii.c:789
+#: src/output/ascii.c:795
 #, c-format
 msgid "ascii: closing output file \"%s\""
 msgstr ""
@@ -3981,141 +3988,141 @@
 msgid "unknown configuration parameter `%s' for HTML device driver"
 msgstr ""
 
-#: src/output/output.c:162
+#: src/output/output.c:161
 #, c-format
 msgid "unknown output driver `%s'"
 msgstr ""
 
-#: src/output/output.c:164
+#: src/output/output.c:163
 #, c-format
 msgid "output driver `%s' referenced but never defined"
 msgstr ""
 
-#: src/output/output.c:255
+#: src/output/output.c:254
 msgid "using default output driver configuration"
 msgstr ""
 
-#: src/output/output.c:284
+#: src/output/output.c:283
 msgid "cannot find output initialization file (use `-vv' to view search path)"
 msgstr ""
 
-#: src/output/output.c:292
+#: src/output/output.c:291
 #, c-format
 msgid "cannot open \"%s\""
 msgstr ""
 
-#: src/output/output.c:304
+#: src/output/output.c:303
 #, c-format
 msgid "reading \"%s\""
 msgstr ""
 
-#: src/output/output.c:326
+#: src/output/output.c:325
 msgid "syntax error"
 msgstr ""
 
-#: src/output/output.c:335
+#: src/output/output.c:334
 #, c-format
 msgid "error closing \"%s\""
 msgstr ""
 
-#: src/output/output.c:343
+#: src/output/output.c:342
 msgid "no active output drivers"
 msgstr ""
 
-#: src/output/output.c:346
+#: src/output/output.c:345
 msgid "error reading device definition file"
 msgstr ""
 
-#: src/output/output.c:463
+#: src/output/output.c:462
 #, c-format
 msgid ""
 "Driver classes:\n"
 "\t"
 msgstr ""
 
-#: src/output/output.c:495
+#: src/output/output.c:494
 #, c-format
 msgid "syntax error parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:511
+#: src/output/output.c:510
 #, c-format
 msgid ""
 "reached end of options inside quoted string parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:581
+#: src/output/output.c:580
 #, c-format
 msgid "syntax error in string constant parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:629
+#: src/output/output.c:628
 #, c-format
 msgid "syntax error expecting `=' parsing options for driver \"%s\""
 msgstr ""
 
-#: src/output/output.c:680
+#: src/output/output.c:679
 #, c-format
 msgid "unknown output driver class `%.*s'"
 msgstr ""
 
-#: src/output/output.c:695
+#: src/output/output.c:694
 #, c-format
 msgid "unknown device type `%.*s'"
 msgstr ""
 
-#: src/output/output.c:712
+#: src/output/output.c:711
 #, c-format
 msgid "cannot initialize output driver `%s' of class `%s'"
 msgstr ""
 
-#: src/output/output.c:758
+#: src/output/output.c:757
 msgid "driver definition line missing driver name or class name"
 msgstr ""
 
-#: src/output/output.c:904
+#: src/output/output.c:903
 #, c-format
 msgid "unit \"%s\" is unknown in dimension \"%s\""
 msgstr ""
 
-#: src/output/output.c:919
+#: src/output/output.c:918
 #, c-format
 msgid "bad dimension \"%s\""
 msgstr ""
 
-#: src/output/output.c:945
+#: src/output/output.c:944
 #, c-format
 msgid "`x' expected in paper size `%s'"
 msgstr ""
 
-#: src/output/output.c:955
+#: src/output/output.c:954
 #, c-format
 msgid "trailing garbage `%s' on paper size `%s'"
 msgstr ""
 
-#: src/output/output.c:999
+#: src/output/output.c:998
 msgid "paper size name cannot be empty"
 msgstr ""
 
-#: src/output/output.c:1016
+#: src/output/output.c:1015
 msgid "cannot find `papersize' configuration file"
 msgstr ""
 
-#: src/output/output.c:1023
+#: src/output/output.c:1022
 #, c-format
 msgid "error opening \"%s\""
 msgstr ""
 
-#: src/output/output.c:1034
+#: src/output/output.c:1033
 #, c-format
 msgid "error reading \"%s\""
 msgstr ""
 
-#: src/output/output.c:1060
+#: src/output/output.c:1059
 msgid "syntax error in paper size definition"
 msgstr ""
 
-#: src/output/output.c:1072
+#: src/output/output.c:1071
 msgid "error reading paper size definition file"
 msgstr ""
 
@@ -4452,7 +4459,8 @@
 msgid "Sort Descending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
+#: src/ui/gui/data-editor.glade:18 src/ui/gui/output-viewer.glade:22
+#: src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr "_Datei"
 
@@ -4476,7 +4484,8 @@
 msgid "Recently Used _Files"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:132 src/ui/gui/syntax-editor.glade:143
+#: src/ui/gui/data-editor.glade:132 src/ui/gui/output-viewer.glade:55
+#: src/ui/gui/syntax-editor.glade:143
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
@@ -4591,24 +4600,29 @@
 msgid "Data File _Comments"
 msgstr "Datei Fehler"
 
-#: src/ui/gui/data-editor.glade:456 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:456 src/ui/gui/output-viewer.glade:78
+#: src/ui/gui/syntax-editor.glade:234
 #, fuzzy
 msgid "_Windows"
 msgstr "_Datei"
 
-#: src/ui/gui/data-editor.glade:463 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:463 src/ui/gui/output-viewer.glade:88
+#: src/ui/gui/syntax-editor.glade:243
 msgid "_Minimise All Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:474 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:474 src/ui/gui/output-viewer.glade:99
+#: src/ui/gui/syntax-editor.glade:254
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: src/ui/gui/data-editor.glade:481 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:481 src/ui/gui/output-viewer.glade:106
+#: src/ui/gui/syntax-editor.glade:262
 msgid "_Reference Manual"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:488 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:488 src/ui/gui/output-viewer.glade:113
+#: src/ui/gui/syntax-editor.glade:269
 msgid "_About"
 msgstr "_Info"
 
@@ -4797,6 +4811,18 @@
 msgid "Incorrect range specification"
 msgstr "Falshe Spannweitebeschreibung"
 
+#: src/ui/gui/output-viewer.glade:32
+msgid "gtk-save"
+msgstr ""
+
+#: src/ui/gui/output-viewer.glade:41
+msgid "gtk-save-as"
+msgstr ""
+
+#: src/ui/gui/output-viewer.glade:65
+msgid "gtk-copy"
+msgstr ""
+
 #: src/ui/gui/psppire-buttonbox.c:143
 msgid "Buttons"
 msgstr ""
@@ -5155,7 +5181,7 @@
 msgid "Current Line"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:221
+#: src/ui/gui/syntax-editor.glade:222
 msgid "To End"
 msgstr ""
 
@@ -5214,26 +5240,36 @@
 msgid "Weight cases by %s"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:138
+#: src/ui/gui/window-manager.c:142
 #, fuzzy, c-format
 msgid "Syntax%d"
 msgstr "Speichern unter"
 
-#: src/ui/gui/window-manager.c:139 src/ui/gui/window-manager.c:170
+#: src/ui/gui/window-manager.c:143 src/ui/gui/window-manager.c:178
 #, fuzzy, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr "PSPP Dateiaufbereiter"
 
-#: src/ui/gui/window-manager.c:142
+#: src/ui/gui/window-manager.c:146
 #, fuzzy, c-format
 msgid "Untitled%d"
 msgstr "Unbetitelt"
 
-#: src/ui/gui/window-manager.c:143 src/ui/gui/window-manager.c:173
+#: src/ui/gui/window-manager.c:147 src/ui/gui/window-manager.c:181
 #, fuzzy, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr "PSPP Dateiaufbereiter"
 
+#: src/ui/gui/window-manager.c:150
+#, c-format
+msgid "Output%d"
+msgstr ""
+
+#: src/ui/gui/window-manager.c:151
+#, fuzzy, c-format
+msgid "%s --- PSPP Output"
+msgstr "PSPP Dateiaufbereiter"
+
 #: src/ui/terminal/command-line.c:219
 #, c-format
 msgid ""

Index: po/pspp.pot
===================================================================
RCS file: /sources/pspp/pspp/po/pspp.pot,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -b -r1.143 -r1.144
--- po/pspp.pot 15 Aug 2007 01:47:17 -0000      1.143
+++ po/pspp.pot 16 Aug 2007 06:30:22 -0000      1.144
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-08-15 08:33+0800\n"
+"POT-Creation-Date: 2007-08-16 14:11+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -3071,11 +3071,11 @@
 msgid "Multivariate GLM not yet supported"
 msgstr ""
 
-#: src/language/stats/glm.q:268 src/language/stats/regression.q:1140
+#: src/language/stats/glm.q:268 src/language/stats/regression.q:1153
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/glm.q:343 src/language/stats/regression.q:1240
+#: src/language/stats/glm.q:343 src/language/stats/regression.q:1252
 msgid "No valid data found. This command was skipped."
 msgstr ""
 
@@ -3327,6 +3327,13 @@
 msgid "Coefficient Correlations"
 msgstr ""
 
+#: src/language/stats/regression.q:1031
+msgid ""
+"The dependent variable is equal to the independent variable. The least "
+"sequares line is therefore Y=X. Standard errors and related statistics may "
+"be meaningless."
+msgstr ""
+
 #: src/language/stats/sort-cases.c:63
 msgid "Buffer limit must be at least 2."
 msgstr ""
@@ -3884,69 +3891,69 @@
 msgid "unexpected end of line expecting string"
 msgstr ""
 
-#: src/output/ascii.c:176
+#: src/output/ascii.c:179
 #, c-format
 msgid ""
 "ascii: page excluding margins and headers must be at least 59 characters "
 "wide by 15 lines long, but as configured is only %d characters by %d lines"
 msgstr ""
 
-#: src/output/ascii.c:291
+#: src/output/ascii.c:295
 #, c-format
 msgid ""
 "ascii: bad index value for `box' key: syntax is box[INDEX], 0 <= INDEX < %d "
 "decimal, with INDEX expressed in base 4"
 msgstr ""
 
-#: src/output/ascii.c:298
+#: src/output/ascii.c:302
 #, c-format
 msgid "ascii: multiple values for %s"
 msgstr ""
 
-#: src/output/ascii.c:306
+#: src/output/ascii.c:310
 #, c-format
 msgid "ascii: unknown parameter `%s'"
 msgstr ""
 
-#: src/output/ascii.c:317
+#: src/output/ascii.c:321
 #, c-format
 msgid "ascii: positive integer required as `%s' value"
 msgstr ""
 
-#: src/output/ascii.c:343
+#: src/output/ascii.c:347
 msgid "ascii: `emphasis' value must be `bold', `underline', or `none'"
 msgstr ""
 
-#: src/output/ascii.c:356
+#: src/output/ascii.c:360
 #, c-format
 msgid "ascii: zero or positive integer required as `%s' value"
 msgstr ""
 
-#: src/output/ascii.c:387
+#: src/output/ascii.c:391
 #, c-format
 msgid "ascii: boolean value expected for `%s'"
 msgstr ""
 
-#: src/output/ascii.c:416 src/output/html.c:188
+#: src/output/ascii.c:423 src/output/html.c:188
 msgid "`chart-files' value must contain `#'"
 msgstr ""
 
-#: src/output/ascii.c:447
+#: src/output/ascii.c:454
 #, c-format
 msgid "ascii: opening output file \"%s\""
 msgstr ""
 
-#: src/output/ascii.c:514
+#: src/output/ascii.c:521
 #, c-format
 msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
 msgstr ""
 
-#: src/output/ascii.c:736 src/output/postscript.c:826
+#: src/output/ascii.c:743 src/output/postscript.c:826
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
 
-#: src/output/ascii.c:789
+#: src/output/ascii.c:795
 #, c-format
 msgid "ascii: closing output file \"%s\""
 msgstr ""
@@ -3974,141 +3981,141 @@
 msgid "unknown configuration parameter `%s' for HTML device driver"
 msgstr ""
 
-#: src/output/output.c:162
+#: src/output/output.c:161
 #, c-format
 msgid "unknown output driver `%s'"
 msgstr ""
 
-#: src/output/output.c:164
+#: src/output/output.c:163
 #, c-format
 msgid "output driver `%s' referenced but never defined"
 msgstr ""
 
-#: src/output/output.c:255
+#: src/output/output.c:254
 msgid "using default output driver configuration"
 msgstr ""
 
-#: src/output/output.c:284
+#: src/output/output.c:283
 msgid "cannot find output initialization file (use `-vv' to view search path)"
 msgstr ""
 
-#: src/output/output.c:292
+#: src/output/output.c:291
 #, c-format
 msgid "cannot open \"%s\""
 msgstr ""
 
-#: src/output/output.c:304
+#: src/output/output.c:303
 #, c-format
 msgid "reading \"%s\""
 msgstr ""
 
-#: src/output/output.c:326
+#: src/output/output.c:325
 msgid "syntax error"
 msgstr ""
 
-#: src/output/output.c:335
+#: src/output/output.c:334
 #, c-format
 msgid "error closing \"%s\""
 msgstr ""
 
-#: src/output/output.c:343
+#: src/output/output.c:342
 msgid "no active output drivers"
 msgstr ""
 
-#: src/output/output.c:346
+#: src/output/output.c:345
 msgid "error reading device definition file"
 msgstr ""
 
-#: src/output/output.c:463
+#: src/output/output.c:462
 #, c-format
 msgid ""
 "Driver classes:\n"
 "\t"
 msgstr ""
 
-#: src/output/output.c:495
+#: src/output/output.c:494
 #, c-format
 msgid "syntax error parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:511
+#: src/output/output.c:510
 #, c-format
 msgid ""
 "reached end of options inside quoted string parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:581
+#: src/output/output.c:580
 #, c-format
 msgid "syntax error in string constant parsing options for \"%s\" driver"
 msgstr ""
 
-#: src/output/output.c:629
+#: src/output/output.c:628
 #, c-format
 msgid "syntax error expecting `=' parsing options for driver \"%s\""
 msgstr ""
 
-#: src/output/output.c:680
+#: src/output/output.c:679
 #, c-format
 msgid "unknown output driver class `%.*s'"
 msgstr ""
 
-#: src/output/output.c:695
+#: src/output/output.c:694
 #, c-format
 msgid "unknown device type `%.*s'"
 msgstr ""
 
-#: src/output/output.c:712
+#: src/output/output.c:711
 #, c-format
 msgid "cannot initialize output driver `%s' of class `%s'"
 msgstr ""
 
-#: src/output/output.c:758
+#: src/output/output.c:757
 msgid "driver definition line missing driver name or class name"
 msgstr ""
 
-#: src/output/output.c:904
+#: src/output/output.c:903
 #, c-format
 msgid "unit \"%s\" is unknown in dimension \"%s\""
 msgstr ""
 
-#: src/output/output.c:919
+#: src/output/output.c:918
 #, c-format
 msgid "bad dimension \"%s\""
 msgstr ""
 
-#: src/output/output.c:945
+#: src/output/output.c:944
 #, c-format
 msgid "`x' expected in paper size `%s'"
 msgstr ""
 
-#: src/output/output.c:955
+#: src/output/output.c:954
 #, c-format
 msgid "trailing garbage `%s' on paper size `%s'"
 msgstr ""
 
-#: src/output/output.c:999
+#: src/output/output.c:998
 msgid "paper size name cannot be empty"
 msgstr ""
 
-#: src/output/output.c:1016
+#: src/output/output.c:1015
 msgid "cannot find `papersize' configuration file"
 msgstr ""
 
-#: src/output/output.c:1023
+#: src/output/output.c:1022
 #, c-format
 msgid "error opening \"%s\""
 msgstr ""
 
-#: src/output/output.c:1034
+#: src/output/output.c:1033
 #, c-format
 msgid "error reading \"%s\""
 msgstr ""
 
-#: src/output/output.c:1060
+#: src/output/output.c:1059
 msgid "syntax error in paper size definition"
 msgstr ""
 
-#: src/output/output.c:1072
+#: src/output/output.c:1071
 msgid "error reading paper size definition file"
 msgstr ""
 
@@ -4431,7 +4438,8 @@
 msgid "Sort Descending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
+#: src/ui/gui/data-editor.glade:18 src/ui/gui/output-viewer.glade:22
+#: src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr ""
 
@@ -4454,7 +4462,8 @@
 msgid "Recently Used _Files"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:132 src/ui/gui/syntax-editor.glade:143
+#: src/ui/gui/data-editor.glade:132 src/ui/gui/output-viewer.glade:55
+#: src/ui/gui/syntax-editor.glade:143
 msgid "_Edit"
 msgstr ""
 
@@ -4559,23 +4568,28 @@
 msgid "Data File _Comments"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:456 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:456 src/ui/gui/output-viewer.glade:78
+#: src/ui/gui/syntax-editor.glade:234
 msgid "_Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:463 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:463 src/ui/gui/output-viewer.glade:88
+#: src/ui/gui/syntax-editor.glade:243
 msgid "_Minimise All Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:474 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:474 src/ui/gui/output-viewer.glade:99
+#: src/ui/gui/syntax-editor.glade:254
 msgid "_Help"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:481 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:481 src/ui/gui/output-viewer.glade:106
+#: src/ui/gui/syntax-editor.glade:262
 msgid "_Reference Manual"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:488 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:488 src/ui/gui/output-viewer.glade:113
+#: src/ui/gui/syntax-editor.glade:269
 msgid "_About"
 msgstr ""
 
@@ -4763,6 +4777,18 @@
 msgid "Incorrect range specification"
 msgstr ""
 
+#: src/ui/gui/output-viewer.glade:32
+msgid "gtk-save"
+msgstr ""
+
+#: src/ui/gui/output-viewer.glade:41
+msgid "gtk-save-as"
+msgstr ""
+
+#: src/ui/gui/output-viewer.glade:65
+msgid "gtk-copy"
+msgstr ""
+
 #: src/ui/gui/psppire-buttonbox.c:143
 msgid "Buttons"
 msgstr ""
@@ -5101,7 +5127,7 @@
 msgid "Current Line"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:221
+#: src/ui/gui/syntax-editor.glade:222
 msgid "To End"
 msgstr ""
 
@@ -5159,26 +5185,36 @@
 msgid "Weight cases by %s"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:138
+#: src/ui/gui/window-manager.c:142
 #, c-format
 msgid "Syntax%d"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:139 src/ui/gui/window-manager.c:170
+#: src/ui/gui/window-manager.c:143 src/ui/gui/window-manager.c:178
 #, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:142
+#: src/ui/gui/window-manager.c:146
 #, c-format
 msgid "Untitled%d"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:143 src/ui/gui/window-manager.c:173
+#: src/ui/gui/window-manager.c:147 src/ui/gui/window-manager.c:181
 #, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr ""
 
+#: src/ui/gui/window-manager.c:150
+#, c-format
+msgid "Output%d"
+msgstr ""
+
+#: src/ui/gui/window-manager.c:151
+#, c-format
+msgid "%s --- PSPP Output"
+msgstr ""
+
 #: src/ui/terminal/command-line.c:219
 #, c-format
 msgid ""

Index: src/data/file-name.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/file-name.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- src/data/file-name.c        30 Jul 2007 17:07:50 -0000      1.16
+++ src/data/file-name.c        16 Aug 2007 06:30:23 -0000      1.17
@@ -252,7 +252,7 @@
 FILE *
 fn_open (const char *fn, const char *mode)
 {
-  assert (mode[0] == 'r' || mode[0] == 'w');
+  assert (mode[0] == 'r' || mode[0] == 'w' || mode[0] == 'a');
 
   if (mode[0] == 'r' && (!strcmp (fn, "stdin") || !strcmp (fn, "-")))
     return stdin;

Index: src/output/ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/output/ChangeLog,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/output/ChangeLog        13 Aug 2007 00:26:32 -0000      1.24
+++ src/output/ChangeLog        16 Aug 2007 06:30:23 -0000      1.25
@@ -1,3 +1,8 @@
+2007-08-16  Ben Pfaff  <address@hidden>
+
+       * output.c output.h: export function outp_configure_driver_line.
+       * ascii.c: Added an "append" property.
+       
 2007-08-12  Ben Pfaff  <address@hidden>
 
        Add support for charts to ASCII driver.  Bug #16364.

Index: src/output/ascii.c
===================================================================
RCS file: /sources/pspp/pspp/src/output/ascii.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/output/ascii.c  13 Aug 2007 00:26:32 -0000      1.17
+++ src/output/ascii.c  16 Aug 2007 06:30:23 -0000      1.18
@@ -41,6 +41,7 @@
 /* ASCII driver options: (defaults listed first)
 
    output-file="pspp.list"
+   append=no|yes                If output-file exists, append to it?
    chart-files="pspp-#.png"     Name used for charts.
    chart-type=png               Format of charts (use "none" to disable).
 
@@ -100,6 +101,7 @@
     struct pool *pool;
 
     /* User parameters. */
+    bool append;                /* Append if output-file already exists? */
     bool headers;              /* Print headers at top of page? */
     bool paginate;             /* Insert formfeeds? */
     bool squeeze_blank_lines;   /* Squeeze multiple blank lines into one? */
@@ -143,6 +145,7 @@
     this->horiz_line_width[i] = this->vert_line_width[i] = i != OUTP_L_NONE;
 
   this->ext = x = pool_create_container (struct ascii_driver_ext, pool);
+  x->append = false;
   x->headers = true;
   x->paginate = true;
   x->squeeze_blank_lines = false;
@@ -255,6 +258,7 @@
     {"headers", boolean_arg, 0},
     {"paginate", boolean_arg, 1},
     {"squeeze", boolean_arg, 2},
+    {"append", boolean_arg, 3},
 
     {"emphasis", emphasis_arg, 0},
 
@@ -398,6 +402,9 @@
           case 2:
             x->squeeze_blank_lines = setting;
             break;
+          case 3:
+            x->append = setting;
+            break;
          default:
            NOT_REACHED ();
          }
@@ -441,7 +448,7 @@
 
   if (x->file == NULL)
     {
-      x->file = fn_open (x->file_name, "w");
+      x->file = fn_open (x->file_name, x->append ? "a" : "w");
       if (x->file == NULL)
         {
           error (0, errno, _("ascii: opening output file \"%s\""),
@@ -782,7 +789,6 @@
 ascii_flush (struct outp_driver *this)
 {
   struct ascii_driver_ext *x = this->ext;
-
   if (x->file != NULL)
     {
       if (fn_close (x->file_name, x->file) != 0)

Index: src/output/output.c
===================================================================
RCS file: /sources/pspp/pspp/src/output/output.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/output/output.c 30 Jul 2007 09:28:35 -0000      1.24
+++ src/output/output.c 16 Aug 2007 06:30:23 -0000      1.25
@@ -82,7 +82,6 @@
 static int disabled_devices;
 
 static void destroy_driver (struct outp_driver *);
-static void configure_driver_line (struct substring);
 static void configure_driver (const struct substring, const struct substring,
                               const struct substring, const struct substring);
 
@@ -318,7 +317,7 @@
              struct outp_names *n = search_names (cp, ep);
              if (n)
                {
-                 configure_driver_line (ds_ss (&line));
+                 outp_configure_driver_line (ds_ss (&line));
                  delete_name (n);
                }
            }
@@ -733,8 +732,8 @@
    DRIVERNAME:CLASSNAME:DEVICETYPE:OPTIONS
    Adds a driver to outp_driver_list pursuant to the specification
    provided.  */
-static void
-configure_driver_line (struct substring line_)
+void
+outp_configure_driver_line (struct substring line_)
 {
   struct string line = DS_EMPTY_INITIALIZER;
   struct substring tokens[4];

Index: src/output/output.h
===================================================================
RCS file: /sources/pspp/pspp/src/output/output.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- src/output/output.h 30 Jul 2007 09:28:35 -0000      1.12
+++ src/output/output.h 16 Aug 2007 06:30:23 -0000      1.13
@@ -14,8 +14,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
-#if !output_h
-#define output_h 1
+#ifndef OUTPUT_OUTPUT_H
+#define OUTPUT_OUTPUT_H 1
 
 #include <config.h>
 
@@ -134,6 +134,7 @@
 
 void outp_init (void);
 void outp_read_devices (void);
+void outp_configure_driver_line (struct substring);
 void outp_done (void);
 
 void outp_configure_clear (void);
@@ -164,4 +165,4 @@
 /* Imported from som-frnt.c. */
 void som_destroy_driver (struct outp_driver *);
 
-#endif /* output.h */
+#endif /* output/output.h */

Index: src/ui/gui/ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/ChangeLog,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -b -r1.80 -r1.81
--- src/ui/gui/ChangeLog        13 Aug 2007 06:34:25 -0000      1.80
+++ src/ui/gui/ChangeLog        16 Aug 2007 06:30:23 -0000      1.81
@@ -1,3 +1,9 @@
+2007-08-16  John Darrington <address@hidden>
+
+        * output-viewer.c output-viewer.h output-viewer.glade (new files)
+         helper.c psppire.c syntax-editor.glade window-manager.c 
+         window-manager.h : Added a basic output viewer window.
+
 2007-08-13  John Darrington <address@hidden>
 
        * clipboard.c (clip_to_html clip_to_text): Fixed bug --- use the

Index: src/ui/gui/automake.mk
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/automake.mk,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- src/ui/gui/automake.mk      13 Aug 2007 04:31:43 -0000      1.34
+++ src/ui/gui/automake.mk      16 Aug 2007 06:30:24 -0000      1.35
@@ -50,6 +50,7 @@
        $(top_srcdir)/src/ui/gui/psppire.glade \
        $(top_srcdir)/src/ui/gui/syntax-editor.glade \
        $(top_srcdir)/src/ui/gui/data-editor.glade \
+       $(top_srcdir)/src/ui/gui/output-viewer.glade \
        $(top_srcdir)/src/ui/gui/psppicon.png \
        $(top_srcdir)/src/ui/gui/pspplogo.png \
        $(top_srcdir)/src/ui/gui/icons/value-labels.png \
@@ -98,6 +99,8 @@
        src/ui/gui/helper.h \
        src/ui/gui/missing-val-dialog.c \
        src/ui/gui/missing-val-dialog.h \
+       src/ui/gui/output-viewer.c \
+       src/ui/gui/output-viewer.h \
        src/ui/gui/psppire-buttonbox.c \
        src/ui/gui/psppire-buttonbox.h \
        src/ui/gui/psppire-hbuttonbox.c \

Index: src/ui/gui/helper.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/helper.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/ui/gui/helper.c 7 Aug 2007 00:56:59 -0000       1.24
+++ src/ui/gui/helper.c 16 Aug 2007 06:30:24 -0000      1.25
@@ -41,7 +41,7 @@
 #include <language/lexer/lexer.h>
 #include "psppire-data-store.h"
 #include <output/manager.h>
-
+#include "output-viewer.h"
 
 #include <gettext.h>
 
@@ -104,7 +104,7 @@
   w = glade_xml_get_widget (xml, name);
 
   if ( !w )
-    g_warning ("Widget \"%s\" could not be found\n", name);
+    g_critical ("Widget \"%s\" could not be found\n", name);
 
   return w;
 }
@@ -204,6 +204,8 @@
   proc_set_active_file_data (the_dataset, NULL);
 
   som_flush ();
+
+  reload_the_viewer ();
 }
 
 

Index: src/ui/gui/psppire.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/psppire.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- src/ui/gui/psppire.c        30 Jul 2007 09:28:36 -0000      1.46
+++ src/ui/gui/psppire.c        16 Aug 2007 06:30:24 -0000      1.47
@@ -22,10 +22,9 @@
 #include "relocatable.h"
 
 #include "data-editor.h"
-
 #include "psppire.h"
 
-
+#include <unistd.h>
 #include <data/casereader.h>
 #include <data/datasheet.h>
 #include <data/file-handle-def.h>
@@ -48,6 +47,8 @@
 #include "var-sheet.h"
 #include "message-dialog.h"
 
+#include "output-viewer.h"
+
 PsppireDataStore *the_data_store = 0;
 PsppireVarStore *the_var_store = 0;
 
@@ -107,8 +108,13 @@
 
   create_icon_factory ();
 
-  outp_read_devices ();
-  outp_enable_device (true, OUTP_DEV_SCREEN);
+  outp_configure_driver_line (
+    ss_cstr ("gui:ascii:screen:squeeze=on headers=off top-margin=0 "
+             "bottom-margin=0 paginate=off length=50 "
+            "width=" OUTPUT_LINE_WIDTH_str " emphasis=none "
+             "output-file=\"" OUTPUT_FILE_NAME "\" append=yes"));
+
+  unlink (OUTPUT_FILE_NAME);
 
   new_data_window (NULL, NULL);
 }

Index: src/ui/gui/syntax-editor.glade
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/syntax-editor.glade,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/ui/gui/syntax-editor.glade      6 Aug 2007 02:09:01 -0000       1.7
+++ src/ui/gui/syntax-editor.glade      16 Aug 2007 06:30:24 -0000      1.8
@@ -212,6 +212,7 @@
                      <property name="visible">True</property>
                      <property name="label" translatable="yes">Current 
Line</property>
                      <property name="use_underline">True</property>
+                      <accelerator key="R" modifiers="GDK_CONTROL_MASK" 
signal="activate"/>
                    </widget>
                  </child>
 
@@ -247,7 +248,6 @@
              </child>
            </widget>
          </child>
-
          <child>
            <widget class="GtkMenuItem" id="menuitem9">
              <property name="visible">True</property>
@@ -256,7 +256,6 @@
 
              <child>
                <widget class="GtkMenu" id="menuitem9_menu">
-
                  <child>
                    <widget class="GtkMenuItem" id="help_reference">
                      <property name="visible">True</property>
@@ -264,7 +263,6 @@
                      <property name="use_underline">True</property>
                    </widget>
                  </child>
-
                  <child>
                    <widget class="GtkMenuItem" id="help_about">
                      <property name="visible">True</property>

Index: src/ui/gui/window-manager.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/window-manager.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- src/ui/gui/window-manager.c 7 Jul 2007 06:14:30 -0000       1.11
+++ src/ui/gui/window-manager.c 16 Aug 2007 06:30:24 -0000      1.12
@@ -22,6 +22,7 @@
 #include <glib.h>
 #include "syntax-editor.h"
 #include "data-editor.h"
+#include "output-viewer.h"
 
 #include <gettext.h>
 #define _(msgid) gettext (msgid)
@@ -88,6 +89,9 @@
     case WINDOW_DATA:
       e = (struct editor_window *) new_data_editor ();
       break;
+    case WINDOW_OUTPUT:
+      e = (struct editor_window *) new_output_viewer ();
+      break;
     default:
       g_assert_not_reached ();
     };
@@ -142,6 +146,10 @@
       e->name = g_strdup_printf (_("Untitled%d"), next_window_id () );
       title = g_strdup_printf (_("%s --- PSPP Data Editor"), e->name);
       break;
+    case WINDOW_OUTPUT:
+      e->name = g_strdup_printf (_("Output%d"), next_window_id () );
+      title = g_strdup_printf (_("%s --- PSPP Output"), e->name);
+      break;
     default:
       g_assert_not_reached ();
     }

Index: src/ui/gui/window-manager.h
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/window-manager.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- src/ui/gui/window-manager.h 7 Jul 2007 06:14:31 -0000       1.6
+++ src/ui/gui/window-manager.h 16 Aug 2007 06:30:24 -0000      1.7
@@ -23,7 +23,8 @@
 enum window_type
   {
     WINDOW_DATA,
-    WINDOW_SYNTAX
+    WINDOW_SYNTAX,
+    WINDOW_OUTPUT
   };
 
 

Index: src/ui/gui/output-viewer.c
===================================================================
RCS file: src/ui/gui/output-viewer.c
diff -N src/ui/gui/output-viewer.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/output-viewer.c  16 Aug 2007 06:30:24 -0000      1.1
@@ -0,0 +1,191 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+#include <gtk/gtk.h>
+#include "window-manager.h"
+#include "output-viewer.h"
+#include "helper.h"
+#include "about.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <glade/glade.h>
+#include <ctype.h>
+
+struct output_viewer
+{
+  struct editor_window parent;
+  GtkTextBuffer *buffer;  /* The buffer which contains the text */
+  GtkWidget *textview ;
+  FILE *fp;               /* The file it's viewing */
+};
+
+
+static void
+cancel_urgency (GtkWindow *window,  gpointer data)
+{
+  gtk_window_set_urgency_hint (window, FALSE);
+}
+
+
+static struct output_viewer *the_output_viewer = NULL;
+
+
+/* Callback for the "delete" action (clicking the x on the top right
+   hand corner of the window) */
+static gboolean
+on_delete (GtkWidget *w, GdkEvent *event, gpointer user_data)
+{
+  struct output_viewer *ov = user_data;
+
+  g_free (ov);
+
+  the_output_viewer = NULL;
+
+  unlink (OUTPUT_FILE_NAME);
+
+  return FALSE;
+}
+
+
+/*
+  Create a new output viewer
+*/
+struct output_viewer *
+new_output_viewer (void)
+{
+  GladeXML *xml = XML_NEW ("output-viewer.glade");
+
+  struct output_viewer *ov ;
+  struct editor_window *e;
+
+  connect_help (xml);
+
+  ov = g_malloc (sizeof (*ov));
+
+  e = (struct editor_window *)ov;
+
+
+  e->window = GTK_WINDOW (get_widget_assert (xml, "output-viewer-window"));
+  ov->textview = get_widget_assert (xml, "output-viewer-textview");
+  ov->buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (ov->textview));
+
+  g_signal_connect (e->window,
+                   "focus-in-event",
+                   G_CALLBACK (cancel_urgency),
+                   NULL);
+
+  {
+    /* Output uses ascii characters for tabular material.
+       So we need a monospaced font otherwise it'll look silly */
+    PangoFontDescription *font_desc =
+      pango_font_description_from_string ("monospace");
+
+    gtk_widget_modify_font (ov->textview, font_desc);
+    pango_font_description_free (font_desc);
+  }
+
+  ov->fp = NULL;
+
+  g_signal_connect (get_widget_assert (xml,"help_about"),
+                   "activate",
+                   G_CALLBACK (about_new),
+                   e->window);
+
+  g_signal_connect (get_widget_assert (xml,"help_reference"),
+                   "activate",
+                   G_CALLBACK (reference_manual),
+                   NULL);
+
+  g_signal_connect (get_widget_assert (xml,"windows_minimise-all"),
+                   "activate",
+                   G_CALLBACK (minimise_all_windows),
+                   NULL);
+
+  g_object_unref (xml);
+
+
+  g_signal_connect (e->window, "delete-event",
+                   G_CALLBACK (on_delete), ov);
+
+  return ov;
+}
+
+
+void
+reload_the_viewer (void)
+{
+  struct stat buf;
+
+  /* If there is no output, then don't do anything */
+  if (0 != stat (OUTPUT_FILE_NAME, &buf))
+    return ;
+
+  if ( NULL == the_output_viewer )
+    {
+      the_output_viewer =
+       (struct output_viewer *) window_create (WINDOW_OUTPUT, NULL);
+    }
+
+  reload_viewer (the_output_viewer);
+}
+
+
+void
+reload_viewer (struct output_viewer *ov)
+{
+  GtkTextIter end_iter;
+  char line[OUTPUT_LINE_WIDTH];
+  GtkTextMark *mark ;
+  gboolean chars_inserted = FALSE;
+
+
+  if ( ov->fp == NULL)
+    {
+      ov->fp = fopen (OUTPUT_FILE_NAME, "r");
+      if ( ov->fp == NULL)
+       {
+         g_print ("Cannot open %s\n", OUTPUT_FILE_NAME);
+         return;
+       }
+    }
+
+  gtk_text_buffer_get_end_iter (ov->buffer, &end_iter);
+
+  mark = gtk_text_buffer_create_mark (ov->buffer, NULL, &end_iter, TRUE);
+
+  /* Read in the next lot of text */
+  while (fgets (line, OUTPUT_LINE_WIDTH, ov->fp) != NULL)
+    {
+      chars_inserted = TRUE;
+      gtk_text_buffer_insert (ov->buffer, &end_iter, line, -1);
+    }
+
+  /* Scroll to where the start of this lot of text begins */
+  gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (ov->textview),
+                               mark,
+                               0.1, TRUE, 0.0, 0.0);
+
+
+  if ( chars_inserted )
+    gtk_window_set_urgency_hint ( ((struct editor_window *)ov)->window, TRUE);
+}
+
+
+

Index: src/ui/gui/output-viewer.glade
===================================================================
RCS file: src/ui/gui/output-viewer.glade
diff -N src/ui/gui/output-viewer.glade
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/output-viewer.glade      16 Aug 2007 06:30:24 -0000      1.1
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--Generated with glade3 3.2.0 on Sat Aug 11 17:19:54 2007 by address@hidden>
+<glade-interface>
+  <widget class="GtkWindow" id="output-viewer-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="default_width">600</property>
+    <property name="default_height">400</property>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+        <child>
+          <widget class="GtkMenuBar" id="menubar1">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem1">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">_File</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu1">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="file_save">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" 
translatable="yes">gtk-save</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="file_save-as">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" 
translatable="yes">gtk-save-as</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem2">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu2">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem7">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" 
translatable="yes">gtk-copy</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem3">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">_Windows</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu4">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkMenuItem" id="windows_minimise-all">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Minimise 
All Windows</property>
+                        <property name="use_underline">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem9">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Help</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem9_menu">
+                    <child>
+                      <widget class="GtkMenuItem" id="help_reference">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Reference 
Manual</property>
+                        <property name="use_underline">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="help_about">
+                        <property name="visible">True</property>
+                        <property name="label" 
translatable="yes">_About</property>
+                        <property name="use_underline">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkScrolledWindow" id="scrolledwindow1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <child>
+              <widget class="GtkTextView" id="output-viewer-textview">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="editable">False</property>
+                <property name="left_margin">5</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>

Index: src/ui/gui/output-viewer.h
===================================================================
RCS file: src/ui/gui/output-viewer.h
diff -N src/ui/gui/output-viewer.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/output-viewer.h  16 Aug 2007 06:30:24 -0000      1.1
@@ -0,0 +1,41 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+   Copyright (C) 2007  Free Software Foundation
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
+
+
+#ifndef OUTPUT_VIEWER_H
+#define OUTPUT_VIEWER_H
+
+#include <gtk/gtk.h>
+
+#include "window-manager.h"
+
+
+struct output_viewer * new_output_viewer (void);
+
+void reload_viewer (struct output_viewer *);
+
+void reload_the_viewer (void);
+
+
+#define OUTPUT_FILE_NAME "psppire.txt"
+
+/* Make sure these two agree !! */
+#define OUTPUT_LINE_WIDTH 80
+#define OUTPUT_LINE_WIDTH_str "80"
+
+
+
+#endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]