X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.h;h=e4422ecc744f72004df81504498988eeca432716;hb=13ca98079f4cb3cd80deb10b173813548b1f3ddc;hp=441e12af3f2454eaa7c3aae16e5fba181e9343b7;hpb=14aac9fe7a7efbb6c9bded2ed5969a643cb76645;p=pspp diff --git a/src/ui/gui/psppire-window.h b/src/ui/gui/psppire-window.h index 441e12af3f..e4422ecc74 100644 --- a/src/ui/gui/psppire-window.h +++ b/src/ui/gui/psppire-window.h @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2008, 2009 Free Software Foundation + Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2020 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 @@ -21,10 +21,8 @@ #include #include -#include -#include -#include -#include +#include +#include "psppire-window-base.h" G_BEGIN_DECLS @@ -60,27 +58,32 @@ typedef struct _PsppireWindowIface PsppireWindowIface; struct _PsppireWindow { - GtkWindow parent; + PsppireWindowBase parent; /* */ - gchar *name; - gchar *description; - gchar *basename; + gchar *filename; /* File name, in file name encoding, or NULL. */ + gchar *basename; /* Last component of filename, in UTF-8 */ + gchar *id; /* Dataset name, or NULL. */ + gchar *description; /* e.g. "Data Editor" */ + gchar *list_name; /* Name for "Windows" menu list. */ GHashTable *menuitem_table; - GtkMenuShell *menu; guint insert_handler; guint remove_handler; - gboolean dirty; - GTimeVal savetime; + gboolean added_separator; + + /* The time when the contents of the window was last edited subsequent + to having been saved, or NULL if it has not been edited since the + most recent save. */ + GDateTime *edited; }; struct _PsppireWindowClass { - GtkWindowClass parent_class; + PsppireWindowBaseClass parent_class; }; @@ -89,7 +92,9 @@ struct _PsppireWindowIface GTypeInterface g_iface; void (*save) (PsppireWindow *w); - gboolean (*load) (PsppireWindow *w, const gchar *); + void (*pick_filename) (PsppireWindow *); + gboolean (*load) (PsppireWindow *w, const gchar *filename, + const gchar *encoding, gpointer hint); }; @@ -109,8 +114,16 @@ 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); +void psppire_window_save_as (PsppireWindow *w); +gboolean psppire_window_load (PsppireWindow *w, const gchar *file, + const gchar *encoding, gpointer hint); +void psppire_window_open (PsppireWindow *de); +GtkWidget *psppire_window_file_chooser_dialog (PsppireWindow *toplevel); + +void add_most_recent (const char *file_name, const char *mime_type, + const char *encoding); +void read_spv_file (const char *filename); G_END_DECLS