#include <gtk/gtkwindow.h>
#include <gtk/gtkaction.h>
#include <gtk/gtkmenushell.h>
+#include <gtk/gtkrecentmanager.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_TYPE_WINDOW (psppire_window_get_type ())
+
+#define PSPPIRE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ PSPPIRE_TYPE_WINDOW, PsppireWindow))
+
#define PSPPIRE_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
- PSPPIRE_WINDOW_TYPE, PsppireWindowClass))
+ PSPPIRE_TYPE_WINDOW, PsppireWindowClass))
+
#define PSPPIRE_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
- PSPPIRE_WINDOW_TYPE))
+ PSPPIRE_TYPE_WINDOW))
+
#define PSPPIRE_IS_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
- PSPPIRE_WINDOW_TYPE))
+ PSPPIRE_TYPE_WINDOW))
+
+
+
+#define PSPPIRE_TYPE_WINDOW_MODEL (psppire_window_model_get_type ())
+
+#define PSPPIRE_IS_WINDOW_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_TYPE_WINDOW_MODEL))
+
+#define PSPPIRE_WINDOW_MODEL_GET_IFACE(obj) \
+ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PSPPIRE_TYPE_WINDOW_MODEL, PsppireWindowIface))
typedef struct _PsppireWindow PsppireWindow;
typedef struct _PsppireWindowClass PsppireWindowClass;
+typedef struct _PsppireWindowIface PsppireWindowIface;
struct _PsppireWindow
guint insert_handler;
guint remove_handler;
- gboolean unsaved;
+
+ gboolean dirty;
+ GTimeVal savetime;
};
+
struct _PsppireWindowClass
{
GtkWindowClass parent_class;
};
+
+struct _PsppireWindowIface
+{
+ GTypeInterface g_iface;
+
+ void (*save) (PsppireWindow *w);
+ gboolean (*load) (PsppireWindow *w, const gchar *);
+};
+
+
GType psppire_window_get_type (void);
+GType psppire_window_model_get_type (void);
const gchar * psppire_window_get_filename (PsppireWindow *);
void psppire_window_minimise_all (void);
-void psppire_window_set_unsaved (PsppireWindow *, gboolean );
+void psppire_window_set_unsaved (PsppireWindow *);
+
+gboolean psppire_window_get_unsaved (PsppireWindow *);
+
+gint psppire_window_query_save (PsppireWindow *);
+
+void psppire_window_save (PsppireWindow *w);
+gboolean psppire_window_load (PsppireWindow *w, const gchar *file);
+
G_END_DECLS