treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / ui / gui / psppire-dict.h
index 1bf8bd3523b849aac1c2918f2794895c088714af..76c3aa42e88a195f9528720e41d80c11cbf49c47 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2004  Free Software Foundation
+   Copyright (C) 2004, 2009, 2011  Free Software Foundation
 
    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
@@ -30,26 +30,40 @@ G_BEGIN_DECLS
 
 
 /* --- type macros --- */
-#define G_TYPE_PSPPIRE_DICT              (psppire_dict_get_type ())
-#define PSPPIRE_DICT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_PSPPIRE_DICT, PsppireDict))
-#define PSPPIRE_DICT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_PSPPIRE_DICT, PsppireDictClass))
-#define PSPPIRE_IS_DICT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_PSPPIRE_DICT))
-#define PSPPIRE_IS_DICT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), G_TYPE_PSPPIRE_DICT))
-#define PSPPIRE_DICT_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_PSPPIRE_DICT, PsppireDictClass))
-
+#define PSPPIRE_TYPE_DICT              (psppire_dict_get_type ())
+#define PSPPIRE_DICT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PSPPIRE_TYPE_DICT, PsppireDict))
+#define PSPPIRE_DICT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_TYPE_DICT, PsppireDictClass))
+#define PSPPIRE_IS_DICT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PSPPIRE_TYPE_DICT))
+#define PSPPIRE_IS_DICT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_TYPE_DICT))
+#define PSPPIRE_DICT_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), PSPPIRE_TYPE_DICT, PsppireDictClass))
 
 
 /* --- typedefs & structures --- */
 typedef struct _PsppireDict       PsppireDict;
 typedef struct _PsppireDictClass PsppireDictClass;
 
-enum {DICT_TVM_COL_NAME=0, DICT_TVM_COL_VAR, n_DICT_COLS} ;
+enum {DICT_TVM_COL_NAME=0,
+      DICT_TVM_COL_TYPE,
+      DICT_TVM_COL_WIDTH,
+      DICT_TVM_COL_DECIMAL,
+      DICT_TVM_COL_LABEL,
+      DICT_TVM_COL_VALUE_LABELS,
+      DICT_TVM_COL_MISSING_VALUES,
+      DICT_TVM_COL_COLUMNS,
+      DICT_TVM_COL_ALIGNMENT,
+      DICT_TVM_COL_MEASURE,
+      DICT_TVM_COL_ROLE,
+      DICT_TVM_COL_VAR,
+      n_DICT_COLS} ;
 
 struct _PsppireDict
 {
   GObject             parent;
-  struct dictionary *dict;
+  struct dictionary   *dict;
+
+  gboolean dispose_has_run;
 
+  gboolean disable_insert_signal;
   /* For GtkTreeModelIface */
   gint stamp;
 };
@@ -67,10 +81,13 @@ gboolean       psppire_dict_set_name (PsppireDict* s, gint idx, const gchar *nam
 void           psppire_dict_delete_var (PsppireDict *s, gint idx);
 
 /* Return the number of variables in the dictionary */
-gint psppire_dict_get_var_cnt (const PsppireDict *d);
+gint psppire_dict_get_n_vars (const PsppireDict *d);
 
 /* Return the number of `union value's in the dictionary */
-size_t psppire_dict_get_value_cnt (const PsppireDict *d);
+size_t psppire_dict_get_n_values (const PsppireDict *d);
+
+/* Returns the prototype for the cases that match the dictionary */
+const struct caseproto *psppire_dict_get_proto (const PsppireDict *d);
 
 /* Return a variable by name.
    Return NULL if it doesn't exist
@@ -87,15 +104,14 @@ struct variable * psppire_dict_get_variable (const PsppireDict *d, gint idx);
 void psppire_dict_delete_variables (PsppireDict *d, gint first, gint n);
 
 /* Insert a new variable at posn IDX */
-void psppire_dict_insert_variable (PsppireDict *d, gint idx, const gchar *name);
-
-void psppire_dict_resize_variable (PsppireDict *,
-                                 const struct variable *,
-                                 gint, gint );
+struct variable *psppire_dict_insert_variable (PsppireDict *d, gint idx,
+                                               const gchar *name);
 
 gboolean psppire_dict_check_name (const PsppireDict *dict,
                              const gchar *name, gboolean report);
 
+bool psppire_dict_generate_name (const PsppireDict *, char *name, size_t size);
+
 gint psppire_dict_get_next_value_idx (const PsppireDict *dict);
 
 gboolean psppire_dict_rename_var (PsppireDict *dict, struct variable *v,
@@ -105,9 +121,7 @@ void psppire_dict_replace_dictionary (PsppireDict *, struct dictionary *);
 
 struct variable * psppire_dict_get_weight_variable (const PsppireDict *);
 
-#if DEBUGGING
-void psppire_dict_dump (const PsppireDict *);
-#endif
+const gchar *psppire_dict_encoding (const PsppireDict *);
 
 G_END_DECLS