New function psppire_var_view_contains_var
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 13 Dec 2009 14:50:09 +0000 (15:50 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 13 Dec 2009 14:50:09 +0000 (15:50 +0100)
Added a function to test whether a variable is currently
contained within a PsppireVarView widget.

src/ui/gui/psppire-var-view.c
src/ui/gui/psppire-var-view.h

index 97a5aec1d2a102c1a91e47689d9cecac3769c60c..2a9ebf2e33a7c7a9a65e4d54338e8afb98a1167a 100644 (file)
@@ -201,7 +201,6 @@ psppire_var_view_class_init (PsppireVarViewClass *class)
   g_object_class_install_property (object_class,
                                    PROP_N_COLS,
                                    n_cols_spec);
-
 }
 
 
@@ -292,4 +291,26 @@ psppire_var_view_append_names (PsppireVarView *vv, gint column, GString *string)
   return n_vars;
 }
 
+/* Returns TRUE iff VV contains the item V.
+   V must be an initialised value containing a
+   PSPPIRE_VAR_PTR_TYPE.
+*/
+gboolean
+psppire_var_view_contains_var (PsppireVarView *vv, const GValue *v)
+{
+  gboolean ok;
+  GtkTreeIter iter;
+  g_return_val_if_fail (G_VALUE_HOLDS (v, PSPPIRE_VAR_PTR_TYPE), FALSE);
+
+  for (ok = psppire_var_view_get_iter_first (vv, &iter);
+       ok;
+       ok = psppire_var_view_get_iter_next (vv, &iter))
+    {
+      const struct variable *var = psppire_var_view_get_variable (vv, 0, &iter);
+      if (var == g_value_get_boxed (v))
+       return TRUE;
+    }
+
+  return FALSE;
+}
 
index f2696072a9a70f2c426373a37cb8d4d66d61afbf..3509a46b09f4098a34c70a7b3b4839daeaecc5e5 100644 (file)
@@ -58,9 +58,14 @@ struct _PsppireVarViewClass
 
 GType      psppire_var_view_get_type        (void);
 
+gboolean psppire_var_view_contains_var (PsppireVarView *vv, const GValue *v);
+
 gint psppire_var_view_append_names (PsppireVarView *vv, gint column, GString *string);
+
 gboolean psppire_var_view_get_iter_first (PsppireVarView *vv, GtkTreeIter *iter);
+
 gboolean psppire_var_view_get_iter_next (PsppireVarView *vv, GtkTreeIter *iter);
+
 const struct variable * psppire_var_view_get_variable (PsppireVarView *vv, gint column, GtkTreeIter *iter);