Added the new "about-logo"
[pspp] / src / data / variable.h
index aef0d87c5ba78f6420fc1a0d2f637ec599ff1838..a62902882f9fdb1e058dc902dd8b2ebeee124cb1 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
 
    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
 #include "data/missing-values.h"
 #include "data/val-type.h"
 
+/* Bitfields to identify traits of a variable */
+
+#define VAR_TRAIT_NAME             0x0001
+#define VAR_TRAIT_WIDTH            0x0002
+/* Available for reuse: 0x0004 */
+#define VAR_TRAIT_LABEL            0x0008
+#define VAR_TRAIT_VALUE_LABELS     0x0010
+#define VAR_TRAIT_MISSING_VALUES   0x0020
+#define VAR_TRAIT_ALIGNMENT        0x0040
+#define VAR_TRAIT_MEASURE          0x0080
+#define VAR_TRAIT_DISPLAY_WIDTH    0x0100
+#define VAR_TRAIT_LEAVE            0x0200
+#define VAR_TRAIT_POSITION         0x0400
+#define VAR_TRAIT_ATTRIBUTES       0x0800
+#define VAR_TRAIT_PRINT_FORMAT     0x1000
+#define VAR_TRAIT_WRITE_FORMAT     0x2000
+
+
 union value;
 
 /* Variables.
@@ -46,10 +64,14 @@ unsigned hash_var_ptr_by_name (const void *, const void *);
 
 int compare_var_ptrs_by_dict_index (const void *, const void *, const void *);
 
+struct fmt_spec;
+
 /* Types and widths of values associated with a variable. */
 enum val_type var_get_type (const struct variable *);
 int var_get_width (const struct variable *);
 void var_set_width (struct variable *, int width);
+void var_set_width_and_formats (struct variable *v, int new_width,
+                               const struct fmt_spec *print, const struct fmt_spec *write);
 
 bool var_is_numeric (const struct variable *);
 bool var_is_alpha (const struct variable *);