Replace checkbox-treeview functions with a object PsppireCheckboxTreeview
[pspp] / src / ui / gui / psppire-dialog-action-crosstabs.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2012  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 #include <glib-object.h>
19 #include <glib.h>
20
21 #include "psppire-dialog-action.h"
22
23 /* 
24    This module provides a subclass of GtkTreeView, designed for dialogs
25    which need lists of annotated checkbox items.
26    The object contains the necessary model and renderers, which means that
27    the user does not have to create these herself.
28  */
29
30
31 #ifndef __PSPPIRE_DIALOG_ACTION_CROSSTABS_H__
32 #define __PSPPIRE_DIALOG_ACTION_CROSSTABS_H__
33
34 G_BEGIN_DECLS
35
36
37 #define PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS (psppire_dialog_action_crosstabs_get_type ())
38
39 #define PSPPIRE_DIALOG_ACTION_CROSSTABS(obj)    \
40                      (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
41                                                   PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS, PsppireDialogActionCrosstabs))
42
43 #define PSPPIRE_DIALOG_ACTION_CROSSTABS_CLASS(klass) \
44                      (G_TYPE_CHECK_CLASS_CAST ((klass), \
45                                  PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS, \
46                                  PsppireDialogActionCrosstabsClass))
47
48
49 #define PSPPIRE_IS_DIALOG_ACTION_CROSSTABS(obj) \
50                      (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS))
51
52 #define PSPPIRE_IS_DIALOG_ACTION_CROSSTABS_CLASS(klass) \
53                      (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS))
54
55
56 #define PSPPIRE_DIALOG_ACTION_CROSSTABS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
57                                    PSPPIRE_TYPE_DIALOG_ACTION_CROSSTABS, \
58                                    PsppireDialogActionCrosstabsClass))
59
60 typedef struct _PsppireDialogActionCrosstabs       PsppireDialogActionCrosstabs;
61 typedef struct _PsppireDialogActionCrosstabsClass  PsppireDialogActionCrosstabsClass;
62
63
64 struct _PsppireDialogActionCrosstabs
65 {
66   PsppireDialogAction parent;
67
68   /*< private >*/
69   gboolean dispose_has_run ;
70
71   GtkWidget *col_vars;
72   GtkWidget *row_vars;
73
74   GtkWidget *dest_rows; 
75   GtkWidget *dest_cols ;
76   GtkWidget *format_button ;
77   GtkWidget *stat_button ;
78   GtkWidget *cell_button ;
79
80   GtkWidget *stat_view ;
81
82   GtkWidget *cell_view ;
83   GtkTreeModel *cell ;
84   GtkWidget *cell_dialog ;
85   GtkTreeModel *stat;
86   GtkWidget *stat_dialog ;
87
88   gboolean format_options_avalue;
89   gboolean format_options_pivot;
90   gboolean format_options_table;
91
92   GtkWidget *table_button;
93   GtkWidget *pivot_button;
94
95   GtkWidget *format_dialog;
96   GtkWidget *avalue_button;
97 };
98
99
100 struct _PsppireDialogActionCrosstabsClass
101 {
102   PsppireDialogActionClass parent_class;
103 };
104
105
106 GType psppire_dialog_action_crosstabs_get_type (void) ;
107
108 G_END_DECLS
109
110 #endif /* __PSPPIRE_DIALOG_ACTION_CROSSTABS_H__ */