Enables Data Open/Save/New menuitems.
authorJohn Darrington <john@darrington.wattle.id.au>
Wed, 24 Jan 2007 08:30:22 +0000 (08:30 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Wed, 24 Jan 2007 08:30:22 +0000 (08:30 +0000)
19 files changed:
po/de.po
po/pspp.pot
src/language/ChangeLog
src/language/command.c
src/language/command.h
src/language/data-io/inpt-pgm.c
src/language/syntax-string-source.c
src/language/syntax-string-source.h
src/ui/gui/ChangeLog
src/ui/gui/data-editor.c
src/ui/gui/data-editor.glade
src/ui/gui/data-editor.h
src/ui/gui/helper.c
src/ui/gui/helper.h
src/ui/gui/syntax-editor.c
src/ui/gui/syntax-editor.glade
src/ui/gui/window-manager.c
src/ui/gui/window-manager.h
src/ui/terminal/main.c

index ecf83cb447a1a818de99f482c617f0887d99c804..87ad18bedb223848db90250f92487aab88aa71f5 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.4.2\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
 msgstr ""
 "Project-Id-Version: PSPP 0.4.2\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2007-01-20 08:53+0900\n"
+"POT-Creation-Date: 2007-01-23 21:08+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"
 "PO-Revision-Date: 2006-05-26 17:49+0800\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: German <pspp-dev@gnu.org>\n"
@@ -309,13 +309,13 @@ msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1086
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1084
 #: src/ui/gui/psppire-var-store.c:482
 msgid "String"
 msgstr "Zeichenkette"
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
 #: src/ui/gui/psppire-var-store.c:482
 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/data-editor.glade:982
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:980
 #: src/ui/gui/psppire-var-store.c:475
 msgid "Numeric"
 msgstr "Nummer"
 #: src/ui/gui/psppire-var-store.c:475
 msgid "Numeric"
 msgstr "Nummer"
@@ -824,98 +824,98 @@ msgstr ""
 msgid "scratch"
 msgstr ""
 
 msgid "scratch"
 msgstr ""
 
-#: src/language/command.c:182
+#: src/language/command.c:194
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
-#: src/language/command.c:187
+#: src/language/command.c:199
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
-#: src/language/command.c:192
+#: src/language/command.c:204
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
-#: src/language/command.c:446
+#: src/language/command.c:458
 msgid "expecting command name"
 msgstr ""
 
 msgid "expecting command name"
 msgstr ""
 
-#: src/language/command.c:460
+#: src/language/command.c:472
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
-#: src/language/command.c:587
+#: src/language/command.c:599
 msgid "before the active file has been defined"
 msgstr ""
 
 msgid "before the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:589
+#: src/language/command.c:601
 msgid "after the active file has been defined"
 msgstr ""
 
 msgid "after the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:591
+#: src/language/command.c:603
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
-#: src/language/command.c:593
+#: src/language/command.c:605
 msgid "inside FILE TYPE"
 msgstr ""
 
 msgid "inside FILE TYPE"
 msgstr ""
 
-#: src/language/command.c:598
+#: src/language/command.c:610
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
-#: src/language/command.c:600
+#: src/language/command.c:612
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
-#: src/language/command.c:604
+#: src/language/command.c:616
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
-#: src/language/command.c:609
+#: src/language/command.c:621
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
-#: src/language/command.c:611
+#: src/language/command.c:623
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
-#: src/language/command.c:689 src/language/command.c:818
+#: src/language/command.c:701 src/language/command.c:830
 #: src/language/utilities/permissions.c:101
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
 #: src/language/utilities/permissions.c:101
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/language/command.c:701
+#: src/language/command.c:713
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/language/command.c:751
+#: src/language/command.c:763
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/language/command.c:793
+#: src/language/command.c:805
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
-#: src/language/command.c:802 src/language/data-io/print-space.c:75
+#: src/language/command.c:814 src/language/data-io/print-space.c:75
 #: src/language/dictionary/vector.c:202 src/language/lexer/lexer.c:465
 #: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
 msgid "expecting end of command"
 msgstr ""
 
 #: src/language/dictionary/vector.c:202 src/language/lexer/lexer.c:465
 #: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
 msgid "expecting end of command"
 msgstr ""
 
-#: src/language/command.c:839
+#: src/language/command.c:851
 msgid "No operating system support for this command."
 msgstr ""
 
 msgid "No operating system support for this command."
 msgstr ""
 
@@ -4102,375 +4102,409 @@ msgstr ""
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:154
+#: src/ui/gui/data-editor.c:158
 #, fuzzy
 msgid "Weights"
 msgstr "Rechts"
 
 #, fuzzy
 msgid "Weights"
 msgstr "Rechts"
 
-#: src/ui/gui/data-editor.c:155
+#: src/ui/gui/data-editor.c:159
 msgid "Weight cases by variable"
 msgstr ""
 
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:423 src/ui/gui/data-editor.glade:428
-msgid "Open"
-msgstr "Öffen"
-
-#: src/ui/gui/data-editor.c:431
-msgid "System Files (*.sav)"
-msgstr "Systemedatein (*.sav)"
-
-#: src/ui/gui/data-editor.c:437
-msgid "Portable Files (*.por) "
-msgstr "Tragbardatein (*.por)"
-
-#: src/ui/gui/data-editor.c:443 src/ui/gui/syntax-editor.c:141
-#: src/ui/gui/syntax-editor.c:531
-msgid "All Files"
-msgstr "Alle Datei"
-
-#: src/ui/gui/data-editor.c:519
+#: src/ui/gui/data-editor.c:479
 msgid "Font Selection"
 msgstr "Schriftwahlung"
 
 msgid "Font Selection"
 msgstr "Schriftwahlung"
 
-#: src/ui/gui/data-editor.c:697
+#: src/ui/gui/data-editor.c:657
 msgid "No Split"
 msgstr ""
 
 msgid "No Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:665
 #, fuzzy
 msgid "Split by "
 msgstr "Alle Datei"
 
 #, fuzzy
 msgid "Split by "
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.c:730
+#: src/ui/gui/data-editor.c:690
 msgid "Filter off"
 msgstr ""
 
 msgid "Filter off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:743
+#: src/ui/gui/data-editor.c:703
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:761
+#: src/ui/gui/data-editor.c:721
 msgid "Weights off"
 msgstr ""
 
 msgid "Weights off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:774
+#: src/ui/gui/data-editor.c:734
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
+#: src/ui/gui/data-editor.c:841 src/ui/gui/data-editor.c:1039
+#: src/ui/gui/data-editor.glade:426
+msgid "Open"
+msgstr "Öffen"
+
+#: src/ui/gui/data-editor.c:842
+msgid "Open a data file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:850 src/ui/gui/data-editor.c:951
+#: src/ui/gui/data-editor.glade:437
+msgid "Save"
+msgstr "Speichen"
+
+#: src/ui/gui/data-editor.c:851 src/ui/gui/data-editor.c:861
+#, fuzzy
+msgid "Save data to file"
+msgstr "Speichern unter"
+
+#: src/ui/gui/data-editor.c:860
+#, fuzzy
+msgid "Save As"
+msgstr "Speichern unter"
+
+#: src/ui/gui/data-editor.c:869
+msgid "New"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:870
+msgid "New data file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:959 src/ui/gui/data-editor.c:1047
+msgid "System Files (*.sav)"
+msgstr "Systemedatein (*.sav)"
+
+#: src/ui/gui/data-editor.c:965 src/ui/gui/data-editor.c:1053
+msgid "Portable Files (*.por) "
+msgstr "Tragbardatein (*.por)"
+
+#: src/ui/gui/data-editor.c:971 src/ui/gui/data-editor.c:1059
+#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:525
+msgid "All Files"
+msgstr "Alle Datei"
+
+#: src/ui/gui/data-editor.c:979
+#, fuzzy
+msgid "System File"
+msgstr "Systemedatein (*.sav)"
+
+#: src/ui/gui/data-editor.c:984
+#, fuzzy
+msgid "Portable File"
+msgstr "Tragbardatein (*.por)"
+
 #: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr "_Datei"
 
 #: src/ui/gui/data-editor.glade:33 src/ui/gui/data-editor.glade:59
 #: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr "_Datei"
 
 #: src/ui/gui/data-editor.glade:33 src/ui/gui/data-editor.glade:59
-#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:86
+#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:87
 msgid "_Syntax"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:40 src/ui/gui/data-editor.glade:66
 msgid "_Syntax"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:40 src/ui/gui/data-editor.glade:66
-#: src/ui/gui/data-editor.glade:253 src/ui/gui/syntax-editor.glade:65
-#: src/ui/gui/syntax-editor.glade:95
+#: src/ui/gui/data-editor.glade:251 src/ui/gui/syntax-editor.glade:66
+#: src/ui/gui/syntax-editor.glade:97
 #, fuzzy
 msgid "_Data"
 msgstr "Daten"
 
 #, fuzzy
 msgid "_Data"
 msgstr "Daten"
 
-#: src/ui/gui/data-editor.glade:115 src/ui/gui/syntax-editor.glade:142
+#: src/ui/gui/data-editor.glade:113 src/ui/gui/syntax-editor.glade:144
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
-#: src/ui/gui/data-editor.glade:150
+#: src/ui/gui/data-editor.glade:148
 #, fuzzy
 msgid "Paste _Variables"
 msgstr "Variableansicht"
 
 #, fuzzy
 msgid "Paste _Variables"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.glade:158
+#: src/ui/gui/data-editor.glade:156
 msgid "Cl_ear"
 msgstr ""
 
 msgid "Cl_ear"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:171
+#: src/ui/gui/data-editor.glade:169
 #, fuzzy
 msgid "_Find"
 msgstr "_Datei"
 
 #, fuzzy
 msgid "_Find"
 msgstr "_Datei"
 
-#: src/ui/gui/data-editor.glade:182
+#: src/ui/gui/data-editor.glade:180
 msgid "_View"
 msgstr "_Ansicht"
 
 msgid "_View"
 msgstr "_Ansicht"
 
-#: src/ui/gui/data-editor.glade:189
+#: src/ui/gui/data-editor.glade:187
 msgid "Status Bar"
 msgstr "Statusleiste"
 
 msgid "Status Bar"
 msgstr "Statusleiste"
 
-#: src/ui/gui/data-editor.glade:196
+#: src/ui/gui/data-editor.glade:194
 msgid "Toolbars"
 msgstr "Werkzeugregal"
 
 msgid "Toolbars"
 msgstr "Werkzeugregal"
 
-#: src/ui/gui/data-editor.glade:208
+#: src/ui/gui/data-editor.glade:206
 msgid "Fonts"
 msgstr "Schrift"
 
 msgid "Fonts"
 msgstr "Schrift"
 
-#: src/ui/gui/data-editor.glade:215
+#: src/ui/gui/data-editor.glade:213
 msgid "Grid Lines"
 msgstr "Glitten"
 
 msgid "Grid Lines"
 msgstr "Glitten"
 
-#: src/ui/gui/data-editor.glade:223 src/ui/gui/data-editor.glade:633
-#: src/ui/gui/data-editor.glade:1345 src/ui/gui/data-editor.glade:1523
+#: src/ui/gui/data-editor.glade:221 src/ui/gui/data-editor.glade:631
+#: src/ui/gui/data-editor.glade:1343 src/ui/gui/data-editor.glade:1521
 msgid "Value Labels"
 msgstr "Werten"
 
 msgid "Value Labels"
 msgstr "Werten"
 
-#: src/ui/gui/data-editor.glade:235
+#: src/ui/gui/data-editor.glade:233
 msgid "Data"
 msgstr "Daten"
 
 msgid "Data"
 msgstr "Daten"
 
-#: src/ui/gui/data-editor.glade:242 src/ui/gui/data-editor.glade:514
+#: src/ui/gui/data-editor.glade:240 src/ui/gui/data-editor.glade:512
 msgid "Variables"
 msgstr "Variableansicht"
 
 msgid "Variables"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.glade:261 src/ui/gui/data-editor.glade:568
+#: src/ui/gui/data-editor.glade:259 src/ui/gui/data-editor.glade:566
 #, fuzzy
 msgid "Insert Variable"
 msgstr "Variableansicht"
 
 #, fuzzy
 msgid "Insert Variable"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.glade:270
+#: src/ui/gui/data-editor.glade:268
 #, fuzzy
 msgid "Insert Cases"
 msgstr "_Stecken"
 
 #, fuzzy
 msgid "Insert Cases"
 msgstr "_Stecken"
 
-#: src/ui/gui/data-editor.glade:279 src/ui/gui/data-editor.glade:502
-#: src/ui/gui/data-editor.glade:1893
+#: src/ui/gui/data-editor.glade:277 src/ui/gui/data-editor.glade:500
+#: src/ui/gui/data-editor.glade:1891
 msgid "Go To Case"
 msgstr ""
 
 msgid "Go To Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:294 src/ui/gui/data-editor.glade:1958
+#: src/ui/gui/data-editor.glade:292 src/ui/gui/data-editor.glade:1956
 msgid "Sort Cases"
 msgstr ""
 
 msgid "Sort Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:303
+#: src/ui/gui/data-editor.glade:301
 msgid "Transpose"
 msgstr ""
 
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:311
+#: src/ui/gui/data-editor.glade:309
 msgid "Restructure"
 msgstr ""
 
 msgid "Restructure"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:319
+#: src/ui/gui/data-editor.glade:317
 #, fuzzy
 msgid "Merge Files"
 msgstr "Alle Datei"
 
 #, fuzzy
 msgid "Merge Files"
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.glade:327
+#: src/ui/gui/data-editor.glade:325
 msgid "Aggregate"
 msgstr ""
 
 msgid "Aggregate"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:341 src/ui/gui/data-editor.glade:589
+#: src/ui/gui/data-editor.glade:339 src/ui/gui/data-editor.glade:587
 #, fuzzy
 msgid "Split File"
 msgstr "Alle Datei"
 
 #, fuzzy
 msgid "Split File"
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.glade:349 src/ui/gui/data-editor.glade:613
+#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:611
 msgid "Select Cases"
 msgstr ""
 
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:357 src/ui/gui/data-editor.glade:601
+#: src/ui/gui/data-editor.glade:355 src/ui/gui/data-editor.glade:599
 msgid "Weight Cases"
 msgstr ""
 
 msgid "Weight Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:368 src/ui/gui/syntax-editor.glade:232
+#: src/ui/gui/data-editor.glade:366 src/ui/gui/syntax-editor.glade:234
 #, fuzzy
 msgid "_Windows"
 msgstr "_Datei"
 
 #, fuzzy
 msgid "_Windows"
 msgstr "_Datei"
 
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:244
 msgid "_Minimise All Windows"
 msgstr ""
 
 msgid "_Minimise All Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:386 src/ui/gui/syntax-editor.glade:256
 msgid "_Help"
 msgstr "_Hilfe"
 
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: src/ui/gui/data-editor.glade:395 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:393 src/ui/gui/syntax-editor.glade:265
 msgid "_Reference Manual"
 msgstr ""
 
 msgid "_Reference Manual"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:402 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:400 src/ui/gui/syntax-editor.glade:273
 msgid "_About"
 msgstr "_Info"
 
 msgid "_About"
 msgstr "_Info"
 
-#: src/ui/gui/data-editor.glade:439
-msgid "Save"
-msgstr "Speichen"
-
-#: src/ui/gui/data-editor.glade:451
+#: src/ui/gui/data-editor.glade:449
 msgid "Print"
 msgstr "Drucken"
 
 msgid "Print"
 msgstr "Drucken"
 
-#: src/ui/gui/data-editor.glade:471
+#: src/ui/gui/data-editor.glade:469
 msgid "Undo"
 msgstr ""
 
 msgid "Undo"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:482
+#: src/ui/gui/data-editor.glade:480
 msgid "Redo"
 msgstr ""
 
 msgid "Redo"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:535
+#: src/ui/gui/data-editor.glade:533
 msgid "Find"
 msgstr ""
 
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:555
+#: src/ui/gui/data-editor.glade:553
 #, fuzzy
 msgid "Insert Case"
 msgstr "_Stecken"
 
 #, fuzzy
 msgid "Insert Case"
 msgstr "_Stecken"
 
-#: src/ui/gui/data-editor.glade:646
+#: src/ui/gui/data-editor.glade:644
 msgid "Use Sets"
 msgstr ""
 
 msgid "Use Sets"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:728
+#: src/ui/gui/data-editor.glade:726
 msgid "Data View"
 msgstr "Datenansicht"
 
 msgid "Data View"
 msgstr "Datenansicht"
 
-#: src/ui/gui/data-editor.glade:755
+#: src/ui/gui/data-editor.glade:753
 msgid "Variable View"
 msgstr "Variableansicht"
 
 msgid "Variable View"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.glade:785
+#: src/ui/gui/data-editor.glade:783
 msgid "Information Area"
 msgstr ""
 
 msgid "Information Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:804
+#: src/ui/gui/data-editor.glade:802
 msgid "Processor Area"
 msgstr ""
 
 msgid "Processor Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:829
+#: src/ui/gui/data-editor.glade:827
 msgid "OMS Area"
 msgstr ""
 
 msgid "OMS Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:854
+#: src/ui/gui/data-editor.glade:852
 msgid "Case Counter Area"
 msgstr ""
 
 msgid "Case Counter Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:879
+#: src/ui/gui/data-editor.glade:877
 msgid "Filter Use Status Area"
 msgstr ""
 
 msgid "Filter Use Status Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:905
+#: src/ui/gui/data-editor.glade:903
 msgid "Weight Status Area"
 msgstr ""
 
 msgid "Weight Status Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:931
+#: src/ui/gui/data-editor.glade:929
 #, fuzzy
 msgid "Split File Status Area"
 msgstr "Alle Datei"
 
 #, fuzzy
 msgid "Split File Status Area"
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.glade:961
+#: src/ui/gui/data-editor.glade:959
 msgid "Variable Type"
 msgstr "Variableansicht"
 
 msgid "Variable Type"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.glade:996 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:994 src/ui/gui/psppire-var-store.c:476
 msgid "Comma"
 msgstr "Komma"
 
 msgid "Comma"
 msgstr "Komma"
 
-#: src/ui/gui/data-editor.glade:1011 src/ui/gui/psppire-var-store.c:477
+#: src/ui/gui/data-editor.glade:1009 src/ui/gui/psppire-var-store.c:477
 msgid "Dot"
 msgstr "Punkt"
 
 msgid "Dot"
 msgstr "Punkt"
 
-#: src/ui/gui/data-editor.glade:1026
+#: src/ui/gui/data-editor.glade:1024
 msgid "Scientific notation"
 msgstr "Wissenschaftlichnotation"
 
 msgid "Scientific notation"
 msgstr "Wissenschaftlichnotation"
 
-#: src/ui/gui/data-editor.glade:1041 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1039 src/ui/gui/psppire-var-store.c:479
 msgid "Date"
 msgstr "Datum"
 
 msgid "Date"
 msgstr "Datum"
 
-#: src/ui/gui/data-editor.glade:1056 src/ui/gui/psppire-var-store.c:480
+#: src/ui/gui/data-editor.glade:1054 src/ui/gui/psppire-var-store.c:480
 msgid "Dollar"
 msgstr "Euro"
 
 msgid "Dollar"
 msgstr "Euro"
 
-#: src/ui/gui/data-editor.glade:1071
+#: src/ui/gui/data-editor.glade:1069
 msgid "Custom currency"
 msgstr "Spezialwährung"
 
 msgid "Custom currency"
 msgstr "Spezialwährung"
 
-#: src/ui/gui/data-editor.glade:1163
+#: src/ui/gui/data-editor.glade:1161
 msgid "positive"
 msgstr "positiv"
 
 msgid "positive"
 msgstr "positiv"
 
-#: src/ui/gui/data-editor.glade:1169
+#: src/ui/gui/data-editor.glade:1167
 msgid "negative"
 msgstr "negativ"
 
 msgid "negative"
 msgstr "negativ"
 
-#: src/ui/gui/data-editor.glade:1182
+#: src/ui/gui/data-editor.glade:1180
 msgid "Sample"
 msgstr "Muster"
 
 msgid "Sample"
 msgstr "Muster"
 
-#: src/ui/gui/data-editor.glade:1232
+#: src/ui/gui/data-editor.glade:1230
 msgid "Width:"
 msgstr "Große:"
 
 msgid "Width:"
 msgstr "Große:"
 
-#: src/ui/gui/data-editor.glade:1276
+#: src/ui/gui/data-editor.glade:1274
 msgid "Decimal Places:"
 msgstr "Dezimalstellen:"
 
 msgid "Decimal Places:"
 msgstr "Dezimalstellen:"
 
-#: src/ui/gui/data-editor.glade:1443
+#: src/ui/gui/data-editor.glade:1441
 msgid "Value Label:"
 msgstr "Kennsatz:"
 
 msgid "Value Label:"
 msgstr "Kennsatz:"
 
-#: src/ui/gui/data-editor.glade:1456
+#: src/ui/gui/data-editor.glade:1454
 msgid "Value:"
 msgstr "Werte:"
 
 msgid "Value:"
 msgstr "Werte:"
 
-#: src/ui/gui/data-editor.glade:1589
+#: src/ui/gui/data-editor.glade:1587
 msgid "Missing Values"
 msgstr "Lösewerten"
 
 msgid "Missing Values"
 msgstr "Lösewerten"
 
-#: src/ui/gui/data-editor.glade:1607
+#: src/ui/gui/data-editor.glade:1605
 msgid "_Range plus one optional discrete missing value"
 msgstr "Wertebereich und ein optional Lösewert"
 
 msgid "_Range plus one optional discrete missing value"
 msgstr "Wertebereich und ein optional Lösewert"
 
-#: src/ui/gui/data-editor.glade:1631
+#: src/ui/gui/data-editor.glade:1629
 msgid "_Low:"
 msgstr "_Tief:"
 
 msgid "_Low:"
 msgstr "_Tief:"
 
-#: src/ui/gui/data-editor.glade:1660
+#: src/ui/gui/data-editor.glade:1658
 msgid "_High:"
 msgstr "_Hoch:"
 
 msgid "_High:"
 msgstr "_Hoch:"
 
-#: src/ui/gui/data-editor.glade:1701
+#: src/ui/gui/data-editor.glade:1699
 msgid "Di_screte value:"
 msgstr "Di_skretwerte"
 
 msgid "Di_screte value:"
 msgstr "Di_skretwerte"
 
-#: src/ui/gui/data-editor.glade:1748
+#: src/ui/gui/data-editor.glade:1746
 msgid "_No missing values"
 msgstr "_Kein Lösewerten"
 
 msgid "_No missing values"
 msgstr "_Kein Lösewerten"
 
-#: src/ui/gui/data-editor.glade:1765
+#: src/ui/gui/data-editor.glade:1763
 msgid "_Discrete missing values"
 msgstr "_Diskret Lösewerten"
 
 msgid "_Discrete missing values"
 msgstr "_Diskret Lösewerten"
 
-#: src/ui/gui/data-editor.glade:1910
+#: src/ui/gui/data-editor.glade:1908
 msgid "Case Number:"
 msgstr ""
 
 msgid "Case Number:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2019
+#: src/ui/gui/data-editor.glade:2017
 msgid "Sort by:"
 msgstr ""
 
 msgid "Sort by:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2068 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2066 src/ui/gui/sort-cases-dialog.c:279
 msgid "Ascending"
 msgstr ""
 
 msgid "Ascending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2081 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2079 src/ui/gui/sort-cases-dialog.c:281
 msgid "Descending"
 msgstr ""
 
 msgid "Descending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2097
+#: src/ui/gui/data-editor.glade:2095
 msgid "Sort Order"
 msgstr ""
 
 msgid "Sort Order"
 msgstr ""
 
-#: src/ui/gui/helper.c:113
+#: src/ui/gui/helper.c:115
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
 
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
 
-#: src/ui/gui/helper.c:136
+#: src/ui/gui/helper.c:138
 #, c-format
 msgid "Cannot open reference manual: %s"
 msgstr ""
 #, c-format
 msgid "Cannot open reference manual: %s"
 msgstr ""
@@ -4597,12 +4631,12 @@ msgstr ""
 msgid "Save Syntax"
 msgstr "Speichern unter"
 
 msgid "Save Syntax"
 msgstr "Speichern unter"
 
-#: src/ui/gui/syntax-editor.c:135 src/ui/gui/syntax-editor.c:525
+#: src/ui/gui/syntax-editor.c:135 src/ui/gui/syntax-editor.c:519
 #, fuzzy
 msgid "Syntax Files (*.sps) "
 msgstr "Systemedatein (*.sav)"
 
 #, fuzzy
 msgid "Syntax Files (*.sps) "
 msgstr "Systemedatein (*.sav)"
 
-#: src/ui/gui/syntax-editor.c:517
+#: src/ui/gui/syntax-editor.c:511
 msgid "Open Syntax"
 msgstr ""
 
 msgid "Open Syntax"
 msgstr ""
 
@@ -4610,24 +4644,24 @@ msgstr ""
 msgid "Psppire Syntax Editor"
 msgstr ""
 
 msgid "Psppire Syntax Editor"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:187
+#: src/ui/gui/syntax-editor.glade:189
 msgid "_Run"
 msgstr ""
 
 msgid "_Run"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:196
+#: src/ui/gui/syntax-editor.glade:198
 msgid "All"
 msgstr ""
 
 msgid "All"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:204
+#: src/ui/gui/syntax-editor.glade:206
 #, fuzzy
 msgid "Selection"
 msgstr "Schriftwahlung"
 
 #, fuzzy
 msgid "Selection"
 msgstr "Schriftwahlung"
 
-#: src/ui/gui/syntax-editor.glade:212
+#: src/ui/gui/syntax-editor.glade:214
 msgid "Current Line"
 msgstr ""
 
 msgid "Current Line"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:220
+#: src/ui/gui/syntax-editor.glade:222
 msgid "To End"
 msgstr ""
 
 msgid "To End"
 msgstr ""
 
@@ -4679,22 +4713,22 @@ msgstr "Ordinalwert"
 msgid "Scale"
 msgstr "Skalwert"
 
 msgid "Scale"
 msgstr "Skalwert"
 
-#: src/ui/gui/window-manager.c:131
+#: src/ui/gui/window-manager.c:136
 #, fuzzy, c-format
 msgid "Syntax%d"
 msgstr "Speichern unter"
 
 #, fuzzy, c-format
 msgid "Syntax%d"
 msgstr "Speichern unter"
 
-#: src/ui/gui/window-manager.c:132 src/ui/gui/window-manager.c:160
+#: src/ui/gui/window-manager.c:137 src/ui/gui/window-manager.c:165
 #, fuzzy, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr "PSPP Dateiaufbereiter"
 
 #, fuzzy, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr "PSPP Dateiaufbereiter"
 
-#: src/ui/gui/window-manager.c:135
+#: src/ui/gui/window-manager.c:140
 #, fuzzy, c-format
 msgid "Untitled%d"
 msgstr "Unbetitelt"
 
 #, fuzzy, c-format
 msgid "Untitled%d"
 msgstr "Unbetitelt"
 
-#: src/ui/gui/window-manager.c:136 src/ui/gui/window-manager.c:163
+#: src/ui/gui/window-manager.c:141 src/ui/gui/window-manager.c:168
 #, fuzzy, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr "PSPP Dateiaufbereiter"
 #, fuzzy, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr "PSPP Dateiaufbereiter"
@@ -4752,7 +4786,7 @@ msgid ""
 "Report bugs to <%s>.\n"
 msgstr ""
 
 "Report bugs to <%s>.\n"
 msgstr ""
 
-#: src/ui/terminal/main.c:129
+#: src/ui/terminal/main.c:128
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
@@ -4791,8 +4825,5 @@ msgstr "Warnung"
 #~ msgid "PSPP Data Editor"
 #~ msgstr "PSPP Dateiaufbereiter"
 
 #~ msgid "PSPP Data Editor"
 #~ msgstr "PSPP Dateiaufbereiter"
 
-#~ msgid "Save Data As"
-#~ msgstr "Speichern unter"
-
 #~ msgid "_Insert"
 #~ msgstr "_Stecken"
 #~ msgid "_Insert"
 #~ msgstr "_Stecken"
index 16c50d2fe0e4c6277d67341b46995fb340b3606a..5274763821320754598c4a8da5baa05ae9defe9a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2007-01-20 08:53+0900\n"
+"POT-Creation-Date: 2007-01-23 21:08+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"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -308,13 +308,13 @@ msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1086
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1084
 #: src/ui/gui/psppire-var-store.c:482
 msgid "String"
 msgstr ""
 
 #: src/data/format.c:310 src/data/por-file-reader.c:489
 #: src/ui/gui/psppire-var-store.c:482
 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/data-editor.glade:982
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:980
 #: src/ui/gui/psppire-var-store.c:475
 msgid "Numeric"
 msgstr ""
 #: src/ui/gui/psppire-var-store.c:475
 msgid "Numeric"
 msgstr ""
@@ -819,98 +819,98 @@ msgstr ""
 msgid "scratch"
 msgstr ""
 
 msgid "scratch"
 msgstr ""
 
-#: src/language/command.c:182
+#: src/language/command.c:194
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
-#: src/language/command.c:187
+#: src/language/command.c:199
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
-#: src/language/command.c:192
+#: src/language/command.c:204
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
-#: src/language/command.c:446
+#: src/language/command.c:458
 msgid "expecting command name"
 msgstr ""
 
 msgid "expecting command name"
 msgstr ""
 
-#: src/language/command.c:460
+#: src/language/command.c:472
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
-#: src/language/command.c:587
+#: src/language/command.c:599
 msgid "before the active file has been defined"
 msgstr ""
 
 msgid "before the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:589
+#: src/language/command.c:601
 msgid "after the active file has been defined"
 msgstr ""
 
 msgid "after the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:591
+#: src/language/command.c:603
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
-#: src/language/command.c:593
+#: src/language/command.c:605
 msgid "inside FILE TYPE"
 msgstr ""
 
 msgid "inside FILE TYPE"
 msgstr ""
 
-#: src/language/command.c:598
+#: src/language/command.c:610
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
-#: src/language/command.c:600
+#: src/language/command.c:612
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
-#: src/language/command.c:604
+#: src/language/command.c:616
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
-#: src/language/command.c:609
+#: src/language/command.c:621
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
-#: src/language/command.c:611
+#: src/language/command.c:623
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
-#: src/language/command.c:689 src/language/command.c:818
+#: src/language/command.c:701 src/language/command.c:830
 #: src/language/utilities/permissions.c:101
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
 #: src/language/utilities/permissions.c:101
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/language/command.c:701
+#: src/language/command.c:713
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/language/command.c:751
+#: src/language/command.c:763
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/language/command.c:793
+#: src/language/command.c:805
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
-#: src/language/command.c:802 src/language/data-io/print-space.c:75
+#: src/language/command.c:814 src/language/data-io/print-space.c:75
 #: src/language/dictionary/vector.c:202 src/language/lexer/lexer.c:465
 #: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
 msgid "expecting end of command"
 msgstr ""
 
 #: src/language/dictionary/vector.c:202 src/language/lexer/lexer.c:465
 #: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
 msgid "expecting end of command"
 msgstr ""
 
-#: src/language/command.c:839
+#: src/language/command.c:851
 msgid "No operating system support for this command."
 msgstr ""
 
 msgid "No operating system support for this command."
 msgstr ""
 
@@ -4097,363 +4097,393 @@ msgstr ""
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:154
+#: src/ui/gui/data-editor.c:158
 msgid "Weights"
 msgstr ""
 
 msgid "Weights"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:155
+#: src/ui/gui/data-editor.c:159
 msgid "Weight cases by variable"
 msgstr ""
 
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:423 src/ui/gui/data-editor.glade:428
-msgid "Open"
-msgstr ""
-
-#: src/ui/gui/data-editor.c:431
-msgid "System Files (*.sav)"
-msgstr ""
-
-#: src/ui/gui/data-editor.c:437
-msgid "Portable Files (*.por) "
-msgstr ""
-
-#: src/ui/gui/data-editor.c:443 src/ui/gui/syntax-editor.c:141
-#: src/ui/gui/syntax-editor.c:531
-msgid "All Files"
-msgstr ""
-
-#: src/ui/gui/data-editor.c:519
+#: src/ui/gui/data-editor.c:479
 msgid "Font Selection"
 msgstr ""
 
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:697
+#: src/ui/gui/data-editor.c:657
 msgid "No Split"
 msgstr ""
 
 msgid "No Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:665
 msgid "Split by "
 msgstr ""
 
 msgid "Split by "
 msgstr ""
 
-#: src/ui/gui/data-editor.c:730
+#: src/ui/gui/data-editor.c:690
 msgid "Filter off"
 msgstr ""
 
 msgid "Filter off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:743
+#: src/ui/gui/data-editor.c:703
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:761
+#: src/ui/gui/data-editor.c:721
 msgid "Weights off"
 msgstr ""
 
 msgid "Weights off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:774
+#: src/ui/gui/data-editor.c:734
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
+#: src/ui/gui/data-editor.c:841 src/ui/gui/data-editor.c:1039
+#: src/ui/gui/data-editor.glade:426
+msgid "Open"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:842
+msgid "Open a data file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:850 src/ui/gui/data-editor.c:951
+#: src/ui/gui/data-editor.glade:437
+msgid "Save"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:851 src/ui/gui/data-editor.c:861
+msgid "Save data to file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:860
+msgid "Save As"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:869
+msgid "New"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:870
+msgid "New data file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:959 src/ui/gui/data-editor.c:1047
+msgid "System Files (*.sav)"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:965 src/ui/gui/data-editor.c:1053
+msgid "Portable Files (*.por) "
+msgstr ""
+
+#: src/ui/gui/data-editor.c:971 src/ui/gui/data-editor.c:1059
+#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:525
+msgid "All Files"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:979
+msgid "System File"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:984
+msgid "Portable File"
+msgstr ""
+
 #: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:33 src/ui/gui/data-editor.glade:59
 #: src/ui/gui/data-editor.glade:18 src/ui/gui/syntax-editor.glade:39
 msgid "_File"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:33 src/ui/gui/data-editor.glade:59
-#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:86
+#: src/ui/gui/syntax-editor.glade:57 src/ui/gui/syntax-editor.glade:87
 msgid "_Syntax"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:40 src/ui/gui/data-editor.glade:66
 msgid "_Syntax"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:40 src/ui/gui/data-editor.glade:66
-#: src/ui/gui/data-editor.glade:253 src/ui/gui/syntax-editor.glade:65
-#: src/ui/gui/syntax-editor.glade:95
+#: src/ui/gui/data-editor.glade:251 src/ui/gui/syntax-editor.glade:66
+#: src/ui/gui/syntax-editor.glade:97
 msgid "_Data"
 msgstr ""
 
 msgid "_Data"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:115 src/ui/gui/syntax-editor.glade:142
+#: src/ui/gui/data-editor.glade:113 src/ui/gui/syntax-editor.glade:144
 msgid "_Edit"
 msgstr ""
 
 msgid "_Edit"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:150
+#: src/ui/gui/data-editor.glade:148
 msgid "Paste _Variables"
 msgstr ""
 
 msgid "Paste _Variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:158
+#: src/ui/gui/data-editor.glade:156
 msgid "Cl_ear"
 msgstr ""
 
 msgid "Cl_ear"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:171
+#: src/ui/gui/data-editor.glade:169
 msgid "_Find"
 msgstr ""
 
 msgid "_Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:182
+#: src/ui/gui/data-editor.glade:180
 msgid "_View"
 msgstr ""
 
 msgid "_View"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:189
+#: src/ui/gui/data-editor.glade:187
 msgid "Status Bar"
 msgstr ""
 
 msgid "Status Bar"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:196
+#: src/ui/gui/data-editor.glade:194
 msgid "Toolbars"
 msgstr ""
 
 msgid "Toolbars"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:208
+#: src/ui/gui/data-editor.glade:206
 msgid "Fonts"
 msgstr ""
 
 msgid "Fonts"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:215
+#: src/ui/gui/data-editor.glade:213
 msgid "Grid Lines"
 msgstr ""
 
 msgid "Grid Lines"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:223 src/ui/gui/data-editor.glade:633
-#: src/ui/gui/data-editor.glade:1345 src/ui/gui/data-editor.glade:1523
+#: src/ui/gui/data-editor.glade:221 src/ui/gui/data-editor.glade:631
+#: src/ui/gui/data-editor.glade:1343 src/ui/gui/data-editor.glade:1521
 msgid "Value Labels"
 msgstr ""
 
 msgid "Value Labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:235
+#: src/ui/gui/data-editor.glade:233
 msgid "Data"
 msgstr ""
 
 msgid "Data"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:242 src/ui/gui/data-editor.glade:514
+#: src/ui/gui/data-editor.glade:240 src/ui/gui/data-editor.glade:512
 msgid "Variables"
 msgstr ""
 
 msgid "Variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:261 src/ui/gui/data-editor.glade:568
+#: src/ui/gui/data-editor.glade:259 src/ui/gui/data-editor.glade:566
 msgid "Insert Variable"
 msgstr ""
 
 msgid "Insert Variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:270
+#: src/ui/gui/data-editor.glade:268
 msgid "Insert Cases"
 msgstr ""
 
 msgid "Insert Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:279 src/ui/gui/data-editor.glade:502
-#: src/ui/gui/data-editor.glade:1893
+#: src/ui/gui/data-editor.glade:277 src/ui/gui/data-editor.glade:500
+#: src/ui/gui/data-editor.glade:1891
 msgid "Go To Case"
 msgstr ""
 
 msgid "Go To Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:294 src/ui/gui/data-editor.glade:1958
+#: src/ui/gui/data-editor.glade:292 src/ui/gui/data-editor.glade:1956
 msgid "Sort Cases"
 msgstr ""
 
 msgid "Sort Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:303
+#: src/ui/gui/data-editor.glade:301
 msgid "Transpose"
 msgstr ""
 
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:311
+#: src/ui/gui/data-editor.glade:309
 msgid "Restructure"
 msgstr ""
 
 msgid "Restructure"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:319
+#: src/ui/gui/data-editor.glade:317
 msgid "Merge Files"
 msgstr ""
 
 msgid "Merge Files"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:327
+#: src/ui/gui/data-editor.glade:325
 msgid "Aggregate"
 msgstr ""
 
 msgid "Aggregate"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:341 src/ui/gui/data-editor.glade:589
+#: src/ui/gui/data-editor.glade:339 src/ui/gui/data-editor.glade:587
 msgid "Split File"
 msgstr ""
 
 msgid "Split File"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:349 src/ui/gui/data-editor.glade:613
+#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:611
 msgid "Select Cases"
 msgstr ""
 
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:357 src/ui/gui/data-editor.glade:601
+#: src/ui/gui/data-editor.glade:355 src/ui/gui/data-editor.glade:599
 msgid "Weight Cases"
 msgstr ""
 
 msgid "Weight Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:368 src/ui/gui/syntax-editor.glade:232
+#: src/ui/gui/data-editor.glade:366 src/ui/gui/syntax-editor.glade:234
 msgid "_Windows"
 msgstr ""
 
 msgid "_Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:244
 msgid "_Minimise All Windows"
 msgstr ""
 
 msgid "_Minimise All Windows"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:386 src/ui/gui/syntax-editor.glade:256
 msgid "_Help"
 msgstr ""
 
 msgid "_Help"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:395 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:393 src/ui/gui/syntax-editor.glade:265
 msgid "_Reference Manual"
 msgstr ""
 
 msgid "_Reference Manual"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:402 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:400 src/ui/gui/syntax-editor.glade:273
 msgid "_About"
 msgstr ""
 
 msgid "_About"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:439
-msgid "Save"
-msgstr ""
-
-#: src/ui/gui/data-editor.glade:451
+#: src/ui/gui/data-editor.glade:449
 msgid "Print"
 msgstr ""
 
 msgid "Print"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:471
+#: src/ui/gui/data-editor.glade:469
 msgid "Undo"
 msgstr ""
 
 msgid "Undo"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:482
+#: src/ui/gui/data-editor.glade:480
 msgid "Redo"
 msgstr ""
 
 msgid "Redo"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:535
+#: src/ui/gui/data-editor.glade:533
 msgid "Find"
 msgstr ""
 
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:555
+#: src/ui/gui/data-editor.glade:553
 msgid "Insert Case"
 msgstr ""
 
 msgid "Insert Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:646
+#: src/ui/gui/data-editor.glade:644
 msgid "Use Sets"
 msgstr ""
 
 msgid "Use Sets"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:728
+#: src/ui/gui/data-editor.glade:726
 msgid "Data View"
 msgstr ""
 
 msgid "Data View"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:755
+#: src/ui/gui/data-editor.glade:753
 msgid "Variable View"
 msgstr ""
 
 msgid "Variable View"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:785
+#: src/ui/gui/data-editor.glade:783
 msgid "Information Area"
 msgstr ""
 
 msgid "Information Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:804
+#: src/ui/gui/data-editor.glade:802
 msgid "Processor Area"
 msgstr ""
 
 msgid "Processor Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:829
+#: src/ui/gui/data-editor.glade:827
 msgid "OMS Area"
 msgstr ""
 
 msgid "OMS Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:854
+#: src/ui/gui/data-editor.glade:852
 msgid "Case Counter Area"
 msgstr ""
 
 msgid "Case Counter Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:879
+#: src/ui/gui/data-editor.glade:877
 msgid "Filter Use Status Area"
 msgstr ""
 
 msgid "Filter Use Status Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:905
+#: src/ui/gui/data-editor.glade:903
 msgid "Weight Status Area"
 msgstr ""
 
 msgid "Weight Status Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:931
+#: src/ui/gui/data-editor.glade:929
 msgid "Split File Status Area"
 msgstr ""
 
 msgid "Split File Status Area"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:961
+#: src/ui/gui/data-editor.glade:959
 msgid "Variable Type"
 msgstr ""
 
 msgid "Variable Type"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:996 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:994 src/ui/gui/psppire-var-store.c:476
 msgid "Comma"
 msgstr ""
 
 msgid "Comma"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1011 src/ui/gui/psppire-var-store.c:477
+#: src/ui/gui/data-editor.glade:1009 src/ui/gui/psppire-var-store.c:477
 msgid "Dot"
 msgstr ""
 
 msgid "Dot"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1026
+#: src/ui/gui/data-editor.glade:1024
 msgid "Scientific notation"
 msgstr ""
 
 msgid "Scientific notation"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1041 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1039 src/ui/gui/psppire-var-store.c:479
 msgid "Date"
 msgstr ""
 
 msgid "Date"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1056 src/ui/gui/psppire-var-store.c:480
+#: src/ui/gui/data-editor.glade:1054 src/ui/gui/psppire-var-store.c:480
 msgid "Dollar"
 msgstr ""
 
 msgid "Dollar"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1071
+#: src/ui/gui/data-editor.glade:1069
 msgid "Custom currency"
 msgstr ""
 
 msgid "Custom currency"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1163
+#: src/ui/gui/data-editor.glade:1161
 msgid "positive"
 msgstr ""
 
 msgid "positive"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1169
+#: src/ui/gui/data-editor.glade:1167
 msgid "negative"
 msgstr ""
 
 msgid "negative"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1182
+#: src/ui/gui/data-editor.glade:1180
 msgid "Sample"
 msgstr ""
 
 msgid "Sample"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1232
+#: src/ui/gui/data-editor.glade:1230
 msgid "Width:"
 msgstr ""
 
 msgid "Width:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1276
+#: src/ui/gui/data-editor.glade:1274
 msgid "Decimal Places:"
 msgstr ""
 
 msgid "Decimal Places:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1443
+#: src/ui/gui/data-editor.glade:1441
 msgid "Value Label:"
 msgstr ""
 
 msgid "Value Label:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1456
+#: src/ui/gui/data-editor.glade:1454
 msgid "Value:"
 msgstr ""
 
 msgid "Value:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1589
+#: src/ui/gui/data-editor.glade:1587
 msgid "Missing Values"
 msgstr ""
 
 msgid "Missing Values"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1607
+#: src/ui/gui/data-editor.glade:1605
 msgid "_Range plus one optional discrete missing value"
 msgstr ""
 
 msgid "_Range plus one optional discrete missing value"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1631
+#: src/ui/gui/data-editor.glade:1629
 msgid "_Low:"
 msgstr ""
 
 msgid "_Low:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1660
+#: src/ui/gui/data-editor.glade:1658
 msgid "_High:"
 msgstr ""
 
 msgid "_High:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1701
+#: src/ui/gui/data-editor.glade:1699
 msgid "Di_screte value:"
 msgstr ""
 
 msgid "Di_screte value:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1748
+#: src/ui/gui/data-editor.glade:1746
 msgid "_No missing values"
 msgstr ""
 
 msgid "_No missing values"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1765
+#: src/ui/gui/data-editor.glade:1763
 msgid "_Discrete missing values"
 msgstr ""
 
 msgid "_Discrete missing values"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:1910
+#: src/ui/gui/data-editor.glade:1908
 msgid "Case Number:"
 msgstr ""
 
 msgid "Case Number:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2019
+#: src/ui/gui/data-editor.glade:2017
 msgid "Sort by:"
 msgstr ""
 
 msgid "Sort by:"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2068 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2066 src/ui/gui/sort-cases-dialog.c:279
 msgid "Ascending"
 msgstr ""
 
 msgid "Ascending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2081 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2079 src/ui/gui/sort-cases-dialog.c:281
 msgid "Descending"
 msgstr ""
 
 msgid "Descending"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:2097
+#: src/ui/gui/data-editor.glade:2095
 msgid "Sort Order"
 msgstr ""
 
 msgid "Sort Order"
 msgstr ""
 
-#: src/ui/gui/helper.c:113
+#: src/ui/gui/helper.c:115
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr ""
 
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr ""
 
-#: src/ui/gui/helper.c:136
+#: src/ui/gui/helper.c:138
 #, c-format
 msgid "Cannot open reference manual: %s"
 msgstr ""
 #, c-format
 msgid "Cannot open reference manual: %s"
 msgstr ""
@@ -4576,11 +4606,11 @@ msgstr ""
 msgid "Save Syntax"
 msgstr ""
 
 msgid "Save Syntax"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:135 src/ui/gui/syntax-editor.c:525
+#: src/ui/gui/syntax-editor.c:135 src/ui/gui/syntax-editor.c:519
 msgid "Syntax Files (*.sps) "
 msgstr ""
 
 msgid "Syntax Files (*.sps) "
 msgstr ""
 
-#: src/ui/gui/syntax-editor.c:517
+#: src/ui/gui/syntax-editor.c:511
 msgid "Open Syntax"
 msgstr ""
 
 msgid "Open Syntax"
 msgstr ""
 
@@ -4588,23 +4618,23 @@ msgstr ""
 msgid "Psppire Syntax Editor"
 msgstr ""
 
 msgid "Psppire Syntax Editor"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:187
+#: src/ui/gui/syntax-editor.glade:189
 msgid "_Run"
 msgstr ""
 
 msgid "_Run"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:196
+#: src/ui/gui/syntax-editor.glade:198
 msgid "All"
 msgstr ""
 
 msgid "All"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:204
+#: src/ui/gui/syntax-editor.glade:206
 msgid "Selection"
 msgstr ""
 
 msgid "Selection"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:212
+#: src/ui/gui/syntax-editor.glade:214
 msgid "Current Line"
 msgstr ""
 
 msgid "Current Line"
 msgstr ""
 
-#: src/ui/gui/syntax-editor.glade:220
+#: src/ui/gui/syntax-editor.glade:222
 msgid "To End"
 msgstr ""
 
 msgid "To End"
 msgstr ""
 
@@ -4656,22 +4686,22 @@ msgstr ""
 msgid "Scale"
 msgstr ""
 
 msgid "Scale"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:131
+#: src/ui/gui/window-manager.c:136
 #, c-format
 msgid "Syntax%d"
 msgstr ""
 
 #, c-format
 msgid "Syntax%d"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:132 src/ui/gui/window-manager.c:160
+#: src/ui/gui/window-manager.c:137 src/ui/gui/window-manager.c:165
 #, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr ""
 
 #, c-format
 msgid "%s --- PSPP Syntax Editor"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:135
+#: src/ui/gui/window-manager.c:140
 #, c-format
 msgid "Untitled%d"
 msgstr ""
 
 #, c-format
 msgid "Untitled%d"
 msgstr ""
 
-#: src/ui/gui/window-manager.c:136 src/ui/gui/window-manager.c:163
+#: src/ui/gui/window-manager.c:141 src/ui/gui/window-manager.c:168
 #, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr ""
 #, c-format
 msgid "%s --- PSPP Data Editor"
 msgstr ""
@@ -4729,7 +4759,7 @@ msgid ""
 "Report bugs to <%s>.\n"
 msgstr ""
 
 "Report bugs to <%s>.\n"
 msgstr ""
 
-#: src/ui/terminal/main.c:129
+#: src/ui/terminal/main.c:128
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
index 47d3f375c26bb3e13adda60a57ee78b9a98bf195..afe8195abe59e39c6a352e1e54ff5ee8aba870a1 100644 (file)
@@ -1,3 +1,8 @@
+Sun Jan 21 15:31:52 WST 2007 John Darrington <john@darrington.wattle.id.au>
+
+       * command.c command.h: Renamed cmd_parse to cmd_parse_in_state.
+       New function cmd_parse.
+
 Wed Dec 13 21:02:51 2006  Ben Pfaff  <blp@gnu.org>
 
        * command.def: Add DELETE VARS.
 Wed Dec 13 21:02:51 2006  Ben Pfaff  <blp@gnu.org>
 
        * command.def: Add DELETE VARS.
index b46d1e83b813a7744e7b9c056fe9205b11cbd33a..2284deedc8324a51c05bad47f9ea6a4b90e506de 100644 (file)
@@ -136,14 +136,15 @@ static enum cmd_result do_parse_command (struct lexer *, struct dataset *, enum
    dot.  On failure, skips to the terminating dot.
    Returns the command's success or failure result. */
 enum cmd_result
    dot.  On failure, skips to the terminating dot.
    Returns the command's success or failure result. */
 enum cmd_result
-cmd_parse (struct lexer *lexer, struct dataset *ds, enum cmd_state state) 
+cmd_parse_in_state (struct lexer *lexer, struct dataset *ds,
+                   enum cmd_state state)
 {
   int result;
 {
   int result;
-  
+
   som_new_series ();
 
   result = do_parse_command (lexer, ds, state);
   som_new_series ();
 
   result = do_parse_command (lexer, ds, state);
-  if (cmd_result_is_failure (result)) 
+  if (cmd_result_is_failure (result))
     lex_discard_rest_of_command (lexer);
 
   unset_cmd_algorithm ();
     lex_discard_rest_of_command (lexer);
 
   unset_cmd_algorithm ();
@@ -152,6 +153,17 @@ cmd_parse (struct lexer *lexer, struct dataset *ds, enum cmd_state state)
   return result;
 }
 
   return result;
 }
 
+enum cmd_result
+cmd_parse (struct lexer *lexer, struct dataset *ds)
+{
+  const struct dictionary *dict = dataset_dict (ds);
+  return cmd_parse_in_state (lexer, ds,
+                            proc_has_source (ds) &&
+                            dict_get_var_cnt (dict) > 0 ?
+                            CMD_STATE_DATA : CMD_STATE_INITIAL);
+}
+
+
 /* Parses an entire command, from command name to terminating
    dot. */
 static enum cmd_result
 /* Parses an entire command, from command name to terminating
    dot. */
 static enum cmd_result
index 5e4671aec78ce8af4ebd54f3e758de9817623072..32cb3c2ed06c3172cbac76c33f0e4003d37f8afe 100644 (file)
@@ -32,8 +32,8 @@ enum cmd_result
     /* Range of successful return values available for use
        by agreement between a command and the caller of
        cmd_parse(). */
     /* Range of successful return values available for use
        by agreement between a command and the caller of
        cmd_parse(). */
-    CMD_PRIVATE_FIRST = 4,      
-    CMD_PRIVATE_LAST = 127,      
+    CMD_PRIVATE_FIRST = 4,
+    CMD_PRIVATE_LAST = 127,
 
     /* Various kinds of failures. */
     CMD_FAILURE = -1,           /* Not executed at all. */
 
     /* Various kinds of failures. */
     CMD_FAILURE = -1,           /* Not executed at all. */
@@ -54,9 +54,12 @@ enum cmd_state
   };
 
 struct dataset;
   };
 
 struct dataset;
-struct lexer; 
+struct lexer;
 
 
-enum cmd_result cmd_parse (struct lexer *lexer, struct dataset *ds, enum cmd_state);
+enum cmd_result cmd_parse_in_state (struct lexer *lexer, struct dataset *ds,
+                                   enum cmd_state);
+
+enum cmd_result cmd_parse (struct lexer *lexer, struct dataset *ds);
 
 struct command;
 const char *cmd_complete (const char *, const struct command **);
 
 struct command;
 const char *cmd_complete (const char *, const struct command **);
index cfd2c746ca2d31cf2ed07337a27d52171e6b3f5d..71860ebfaee9bd67f618d43e94471c91e62af4ed 100644 (file)
@@ -119,7 +119,7 @@ cmd_input_program (struct lexer *lexer, struct dataset *ds)
   inside_input_program = true;
   for (;;) 
     {
   inside_input_program = true;
   for (;;) 
     {
-      enum cmd_result result = cmd_parse (lexer, ds, CMD_STATE_INPUT_PROGRAM);
+      enum cmd_result result = cmd_parse_in_state (lexer, ds, CMD_STATE_INPUT_PROGRAM);
       if (result == CMD_END_INPUT_PROGRAM)
         break;
       else if (result == CMD_END_CASE) 
       if (result == CMD_END_INPUT_PROGRAM)
         break;
       else if (result == CMD_END_CASE) 
index 85478bf7c0ef033264194f7457783adf45166d67..5f495776d9660ccedf51ddff94875b2e4770f20c 100644 (file)
@@ -123,3 +123,11 @@ create_syntax_string_source (const char *format, ...)
 
   return (struct getl_interface *) sss;
 }
 
   return (struct getl_interface *) sss;
 }
+
+/* Return the syntax currently contained in S.
+   Primarily usefull for debugging */
+const char *
+syntax_string_source_get_syntax (const struct syntax_string_source *s)
+{
+  return ds_cstr (&s->buffer);
+}
index 58742bc64a1d76100d4c919bb9b21110d227a5a8..a69fa8fdbb82ccb22f63f40b0fdec3efa9522a45 100644 (file)
 
 struct getl_interface;
 
 
 struct getl_interface;
 
-struct getl_interface *
-create_syntax_string_source (const char *fmt, ...);
+struct syntax_string_source;
+
+struct getl_interface * create_syntax_string_source (const char *fmt, ...);
+
+const char * syntax_string_source_get_syntax (const struct syntax_string_source *s);
 
 
 #endif
 
 
 #endif
index 18558a0affd255652afc66a51cc70a8feebf0f7a..0b9592ee6f0f12fdd2666eb38590b894c7f1b4b6 100644 (file)
@@ -1,3 +1,16 @@
+Tue Jan 23 21:10:01 WST 2007 John Darrington <john@darrington.wattle.id.au>
+
+       * helper.c helper.h: New function execute_syntax.
+
+       * syntax-editor.c syntax-editor.glade: Disabled data open/save menu 
+       items.
+
+       * data-editor.c data-editor.glade data-editor.h: Enabled data 
+       open/save/save_as  menu-items.
+       
+       * window-manager.h window-manager.c (default_window_name) : New 
+       function.
+
 Sat Jan 13 07:47:26 WST 2007 John Darrington <john@darrington.wattle.id.au>
 
        * psppire-case-file.c psppire-data-store.c psppire-dialog.c
 Sat Jan 13 07:47:26 WST 2007 John Darrington <john@darrington.wattle.id.au>
 
        * psppire-case-file.c psppire-data-store.c psppire-dialog.c
index 262ae543ac59e8f98766aac8558ac37fe3734ea0..9aa6501be01a9d54b15746b9adf3415beb008543 100644 (file)
@@ -45,6 +45,7 @@
 
 #include "weight-cases-dialog.h"
 
 
 #include "weight-cases-dialog.h"
 
+static void register_data_editor_actions (struct data_editor *de);
 
 static void insert_variable (GtkCheckMenuItem *m, gpointer data);
 
 
 static void insert_variable (GtkCheckMenuItem *m, gpointer data);
 
@@ -124,7 +125,7 @@ new_data_editor (void)
   GtkSheet *var_sheet ;
   PsppireVarStore *vs;
 
   GtkSheet *var_sheet ;
   PsppireVarStore *vs;
 
-  de = g_malloc (sizeof (*de));
+  de = g_malloc0 (sizeof (*de));
 
   e = (struct editor_window *) de;
 
 
   e = (struct editor_window *) de;
 
@@ -149,6 +150,9 @@ new_data_editor (void)
 
   connect_help (de->xml);
 
 
   connect_help (de->xml);
 
+
+  register_data_editor_actions (de);
+
   de->invoke_weight_cases_dialog =
     gtk_action_new ("weight-cases-dialog",
                    _("Weights"),
   de->invoke_weight_cases_dialog =
     gtk_action_new ("weight-cases-dialog",
                    _("Weights"),
@@ -161,15 +165,15 @@ new_data_editor (void)
 
   e->window = GTK_WINDOW (get_widget_assert (de->xml, "data_editor"));
 
 
   e->window = GTK_WINDOW (get_widget_assert (de->xml, "data_editor"));
 
-  g_signal_connect (get_widget_assert (de->xml,"file_new_data"),
-                   "activate",
-                   G_CALLBACK (new_data_window),
-                   e->window);
+  g_signal_connect_swapped (get_widget_assert (de->xml,"file_new_data"),
+                           "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->action_data_new);
 
 
-  g_signal_connect (get_widget_assert (de->xml,"file_open_data"),
-                   "activate",
-                   G_CALLBACK (open_data_window),
-                   e->window);
+  g_signal_connect_swapped (get_widget_assert (de->xml,"file_open_data"),
+                           "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->action_data_open);
 
   g_signal_connect (get_widget_assert (de->xml,"file_new_syntax"),
                    "activate",
 
   g_signal_connect (get_widget_assert (de->xml,"file_new_syntax"),
                    "activate",
@@ -181,6 +185,16 @@ new_data_editor (void)
                    G_CALLBACK (open_syntax_window),
                    e->window);
 
                    G_CALLBACK (open_syntax_window),
                    e->window);
 
+  g_signal_connect_swapped (get_widget_assert (de->xml,"file_save"),
+                           "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->action_data_save);
+
+  g_signal_connect_swapped (get_widget_assert (de->xml,"file_save_as"),
+                           "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->action_data_save_as);
+
 
   g_signal_connect (get_widget_assert (de->xml,"edit_clear"),
                    "activate",
 
   g_signal_connect (get_widget_assert (de->xml,"edit_clear"),
                    "activate",
@@ -197,13 +211,6 @@ new_data_editor (void)
                            get_widget_assert (de->xml, "data_weight-cases")
                            );
 
                            get_widget_assert (de->xml, "data_weight-cases")
                            );
 
-  /* 
-  g_signal_connect (get_widget_assert (de->xml,"data_weight-cases"),
-                   "activate",
-                   G_CALLBACK (weight_cases_dialog),
-                   de);
-  */
-
 
   g_signal_connect (get_widget_assert (de->xml,"help_about"),
                    "activate",
 
   g_signal_connect (get_widget_assert (de->xml,"help_about"),
                    "activate",
@@ -283,6 +290,13 @@ new_data_editor (void)
                    "toggled",
                    G_CALLBACK (value_labels_toggled), de);
 
                    "toggled",
                    G_CALLBACK (value_labels_toggled), de);
 
+  gtk_action_connect_proxy (de->action_data_open,
+                           get_widget_assert (de->xml, "button-open")
+                           );
+
+  gtk_action_connect_proxy (de->action_data_save,
+                           get_widget_assert (de->xml, "button-save")
+                           );
 
   gtk_action_connect_proxy (de->invoke_weight_cases_dialog,
                            get_widget_assert (de->xml, "button-weight-cases")
 
   gtk_action_connect_proxy (de->invoke_weight_cases_dialog,
                            get_widget_assert (de->xml, "button-weight-cases")
@@ -298,7 +312,6 @@ new_data_editor (void)
                    G_CALLBACK (minimise_all_windows), NULL);
 
 
                    G_CALLBACK (minimise_all_windows), NULL);
 
 
-
   select_sheet (de, PAGE_DATA_SHEET);
 
   return de;
   select_sheet (de, PAGE_DATA_SHEET);
 
   return de;
@@ -411,59 +424,6 @@ data_editor_select_sheet (struct data_editor *de, gint page)
 }
 
 
 }
 
 
-void
-open_data_window (GtkMenuItem *menuitem, gpointer parent)
-{
-  bool finished = FALSE;
-
-  GtkWidget *dialog;
-
-  GtkFileFilter *filter ;
-
-  dialog = gtk_file_chooser_dialog_new (_("Open"),
-                                       GTK_WINDOW (parent),
-                                       GTK_FILE_CHOOSER_ACTION_OPEN,
-                                       GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                       GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-                                       NULL);
-
-  filter = gtk_file_filter_new ();
-  gtk_file_filter_set_name (filter, _("System Files (*.sav)"));
-  gtk_file_filter_add_pattern (filter, "*.sav");
-  gtk_file_filter_add_pattern (filter, "*.SAV");
-  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
-  filter = gtk_file_filter_new ();
-  gtk_file_filter_set_name (filter, _("Portable Files (*.por) "));
-  gtk_file_filter_add_pattern (filter, "*.por");
-  gtk_file_filter_add_pattern (filter, "*.POR");
-  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
-  filter = gtk_file_filter_new ();
-  gtk_file_filter_set_name (filter, _("All Files"));
-  gtk_file_filter_add_pattern (filter, "*");
-  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
-  do {
-
-    if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
-      {
-       gchar *file_name =
-         gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-
-       g_free (file_name);
-      }
-    else
-      finished = TRUE;
-
-  } while ( ! finished ) ;
-
-  gtk_widget_destroy (dialog);
-}
-
-
-
-
 static void
 status_bar_activate (GtkCheckMenuItem *menuitem, gpointer data)
 {
 static void
 status_bar_activate (GtkCheckMenuItem *menuitem, gpointer data)
 {
@@ -864,3 +824,266 @@ weight_cases_dialog (GObject *o, gpointer data)
 }
 
 
 }
 
 
+
+\f
+static void data_save_as_dialog (GtkAction *, struct data_editor *de);
+static void new_file (GtkAction *, struct editor_window *de);
+static void open_data_dialog (GtkAction *, struct editor_window *de);
+static void data_save (GtkAction *action, struct data_editor *e);
+
+
+/* Create the GtkActions and connect to their signals */
+static void
+register_data_editor_actions (struct data_editor *de)
+{
+  de->action_data_open =
+    gtk_action_new ("data-open-dialog",
+                   _("Open"),
+                   _("Open a data file"),
+                   "gtk-open");
+
+  g_signal_connect (de->action_data_open, "activate",
+                   G_CALLBACK (open_data_dialog), de);
+
+
+  de->action_data_save = gtk_action_new ("data-save",
+                                           _("Save"),
+                                           _("Save data to file"),
+                                           "gtk-save");
+
+  g_signal_connect (de->action_data_save, "activate",
+                   G_CALLBACK (data_save), de);
+
+
+
+  de->action_data_save_as = gtk_action_new ("data-save-as-dialog",
+                                           _("Save As"),
+                                           _("Save data to file"),
+                                           "gtk-save");
+
+  g_signal_connect (de->action_data_save_as, "activate",
+                   G_CALLBACK (data_save_as_dialog), de);
+
+  de->action_data_new =
+    gtk_action_new ("data-new",
+                   _("New"),
+                   _("New data file"),
+                   NULL);
+
+  g_signal_connect (de->action_data_new, "activate",
+                   G_CALLBACK (new_file), de);
+}
+
+/* Returns true if NAME has a suffix which might denote a PSPP file */
+static gboolean
+name_has_suffix (const gchar *name)
+{
+  if ( g_str_has_suffix (name, ".sav"))
+    return TRUE;
+  if ( g_str_has_suffix (name, ".SAV"))
+    return TRUE;
+  if ( g_str_has_suffix (name, ".por"))
+    return TRUE;
+  if ( g_str_has_suffix (name, ".POR"))
+    return TRUE;
+
+  return FALSE;
+}
+
+/* Append SUFFIX to the filename of DE */
+static void
+append_filename_suffix (struct data_editor *de, const gchar *suffix)
+{
+  if ( ! name_has_suffix (de->file_name))
+    {
+      gchar *s = de->file_name;
+      de->file_name = g_strconcat (de->file_name, suffix, NULL);
+      g_free (s);
+    }
+}
+
+/* Save DE to file */
+static void
+save_file (struct data_editor *de)
+{
+  struct getl_interface *sss;
+
+  g_assert (de->file_name);
+
+  if ( de->save_as_portable )
+    {
+      append_filename_suffix (de, ".por");
+      sss = create_syntax_string_source ("EXPORT OUTFILE='%s'.",
+                                        de->file_name);
+    }
+  else
+    {
+      append_filename_suffix (de, ".sav");
+      sss = create_syntax_string_source ("SAVE OUTFILE='%s'.",
+                                        de->file_name);
+    }
+
+  execute_syntax (sss);
+}
+
+
+/* Callback for data_save action.
+   If there's an existing file name, then just save,
+   otherwise prompt for a file name, then save */
+static void
+data_save (GtkAction *action, struct data_editor *de)
+{
+  if ( de->file_name)
+    save_file (de);
+  else
+    data_save_as_dialog (action, de);
+}
+
+
+/* Callback for data_save_as action. Prompt for a filename and save */
+static void
+data_save_as_dialog (GtkAction *action, struct data_editor *de)
+{
+  struct editor_window *e = (struct editor_window *) de;
+
+  GtkWidget *button_sys;
+  GtkWidget *dialog =
+    gtk_file_chooser_dialog_new (_("Save"),
+                                GTK_WINDOW (e->window),
+                                GTK_FILE_CHOOSER_ACTION_SAVE,
+                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+                                NULL);
+
+  GtkFileFilter *filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("System Files (*.sav)"));
+  gtk_file_filter_add_pattern (filter, "*.sav");
+  gtk_file_filter_add_pattern (filter, "*.SAV");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("Portable Files (*.por) "));
+  gtk_file_filter_add_pattern (filter, "*.por");
+  gtk_file_filter_add_pattern (filter, "*.POR");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("All Files"));
+  gtk_file_filter_add_pattern (filter, "*");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  {
+    GtkWidget *button_por;
+    GtkWidget *vbox = gtk_vbox_new (TRUE, 5);
+    button_sys =
+      gtk_radio_button_new_with_label (NULL, _("System File"));
+
+    button_por =
+      gtk_radio_button_new_with_label
+      (gtk_radio_button_get_group (GTK_RADIO_BUTTON(button_sys)),
+       _("Portable File"));
+
+    gtk_box_pack_start_defaults (GTK_BOX (vbox), button_sys);
+    gtk_box_pack_start_defaults (GTK_BOX (vbox), button_por);
+
+    gtk_widget_show_all (vbox);
+
+    gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(dialog), vbox);
+  }
+
+  switch (gtk_dialog_run (GTK_DIALOG (dialog)))
+    {
+    case GTK_RESPONSE_ACCEPT:
+      {
+       g_free (de->file_name);
+
+       de->file_name =
+         gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+
+       de->save_as_portable =
+         ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button_sys));
+
+       save_file (de);
+
+       window_set_name_from_filename (e, de->file_name);
+      }
+      break;
+    default:
+      break;
+    }
+
+  gtk_widget_destroy (dialog);
+}
+
+
+/* Callback for data_new action.
+   Performs the NEW FILE command */
+static void
+new_file (GtkAction *action, struct editor_window *de)
+{
+  struct getl_interface *sss =
+    create_syntax_string_source ("NEW FILE.");
+
+  execute_syntax (sss);
+
+  default_window_name (de);
+}
+
+
+/* Callback for the data_open action.
+   Prompts for a filename and opens it */
+static void
+open_data_dialog (GtkAction *action, struct editor_window *de)
+{
+  GtkWidget *dialog =
+    gtk_file_chooser_dialog_new (_("Open"),
+                                GTK_WINDOW (de->window),
+                                GTK_FILE_CHOOSER_ACTION_OPEN,
+                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+                                NULL);
+
+  GtkFileFilter *filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("System Files (*.sav)"));
+  gtk_file_filter_add_pattern (filter, "*.sav");
+  gtk_file_filter_add_pattern (filter, "*.SAV");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("Portable Files (*.por) "));
+  gtk_file_filter_add_pattern (filter, "*.por");
+  gtk_file_filter_add_pattern (filter, "*.POR");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("All Files"));
+  gtk_file_filter_add_pattern (filter, "*");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  switch (gtk_dialog_run (GTK_DIALOG (dialog)))
+    {
+    case GTK_RESPONSE_ACCEPT:
+      {
+       struct getl_interface *sss;
+       gchar *file_name =
+         gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+
+       sss = create_syntax_string_source ("GET FILE='%s'.", file_name);
+
+       execute_syntax (sss);
+
+       window_set_name_from_filename (de, file_name);
+
+       g_free (file_name);
+      }
+      break;
+    default:
+      break;
+    }
+
+  gtk_widget_destroy (dialog);
+}
+
+
+
+
index abbf9363f89c16e2f5fcdcf014e38a2038a6a822..11ba2eb9648782210c1ad70c80bbfe34ac3b6c46 100644 (file)
                       </widget>
                     </child>
                     <child>
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkImageMenuItem" id="save1">
+                      <widget class="GtkImageMenuItem" id="file_save">
                         <property name="visible">True</property>
                         <property name="visible">True</property>
-                        <property name="sensitive">False</property>
+                        <property name="sensitive">True</property>
                         <property name="label">gtk-save</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="label">gtk-save</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
-                        <signal name="activate" handler="on_save1_activate"/>
                       </widget>
                     </child>
                     <child>
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkImageMenuItem" id="save_as1">
+                      <widget class="GtkImageMenuItem" id="file_save_as">
                         <property name="visible">True</property>
                         <property name="visible">True</property>
-                        <property name="sensitive">False</property>
+                        <property name="sensitive">True</property>
                         <property name="label">gtk-save-as</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="label">gtk-save-as</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
-                        <signal name="activate" handler="on_save_as1_activate"/>
                       </widget>
                     </child>
                     <child>
                       </widget>
                     </child>
                     <child>
                 <child>
                   <widget class="GtkToolButton" id="button-open">
                     <property name="visible">True</property>
                 <child>
                   <widget class="GtkToolButton" id="button-open">
                     <property name="visible">True</property>
-                    <property name="sensitive">False</property>
+                    <property name="sensitive">True</property>
                     <property name="tooltip" translatable="yes">Open</property>
                     <property name="stock_id">gtk-open</property>
                   </widget>
                     <property name="tooltip" translatable="yes">Open</property>
                     <property name="stock_id">gtk-open</property>
                   </widget>
                 <child>
                   <widget class="GtkToolButton" id="button-save">
                     <property name="visible">True</property>
                 <child>
                   <widget class="GtkToolButton" id="button-save">
                     <property name="visible">True</property>
-                    <property name="sensitive">False</property>
+                    <property name="sensitive">True</property>
                     <property name="tooltip" translatable="yes">Save</property>
                     <property name="stock_id">gtk-save</property>
                     <signal name="clicked" handler="on_save1_activate"/>
                     <property name="tooltip" translatable="yes">Save</property>
                     <property name="stock_id">gtk-save</property>
                     <signal name="clicked" handler="on_save1_activate"/>
index 67784021d8c3e0f9b576a515708caf323e697b3f..71bfd0e67a291a28adc2ed5eabd0f8f6ec93898c 100644 (file)
 struct data_editor
 {
   struct editor_window parent;
 struct data_editor
 {
   struct editor_window parent;
+
+  GtkAction *action_data_new;
+  GtkAction *action_data_open;
+  GtkAction *action_data_save_as;
+  GtkAction *action_data_save;
+
   GtkAction *invoke_weight_cases_dialog;
   GtkAction *invoke_weight_cases_dialog;
+
   GladeXML *xml;
   GladeXML *xml;
+
+  gboolean save_as_portable;
+  gchar *file_name;
 };
 
 
 };
 
 
@@ -37,8 +47,6 @@ struct data_editor * new_data_editor (void);
 
 void new_data_window (GtkMenuItem *, gpointer);
 
 
 void new_data_window (GtkMenuItem *, gpointer);
 
-void open_data_window (GtkMenuItem *, gpointer);
-
 void data_editor_select_sheet (struct data_editor *de, gint page);
 
 
 void data_editor_select_sheet (struct data_editor *de, gint page);
 
 
index 4d88c81bde63bb98db897631738e1100ee2e0734..e14ab06ad76a5a7d0ebc39ef5b2f70a941de1016 100644 (file)
@@ -9,6 +9,7 @@
 #include <data/data-in.h>
 #include <data/data-out.h>
 #include <data/dictionary.h>
 #include <data/data-in.h>
 #include <data/data-out.h>
 #include <data/dictionary.h>
+#include <data/storage-stream.h>
 #include <libpspp/message.h>
 
 #include <libpspp/i18n.h>
 #include <libpspp/message.h>
 
 #include <libpspp/i18n.h>
@@ -20,6 +21,7 @@
 #include <language/command.h>
 #include <data/procedure.h>
 #include <language/lexer/lexer.h>
 #include <language/command.h>
 #include <data/procedure.h>
 #include <language/lexer/lexer.h>
+#include "psppire-data-store.h"
 
 
 #include <gettext.h>
 
 
 #include <gettext.h>
@@ -141,12 +143,14 @@ reference_manual (GtkMenuItem *menu, gpointer data)
 
 extern struct dataset *the_dataset;
 extern struct source_stream *the_source_stream;
 
 extern struct dataset *the_dataset;
 extern struct source_stream *the_source_stream;
+extern PsppireDataStore *the_data_store;
 
 
-void
+gboolean
 execute_syntax (struct getl_interface *sss)
 {
   struct lexer *lexer;
 execute_syntax (struct getl_interface *sss)
 {
   struct lexer *lexer;
-  g_return_if_fail (proc_has_source (the_dataset));
+
+  g_return_val_if_fail (proc_has_source (the_dataset), FALSE);
 
   lexer = lex_create (the_source_stream);
 
 
   lexer = lex_create (the_source_stream);
 
@@ -154,11 +158,7 @@ execute_syntax (struct getl_interface *sss)
 
   for (;;)
     {
 
   for (;;)
     {
-      const struct dictionary *dict = dataset_dict (the_dataset);
-
-      int result = cmd_parse (lexer, the_dataset,
-                             dict_get_var_cnt (dict) > 0 ?
-                             CMD_STATE_DATA : CMD_STATE_INITIAL);
+      int result = cmd_parse (lexer, the_dataset);
 
       if (result == CMD_EOF || result == CMD_FINISH)
        break;
 
       if (result == CMD_EOF || result == CMD_FINISH)
        break;
@@ -167,6 +167,19 @@ execute_syntax (struct getl_interface *sss)
   getl_abort_noninteractive (the_source_stream);
 
   lex_destroy (lexer);
   getl_abort_noninteractive (the_source_stream);
 
   lex_destroy (lexer);
+
+  /* The GUI must *always* have a data source, even if it's an empty one.
+     Therefore, we find that there is none, (for example NEW FILE was the last
+     item in the syntax) then we create a new one. */
+  if ( ! proc_has_source (the_dataset))
+    proc_set_source (the_dataset,
+                    storage_source_create (the_data_store->case_file->flexifile)
+                    );
+
+  /* GUI syntax needs this implicit EXECUTE command at the end of
+     every script.  Otherwise commands like GET could leave the GUI without
+     a casefile. */
+  return procedure (the_dataset, NULL, NULL);
 }
 
 
 }
 
 
index f5e0f5b00f766afaa10e96eef317fb4cf0def1f9..a0c36bd68bb6f84518e2bb0363c430dfefdbf37a 100644 (file)
@@ -46,7 +46,7 @@ void connect_help (GladeXML *);
 void reference_manual (GtkMenuItem *, gpointer);
 
 struct getl_interface;
 void reference_manual (GtkMenuItem *, gpointer);
 
 struct getl_interface;
-void execute_syntax (struct getl_interface *sss);
+gboolean execute_syntax (struct getl_interface *sss);
 
 
 #endif
 
 
 #endif
index 469ee4f6983b9940b3ae639d9f2df74a829f38a9..4ca3dfe77532f3268c171728a6069dc1728a98a5 100644 (file)
@@ -341,12 +341,6 @@ new_syntax_editor (void)
                    G_CALLBACK (new_data_window),
                    e->window);
 
                    G_CALLBACK (new_data_window),
                    e->window);
 
-  g_signal_connect (get_widget_assert (xml,"file_open_data"),
-                   "activate",
-                   G_CALLBACK (open_data_window),
-                   e->window);
-
-
   g_signal_connect (get_widget_assert (xml,"help_about"),
                    "activate",
                    G_CALLBACK (about_new),
   g_signal_connect (get_widget_assert (xml,"help_about"),
                    "activate",
                    G_CALLBACK (about_new),
index 80e6bff31147a438328cb61c3d9c23dcc6960a41..c27eef445283e8527d6439375d326f8af8d93c70 100644 (file)
@@ -62,6 +62,7 @@
                          <child>
                            <widget class="GtkMenuItem" id="file_new_data">
                              <property name="visible">True</property>
                          <child>
                            <widget class="GtkMenuItem" id="file_new_data">
                              <property name="visible">True</property>
+                             <property name="sensitive">False</property>
                              <property name="label" translatable="yes">_Data</property>
                              <property name="use_underline">True</property>
                            </widget>
                              <property name="label" translatable="yes">_Data</property>
                              <property name="use_underline">True</property>
                            </widget>
@@ -92,6 +93,7 @@
                          <child>
                            <widget class="GtkMenuItem" id="file_open_data">
                              <property name="visible">True</property>
                          <child>
                            <widget class="GtkMenuItem" id="file_open_data">
                              <property name="visible">True</property>
+                             <property name="sensitive">False</property>
                              <property name="label" translatable="yes">_Data</property>
                              <property name="use_underline">True</property>
                            </widget>
                              <property name="label" translatable="yes">_Data</property>
                              <property name="use_underline">True</property>
                            </widget>
index a4f5064d1801122bb714696d202e529fb1e8e3bc..f25a97ab85ab0127107e7deba02770796777aee1 100644 (file)
@@ -110,6 +110,11 @@ window_create (enum window_type type, const gchar *name)
   return e;
 }
 
   return e;
 }
 
+void
+default_window_name (struct editor_window *w)
+{
+  set_window_name (w, NULL);
+}
 
 static void
 set_window_name (struct editor_window *e,
 
 static void
 set_window_name (struct editor_window *e,
index 3c5655ed2b35e8ca971718f345374f48ccdbe026..994cdbe21e7c7988befc5d7467af39fbd0878801 100644 (file)
@@ -25,6 +25,8 @@ const gchar * window_name (const struct editor_window *);
 void window_set_name_from_filename (struct editor_window *e,
                                    const gchar *filename);
 
 void window_set_name_from_filename (struct editor_window *e,
                                    const gchar *filename);
 
+void default_window_name (struct editor_window *w);
+
 void minimise_all_windows (void);
 
 
 void minimise_all_windows (void);
 
 
index 81b09a1df24d22120d270fb0b5bd97bc2a2eff4f..2f7d1fbea7baada5b5aafd6d50ff09139518e78f 100644 (file)
@@ -118,9 +118,8 @@ main (int argc, char **argv)
 
       for (;;)
         {
 
       for (;;)
         {
-          int result = cmd_parse (the_lexer, the_dataset,
-                                 proc_has_source (the_dataset)
-                                 ? CMD_STATE_DATA : CMD_STATE_INITIAL);
+          int result = cmd_parse (the_lexer, the_dataset);
+
           if (result == CMD_EOF || result == CMD_FINISH)
             break;
           if (result == CMD_CASCADING_FAILURE &&
           if (result == CMD_EOF || result == CMD_FINISH)
             break;
           if (result == CMD_CASCADING_FAILURE &&