From: John Darrington Date: Fri, 20 Feb 2009 01:22:49 +0000 (+0900) Subject: Merge commit 'HEAD'; commit 'savannah/master' X-Git-Tag: v0.7.3~296^2~9 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8953baa61127d6d3b91f763663ea647bf3e4e793;hp=-c;p=pspp-builds.git Merge commit 'HEAD'; commit 'savannah/master' Conflicts: src/ui/gui/crosstabs-dialog.c src/ui/gui/goto-case-dialog.c src/ui/gui/helper.c src/ui/gui/output-viewer.c src/ui/gui/output-viewer.h src/ui/gui/psppire.c src/ui/gui/regression-dialog.c --- 8953baa61127d6d3b91f763663ea647bf3e4e793 diff --combined src/ui/gui/automake.mk index 895723a2,1549da47..6440215a --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@@ -9,6 -9,7 +9,7 @@@ src_ui_gui_psppire_CFLAGS = $(GTK_CFLAG src_ui_gui_psppire_LDFLAGS = \ + $(PSPPIRE_LDFLAGS) \ $(PG_LDFLAGS) @@@ -60,26 -61,41 +61,41 @@@ src_ui_gui_psppire_LDADD = src/libpspp-core.la \ $(GTK_LIBS) \ $(GLADE_LIBS) \ - @LIBINTL@ + @LIBINTL@ \ + $(LIB_CLOSE) src_ui_gui_psppiredir = $(pkgdatadir) - dist_src_ui_gui_psppire_DATA = \ - $(top_srcdir)/src/ui/gui/data-editor.glade \ - $(top_srcdir)/src/ui/gui/descriptives-dialog.glade \ - $(top_srcdir)/src/ui/gui/examine.glade \ + nodist_src_ui_gui_psppire_DATA = \ + $(top_builddir)/src/ui/gui/crosstabs.ui \ + $(top_builddir)/src/ui/gui/examine.ui \ + $(top_builddir)/src/ui/gui/frequencies.ui \ + $(top_builddir)/src/ui/gui/message-dialog.ui \ + $(top_builddir)/src/ui/gui/psppire.ui \ + $(top_builddir)/src/ui/gui/oneway.ui \ + $(top_builddir)/src/ui/gui/rank.ui \ + $(top_builddir)/src/ui/gui/recode.ui \ + $(top_builddir)/src/ui/gui/regression.ui \ + $(top_builddir)/src/ui/gui/t-test.ui + + EXTRA_DIST += \ $(top_srcdir)/src/ui/gui/crosstabs.glade \ + $(top_srcdir)/src/ui/gui/examine.glade \ $(top_srcdir)/src/ui/gui/frequencies.glade \ $(top_srcdir)/src/ui/gui/message-dialog.glade \ - $(top_srcdir)/src/ui/gui/oneway.glade \ - $(top_srcdir)/src/ui/gui/output-viewer.glade \ $(top_srcdir)/src/ui/gui/psppire.glade \ + $(top_srcdir)/src/ui/gui/oneway.glade \ $(top_srcdir)/src/ui/gui/rank.glade \ $(top_srcdir)/src/ui/gui/recode.glade \ $(top_srcdir)/src/ui/gui/regression.glade \ + $(top_srcdir)/src/ui/gui/t-test.glade + + dist_src_ui_gui_psppire_DATA = \ + $(top_srcdir)/src/ui/gui/data-editor.glade \ + $(top_srcdir)/src/ui/gui/descriptives-dialog.glade \ + $(top_srcdir)/src/ui/gui/output-viewer.glade \ $(top_srcdir)/src/ui/gui/syntax-editor.glade \ $(top_srcdir)/src/ui/gui/text-data-import.glade \ - $(top_srcdir)/src/ui/gui/t-test.glade \ $(top_srcdir)/src/ui/gui/psppicon.png \ $(top_srcdir)/src/ui/gui/pspplogo.png \ $(top_srcdir)/src/ui/gui/icons/value-labels.png \ @@@ -115,6 -131,8 +131,6 @@@ src_ui_gui_psppire_SOURCES = src/ui/gui/frequencies-dialog.h \ src/ui/gui/goto-case-dialog.c \ src/ui/gui/goto-case-dialog.h \ - src/ui/gui/data-editor.c \ - src/ui/gui/data-editor.h \ src/ui/gui/descriptives-dialog.c \ src/ui/gui/descriptives-dialog.h \ src/ui/gui/examine-dialog.c \ @@@ -136,6 -154,8 +152,6 @@@ src/ui/gui/missing-val-dialog.h \ src/ui/gui/oneway-anova-dialog.c \ src/ui/gui/oneway-anova-dialog.h \ - src/ui/gui/output-viewer.c \ - src/ui/gui/output-viewer.h \ src/ui/gui/psppire-acr.h \ src/ui/gui/psppire-buttonbox.h \ src/ui/gui/psppire-hbuttonbox.h \ @@@ -167,6 -187,8 +183,6 @@@ src/ui/gui/sort-cases-dialog.h \ src/ui/gui/split-file-dialog.c \ src/ui/gui/split-file-dialog.h \ - src/ui/gui/syntax-editor.c \ - src/ui/gui/syntax-editor.h \ src/ui/gui/syntax-editor-source.c \ src/ui/gui/syntax-editor-source.h \ src/ui/gui/text-data-import-dialog.c \ @@@ -193,24 -215,14 +209,22 @@@ src/ui/gui/weight-cases-dialog.h \ src/ui/gui/widget-io.c \ src/ui/gui/widget-io.h \ - src/ui/gui/window-manager.c \ - src/ui/gui/window-manager.h + src/ui/gui/psppire-data-window.c \ + src/ui/gui/psppire-data-window.h \ + src/ui/gui/psppire-output-window.c \ + src/ui/gui/psppire-output-window.h \ + src/ui/gui/psppire-window.c \ + src/ui/gui/psppire-window.h \ + src/ui/gui/psppire-window-register.c \ + src/ui/gui/psppire-window-register.h \ + src/ui/gui/psppire-syntax-window.c \ + src/ui/gui/psppire-syntax-window.h nodist_src_ui_gui_psppire_SOURCES = \ src/ui/gui/psppire-marshal.c \ src/ui/gui/psppire-marshal.h - - yelp-check: @if ! yelp --version > /dev/null 2>&1 ; then \ echo ; \ @@@ -230,8 -242,12 +244,12 @@@ src/ui/gui/psppire-marshal.c: src/ui/gu src/ui/gui/psppire-marshal.h: src/ui/gui/marshaller-list glib-genmarshal --header --prefix=psppire_marshal $< > $@ + .glade.ui: + gtk-builder-convert $< $@ + EXTRA_DIST += src/ui/gui/OChangeLog\ src/ui/gui/marshaller-list BUILT_SOURCES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h - CLEANFILES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h + CLEANFILES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h \ + $(nodist_src_ui_gui_psppire_DATA) diff --combined src/ui/gui/comments-dialog.c index 34c9957d,f425fac2..49d143cb --- a/src/ui/gui/comments-dialog.c +++ b/src/ui/gui/comments-dialog.c @@@ -18,10 -18,9 +18,10 @@@ #include "psppire-dialog.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" +#include "psppire-data-editor.h" #include -#include "syntax-editor.h" +#include "helper.h" #include "psppire-var-store.h" #include @@@ -30,7 -29,6 +30,6 @@@ #include "dialog-common.h" #include - #include #include @@@ -40,7 -38,7 +39,7 @@@ struct comment_dialog { - GladeXML *xml; + GtkBuilder *xml; PsppireDict *dict; }; @@@ -96,10 -94,10 +95,10 @@@ comments_dialog (GObject *o, gpointer d { GtkTextIter iter; gint response ; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct comment_dialog cd; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); GtkWidget *dialog = get_widget_assert (xml, "comments-dialog"); GtkWidget *textview = get_widget_assert (xml, "comments-textview1"); @@@ -110,7 -108,7 +109,7 @@@ g_object_get (de->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); { PangoContext * context ; @@@ -168,7 -166,6 +167,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&cd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -179,7 -176,10 +178,7 @@@ { gchar *syntax = generate_syntax (&cd); - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/compute-dialog.c index 96ea6630,76b9a7d1..7269ab79 --- a/src/ui/gui/compute-dialog.c +++ b/src/ui/gui/compute-dialog.c @@@ -20,14 -20,14 +20,14 @@@ #include "helper.h" #include "psppire-dialog.h" #include "psppire-keypad.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-var-store.h" #include "dialog-common.h" #include "dict-display.h" #include #include -#include "syntax-editor.h" +#include "helper.h" static void function_list_populate (GtkTreeView *tv); @@@ -47,7 -47,7 +47,7 @@@ static void insert_source_row_into_text struct compute_dialog { - GladeXML *xml; /* The xml that generated the widgets */ + GtkBuilder *xml; /* The xml that generated the widgets */ PsppireDict *dict; gboolean use_type; }; @@@ -113,7 -113,7 +113,7 @@@ erase_selection (GtkTextBuffer *buffer static void on_keypad_button (PsppireKeypad *kp, const gchar *syntax, gpointer data) { - GladeXML *xml = data; + GtkBuilder *xml = data; GtkWidget *rhs = get_widget_assert (xml, "compute-textview1"); @@@ -137,7 -137,7 +137,7 @@@ static void erase (PsppireKeypad *kp, gpointer data) { - GladeXML *xml = data; + GtkBuilder *xml = data; GtkWidget *rhs = get_widget_assert (xml, "compute-textview1"); @@@ -365,12 -365,12 +365,12 @@@ voi compute_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = data; PsppireVarStore *vs = NULL; struct compute_dialog scd; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); GtkWidget *dialog = get_widget_assert (xml, "compute-variable-dialog"); @@@ -394,7 -394,7 +394,7 @@@ g_signal_connect (expression, "toggled", G_CALLBACK(on_expression_toggle), &scd); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view), @@@ -447,7 -447,6 +447,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&scd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -458,7 -457,10 +458,7 @@@ { gchar *syntax = generate_syntax (&scd); - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/crosstabs-dialog.c index 9654a27c,2c50b461..a3498d1f --- a/src/ui/gui/crosstabs-dialog.c +++ b/src/ui/gui/crosstabs-dialog.c @@@ -23,13 -23,13 +23,13 @@@ #include #include -#include +#include #include #include - #include + #include "helper.h" #include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@@ -385,15 -385,13 +385,15 @@@ voi crosstabs_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; - struct crosstabs_dialog cd; - GladeXML *xml = XML_NEW ("crosstabs.glade"); + GtkBuilder *xml = builder_new ("crosstabs.ui"); + PsppireVarStore *vs = NULL; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); + + GtkWidget *dialog = get_widget_assert (xml, "crosstabs-dialog"); GtkWidget *source = get_widget_assert (xml, "dict-treeview"); GtkWidget *dest_rows = get_widget_assert (xml, "rows"); @@@ -421,7 -419,7 +421,7 @@@ cells ); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), vs->dict, @@@ -463,9 -461,9 +463,9 @@@ cd.current_opts.table = TRUE; cd.current_opts.pivot = TRUE; - gtk_window_set_transient_for (GTK_WINDOW (cd.format_dialog), de->parent.window); - gtk_window_set_transient_for (GTK_WINDOW (cd.cell_dialog), de->parent.window); - gtk_window_set_transient_for (GTK_WINDOW (cd.stat_dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (cd.format_dialog), GTK_WINDOW (de)); + gtk_window_set_transient_for (GTK_WINDOW (cd.cell_dialog), GTK_WINDOW (de)); + gtk_window_set_transient_for (GTK_WINDOW (cd.stat_dialog), GTK_WINDOW (de)); g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), &cd); @@@ -487,7 -485,6 +487,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&cd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -498,7 -495,10 +498,7 @@@ { gchar *syntax = generate_syntax (&cd); - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/examine-dialog.c index 3c11a08a,682af46b..171d88cf --- a/src/ui/gui/examine-dialog.c +++ b/src/ui/gui/examine-dialog.c @@@ -22,13 -22,13 +22,13 @@@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@@ -236,13 -236,11 +236,11 @@@ voi examine_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct examine_dialog ex_d; - - GladeXML *xml = XML_NEW ("examine.glade"); - + GtkBuilder *xml = builder_new ("examine.ui"); GtkWidget *dialog = get_widget_assert (xml, "examine-dialog"); GtkWidget *source = get_widget_assert (xml, "treeview1"); @@@ -277,9 -275,9 +275,9 @@@ ex_d.percentiles_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "percentiles-button")); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); - gtk_window_set_transient_for (GTK_WINDOW (ex_d.stats_dialog), de->parent.window); - gtk_window_set_transient_for (GTK_WINDOW (ex_d.opts_dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); + gtk_window_set_transient_for (GTK_WINDOW (ex_d.stats_dialog), GTK_WINDOW (de)); + gtk_window_set_transient_for (GTK_WINDOW (ex_d.opts_dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), vs->dict, @@@ -346,7 -344,12 +344,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&ex_d); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); - + paste_syntax_in_new_window (syntax); g_free (syntax); } break; diff --combined src/ui/gui/find-dialog.c index ad9bf842,985e73fb..130b25cf --- a/src/ui/gui/find-dialog.c +++ b/src/ui/gui/find-dialog.c @@@ -24,7 -24,7 +24,7 @@@ which match particular strings * #include "psppire-selector.h" #include "psppire-dialog.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "dict-display.h" #include #include @@@ -37,7 -37,6 +37,6 @@@ #include #include - #include #include #include "xalloc.h" @@@ -52,10 -51,10 +51,10 @@@ struct find_dialog { - GladeXML *xml; + GtkBuilder *xml; PsppireDict *dict; struct datasheet *data; - struct data_editor *de; + PsppireDataWindow *de; GtkWidget *variable_entry; GtkWidget *value_entry; GtkWidget *value_labels_checkbox; @@@ -186,7 -185,7 +185,7 @@@ value_labels_toggled (GtkToggleButton * void find_dialog (GObject *o, gpointer data) { - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct find_dialog fd; @@@ -200,7 -199,7 +199,7 @@@ PsppireVarStore *vs ; PsppireDataStore *ds ; - fd.xml = XML_NEW ("psppire.glade"); + fd.xml = builder_new ("psppire.ui"); fd.de = de; find_button = gtk_button_new_from_stock (GTK_STOCK_FIND); @@@ -239,7 -238,7 +238,7 @@@ - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), diff --combined src/ui/gui/frequencies-dialog.c index 978bfcd2,89cf7683..37e301b8 --- a/src/ui/gui/frequencies-dialog.c +++ b/src/ui/gui/frequencies-dialog.c @@@ -23,13 -23,13 +23,13 @@@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@@ -307,11 -307,11 +307,11 @@@ voi frequencies_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct frequencies_dialog fd; - GladeXML *xml = XML_NEW ("frequencies.glade"); + GtkBuilder *xml = builder_new ("frequencies.ui"); GtkWidget *dialog = get_widget_assert (xml, "frequencies-dialog"); GtkWidget *source = get_widget_assert (xml, "dict-treeview"); @@@ -331,7 -331,7 +331,7 @@@ ); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), vs->dict, @@@ -369,7 -369,7 +369,7 @@@ fd.current_opts.limit = 50; - gtk_window_set_transient_for (GTK_WINDOW (fd.format_dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (fd.format_dialog), GTK_WINDOW (de)); g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), &fd); @@@ -393,7 -393,6 +393,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&fd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -403,7 -402,12 +403,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&fd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); - + paste_syntax_in_new_window (syntax); g_free (syntax); } break; diff --combined src/ui/gui/goto-case-dialog.c index 57db5865,a22b5cb0..9a523943 --- a/src/ui/gui/goto-case-dialog.c +++ b/src/ui/gui/goto-case-dialog.c @@@ -19,12 -19,12 +19,12 @@@ #include "goto-case-dialog.h" #include "helper.h" #include "psppire-dialog.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-data-store.h" static void - refresh (const PsppireDataWindow *de, GladeXML *xml) -refresh (const struct data_editor *de, GtkBuilder *xml) ++refresh (const PsppireDataWindow *de, GtkBuilder *xml) { PsppireDataStore *ds = NULL; casenumber case_count ; @@@ -43,13 -43,13 +43,13 @@@ voi goto_case_dialog (GObject *o, gpointer data) { gint response; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); GtkWidget *dialog = get_widget_assert (xml, "goto-case-dialog"); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); refresh (de, xml); diff --combined src/ui/gui/helper.c index 12003e2a,fc9105d7..6a3a0f9e --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@@ -20,8 -20,6 +20,8 @@@ */ #include +#include "psppire-syntax-window.h" + #include #include @@@ -34,6 -32,7 +34,7 @@@ #include #include + #include #include #include @@@ -47,7 -46,7 +48,7 @@@ #include #include "psppire-data-store.h" #include -#include "output-viewer.h" +#include "psppire-output-window.h" #include "xalloc.h" @@@ -102,14 -101,35 +103,35 @@@ text_to_value (const gchar *text, unio } + GtkBuilder * + builder_new_real (const gchar *name) + { + GtkBuilder *builder = gtk_builder_new (); + + GError *err = NULL; + if ( ! gtk_builder_add_from_file (builder, name, &err)) + { + g_critical ("Couldnt open user interface file %s: %s", name, err->message); + g_clear_error (&err); + } + + return builder; + } + + + GtkWidget * - get_widget_assert (GladeXML *xml, const gchar *name) + get_widget_assert (gpointer x, const gchar *name) { - GtkWidget *w; - g_assert (xml); + GObject *obj = G_OBJECT (x); + GtkWidget *w = NULL; g_assert (name); - w = glade_xml_get_widget (xml, name); + if (GTK_IS_BUILDER (obj)) + w = GTK_WIDGET (gtk_builder_get_object (GTK_BUILDER (obj), name)); + + if (GLADE_IS_XML (obj)) + w = glade_xml_get_widget (GLADE_XML (obj), name); if ( !w ) g_critical ("Widget \"%s\" could not be found\n", name); @@@ -248,7 -268,7 +270,7 @@@ execute_syntax (struct getl_interface * som_flush (); - reload_the_viewer (); + psppire_output_window_reload (); return retval; } @@@ -300,13 -320,3 +322,12 @@@ clone_list_store (const GtkListStore *s - +void +paste_syntax_in_new_window (const gchar *syntax) +{ + GtkWidget *se = psppire_syntax_window_new (); + + gtk_text_buffer_insert_at_cursor (PSPPIRE_SYNTAX_WINDOW (se)->buffer, syntax, -1); + + gtk_widget_show (se); +} diff --combined src/ui/gui/helper.h index 25ff0aa0,d08a1752..d388ccb4 --- a/src/ui/gui/helper.h +++ b/src/ui/gui/helper.h @@@ -26,10 -26,6 +26,10 @@@ #include #include + + +void paste_syntax_in_new_window (const gchar *syntax); + /* GtkRecentChooserMenu was added in 2.10.0 but it didn't support GtkRecentFilters until @@@ -47,7 -43,7 +47,7 @@@ gchar * value_to_text (union value v, s gboolean text_to_value (const gchar *text, union value *v, struct fmt_spec format); - GtkWidget * get_widget_assert (GladeXML *xml, const gchar *name); + GtkWidget * get_widget_assert (gpointer x, const gchar *name); /* Converts a string in the pspp locale to utf-8 */ char * pspp_locale_to_utf8 (const gchar *text, gssize len, GError **err); @@@ -64,12 -60,9 +64,9 @@@ gboolean execute_syntax (struct getl_in glade_xml_new (relocate(PKGDATADIR "/" FILE), NULL, NULL) - void marshaller_VOID__INT_INT_INT (GClosure *closure, - GValue *return_value, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint, - gpointer marshal_data); + #define builder_new(NAME) builder_new_real (relocate (PKGDATADIR "/" NAME)) + + GtkBuilder *builder_new_real (const gchar *name); /* Create a deep copy of SRC */ diff --combined src/ui/gui/oneway-anova-dialog.c index 45e88807,59b65b4a..d41b2760 --- a/src/ui/gui/oneway-anova-dialog.c +++ b/src/ui/gui/oneway-anova-dialog.c @@@ -17,13 -17,12 +17,12 @@@ #include - #include #include #include "oneway-anova-dialog.h" #include "psppire-dict.h" #include "psppire-var-store.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-dialog.h" #include "dialog-common.h" #include "dict-display.h" @@@ -31,7 -30,7 +30,7 @@@ #include -#include "syntax-editor.h" +#include "helper.h" #include "gettext.h" @@@ -121,54 -120,55 +120,55 @@@ refresh (struct oneway_anova_dialog *ow } + /* Pops up the dialog box */ void oneway_anova_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs = NULL; - GladeXML *xml = XML_NEW ("oneway.glade"); - struct oneway_anova_dialog ow; + GtkBuilder *builder = builder_new ("oneway.ui"); + GtkWidget *dict_view = - get_widget_assert (xml, "oneway-anova-treeview1"); + get_widget_assert (builder, "oneway-anova-treeview1"); GtkWidget *selector2 = - get_widget_assert (xml, "oneway-anova-selector2"); + get_widget_assert (builder, "oneway-anova-selector2"); GtkWidget *selector1 = - get_widget_assert (xml, "oneway-anova-selector1"); + get_widget_assert (builder, "oneway-anova-selector1"); GtkWidget *contrasts_button = - get_widget_assert (xml, "contrasts-button"); + get_widget_assert (builder, "contrasts-button"); g_signal_connect_swapped (contrasts_button, "clicked", G_CALLBACK (run_contrasts_dialog), &ow); - ow.factor_entry = get_widget_assert (xml, "oneway-anova-entry"); + ow.factor_entry = get_widget_assert (builder, "oneway-anova-entry"); ow.vars_treeview = - get_widget_assert (xml, "oneway-anova-treeview2"); + get_widget_assert (builder, "oneway-anova-treeview2"); ow.descriptives = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton1")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "checkbutton1")); ow.homogeneity = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton2")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "checkbutton2")); g_object_get (de->data_editor, "var-store", &vs, NULL); ow.dict = vs->dict; ow.dialog = - GTK_WINDOW (get_widget_assert (xml, "oneway-anova-dialog")); + GTK_WINDOW (get_widget_assert (builder, "oneway-anova-dialog")); - gtk_window_set_transient_for (ow.dialog, de->parent.window); + gtk_window_set_transient_for (ow.dialog, GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view), vs->dict, @@@ -202,16 -202,16 +202,16 @@@ { struct contrasts_subdialog *cd = &ow.contrasts; - GtkEntry *entry = GTK_ENTRY (get_widget_assert (xml, "entry1")); + GtkEntry *entry = GTK_ENTRY (get_widget_assert (builder, "entry1")); - cd->acr = PSPPIRE_ACR (get_widget_assert (xml, "psppire-acr1")); - cd->contrasts_dialog = get_widget_assert (xml, "contrasts-dialog"); + cd->acr = PSPPIRE_ACR (get_widget_assert (builder, "psppire-acr1")); + cd->contrasts_dialog = get_widget_assert (builder, "contrasts-dialog"); - cd->next = get_widget_assert (xml, "next-button"); - cd->prev = get_widget_assert (xml, "prev-button"); - cd->ctotal = get_widget_assert (xml, "entry2"); + cd->next = get_widget_assert (builder, "next-button"); + cd->prev = get_widget_assert (builder, "prev-button"); + cd->ctotal = get_widget_assert (builder, "entry2"); - cd->stack_label = get_widget_assert (xml, "contrast-stack-label"); + cd->stack_label = get_widget_assert (builder, "contrast-stack-label"); /* Contrasts */ ow.contrasts_array = g_array_new (FALSE, FALSE, sizeof (GtkListStore *)); @@@ -222,7 -222,7 +222,7 @@@ psppire_acr_set_entry (cd->acr, entry); gtk_window_set_transient_for (GTK_WINDOW (cd->contrasts_dialog), - de->parent.window); + GTK_WINDOW (de)); } response = psppire_dialog_run (PSPPIRE_DIALOG (ow.dialog)); @@@ -232,7 -232,6 +232,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&ow); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -242,7 -241,11 +242,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&ow); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } @@@ -253,7 -256,7 +253,7 @@@ g_array_free (ow.contrasts_array, FALSE); - g_object_unref (xml); + g_object_unref (builder); } diff --combined src/ui/gui/psppire-data-store.c index 91b96f64,71d7d5f5..1bbd2bb8 --- a/src/ui/gui/psppire-data-store.c +++ b/src/ui/gui/psppire-data-store.c @@@ -1,5 -1,5 +1,5 @@@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2006, 2008 Free Software Foundation + Copyright (C) 2006, 2008, 2009 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 @@@ -308,6 -308,8 +308,6 @@@ delete_variable_callback (GObject *obj #endif } - - static void variable_changed_callback (GObject *obj, gint var_num, gpointer data) { @@@ -317,6 -319,7 +317,6 @@@ psppire_sheet_column_columns_changed (PSPPIRE_SHEET_COLUMN (store), var_num, 1); - psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (store), -1, var_num, -1, var_num); @@@ -528,7 -531,7 +528,7 @@@ psppire_data_store_insert_new_case (Psp { gboolean result; gint val_cnt, v; - struct ccase cc; + struct ccase *cc; g_return_val_if_fail (ds, FALSE); val_cnt = datasheet_get_column_cnt (ds->datasheet) ; @@@ -537,9 -540,9 +537,9 @@@ g_return_val_if_fail (posn <= psppire_data_store_get_case_count (ds), FALSE); - case_create (&cc, val_cnt); + cc = case_create (val_cnt); - memset ( case_data_rw_idx (&cc, 0), 0, val_cnt * MAX_SHORT_STRING); + memset ( case_data_rw_idx (cc, 0), 0, val_cnt * MAX_SHORT_STRING); for (v = 0 ; v < psppire_dict_get_var_cnt (ds->dict) ; ++v) { @@@ -547,12 -550,12 +547,12 @@@ if ( var_is_alpha (pv)) continue; - case_data_rw (&cc, pv)->f = SYSMIS; + case_data_rw (cc, pv)->f = SYSMIS; } - result = psppire_data_store_insert_case (ds, &cc, posn); + result = psppire_data_store_insert_case (ds, cc, posn); - case_destroy (&cc); + case_unref (cc); return result; } @@@ -834,18 -837,16 +834,16 @@@ get_column_justification (const Psppire - /* Fills C with the CASENUMth case. - Returns true on success, false otherwise. + /* Returns the CASENUMth case, or a null pointer on failure. */ - gboolean + struct ccase * psppire_data_store_get_case (const PsppireDataStore *ds, - casenumber casenum, - struct ccase *c) + casenumber casenum) { g_return_val_if_fail (ds, FALSE); g_return_val_if_fail (ds->datasheet, FALSE); - return datasheet_get_row (ds->datasheet, casenum, c); + return datasheet_get_row (ds->datasheet, casenum); } @@@ -876,14 -877,13 +874,13 @@@ psppire_data_store_insert_case (Psppire struct ccase *cc, casenumber posn) { - struct ccase tmp; bool result ; g_return_val_if_fail (ds, FALSE); g_return_val_if_fail (ds->datasheet, FALSE); - case_clone (&tmp, cc); - result = datasheet_insert_rows (ds->datasheet, posn, &tmp, 1); + case_ref (cc); + result = datasheet_insert_rows (ds->datasheet, posn, &cc, 1); if ( result ) { diff --combined src/ui/gui/psppire.c index 62117a01,9dd3b713..bdd5ad53 --- a/src/ui/gui/psppire.c +++ b/src/ui/gui/psppire.c @@@ -1,5 -1,5 +1,5 @@@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2004, 2005, 2006 Free Software Foundation + Copyright (C) 2004, 2005, 2006, 2009 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 @@@ -20,13 -20,12 +20,12 @@@ #include #include #include - #include #include #include #include "relocatable.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire.h" #include @@@ -53,8 -52,7 +52,8 @@@ #include "message-dialog.h" #include -#include "output-viewer.h" + +#include "psppire-output-window.h" #include #include @@@ -69,7 -67,6 +68,7 @@@ static void create_icon_factory (void) struct source_stream *the_source_stream ; struct dataset * the_dataset = NULL; +static GtkWidget *the_data_window; static void replace_casereader (struct casereader *s) @@@ -80,6 -77,6 +79,10 @@@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid ++ ++const char * output_file_name (void); ++ ++ void initialize (struct command_line_processor *clp, int argc, char **argv) { @@@ -119,32 -116,41 +122,41 @@@ the_data_store = psppire_data_store_new (dictionary); replace_casereader (NULL); - - create_icon_factory (); - outp_configure_driver_line ( - ss_cstr ("gui:ascii:screen:squeeze=on headers=off top-margin=0 " - "bottom-margin=0 paginate=off length=auto width=auto " - "emphasis=none " - "output-file=\"" OUTPUT_FILE_NAME "\" append=yes")); + { + const char *filename = output_file_name (); + + struct string config_string; + + ds_init_empty (&config_string); + + ds_put_format (&config_string, + "gui:ascii:screen:squeeze=on headers=off top-margin=0 " + "bottom-margin=0 paginate=off length=auto width=auto " + "emphasis=none " + "output-file=\"%s\" append=yes", filename); + + outp_configure_driver_line (ds_ss (&config_string)); + + unlink (filename); - unlink (OUTPUT_FILE_NAME); + ds_destroy (&config_string); + } journal_enable (); textdomain (PACKAGE); - /* Ignore alarm clock signals */ - signal (SIGALRM, SIG_IGN); - + the_data_window = psppire_data_window_new (); + command_line_processor_replace_aux (clp, &post_init_argp, the_source_stream); command_line_processor_replace_aux (clp, &non_option_argp, the_source_stream); command_line_processor_parse (clp, argc, argv); - new_data_window (NULL, NULL); - execute_syntax (create_syntax_string_source ("")); + + gtk_widget_show (the_data_window); } @@@ -282,9 -288,6 +294,9 @@@ parse_non_options (int key, char *arg, ERRMODE_CONTINUE); ds_destroy (&syntax); + + psppire_window_set_filename (the_data_window, arg); + break; } default: @@@ -295,3 -298,3 +307,17 @@@ const struct argp non_option_argp = {NULL, parse_non_options, 0, 0, 0, 0, 0}; ++ ++ ++const char * ++output_file_name (void) ++{ ++ const char *dir = default_output_path (); ++ static char *filename = NULL; ++ ++ if ( NULL == filename ) ++ filename = xasprintf ("%s%s", dir, OUTPUT_FILE_NAME); ++ ++ ++ return filename; ++} diff --combined src/ui/gui/rank-dialog.c index 307e3733,bf44dced..8ea25a1d --- a/src/ui/gui/rank-dialog.c +++ b/src/ui/gui/rank-dialog.c @@@ -22,13 -22,13 +22,13 @@@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@@ -220,77 -220,77 +220,77 @@@ voi rank_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct rank_dialog rd; - GladeXML *xml = XML_NEW ("rank.glade"); + GtkBuilder * builder = builder_new ("rank.ui"); - GtkWidget *vars = get_widget_assert (xml, "dict-treeview"); - GtkWidget *selector1 = get_widget_assert (xml, "psppire-selector1"); - GtkWidget *selector2 = get_widget_assert (xml, "psppire-selector2"); + GtkWidget *vars = get_widget_assert (builder, "dict-treeview"); + GtkWidget *selector1 = get_widget_assert (builder, "psppire-selector1"); + GtkWidget *selector2 = get_widget_assert (builder, "psppire-selector2"); - GtkWidget *types_button = get_widget_assert (xml, "button1"); - GtkWidget *ties_button = get_widget_assert (xml, "button2"); + GtkWidget *types_button = get_widget_assert (builder, "button1"); + GtkWidget *ties_button = get_widget_assert (builder, "button2"); PsppireVarStore *vs = NULL; g_object_get (de->data_editor, "var-store", &vs, NULL); rd.dict = vs->dict; - rd.rank_vars = get_widget_assert (xml, "variables-treeview"); - rd.group_vars = get_widget_assert (xml, "group-vars-treeview"); - rd.dialog = get_widget_assert (xml, "rank-dialog"); + rd.rank_vars = get_widget_assert (builder, "variables-treeview"); + rd.group_vars = get_widget_assert (builder, "group-vars-treeview"); + rd.dialog = get_widget_assert (builder, "rank-dialog"); rd.ascending_togglebutton = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "radiobutton1")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "radiobutton1")); rd.summary_togglebutton = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "summary-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "summary-checkbutton")); - rd.types_dialog = get_widget_assert (xml, "rank-types-dialog"); + rd.types_dialog = get_widget_assert (builder, "rank-types-dialog"); - rd.ntiles_entry = get_widget_assert (xml, "ntiles-entry"); + rd.ntiles_entry = get_widget_assert (builder, "ntiles-entry"); rd.func_button[RANK] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rank-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rank-checkbutton")); rd.func_button[SAVAGE] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "savage-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "savage-checkbutton")); rd.func_button[RFRACTION] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rfrac-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rfrac-checkbutton")); rd.func_button[PERCENT] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "percent-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "percent-checkbutton")); rd.func_button[N] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "sum-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "sum-checkbutton")); rd.func_button[NTILES] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "ntiles-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "ntiles-checkbutton")); rd.func_button[PROPORTION] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "prop-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "prop-checkbutton")); rd.func_button[NORMAL] = - GTK_TOGGLE_BUTTON (get_widget_assert (xml, "normal-checkbutton")); + GTK_TOGGLE_BUTTON (get_widget_assert (builder, "normal-checkbutton")); - rd.formula_box = get_widget_assert (xml, "formula-frame"); + rd.formula_box = get_widget_assert (builder, "formula-frame"); - rd.blom = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "blom-button")); - rd.tukey = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "tukey-button")); - rd.rankit = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rankit-button")); - rd.vw = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "vw-button")); + rd.blom = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "blom-button")); + rd.tukey = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "tukey-button")); + rd.rankit = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rankit-button")); + rd.vw = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "vw-button")); /* Ties dialog */ - rd.ties_dialog = PSPPIRE_DIALOG (get_widget_assert (xml, "ties-dialog")); + rd.ties_dialog = PSPPIRE_DIALOG (get_widget_assert (builder, "ties-dialog")); - rd.mean = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "mean-button")); - rd.low = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "low-button")); - rd.high = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "high-button")); - rd.condense = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "condense-button")); + rd.mean = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "mean-button")); + rd.low = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "low-button")); + rd.high = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "high-button")); + rd.condense = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "condense-button")); g_signal_connect_swapped (rd.func_button[PROPORTION], "toggled", G_CALLBACK (set_sensitivity), @@@ -304,7 -304,7 +304,7 @@@ G_CALLBACK (on_ntiles_toggle), rd.ntiles_entry); - gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (vars), vs->dict, @@@ -349,7 -349,6 +349,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&rd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -359,7 -358,12 +359,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&rd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); - + paste_syntax_in_new_window (syntax); g_free (syntax); } break; @@@ -367,7 -371,7 +367,7 @@@ break; } - g_object_unref (xml); + g_object_unref (builder); } diff --combined src/ui/gui/recode-dialog.c index 642dae02,9d1ad79d..859737f6 --- a/src/ui/gui/recode-dialog.c +++ b/src/ui/gui/recode-dialog.c @@@ -27,13 -27,13 +27,13 @@@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include #include "psppire-acr.h" @@@ -470,14 -470,14 +470,14 @@@ toggle_sensitivity (GtkToggleButton *bu gtk_widget_set_sensitive (target, state); } -static void recode_dialog (struct data_editor *de, gboolean diff); +static void recode_dialog (PsppireDataWindow *de, gboolean diff); /* Pops up the Recode Same version of the dialog box */ void recode_same_dialog (GObject *o, gpointer data) { - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); recode_dialog (de, FALSE); } @@@ -486,7 -486,7 +486,7 @@@ void recode_different_dialog (GObject *o, gpointer data) { - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); recode_dialog (de, TRUE); } @@@ -836,34 -836,33 +836,33 @@@ set_acr (struct recode_dialog *rd } static void -recode_dialog (struct data_editor *de, gboolean diff) +recode_dialog (PsppireDataWindow *de, gboolean diff) { gint response; struct recode_dialog rd; - GladeXML *xml = XML_NEW ("recode.glade"); + GtkBuilder *builder = builder_new ("recode.ui"); + GtkWidget *selector = get_widget_assert (builder, "psppire-selector1"); - GtkWidget *selector = get_widget_assert (xml, "psppire-selector1"); + GtkWidget *oldandnew = get_widget_assert (builder, "button1"); - GtkWidget *oldandnew = get_widget_assert (xml, "button1"); - - GtkWidget *output_variable_box = get_widget_assert (xml,"frame4"); + GtkWidget *output_variable_box = get_widget_assert (builder,"frame4"); PsppireVarStore *vs = NULL; g_object_get (de->data_editor, "var-store", &vs, NULL); - rd.change_button = get_widget_assert (xml, "change-button"); + rd.change_button = get_widget_assert (builder, "change-button"); - rd.dialog = get_widget_assert (xml, "recode-dialog"); - rd.dict_treeview = get_widget_assert (xml, "treeview1"); - rd.variable_treeview = get_widget_assert (xml, "treeview2"); - rd.new_name_entry = get_widget_assert (xml, "dest-name-entry"); - rd.new_label_entry = get_widget_assert (xml, "dest-label-entry"); + rd.dialog = get_widget_assert (builder, "recode-dialog"); + rd.dict_treeview = get_widget_assert (builder, "treeview1"); + rd.variable_treeview = get_widget_assert (builder, "treeview2"); + rd.new_name_entry = get_widget_assert (builder, "dest-name-entry"); + rd.new_label_entry = get_widget_assert (builder, "dest-label-entry"); rd.dict = vs->dict; @@@ -883,7 -882,7 +882,7 @@@ rd.different = diff; - gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (rd.dict_treeview), @@@ -963,40 -962,40 +962,40 @@@ /* Set up the Old & New Values subdialog */ { - rd.string_button = get_widget_assert (xml, "checkbutton1"); - rd.width_entry = get_widget_assert (xml, "spinbutton1"); + rd.string_button = get_widget_assert (builder, "checkbutton1"); + rd.width_entry = get_widget_assert (builder, "spinbutton1"); - rd.convert_button = get_widget_assert (xml, "checkbutton2"); + rd.convert_button = get_widget_assert (builder, "checkbutton2"); - rd.ov_range_lower_entry = get_widget_assert (xml, "entry5"); - rd.ov_range_upper_entry = get_widget_assert (xml, "entry3"); - rd.ov_low_up_entry = get_widget_assert (xml, "entry6"); - rd.ov_high_down_entry = get_widget_assert (xml, "entry7"); + rd.ov_range_lower_entry = get_widget_assert (builder, "entry5"); + rd.ov_range_upper_entry = get_widget_assert (builder, "entry3"); + rd.ov_low_up_entry = get_widget_assert (builder, "entry6"); + rd.ov_high_down_entry = get_widget_assert (builder, "entry7"); - rd.new_value_entry = get_widget_assert (xml, "entry1"); - rd.ov_value_entry = get_widget_assert (xml, "entry2"); + rd.new_value_entry = get_widget_assert (builder, "entry1"); + rd.ov_value_entry = get_widget_assert (builder, "entry2"); - rd.toggle[BUTTON_NEW_VALUE] = get_widget_assert (xml, "radiobutton1"); - rd.toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (xml, "radiobutton2"); - rd.toggle[BUTTON_NEW_COPY] = get_widget_assert (xml, "radiobutton3"); - rd.toggle[BUTTON_OLD_VALUE] = get_widget_assert (xml, "radiobutton4"); - rd.toggle[BUTTON_OLD_SYSMIS] = get_widget_assert (xml, "radiobutton6"); - rd.toggle[BUTTON_OLD_MISSING]= get_widget_assert (xml, "radiobutton7"); - rd.toggle[BUTTON_OLD_RANGE] = get_widget_assert (xml, "radiobutton8"); - rd.toggle[BUTTON_OLD_LOW_UP] = get_widget_assert (xml, "radiobutton10"); - rd.toggle[BUTTON_OLD_HIGH_DOWN] = get_widget_assert (xml, "radiobutton5"); - rd.toggle[BUTTON_OLD_ELSE] = get_widget_assert (xml, "radiobutton11"); + rd.toggle[BUTTON_NEW_VALUE] = get_widget_assert (builder, "radiobutton1"); + rd.toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (builder, "radiobutton2"); + rd.toggle[BUTTON_NEW_COPY] = get_widget_assert (builder, "radiobutton3"); + rd.toggle[BUTTON_OLD_VALUE] = get_widget_assert (builder, "radiobutton4"); + rd.toggle[BUTTON_OLD_SYSMIS] = get_widget_assert (builder, "radiobutton6"); + rd.toggle[BUTTON_OLD_MISSING]= get_widget_assert (builder, "radiobutton7"); + rd.toggle[BUTTON_OLD_RANGE] = get_widget_assert (builder, "radiobutton8"); + rd.toggle[BUTTON_OLD_LOW_UP] = get_widget_assert (builder, "radiobutton10"); + rd.toggle[BUTTON_OLD_HIGH_DOWN] = get_widget_assert (builder, "radiobutton5"); + rd.toggle[BUTTON_OLD_ELSE] = get_widget_assert (builder, "radiobutton11"); - rd.new_copy_label = get_widget_assert (xml, "label3"); - rd.strings_box = get_widget_assert (xml, "table3"); + rd.new_copy_label = get_widget_assert (builder, "label3"); + rd.strings_box = get_widget_assert (builder, "table3"); rd.old_and_new_dialog = - PSPPIRE_DIALOG (get_widget_assert (xml, "old-new-values-dialog")); + PSPPIRE_DIALOG (get_widget_assert (builder, "old-new-values-dialog")); gtk_window_set_transient_for (GTK_WINDOW (rd.old_and_new_dialog), - de->parent.window); + GTK_WINDOW (de)); - rd.acr = PSPPIRE_ACR (get_widget_assert (xml, "psppire-acr1")); + rd.acr = PSPPIRE_ACR (get_widget_assert (builder, "psppire-acr1")); g_signal_connect_swapped (rd.toggle[BUTTON_NEW_VALUE], "toggled", G_CALLBACK (set_acr), &rd); @@@ -1047,11 -1046,11 +1046,11 @@@ g_signal_connect (rd.toggle[BUTTON_OLD_RANGE], "toggled", G_CALLBACK (toggle_sensitivity), - get_widget_assert (xml, "entry3")); + get_widget_assert (builder, "entry3")); g_signal_connect (rd.toggle[BUTTON_OLD_RANGE], "toggled", G_CALLBACK (toggle_sensitivity), - get_widget_assert (xml, "entry5")); + get_widget_assert (builder, "entry5")); g_signal_connect (rd.toggle[BUTTON_OLD_LOW_UP], "toggled", G_CALLBACK (toggle_sensitivity), rd.ov_low_up_entry); @@@ -1085,7 -1084,6 +1084,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&rd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -1095,7 -1093,11 +1094,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&rd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } @@@ -1108,7 -1110,7 +1107,7 @@@ gtk_list_store_clear (GTK_LIST_STORE (rd.value_map)); g_object_unref (rd.value_map); - g_object_unref (xml); + g_object_unref (builder); } /* Initialise VAL to reflect the current status of RD */ diff --combined src/ui/gui/regression-dialog.c index b0c11b07,3e0e0fbc..2d8aca3e --- a/src/ui/gui/regression-dialog.c +++ b/src/ui/gui/regression-dialog.c @@@ -23,13 -23,13 +23,13 @@@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@@ -223,11 -223,11 +223,10 @@@ voi regression_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; - struct regression_dialog rd; - GladeXML *xml = XML_NEW ("regression.glade"); + GtkBuilder *xml = builder_new ("regression.ui"); + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); - PsppireVarStore *vs; GtkWidget *dialog = get_widget_assert (xml, "regression-dialog"); @@@ -251,7 -251,7 +250,7 @@@ stats ); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), vs->dict, @@@ -286,8 -286,8 +285,8 @@@ rd.current_opts.pred = FALSE; rd.current_opts.resid = FALSE; - gtk_window_set_transient_for (GTK_WINDOW (rd.save_dialog), de->parent.window); - gtk_window_set_transient_for (GTK_WINDOW (rd.stat_dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (rd.save_dialog), GTK_WINDOW (de)); + gtk_window_set_transient_for (GTK_WINDOW (rd.stat_dialog), GTK_WINDOW (de)); g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), &rd); @@@ -307,7 -307,6 +306,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&rd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -317,7 -316,11 +316,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&rd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/select-cases-dialog.c index 58b2879d,143f7a6d..d953308a --- a/src/ui/gui/select-cases-dialog.c +++ b/src/ui/gui/select-cases-dialog.c @@@ -18,15 -18,14 +18,14 @@@ #include "select-cases-dialog.h" #include - #include #include "helper.h" #include "psppire-dialog.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "dialog-common.h" #include "dict-display.h" #include "widget-io.h" #include -#include "syntax-editor.h" +#include "helper.h" #include @@@ -42,7 -41,7 +41,7 @@@ struct select_cases_dialog { /* The XML that created the dialog */ - GladeXML *xml; + GtkBuilder *xml; GtkWidget *spinbutton ; GtkWidget *spinbutton1 ; @@@ -241,13 -240,13 +240,13 @@@ select_cases_dialog (GObject *o, gpoint gint response; struct select_cases_dialog scd = {0,0,0,0,0,0}; GtkWidget *dialog ; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); GtkWidget *entry = NULL; GtkWidget *selector ; GtkWidget *button_range; GtkWidget *button_sample; - scd.xml = XML_NEW ("psppire.glade"); + scd.xml = builder_new ("psppire.ui"); g_object_get (de->data_editor, "data-store", &scd.data_store, NULL); @@@ -320,7 -319,7 +319,7 @@@ dialog = get_widget_assert (scd.xml, "select-cases-dialog"); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); { GtkWidget *source = get_widget_assert (scd.xml, "select-cases-treeview"); @@@ -354,7 -353,6 +353,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&scd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -364,7 -362,11 +363,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&scd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/sort-cases-dialog.c index 6da083be,dea226c7..d9c665e6 --- a/src/ui/gui/sort-cases-dialog.c +++ b/src/ui/gui/sort-cases-dialog.c @@@ -19,13 -19,13 +19,13 @@@ #include "sort-cases-dialog.h" #include "helper.h" #include "psppire-dialog.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-var-store.h" #include "dialog-common.h" #include "dict-display.h" #include -#include "syntax-editor.h" +#include "helper.h" static void refresh (PsppireDialog *dialog, GtkTreeView *dest) @@@ -91,11 -91,11 +91,11 @@@ voi sort_cases_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct sort_cases_dialog scd; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); GtkWidget *dialog = get_widget_assert (xml, "sort-cases-dialog"); @@@ -108,7 -108,7 +108,7 @@@ g_object_get (de->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (source), vs->dict, @@@ -143,7 -143,6 +143,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&scd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -153,7 -152,11 +153,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&scd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/split-file-dialog.c index c44d5591,00f30c62..8708b33f --- a/src/ui/gui/split-file-dialog.c +++ b/src/ui/gui/split-file-dialog.c @@@ -20,14 -20,13 +20,13 @@@ #include "psppire-selector.h" #include "psppire-dialog.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "dict-display.h" #include -#include "syntax-editor.h" +#include "helper.h" #include #include - #include #include "dialog-common.h" @@@ -39,7 -38,7 +38,7 @@@ struct split_file_dialog { /* The XML that created the dialog */ - GladeXML *xml; + GtkBuilder *xml; /* The dictionary to which this dialog pertains */ PsppireDict *dict; @@@ -109,7 -108,7 +108,7 @@@ static voi on_off_toggled (GtkToggleButton *togglebutton, gpointer user_data) { - GladeXML *xml = user_data; + GtkBuilder *xml = user_data; GtkWidget *dest = get_widget_assert (xml, "split-file-grouping-vars"); GtkWidget *selector = get_widget_assert (xml, "split-file-selector"); GtkWidget *source = get_widget_assert (xml, "split-file-dict-treeview"); @@@ -167,7 -166,7 +166,7 @@@ voi split_file_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct split_file_dialog sfd; PsppireVarStore *vs ; @@@ -177,7 -176,7 +176,7 @@@ GtkWidget *selector ; GtkWidget *on_off ; - sfd.xml = XML_NEW ("psppire.glade"); + sfd.xml = builder_new ("psppire.ui"); dialog = get_widget_assert (sfd.xml, "split-file-dialog"); source = get_widget_assert (sfd.xml, "split-file-dict-treeview"); @@@ -211,7 -210,7 +210,7 @@@ g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), &sfd); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); response = psppire_dialog_run (PSPPIRE_DIALOG (dialog)); @@@ -221,7 -220,6 +220,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&sfd); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -231,7 -229,11 +230,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&sfd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/t-test-independent-samples-dialog.c index 4ceab4d8,22b4526c..392867ad --- a/src/ui/gui/t-test-independent-samples-dialog.c +++ b/src/ui/gui/t-test-independent-samples-dialog.c @@@ -17,13 -17,12 +17,12 @@@ #include - #include #include #include "t-test-independent-samples-dialog.h" #include "psppire-dict.h" #include "psppire-var-store.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-dialog.h" #include "dialog-common.h" #include "dict-display.h" @@@ -32,7 -31,7 +31,7 @@@ #include #include -#include "syntax-editor.h" +#include "helper.h" #include @@@ -91,7 -90,7 +90,7 @@@ tt_groups_dialog_destroy (struct tt_gro } static struct tt_groups_dialog * - tt_groups_dialog_create (GladeXML *xml, GtkWindow *parent) + tt_groups_dialog_create (GtkBuilder *xml, GtkWindow *parent) { struct tt_groups_dialog *grps = xmalloc (sizeof (*grps)); @@@ -127,7 -126,7 +126,7 @@@ struct tt_indep_samples_dialog { - GladeXML *xml; /* The xml that generated the widgets */ + GtkBuilder *xml; /* The xml that generated the widgets */ GtkWidget *dialog; PsppireDict *dict; GtkWidget *define_groups_button; @@@ -392,11 -391,11 +391,11 @@@ t_test_independent_samples_dialog (GObj { struct tt_indep_samples_dialog tt_d; gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs = NULL; - GladeXML *xml = XML_NEW ("t-test.glade"); + GtkBuilder *xml = builder_new ("t-test.ui"); GtkWidget *dict_view = get_widget_assert (xml, "indep-samples-t-test-treeview1"); @@@ -421,11 -420,11 +420,11 @@@ tt_d.define_groups_button = get_widget_assert (xml, "define-groups-button"); tt_d.groups_entry = get_widget_assert (xml, "indep-samples-t-test-entry"); - tt_d.opts = tt_options_dialog_create (xml, de->parent.window); - tt_d.grps = tt_groups_dialog_create (xml, de->parent.window); + tt_d.opts = tt_options_dialog_create (xml, GTK_WINDOW (de)); + tt_d.grps = tt_groups_dialog_create (xml, GTK_WINDOW (de)); - gtk_window_set_transient_for (GTK_WINDOW (tt_d.dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (tt_d.dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view), vs->dict, @@@ -475,7 -474,6 +474,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&tt_d); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -485,7 -483,12 +484,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&tt_d); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); - + paste_syntax_in_new_window (syntax); g_free (syntax); } break; diff --combined src/ui/gui/t-test-one-sample.c index 98584501,98d9601b..3cdc91c3 --- a/src/ui/gui/t-test-one-sample.c +++ b/src/ui/gui/t-test-one-sample.c @@@ -17,13 -17,12 +17,12 @@@ #include - #include #include #include "t-test-one-sample.h" #include "psppire-dict.h" #include "psppire-var-store.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-dialog.h" #include "dialog-common.h" #include "dict-display.h" @@@ -31,6 -30,7 +30,6 @@@ #include "t-test-options.h" #include -#include "syntax-editor.h" #include #define _(msgid) gettext (msgid) @@@ -123,11 -123,11 +122,11 @@@ t_test_one_sample_dialog (GObject *o, g { struct tt_one_sample_dialog tt_d; gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs = NULL; - GladeXML *xml = XML_NEW ("t-test.glade"); + GtkBuilder *xml = builder_new ("t-test.ui"); GtkWidget *dict_view = get_widget_assert (xml, "one-sample-t-test-treeview2"); @@@ -144,9 -144,9 +143,9 @@@ tt_d.dict = vs->dict; tt_d.vars_treeview = get_widget_assert (xml, "one-sample-t-test-treeview1"); tt_d.test_value_entry = get_widget_assert (xml, "test-value-entry"); - tt_d.opt = tt_options_dialog_create (xml, de->parent.window); + tt_d.opt = tt_options_dialog_create (xml, GTK_WINDOW (de)); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view), vs->dict, @@@ -180,7 -180,6 +179,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&tt_d); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -191,7 -190,10 +190,7 @@@ { gchar *syntax = generate_syntax (&tt_d); - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/t-test-paired-samples.c index 58b68b2f,ec709603..ca1d776a --- a/src/ui/gui/t-test-paired-samples.c +++ b/src/ui/gui/t-test-paired-samples.c @@@ -17,10 -17,9 +17,9 @@@ #include #include - #include #include -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-dict.h" #include "psppire-var-store.h" @@@ -31,6 -30,8 +30,6 @@@ #include "dialog-common.h" #include "psppire-dialog.h" -#include "syntax-editor.h" - #include "helper.h" #include "psppire-var-ptr.h" @@@ -181,11 -182,11 +180,11 @@@ t_test_paired_samples_dialog (GObject * { struct tt_paired_samples_dialog tt_d; gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs = NULL; - GladeXML *xml = XML_NEW ("t-test.glade"); + GtkBuilder *xml = builder_new ("t-test.ui"); GtkWidget *dict_view = get_widget_assert (xml, "paired-samples-t-test-treeview1"); @@@ -201,9 -202,9 +200,9 @@@ tt_d.dict = vs->dict; tt_d.pairs_treeview = get_widget_assert (xml, "paired-samples-t-test-treeview2"); - tt_d.opt = tt_options_dialog_create (xml, de->parent.window); + tt_d.opt = tt_options_dialog_create (xml, GTK_WINDOW (de)); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view), @@@ -253,7 -254,6 +252,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (&tt_d); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -263,7 -263,11 +262,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&tt_d); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/transpose-dialog.c index 9e8c18f4,272ef1b3..09756d37 --- a/src/ui/gui/transpose-dialog.c +++ b/src/ui/gui/transpose-dialog.c @@@ -20,15 -20,14 +20,14 @@@ #include "psppire-selector.h" #include "psppire-dialog.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "dict-display.h" #include -#include "syntax-editor.h" +#include "helper.h" #include "dialog-common.h" #include - #include #include @@@ -40,12 -39,12 +39,12 @@@ #include "psppire-var-store.h" - static gchar * generate_syntax (PsppireDict *dict, GladeXML *xml); + static gchar * generate_syntax (PsppireDict *dict, GtkBuilder *xml); static void refresh (PsppireDialog *dialog, gpointer data) { - GladeXML *xml = data; + GtkBuilder *xml = data; GtkWidget *dest = get_widget_assert (xml, "variables-treeview"); GtkWidget *entry = get_widget_assert (xml, "new-name-entry"); GtkTreeModel *dmodel = gtk_tree_view_get_model (GTK_TREE_VIEW (dest)); @@@ -57,7 -56,7 +56,7 @@@ static gboolean dialog_state_valid (gpointer data) { - GladeXML *xml = data; + GtkBuilder *xml = data; GtkWidget *tv = get_widget_assert (xml, "variables-treeview"); GtkWidget *entry = get_widget_assert (xml, "new-name-entry"); @@@ -80,9 -79,9 +79,9 @@@ voi transpose_dialog (GObject *o, gpointer data) { gint response ; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); PsppireVarStore *vs = NULL; @@@ -117,7 -116,7 +116,7 @@@ g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), xml); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); psppire_dialog_set_valid_predicate (PSPPIRE_DIALOG (dialog), dialog_state_valid, xml); @@@ -129,7 -128,6 +128,7 @@@ case GTK_RESPONSE_OK: { gchar *syntax = generate_syntax (vs->dict, xml); + struct getl_interface *sss = create_syntax_string_source (syntax); execute_syntax (sss); @@@ -139,7 -137,11 +138,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (vs->dict, xml); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } @@@ -156,7 -158,7 +155,7 @@@ FLIP /VARIABLES=var_list /NEWNAMES=var_name. */ static gchar * - generate_syntax (PsppireDict *dict, GladeXML *xml) + generate_syntax (PsppireDict *dict, GtkBuilder *xml) { const gchar *text; GString *string = g_string_new ("FLIP"); diff --combined src/ui/gui/variable-info-dialog.c index 43a3832c,22af89f0..2f5495f1 --- a/src/ui/gui/variable-info-dialog.c +++ b/src/ui/gui/variable-info-dialog.c @@@ -16,20 -16,19 +16,19 @@@ #include #include - #include #include "dict-display.h" #include "var-display.h" #include #include #include -#include "data-editor.h" +#include "psppire-data-window.h" #include "psppire-dialog.h" #include "psppire-var-store.h" #include "helper.h" #include -#include "syntax-editor.h" +#include "helper.h" #include @@@ -164,11 -163,11 +163,11 @@@ static gchar * generate_syntax (GtkTree void variable_info_dialog (GObject *o, gpointer data) { - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); gint response ; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); GtkWidget *dialog = get_widget_assert (xml, "variable-info-dialog"); GtkWidget *treeview = get_widget_assert (xml, "treeview2"); @@@ -178,7 -177,7 +177,7 @@@ g_object_get (de->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); attach_dictionary_to_treeview (GTK_TREE_VIEW (treeview), vs->dict, @@@ -214,7 -213,11 +213,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (GTK_TREE_VIEW (treeview)); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); + paste_syntax_in_new_window (syntax); g_free (syntax); } diff --combined src/ui/gui/weight-cases-dialog.c index 9d103e1c,8b46ca5e..a464646f --- a/src/ui/gui/weight-cases-dialog.c +++ b/src/ui/gui/weight-cases-dialog.c @@@ -20,13 -20,12 +20,12 @@@ #include "psppire-selector.h" #include "psppire-dialog.h" #include "helper.h" -#include "data-editor.h" +#include "psppire-data-window.h" #include "dict-display.h" #include -#include "syntax-editor.h" +#include "helper.h" #include - #include #include #define _(msgid) gettext (msgid) @@@ -104,10 -103,10 +103,10 @@@ voi weight_cases_dialog (GObject *o, gpointer data) { gint response; - struct data_editor *de = data; + PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); struct weight_cases_dialog wcd; - GladeXML *xml = XML_NEW ("psppire.glade"); + GtkBuilder *xml = builder_new ("psppire.ui"); GtkWidget *dialog = get_widget_assert (xml, "weight-cases-dialog"); GtkWidget *source = get_widget_assert (xml, "weight-cases-treeview"); @@@ -122,7 -121,7 +121,7 @@@ g_object_get (de->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); g_signal_connect (radiobutton1, "toggled", G_CALLBACK (on_toggle), entry); g_signal_connect (selector, "selected", G_CALLBACK (on_select), @@@ -172,7 -171,12 +171,7 @@@ case PSPPIRE_RESPONSE_PASTE: { gchar *syntax = generate_syntax (&wcd); - - struct syntax_editor *se = - (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL); - - gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1); - + paste_syntax_in_new_window (syntax); g_free (syntax); } break;