## GcrColumn

GcrColumn — Column information for selector or model.

## Synopsis

                        GcrColumn;
    enum                GcrColumnFlags;

## Description

A GcrColumn is used with GcrTreeSelector or GcrCollectionModel to define the columns to display.

## Details

### GcrColumn

    typedef struct {
    	const gchar *property_name;     /* The property to retrieve */
    	GType property_type;            /* The property type */
    	GType column_type;              /* The resulting property type for this column */

    	const gchar *label;             /* The label for this column, or NULL */
    	GcrColumnFlags flags;           /* Column flags */

    	GValueTransform transformer;    /* The way to transform to this type or NULL */

    	gpointer user_data;
    } GcrColumn;

Represents a column to display in a GcrCollectionModel or GcrTreeSelector.

The label should be set as a translatable string with a context of `"column"`. This should be done with with this macro:

    1

    NC_("column", "My Column Name")

const gchar *`property_name`; | The name of the property this column will display
GType `property_type`; | The type of the property
GType `column_type`; | The eventual type of the column
const gchar *`label`; | The display label for the column
GcrColumnFlags `flags`; | Flags from GcrColumnFlags
GValueTransform `transformer`; | A transformer function used to convert the value from the property type to the column type. Can be `NULL` if the types are the same.
gpointer `user_data`; | User data associated with the column

### enum GcrColumnFlags

    typedef enum {
    	GCR_COLUMN_NONE = 0,
    	GCR_COLUMN_HIDDEN = 1 << 1,
    	GCR_COLUMN_SORTABLE = 1 << 2,
    } GcrColumnFlags;

Flags to be used with GcrColumn

`GCR_COLUMN_NONE` | No column flags
`GCR_COLUMN_HIDDEN` | Don't display this column.
`GCR_COLUMN_SORTABLE` | This column is sortable.