1 #include "syntax-editor.h"
2 #include "data-editor.h"
5 #define _(msgid) gettext (msgid)
6 #define N_(msgid) msgid
9 #include "window-manager.h"
12 static int window_count = 0;
15 deregister (GtkObject *o, gpointer data)
19 if ( 0 == window_count )
23 static void set_window_name (struct editor_window *e, const gchar *name );
26 struct editor_window *
27 window_create (enum window_type type, const gchar *name)
29 struct editor_window *e;
33 e = (struct editor_window *) new_syntax_editor ();
36 e = (struct editor_window *) new_data_editor ();
39 g_assert_not_reached ();
45 set_window_name (e, name);
48 gtk_window_set_icon_from_file (GTK_WINDOW (e->window),
49 PKGDATADIR "/psppicon.png", 0);
51 g_signal_connect (e->window, "destroy", G_CALLBACK (deregister), NULL);
53 gtk_widget_show (e->window);
62 set_window_name (struct editor_window *e,
71 e->name = g_strdup (name);
78 e->name = g_strdup_printf (_("Syntax%d"), window_count);
79 title = g_strdup_printf (_("%s --- PSPP Syntax Editor"), e->name);
82 e->name = g_strdup_printf (_("Untitled%d"), window_count);
83 title = g_strdup_printf (_("%s --- PSPP Data Editor"), e->name);
86 g_assert_not_reached ();
89 gtk_window_set_title (GTK_WINDOW (e->window), title);
96 window_set_name_from_filename (struct editor_window *e,
97 const gchar *filename)
100 gchar *basename = g_path_get_basename (filename);
102 set_window_name (e, filename);
107 title = g_strdup_printf (_("%s --- PSPP Syntax Editor"), basename);
110 title = g_strdup_printf (_("%s --- PSPP Data Editor"), basename);
113 g_assert_not_reached ();
117 gtk_window_set_title (GTK_WINDOW (e->window), title);
124 window_toplevel (const struct editor_window *e)
126 return GTK_WINDOW (e->window);
130 window_name (const struct editor_window *e)