gui: Redo var sheet, data sheet, text import with PsppSheetView.
[pspp] / src / ui / gui / psppire-var-sheet.h
index b996275c70404e94ea09e4c79a046d2783796dcb..97efcf456ad1a2450c6192a8f608f0889dd6ce05 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008 Free Software Foundation, Inc.
+   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
 #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.
 
-#include <glib.h>
-#include <glib-object.h>
-#include <gtk-contrib/psppire-sheet.h>
-#include "val-labs-dialog.h"
-#include "missing-val-dialog.h"
-#include "var-type-dialog.h"
+   PsppireDataSheet is usually a child of PsppireDataEditor in the widget
+   hierarchy.  Other widgets can also use it. */
+
+#include <gtk/gtk.h>
+#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;
+\f
 #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))
@@ -40,34 +46,48 @@ typedef struct _PsppireVarSheetClass  PsppireVarSheetClass;
 
 struct _PsppireVarSheet
 {
-  PsppireSheet parent;
+  PsppSheetView parent;
 
-  gboolean dispose_has_run;
   gboolean may_create_vars;
+  gboolean may_delete_vars;
+  enum fmt_use format_use;
 
-  struct val_labs_dialog *val_labs_dialog ;
-  struct missing_val_dialog *missing_val_dialog ;
-  struct var_type_dialog *var_type_dialog ;
-};
+  struct _PsppireDict *dict;
+  struct val_labs_dialog *val_labs_dialog;
+  struct missing_val_dialog *missing_val_dialog;
+  struct var_type_dialog *var_type_dialog;
 
+  gulong scroll_to_bottom_signal;
+  gulong *dict_signals;
 
-struct _PsppireVarSheetClass
-{
-  PsppireSheetClass parent_class;
-
-  GtkListStore *alignment_list;
-  GtkListStore *measure_list;
+  GtkBuilder *builder;
 
-  void (*var_sheet)(PsppireVarSheet*);
+  GtkWidget *container;
+  gulong on_switch_page_handler;
 };
 
+struct _PsppireVarSheetClass
+{
+  PsppSheetViewClass parent_class;
+};
 
 GType          psppire_var_sheet_get_type        (void);
 GtkWidget*     psppire_var_sheet_new             (void);
 
-G_END_DECLS
+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__ */