Added callback for when the weights on a dictionary change.
[pspp-builds.git] / src / data / dictionary.h
index 37eb1192ba7dc3adede0c31d9d29bade91bc0cd9..3b1ea56eef5392f90779591c8b551ce0f1ac9e3f 100644 (file)
@@ -1,6 +1,5 @@
 /* PSPP - computes sample statistics.
    Copyright (C) 2004 Free Software Foundation, Inc.
-   Written by Ben Pfaff <blp@gnu.org>.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
 #include <stdbool.h>
 #include <stddef.h>
 
-/* Dictionary. */ 
+/* Dictionary. */
 
 struct variable;
+struct dictionary;
+
+struct dict_callbacks
+ {
+  void (*var_added) (struct dictionary *, int, void *);
+  void (*var_deleted) (struct dictionary *, int, void *);
+  void (*var_changed) (struct dictionary *, int, void *);
+  void (*weight_changed) (struct dictionary *, int, void *);
+ };
+
+
 struct dictionary *dict_create (void);
 struct dictionary *dict_clone (const struct dictionary *);
+void dict_set_callbacks (struct dictionary *, const struct dict_callbacks *,
+                        void *);
+void dict_copy_callbacks (struct dictionary *, const struct dictionary *);
+
+
 void dict_clear (struct dictionary *);
 void dict_clear_aux (struct dictionary *);
 void dict_destroy (struct dictionary *);
@@ -116,4 +131,8 @@ void dict_clear_vectors (struct dictionary *);
 
 void dict_assign_short_names (struct dictionary *);
 
+/* Called only from variable.c */
+void dict_var_changed (const struct variable *v);
+
+
 #endif /* dictionary.h */