Revert "Fixed a use after free error when manipulating datasets."
[pspp] / src / ui / gui / psppire-dictview.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2009, 2010, 2013  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_DICT_VIEW_H__
19 #define __PSPPIRE_DICT_VIEW_H__
20
21
22 #include <glib.h>
23 #include <glib-object.h>
24 #include <gtk/gtk.h>
25
26 #include "data/format.h"
27 #include "psppire-dict.h"
28 #include "dict-display.h"
29
30 G_BEGIN_DECLS
31
32 #define PSPPIRE_DICT_VIEW_TYPE            (psppire_dict_view_get_type ())
33 #define PSPPIRE_DICT_VIEW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_DICT_VIEW_TYPE, PsppireDictView))
34 #define PSPPIRE_DICT_VIEW_CLASS(class)    (G_TYPE_CHECK_CLASS_CAST ((class), \
35     PSPPIRE_DICT_VIEW_TYPE, PsppireDictViewClass))
36 #define PSPPIRE_IS_DICT_VIEW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
37     PSPPIRE_DICT_VIEW_TYPE))
38 #define PSPPIRE_IS_DICT_VIEW_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
39     PSPPIRE_DICT_VIEW_TYPE))
40
41
42 typedef struct _PsppireDictView       PsppireDictView;
43 typedef struct _PsppireDictViewClass  PsppireDictViewClass;
44
45
46
47 struct _PsppireDictView
48 {
49   GtkTreeView parent;
50
51   PsppireDict *dict;
52   var_predicate_func *predicate;
53   GtkWidget *menu;
54   gboolean prefer_labels_override;
55   GtkWidget *override_button;
56   GtkTreeModel *sorted_model;
57 };
58
59 struct _PsppireDictViewClass
60 {
61   GtkTreeViewClass parent_class;
62
63 };
64
65 GType      psppire_dict_view_get_type        (void);
66 void psppire_dict_view_get_selected_variables (PsppireDictView *,
67                                                struct variable ***vars,
68                                                size_t *n_varsp);
69 struct variable * psppire_dict_view_get_selected_variable (PsppireDictView *);
70
71 const char *get_var_measurement_stock_id (enum fmt_type, enum measure);
72
73 G_END_DECLS
74
75 #endif /* __PSPPIRE_DICT_VIEW_H__ */