Applied patch #6428
[pspp-builds.git] / src / ui / gui / psppire-data-editor.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2008 Free Software Foundation, Inc.
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 #ifndef __PSPPIRE_DATA_EDITOR_H__
18 #define __PSPPIRE_DATA_EDITOR_H__
19
20
21 #include <glib.h>
22 #include <glib-object.h>
23 #include <gtk/gtknotebook.h>
24
25 #include "psppire-var-store.h"
26 #include "psppire-data-store.h"
27
28 G_BEGIN_DECLS
29
30 #define PSPPIRE_DATA_EDITOR_TYPE            (psppire_data_editor_get_type ())
31 #define PSPPIRE_DATA_EDITOR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_DATA_EDITOR_TYPE, PsppireDataEditor))
32 #define PSPPIRE_DATA_EDITOR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_DATA_EDITOR_TYPE, PsppireDataEditorClass))
33 #define PSPPIRE_IS_DATA_EDITOR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_DATA_EDITOR_TYPE))
34 #define PSPPIRE_IS_DATA_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_DATA_EDITOR_TYPE))
35
36
37 typedef struct _PsppireDataEditor       PsppireDataEditor;
38 typedef struct _PsppireDataEditorClass  PsppireDataEditorClass;
39
40 /* All members are private. */
41 struct _PsppireDataEditor
42 {
43   GtkNotebook parent;
44
45   /* <private> */
46   gboolean dispose_has_run;
47   GtkWidget *cell_ref_entry;
48   GtkWidget *datum_entry;
49   GtkWidget *data_sheet;
50   GtkWidget *var_sheet;
51   PsppireDataStore *data_store;
52   PsppireVarStore *var_store;
53 };
54
55
56 struct _PsppireDataEditorClass
57 {
58   GtkNotebookClass parent_class;
59 };
60
61
62 GType          psppire_data_editor_get_type        (void);
63 GtkWidget*     psppire_data_editor_new             (PsppireVarStore *, PsppireDataStore *);
64 void           psppire_data_editor_clip_copy       (PsppireDataEditor *);
65 void           psppire_data_editor_clip_paste      (PsppireDataEditor *);
66 void           psppire_data_editor_clip_cut        (PsppireDataEditor *);
67 void           psppire_data_editor_sort_ascending  (PsppireDataEditor *);
68 void           psppire_data_editor_sort_descending (PsppireDataEditor *);
69 void           psppire_data_editor_insert_variable (PsppireDataEditor *);
70 void           psppire_data_editor_delete_variables (PsppireDataEditor *);
71 void           psppire_data_editor_show_grid       (PsppireDataEditor *, gboolean);
72 void           psppire_data_editor_insert_case     (PsppireDataEditor *);
73 void           psppire_data_editor_delete_cases    (PsppireDataEditor *);
74 void           psppire_data_editor_set_font        (PsppireDataEditor *, PangoFontDescription *);
75 void           psppire_data_editor_delete_cases    (PsppireDataEditor *);
76
77
78
79 G_END_DECLS
80
81 enum {PSPPIRE_DATA_EDITOR_DATA_VIEW = 0, PSPPIRE_DATA_EDITOR_VARIABLE_VIEW};
82
83
84 #endif /* __PSPPIRE_DATA_EDITOR_H__ */