1 /* PSPPIRE - a graphical user interface for PSPP.
2 Copyright (C) 2008, 2011, 2012 Free Software Foundation, Inc.
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_SHEET_H__
18 #define __PSPPIRE_VAR_SHEET_H__
20 /* PsppireVarSheet is a PsppSheetView that displays the variables in a
21 dictionary, one variable per row.
23 PsppireDataSheet is usually a child of PsppireDataEditor in the widget
24 hierarchy. Other widgets can also use it. */
27 #include "data/format.h"
28 #include "ui/gui/pspp-sheet-view.h"
33 #define PSPPIRE_TYPE_FMT_USE (psppire_fmt_use_get_type ())
35 GType psppire_fmt_use_get_type (void) G_GNUC_CONST;
37 #define PSPPIRE_VAR_SHEET_TYPE (psppire_var_sheet_get_type ())
38 #define PSPPIRE_VAR_SHEET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_VAR_SHEET_TYPE, PsppireVarSheet))
39 #define PSPPIRE_VAR_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_VAR_SHEET_TYPE, PsppireVarSheetClass))
40 #define PSPPIRE_IS_VAR_SHEET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_VAR_SHEET_TYPE))
41 #define PSPPIRE_IS_VAR_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_VAR_SHEET_TYPE))
44 typedef struct _PsppireVarSheet PsppireVarSheet;
45 typedef struct _PsppireVarSheetClass PsppireVarSheetClass;
49 PSPPIRE_VAR_SHEET_BACKEND_CHANGED,
50 PSPPIRE_VAR_SHEET_VARIABLE_CHANGED,
51 PSPPIRE_VAR_SHEET_VARIABLE_INSERTED,
52 PSPPIRE_VAR_SHEET_VARIABLE_DELETED,
53 PSPPIRE_VAR_SHEET_N_SIGNALS
56 struct _PsppireVarSheet
60 gboolean may_create_vars;
61 gboolean may_delete_vars;
62 enum fmt_use format_use;
64 struct _PsppireDict *dict;
66 gulong scroll_to_bottom_signal;
67 gulong dict_signals[PSPPIRE_VAR_SHEET_N_SIGNALS];
72 gulong on_switch_page_handler;
76 gboolean dispose_has_run;
79 struct _PsppireVarSheetClass
81 PsppSheetViewClass parent_class;
84 GType psppire_var_sheet_get_type (void);
85 GtkWidget* psppire_var_sheet_new (void);
87 struct _PsppireDict *psppire_var_sheet_get_dictionary (PsppireVarSheet *);
88 void psppire_var_sheet_set_dictionary (PsppireVarSheet *,
89 struct _PsppireDict *);
91 gboolean psppire_var_sheet_get_may_create_vars (PsppireVarSheet *);
92 void psppire_var_sheet_set_may_create_vars (PsppireVarSheet *, gboolean);
94 gboolean psppire_var_sheet_get_may_delete_vars (PsppireVarSheet *);
95 void psppire_var_sheet_set_may_delete_vars (PsppireVarSheet *, gboolean);
97 void psppire_var_sheet_goto_variable (PsppireVarSheet *, int dict_index);
99 GtkUIManager *psppire_var_sheet_get_ui_manager (PsppireVarSheet *);
103 #endif /* __PSPPIRE_VAR_SHEET_H__ */