/* PSPPIRE - a graphical user interface for PSPP.
Copyright (C) 2008, 2011, 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
#ifndef __PSPPIRE_VAR_SHEET_H__
#define __PSPPIRE_VAR_SHEET_H__
/* PsppireVarSheet is a PsppSheetView that displays the variables in a
dictionary, one variable per row.
PsppireDataSheet is usually a child of PsppireDataEditor in the widget
hierarchy. Other widgets can also use it. */
#include
#include "data/format.h"
#include "ui/gui/pspp-sheet-view.h"
G_BEGIN_DECLS
#define PSPPIRE_TYPE_FMT_USE (psppire_fmt_use_get_type ())
GType psppire_fmt_use_get_type (void) G_GNUC_CONST;
#define PSPPIRE_VAR_SHEET_TYPE (psppire_var_sheet_get_type ())
#define PSPPIRE_VAR_SHEET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_VAR_SHEET_TYPE, PsppireVarSheet))
#define PSPPIRE_VAR_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_VAR_SHEET_TYPE, PsppireVarSheetClass))
#define PSPPIRE_IS_VAR_SHEET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_VAR_SHEET_TYPE))
#define PSPPIRE_IS_VAR_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_VAR_SHEET_TYPE))
typedef struct _PsppireVarSheet PsppireVarSheet;
typedef struct _PsppireVarSheetClass PsppireVarSheetClass;
enum
{
PSPPIRE_VAR_SHEET_VARIABLE_CHANGED,
PSPPIRE_VAR_SHEET_VARIABLE_INSERTED,
PSPPIRE_VAR_SHEET_VARIABLE_DELETED,
PSPPIRE_VAR_SHEET_N_SIGNALS
};
struct _PsppireVarSheet
{
PsppSheetView parent;
gboolean may_create_vars;
gboolean may_delete_vars;
enum fmt_use format_use;
struct _PsppireDict *dict;
gulong scroll_to_bottom_signal;
gulong dict_signals[PSPPIRE_VAR_SHEET_N_SIGNALS];
GtkBuilder *builder;
GtkWidget *container;
gulong on_switch_page_handler;
GtkUIManager *uim;
gboolean dispose_has_run;
};
struct _PsppireVarSheetClass
{
PsppSheetViewClass parent_class;
};
GType psppire_var_sheet_get_type (void);
GtkWidget* psppire_var_sheet_new (void);
struct _PsppireDict *psppire_var_sheet_get_dictionary (PsppireVarSheet *);
void psppire_var_sheet_set_dictionary (PsppireVarSheet *,
struct _PsppireDict *);
gboolean psppire_var_sheet_get_may_create_vars (PsppireVarSheet *);
void psppire_var_sheet_set_may_create_vars (PsppireVarSheet *, gboolean);
gboolean psppire_var_sheet_get_may_delete_vars (PsppireVarSheet *);
void psppire_var_sheet_set_may_delete_vars (PsppireVarSheet *, gboolean);
void psppire_var_sheet_goto_variable (PsppireVarSheet *, int dict_index);
GtkUIManager *psppire_var_sheet_get_ui_manager (PsppireVarSheet *);
G_END_DECLS
#endif /* __PSPPIRE_VAR_SHEET_H__ */