Prompt for save on closing data window
[pspp-builds.git] / src / ui / gui / psppire-window.h
index d0eba02490bd07071831b15458eafc807f794346..ab0efc3fcea95d8e0d5408f7314fe2afb771d3b0 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008  Free Software Foundation
+   Copyright (C) 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
 #include <glib-object.h>
 #include <gtk/gtkwindow.h>
 #include <gtk/gtkaction.h>
+#include <gtk/gtkmenushell.h>
 
 G_BEGIN_DECLS
 
+
 #define PSPPIRE_WINDOW_TYPE            (psppire_window_get_type ())
 #define PSPPIRE_WINDOW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_WINDOW_TYPE, PsppireWindow))
 #define PSPPIRE_WINDOW_CLASS(class)    (G_TYPE_CHECK_CLASS_CAST ((class), \
@@ -46,23 +48,37 @@ struct _PsppireWindow
 
   /* <private> */
   gchar *name;
-  gboolean finalized;
+  gchar *description;
+  gchar *basename;
+
+  GHashTable *menuitem_table;
+  GtkMenuShell *menu;
+
+  guint insert_handler;
+  guint remove_handler;
+  gboolean unsaved;
 };
 
 struct _PsppireWindowClass
 {
   GtkWindowClass parent_class;
-
-  GHashTable *name_table;
 };
 
 GType      psppire_window_get_type        (void);
-GtkWidget* psppire_window_new             (void);
 
 const gchar * psppire_window_get_filename (PsppireWindow *);
 
 void psppire_window_set_filename (PsppireWindow *w, const gchar *filename);
 
+void psppire_window_minimise_all (void);
+
+void psppire_window_set_unsaved (PsppireWindow *, gboolean );
+
+gboolean psppire_window_get_unsaved (PsppireWindow *);
+
+
+gboolean psppire_window_query_save (PsppireWindow *);
+
 
 G_END_DECLS