/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2004,2005 Free Software Foundation
- Written by John Darrington
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
#define N_(msgid) msgid
#include <libpspp/message.h>
+#include <libpspp/msg-locator.h>
#include "message-dialog.h"
#include "progname.h"
#include "helper.h"
-extern GladeXML *xml;
-
-
-
-static void enqueue_msg(const struct msg *m);
+static void enqueue_msg (const struct msg *m);
static GQueue *message_queue;
+
void
-message_dialog_init (void)
+message_dialog_init (struct source_stream *ss)
{
message_queue = g_queue_new();
- msg_init(enqueue_msg);
+ msg_init (ss, enqueue_msg);
}
-
void
message_dialog_done (void)
{
msg = _("PSPP Error");
break;
};
-
- parent = GTK_WINDOW(get_widget_assert(xml, "data_editor"));
- dialog = gtk_message_dialog_new(parent,
+ dialog = gtk_message_dialog_new ( NULL,
GTK_DIALOG_MODAL,
message_type,
GTK_BUTTONS_CLOSE,
msg);
-
+
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
- "%s", m->text);
-
- gtk_window_set_transient_for(GTK_WINDOW(dialog), parent);
+ _("%s (line %d) %s"),
+ m->where.file_name,
+ m->where.line_number,
+ m->text);
+
+ gtk_window_set_keep_above (GTK_WINDOW(dialog), TRUE);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy (dialog);
}
-/* FIXME: This is a stub .
- * A temporary workaround until getl.c is rearranged
- */
-void
-msg_location (struct msg_locator *loc)
-{
- loc->file_name = 0;
- loc->line_number = -1;
-}
-