#include <libpspp/assertion.h>
#include <libpspp/message.h>
#include <ui/syntax-gen.h>
-#include <ui/gui/data-editor.h>
+#include <ui/gui/psppire-data-window.h>
#include <ui/gui/dialog-common.h>
#include <ui/gui/helper.h>
#include <ui/gui/psppire-dialog.h>
#include <ui/gui/psppire-var-sheet.h>
#include <ui/gui/psppire-var-store.h>
-#include <ui/gui/syntax-editor.h>
+#include <ui/gui/helper.h>
#include "error.h"
#include "xalloc.h"
struct data_editor *de = de_;
GtkWidget *dialog =
- gtk_message_dialog_new (de->parent.window,
+ gtk_message_dialog_new (GTK_WINDOW (de),
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_CLOSE,
/* The main body of the GTK+ assistant and related data. */
struct assistant
{
- GladeXML *xml;
+ GtkBuilder *builder;
GtkAssistant *assistant;
GMainLoop *main_loop;
GtkWidget *paste_button;
text_data_import_assistant (GObject *o, gpointer de_)
{
struct data_editor *de = de_;
- GtkWindow *parent_window = de->parent.window;
+ GtkWindow *parent_window = GTK_WINDOW (de);
struct import_assistant *ia;
ia = xzalloc (sizeof *ia);
case PSPPIRE_RESPONSE_PASTE:
{
char *syntax = generate_syntax (ia);
- 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);
free (syntax);
}
break;
{
struct assistant *a = &ia->asst;
- a->xml = XML_NEW ("text-data-import.glade");
+ a->builder = builder_new ("text-data-import.ui");
a->assistant = GTK_ASSISTANT (gtk_assistant_new ());
g_signal_connect (a->assistant, "prepare", G_CALLBACK (on_prepare), ia);
g_signal_connect (a->assistant, "cancel", G_CALLBACK (on_cancel), ia);
g_object_unref (a->prop_renderer);
g_object_unref (a->fixed_renderer);
- g_object_unref (a->xml);
+ g_object_unref (a->builder);
}
/* Appends a page of the given TYPE, with PAGE as its content, to
static void
init_intro_page (struct import_assistant *ia)
{
- GladeXML *xml = ia->asst.xml;
+ GtkBuilder *builder = ia->asst.builder;
struct intro_page *p = &ia->intro;
struct string s;
- p->page = add_page_to_assistant (ia, get_widget_assert (xml, "Intro"),
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Intro"),
GTK_ASSISTANT_PAGE_INTRO);
- p->all_cases_button = get_widget_assert (xml, "import-all-cases");
- p->n_cases_button = get_widget_assert (xml, "import-n-cases");
- p->n_cases_spin = get_widget_assert (xml, "n-cases-spin");
- p->percent_button = get_widget_assert (xml, "import-percent");
- p->percent_spin = get_widget_assert (xml, "percent-spin");
+ p->all_cases_button = get_widget_assert (builder, "import-all-cases");
+ p->n_cases_button = get_widget_assert (builder, "import-n-cases");
+ p->n_cases_spin = get_widget_assert (builder, "n-cases-spin");
+ p->percent_button = get_widget_assert (builder, "import-percent");
+ p->percent_spin = get_widget_assert (builder, "percent-spin");
g_signal_connect (p->all_cases_button, "toggled",
G_CALLBACK (on_intro_amount_changed), ia);
g_signal_connect (p->n_cases_button, "toggled",
}
ds_put_cstr (&s, _("You may choose below how much of the file should "
"actually be imported."));
- gtk_label_set_text (GTK_LABEL (get_widget_assert (xml, "intro-label")),
+ gtk_label_set_text (GTK_LABEL (get_widget_assert (builder, "intro-label")),
ds_cstr (&s));
ds_destroy (&s);
}
init_first_line_page (struct import_assistant *ia)
{
struct first_line_page *p = &ia->first_line;
- GladeXML *xml = ia->asst.xml;
+ GtkBuilder *builder = ia->asst.builder;
- p->page = add_page_to_assistant (ia, get_widget_assert (xml, "FirstLine"),
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "FirstLine"),
GTK_ASSISTANT_PAGE_CONTENT);
- gtk_widget_destroy (get_widget_assert (xml, "first-line"));
+ gtk_widget_destroy (get_widget_assert (builder, "first-line"));
p->tree_view = create_lines_tree_view (
- GTK_CONTAINER (get_widget_assert (xml, "first-line-scroller")), ia);
- p->variable_names_cb = get_widget_assert (xml, "variable-names");
+ GTK_CONTAINER (get_widget_assert (builder, "first-line-scroller")), ia);
+ p->variable_names_cb = get_widget_assert (builder, "variable-names");
gtk_tree_selection_set_mode (
gtk_tree_view_get_selection (GTK_TREE_VIEW (p->tree_view)),
GTK_SELECTION_BROWSE);
static void
init_separators_page (struct import_assistant *ia)
{
- GladeXML *xml = ia->asst.xml;
+ GtkBuilder *builder = ia->asst.builder;
struct separators_page *p = &ia->separators;
size_t i;
choose_likely_separators (ia);
- p->page = add_page_to_assistant (ia, get_widget_assert (xml, "Separators"),
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Separators"),
GTK_ASSISTANT_PAGE_CONTENT);
- p->custom_cb = get_widget_assert (xml, "custom-cb");
- p->custom_entry = get_widget_assert (xml, "custom-entry");
- p->quote_combo = get_widget_assert (xml, "quote-combo");
+ p->custom_cb = get_widget_assert (builder, "custom-cb");
+ p->custom_entry = get_widget_assert (builder, "custom-entry");
+ p->quote_combo = get_widget_assert (builder, "quote-combo");
p->quote_entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (p->quote_combo)));
- p->quote_cb = get_widget_assert (xml, "quote-cb");
- p->escape_cb = get_widget_assert (xml, "escape");
+ p->quote_cb = get_widget_assert (builder, "quote-cb");
+ p->escape_cb = get_widget_assert (builder, "escape");
set_separators (ia);
- p->fields_tree_view = GTK_TREE_VIEW (get_widget_assert (xml, "fields"));
+ p->fields_tree_view = GTK_TREE_VIEW (get_widget_assert (builder, "fields"));
g_signal_connect (GTK_COMBO_BOX (p->quote_combo), "changed",
G_CALLBACK (on_quote_combo_change), ia);
g_signal_connect (p->quote_cb, "toggled",
g_signal_connect (p->custom_cb, "toggled",
G_CALLBACK (on_separators_custom_cb_toggle), ia);
for (i = 0; i < SEPARATOR_CNT; i++)
- g_signal_connect (get_widget_assert (xml, separators[i].name),
+ g_signal_connect (get_widget_assert (builder, separators[i].name),
"toggled", G_CALLBACK (on_separator_toggle), ia);
g_signal_connect (p->escape_cb, "toggled",
G_CALLBACK (on_separator_toggle), ia);
choose_column_names (ia);
ia->separators.fields_tree_view = create_data_tree_view (
true,
- GTK_CONTAINER (get_widget_assert (ia->asst.xml, "fields-scroller")),
+ GTK_CONTAINER (get_widget_assert (ia->asst.builder, "fields-scroller")),
ia);
pop_watch_cursor (ia);
for (i = 0; i < SEPARATOR_CNT; i++)
{
const struct separator *s = &separators[i];
- GtkWidget *button = get_widget_assert (ia->asst.xml, s->name);
+ GtkWidget *button = get_widget_assert (ia->asst.builder, s->name);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
(seps & (1u << i)) != 0);
}
for (i = 0; i < SEPARATOR_CNT; i++)
{
const struct separator *sep = &separators[i];
- GtkWidget *button = get_widget_assert (ia->asst.xml, sep->name);
+ GtkWidget *button = get_widget_assert (ia->asst.builder, sep->name);
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)))
ds_put_char (&s->separators, sep->c);
}
static void
init_formats_page (struct import_assistant *ia)
{
- GladeXML *xml = ia->asst.xml;
+ GtkBuilder *builder = ia->asst.builder;
struct formats_page *p = &ia->formats;
- p->page = add_page_to_assistant (ia, get_widget_assert (xml, "Formats"),
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Formats"),
GTK_ASSISTANT_PAGE_CONFIRM);
- p->data_tree_view = GTK_TREE_VIEW (get_widget_assert (xml, "data"));
+ p->data_tree_view = GTK_TREE_VIEW (get_widget_assert (builder, "data"));
p->modified_vars = NULL;
p->modified_var_cnt = 0;
}
"may-create-vars", FALSE,
(void *) NULL);
- vars_scroller = GTK_BIN (get_widget_assert (ia->asst.xml, "vars-scroller"));
+ vars_scroller = GTK_BIN (get_widget_assert (ia->asst.builder, "vars-scroller"));
old_var_sheet = gtk_bin_get_child (vars_scroller);
if (old_var_sheet != NULL)
gtk_widget_destroy (old_var_sheet);
gtk_widget_destroy (GTK_WIDGET (ia->formats.data_tree_view));
ia->formats.data_tree_view = create_data_tree_view (
false,
- GTK_CONTAINER (get_widget_assert (ia->asst.xml, "data-scroller")),
+ GTK_CONTAINER (get_widget_assert (ia->asst.builder, "data-scroller")),
ia);
pop_watch_cursor (ia);
{
if (--ia->asst.watch_cursor == 0)
{
- GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);;
+ GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
gdk_window_set_cursor (widget->window, NULL);
}
}