pspp-sheet-view: Fix bug that omitted bottom of cell grid lines.
[pspp] / src / data / variable.h
index aeed5a5e09e14e63e5c2ff73d70009c8b0a0c8c7..a62902882f9fdb1e058dc902dd8b2ebeee124cb1 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000, 2009, 2010, 2011 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 *);
@@ -157,14 +179,6 @@ void var_clear_short_names (struct variable *);
 size_t var_get_dict_index (const struct variable *);
 size_t var_get_case_index (const struct variable *);
 
-/* Variable auxiliary data. */
-void *var_get_aux (const struct variable *);
-void *var_attach_aux (const struct variable *,
-                      void *aux, void (*aux_dtor) (struct variable *));
-void var_clear_aux (struct variable *);
-void *var_detach_aux (struct variable *);
-void var_dtor_free (struct variable *);
-
 /* Custom attributes. */
 struct attrset *var_get_attributes (const struct variable *);
 void var_set_attributes (struct variable *, const struct attrset *);