Add "dictionary" property to PsppireVarStore and use it.
[pspp-builds.git] / src / ui / gui / psppire-var-store.h
index c22acbbefc95e9623cbe39d3984ba31e3c1e2296..e4c2ecd827c47fd9bc6747fddcb1d710357e157b 100644 (file)
@@ -1,11 +1,9 @@
-/* psppire-var-store.h
-   PSPPIRE --- A Graphical User Interface for PSPP
+/* PSPPIRE - a graphical user interface for PSPP.
    Copyright (C) 2006  Free Software Foundation
 
-   This program is free software; you can redistribute it and/or modify
+   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 2 of the License, or
+   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,
    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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 #ifndef __PSPPIRE_VAR_STORE_H__
 #define __PSPPIRE_VAR_STORE_H__
 
-#include <gtksheet/gsheetmodel.h>
 #include "psppire-dict.h"
 #include <gdk/gdk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
+/* PSPPIRE variable store format type, to determine whether a
+   PSPPIRE variable store contains variable input formats or
+   variable output formats.  */
+GType psppire_var_store_format_type_get_type (void);
+
+typedef enum
+  {
+    PSPPIRE_VAR_STORE_INPUT_FORMATS,
+    PSPPIRE_VAR_STORE_OUTPUT_FORMATS
+  }
+PsppireVarStoreFormatType;
+
+#define PSPPIRE_TYPE_VAR_STORE_FORMAT_TYPE \
+        (psppire_var_store_format_type_get_type ())
+
+/* PSPPIRE variable store. */
 #define GTK_TYPE_VAR_STORE            (psppire_var_store_get_type ())
 
 #define PSPPIRE_VAR_STORE(obj)        (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
@@ -49,16 +58,14 @@ extern "C" {
 typedef struct _PsppireVarStore       PsppireVarStore;
 typedef struct _PsppireVarStoreClass  PsppireVarStoreClass;
 
-struct dictionary;
-
 struct _PsppireVarStore
 {
   GObject parent;
 
   /*< private >*/
-  PsppireDict *dict;
+  PsppireDict *dictionary;
   GdkColor disabled;
-  const PangoFontDescription *font_desc;
+  PsppireVarStoreFormatType format_type;
 };
 
 struct _PsppireVarStoreClass
@@ -75,20 +82,29 @@ struct _PsppireVarStoreClass
 
 GType         psppire_var_store_get_type         (void) G_GNUC_CONST;
 PsppireVarStore *psppire_var_store_new              (PsppireDict *dict);
-struct variable * psppire_var_store_get_var (PsppireVarStore *store, gint row);
-
-void psppire_var_store_set_dictionary (PsppireVarStore *var_store, PsppireDict *dict);
-
+struct variable * psppire_var_store_get_var (PsppireVarStore *store, glong row);
 
 /* Return the number of variables */
 gint psppire_var_store_get_var_cnt (PsppireVarStore      *var_store);
 
-void psppire_var_store_set_font(PsppireVarStore *store, const PangoFontDescription *fd);
+void psppire_var_store_set_font (PsppireVarStore *store, const PangoFontDescription *fd);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
+enum {
+ PSPPIRE_VAR_STORE_COL_NAME,
+ PSPPIRE_VAR_STORE_COL_TYPE,
+ PSPPIRE_VAR_STORE_COL_WIDTH,
+ PSPPIRE_VAR_STORE_COL_DECIMALS,
+ PSPPIRE_VAR_STORE_COL_LABEL,
+ PSPPIRE_VAR_STORE_COL_VALUES,
+ PSPPIRE_VAR_STORE_COL_MISSING,
+ PSPPIRE_VAR_STORE_COL_COLUMNS,
+ PSPPIRE_VAR_STORE_COL_ALIGN,
+ PSPPIRE_VAR_STORE_COL_MEASURE,
+ PSPPIRE_VAR_STORE_n_COLS
+};
+
 #endif /* __PSPPIRE_VAR_STORE_H__ */