68b77817cc411c4e29e4887d0689b0686913b576
[pspp-builds.git] / src / ui / gui / psppire-data-window.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2008  Free Software Foundation
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
17
18 #ifndef __PSPPIRE_DATA_WINDOW_H__
19 #define __PSPPIRE_DATA_WINDOW_H__
20
21
22 #include <glib.h>
23 #include <glib-object.h>
24 #include <gtk/gtkaction.h>
25 #include "psppire-window.h"
26 #include "psppire-data-editor.h"
27 #include <glade/glade.h>
28 #include <gtk/gtk.h>
29
30 G_BEGIN_DECLS
31
32 #define PSPPIRE_DATA_WINDOW_TYPE            (psppire_data_window_get_type ())
33 #define PSPPIRE_DATA_WINDOW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_DATA_WINDOW_TYPE, PsppireDataWindow))
34 #define PSPPIRE_DATA_WINDOW_CLASS(class)    (G_TYPE_CHECK_CLASS_CAST ((class), \
35     PSPPIRE_DATA_WINDOW_TYPE, PsppireData_WindowClass))
36 #define PSPPIRE_IS_DATA_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
37     PSPPIRE_DATA_WINDOW_TYPE))
38 #define PSPPIRE_IS_DATA_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
39     PSPPIRE_DATA_WINDOW_TYPE))
40
41
42 typedef struct _PsppireDataWindow       PsppireDataWindow;
43 typedef struct _PsppireDataWindowClass  PsppireDataWindowClass;
44
45
46 struct _PsppireDataWindow
47 {
48   PsppireWindow parent;
49
50   /* <private> */
51   PsppireDataEditor *data_editor;
52   GladeXML *xml;
53   GtkAction *action_data_new;
54   GtkAction *action_data_open;
55   GtkAction *action_data_save_as;
56   GtkAction *action_data_save;
57
58   GtkAction *invoke_text_import_assistant;
59
60   /* Actions which invoke dialog boxes */
61   GtkAction *invoke_weight_cases_dialog;
62   GtkAction *invoke_transpose_dialog;
63   GtkAction *invoke_split_file_dialog;
64   GtkAction *invoke_sort_cases_dialog;
65   GtkAction *invoke_compute_dialog;
66   GtkAction *invoke_comments_dialog;
67   GtkAction *invoke_select_cases_dialog;
68   GtkAction *invoke_goto_dialog;
69   GtkAction *invoke_variable_info_dialog;
70   GtkAction *invoke_find_dialog;
71   GtkAction *invoke_rank_dialog;
72   GtkAction *invoke_recode_same_dialog;
73   GtkAction *invoke_recode_different_dialog;
74
75   GtkAction *invoke_crosstabs_dialog;
76   GtkAction *invoke_descriptives_dialog;
77   GtkAction *invoke_frequencies_dialog;
78   GtkAction *invoke_examine_dialog;
79   GtkAction *invoke_regression_dialog;
80
81   GtkAction *invoke_t_test_independent_samples_dialog;
82   GtkAction *invoke_t_test_paired_samples_dialog;
83   GtkAction *invoke_oneway_anova_dialog;
84   GtkAction *invoke_t_test_one_sample_dialog;
85
86   GtkToggleAction *toggle_split_window;
87   GtkToggleAction *toggle_value_labels;
88
89
90   GtkAction *insert_variable;
91   GtkAction *insert_case;
92   GtkAction *delete_variables;
93   GtkAction *delete_cases;
94
95
96   GtkMenu *data_sheet_variable_popup_menu;
97   GtkMenu *data_sheet_cases_popup_menu;
98   GtkMenu *var_sheet_variable_popup_menu;
99
100
101   gboolean save_as_portable;
102
103   /* Name of the file this data is associated with (ie, was loaded from or
104      has been  saved to), in "filename encoding",  or NULL, if it's not
105      associated with any file */
106   gchar *file_name;
107 };
108
109 struct _PsppireDataWindowClass
110 {
111   PsppireWindowClass parent_class;
112 };
113
114 GType      psppire_data_window_get_type        (void);
115 GtkWidget* psppire_data_window_new             (void);
116 void       psppire_data_window_load_file (PsppireDataWindow *, const gchar *);
117
118
119 G_END_DECLS
120
121 #endif /* __PSPPIRE_DATA_WINDOW_H__ */