1 /* PSPPIRE - a graphical user interface for PSPP.
2 Copyright (C) 2006 Free Software Foundation
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.
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.
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/>. */
17 #ifndef __PSPPIRE_VAR_STORE_H__
18 #define __PSPPIRE_VAR_STORE_H__
20 #include <gtksheet/gsheetmodel.h>
21 #include "psppire-dict.h"
26 /* PSPPIRE variable store format type, to determine whether a
27 PSPPIRE variable store contains variable input formats or
28 variable output formats. */
29 GType psppire_var_store_format_type_get_type (void);
33 PSPPIRE_VAR_STORE_INPUT_FORMATS,
34 PSPPIRE_VAR_STORE_OUTPUT_FORMATS
36 PsppireVarStoreFormatType;
38 #define G_TYPE_PSPPIRE_VAR_STORE_FORMAT_TYPE \
39 (psppire_var_store_format_type_get_type ())
41 /* PSPPIRE variable store. */
42 #define GTK_TYPE_VAR_STORE (psppire_var_store_get_type ())
44 #define PSPPIRE_VAR_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
45 GTK_TYPE_VAR_STORE, PsppireVarStore))
47 #define PSPPIRE_VAR_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
49 PsppireVarStoreClass))
51 #define PSPPIRE_IS_VAR_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VAR_STORE))
53 #define PSPPIRE_IS_VAR_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VAR_STORE))
55 #define PSPPIRE_VAR_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
57 PsppireVarStoreClass))
59 typedef struct _PsppireVarStore PsppireVarStore;
60 typedef struct _PsppireVarStoreClass PsppireVarStoreClass;
62 struct _PsppireVarStore
69 const PangoFontDescription *font_desc;
71 PsppireVarStoreFormatType format_type;
74 struct _PsppireVarStoreClass
76 GObjectClass parent_class;
78 /* Padding for future expansion */
79 void (*_gtk_reserved1) (void);
80 void (*_gtk_reserved2) (void);
81 void (*_gtk_reserved3) (void);
82 void (*_gtk_reserved4) (void);
86 GType psppire_var_store_get_type (void) G_GNUC_CONST;
87 PsppireVarStore *psppire_var_store_new (PsppireDict *dict);
88 struct variable * psppire_var_store_get_var (PsppireVarStore *store, glong row);
90 void psppire_var_store_set_dictionary (PsppireVarStore *var_store, PsppireDict *dict);
93 /* Return the number of variables */
94 gint psppire_var_store_get_var_cnt (PsppireVarStore *var_store);
96 void psppire_var_store_set_font (PsppireVarStore *store, const PangoFontDescription *fd);
103 PSPPIRE_VAR_STORE_COL_NAME,
104 PSPPIRE_VAR_STORE_COL_TYPE,
105 PSPPIRE_VAR_STORE_COL_WIDTH,
106 PSPPIRE_VAR_STORE_COL_DECIMALS,
107 PSPPIRE_VAR_STORE_COL_LABEL,
108 PSPPIRE_VAR_STORE_COL_VALUES,
109 PSPPIRE_VAR_STORE_COL_MISSING,
110 PSPPIRE_VAR_STORE_COL_COLUMNS,
111 PSPPIRE_VAR_STORE_COL_ALIGN,
112 PSPPIRE_VAR_STORE_COL_MEASURE,
113 PSPPIRE_VAR_STORE_n_COLS
116 #endif /* __PSPPIRE_VAR_STORE_H__ */