Merge commit 'origin/stable'
[pspp-builds.git] / src / ui / gui / psppire-var-store.h
index 7a4eee8e3b4b3ab2402567634de09ce9a8d88364..4cda0159bf0e776f4601f1e1b126b3ed211d11f2 100644 (file)
@@ -1,12 +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
-   Written by John Darrington
 
-   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), \
@@ -50,8 +58,6 @@ extern "C" {
 typedef struct _PsppireVarStore       PsppireVarStore;
 typedef struct _PsppireVarStoreClass  PsppireVarStoreClass;
 
-struct dictionary;
-
 struct _PsppireVarStore
 {
   GObject parent;
@@ -59,7 +65,7 @@ struct _PsppireVarStore
   /*< private >*/
   PsppireDict *dict;
   GdkColor disabled;
-  PangoFontDescription *font_desc;
+  PsppireVarStoreFormatType format_type;
 };
 
 struct _PsppireVarStoreClass
@@ -76,22 +82,32 @@ 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);
-struct PsppireVariable * psppire_var_store_get_variable(PsppireVarStore *store, 
-                                                 gint row);
+struct variable * psppire_var_store_get_var (PsppireVarStore *store, glong row);
 
-void psppire_var_store_set_dictionary(PsppireVarStore *var_store, PsppireDict *dict);
+void psppire_var_store_set_dictionary (PsppireVarStore *var_store, PsppireDict *dict);
 
 
 /* Return the number of variables */
-gint psppire_var_store_get_var_cnt(PsppireVarStore      *var_store);
+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, PangoFontDescription *fd);
 
+G_END_DECLS
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
 
+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__ */