Merge 'master' into 'psppsheet'.
[pspp] / src / ui / gui / psppire-var-sheet.h
index 058821b7b30d583236e36b2ae0817187148c0c42..e8db83e12ac4e0b4c0598b7f5d383b01eab0ce61 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008, 2012 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 "missing-val-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))
@@ -36,32 +44,60 @@ G_BEGIN_DECLS
 typedef struct _PsppireVarSheet       PsppireVarSheet;
 typedef struct _PsppireVarSheetClass  PsppireVarSheetClass;
 
+enum
+{
+    PSPPIRE_VAR_SHEET_BACKEND_CHANGED,
+    PSPPIRE_VAR_SHEET_VARIABLE_CHANGED,
+    PSPPIRE_VAR_SHEET_VARIABLE_INSERTED,
+    PSPPIRE_VAR_SHEET_VARIABLE_DELETED,
+    PSPPIRE_VAR_SHEET_N_SIGNALS
+ };
+
 struct _PsppireVarSheet
 {
-  PsppireSheet parent;
+  PsppSheetView parent;
 
-  gboolean dispose_has_run;
   gboolean may_create_vars;
-};
+  gboolean may_delete_vars;
+  enum fmt_use format_use;
 
+  struct _PsppireDict *dict;
 
-struct _PsppireVarSheetClass
-{
-  PsppireSheetClass parent_class;
+  gulong scroll_to_bottom_signal;
+  gulong dict_signals[PSPPIRE_VAR_SHEET_N_SIGNALS];
+
+  GtkBuilder *builder;
 
-  GtkListStore *alignment_list;
-  GtkListStore *measure_list;
+  GtkWidget *container;
+  gulong on_switch_page_handler;
 
-  void (*var_sheet)(PsppireVarSheet*);
+  GtkUIManager *uim;
+
+  gboolean dispose_has_run;
 };
 
+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__ */