return psppire_data_window_type;
}
+static GObjectClass *parent_class ;
static void
psppire_data_window_finalize (GObject *object)
{
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (object);
- GObjectClass *class = G_OBJECT_GET_CLASS (object);
-
- GObjectClass *parent_class = g_type_class_peek_parent (class);
-
g_object_unref (de->xml);
-
if (G_OBJECT_CLASS (parent_class)->finalize)
(*G_OBJECT_CLASS (parent_class)->finalize) (object);
}
static void
psppire_data_window_class_init (PsppireDataWindowClass *class)
{
+ parent_class = g_type_class_peek_parent (class);
}
psppire_window_set_filename (PSPPIRE_WINDOW (de), file_name);
add_most_recent (file_name);
}
+
+ psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE);
}
ds_destroy (&file_name);
execute_syntax (sss);
+
+ psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE);
}
}
-
+static void
+set_unsaved (gpointer w)
+{
+ psppire_window_set_unsaved (PSPPIRE_WINDOW (w), TRUE);
+}
static void
psppire_data_window_init (PsppireDataWindow *de)
de->data_editor =
PSPPIRE_DATA_EDITOR (psppire_data_editor_new (the_var_store, the_data_store));
+ g_signal_connect_swapped (the_data_store, "case-changed",
+ G_CALLBACK (set_unsaved), de);
+
+ g_signal_connect_swapped (the_data_store, "case-inserted",
+ G_CALLBACK (set_unsaved), de);
+
+ g_signal_connect_swapped (the_data_store, "cases-deleted",
+ G_CALLBACK (set_unsaved), de);
+
+ dataset_set_callback (the_dataset, set_unsaved, de);
+
connect_help (de->xml);
g_object_ref (menubar);
psppire_data_window_new (void)
{
return GTK_WIDGET (g_object_new (psppire_data_window_get_type (),
- "usage", PSPPIRE_WINDOW_USAGE_DATA,
+ "description", _("Data Editor"),
NULL));
}