/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008 Free Software Foundation
+ Copyright (C) 2008, 2010, 2011 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.h>
#include <glib-object.h>
-#include <gtk/gtkaction.h>
-#include "psppire-window.h"
-#include "psppire-data-editor.h"
-#include <glade/glade.h>
#include <gtk/gtk.h>
+#include "libpspp/ll.h"
+#include "ui/gui/psppire-window.h"
+#include "ui/gui/psppire-data-editor.h"
+
G_BEGIN_DECLS
#define PSPPIRE_DATA_WINDOW_TYPE (psppire_data_window_get_type ())
/* <private> */
PsppireDataEditor *data_editor;
- GladeXML *xml;
GtkBuilder *builder;
- GtkAction *action_data_new;
- GtkAction *action_data_open;
- GtkAction *action_data_save_as;
- GtkAction *action_data_save;
-
- GtkAction *invoke_text_import_assistant;
-
- /* Actions which invoke dialog boxes */
- GtkAction *invoke_weight_cases_dialog;
- GtkAction *invoke_transpose_dialog;
- GtkAction *invoke_split_file_dialog;
- GtkAction *invoke_sort_cases_dialog;
- GtkAction *invoke_compute_dialog;
- GtkAction *invoke_comments_dialog;
- GtkAction *invoke_select_cases_dialog;
- GtkAction *invoke_goto_dialog;
- GtkAction *invoke_variable_info_dialog;
- GtkAction *invoke_find_dialog;
- GtkAction *invoke_rank_dialog;
- GtkAction *invoke_recode_same_dialog;
- GtkAction *invoke_recode_different_dialog;
-
- GtkAction *invoke_crosstabs_dialog;
- GtkAction *invoke_descriptives_dialog;
- GtkAction *invoke_frequencies_dialog;
- GtkAction *invoke_examine_dialog;
- GtkAction *invoke_regression_dialog;
- GtkAction *invoke_t_test_independent_samples_dialog;
- GtkAction *invoke_t_test_paired_samples_dialog;
- GtkAction *invoke_oneway_anova_dialog;
- GtkAction *invoke_t_test_one_sample_dialog;
+ PsppireVarStore *var_store;
+ struct dataset *dataset;
+ PsppireDataStore *data_store;
+ GtkAction *invoke_goto_dialog;
GtkAction *insert_variable;
GtkAction *insert_case;
GtkAction *delete_cases;
- GtkMenu *data_sheet_variable_popup_menu;
- GtkMenu *data_sheet_cases_popup_menu;
- GtkMenu *var_sheet_variable_popup_menu;
-
-
gboolean save_as_portable;
- /* Name of the file this data is associated with (ie, was loaded from or
- has been saved to), in "filename encoding", or NULL, if it's not
- associated with any file */
- gchar *file_name;
+ struct ll ll; /* In global 'all_data_windows' list. */
+ unsigned long int lazy_serial;
+ unsigned int dataset_seqno;
};
struct _PsppireDataWindowClass
PsppireWindowClass parent_class;
};
+extern struct session *the_session;
+extern struct ll_list all_data_windows;
+
GType psppire_data_window_get_type (void);
-GtkWidget* psppire_data_window_new (void);
-void psppire_data_window_load_file (PsppireDataWindow *, const gchar *);
+GtkWidget* psppire_data_window_new (struct dataset *);
+
+PsppireDataWindow *psppire_default_data_window (void);
+void psppire_data_window_set_default (PsppireDataWindow *);
+void psppire_data_window_undefault (PsppireDataWindow *);
+
+PsppireDataWindow *psppire_data_window_for_dataset (struct dataset *);
+bool psppire_data_window_is_empty (PsppireDataWindow *);
+void create_data_window (void);
+void open_data_window (PsppireWindow *victim, const char *file_name);
G_END_DECLS