## GOData GOData |

## Synopsis

                        GOData;
    GODateConventions const * go_data_date_conv             (GOData const *dat);
    GOData *            go_data_dup                         (GOData const *src);
    void                go_data_emit_changed                (GOData *dat);
    gboolean            go_data_eq                          (GOData const *a,
                                                             GOData const *b);
    void                go_data_get_bounds                  (GOData *data,
                                                             double *minimum,
                                                             double *maximum);
    PangoAttrList *     go_data_get_matrix_markup           (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);
    void                go_data_get_matrix_size             (GOData *data,
                                                             unsigned int *n_rows,
                                                             unsigned int *n_columns);
    char *              go_data_get_matrix_string           (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);
    double              go_data_get_matrix_value            (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);
    unsigned int        go_data_get_n_dimensions            (GOData *data);
    unsigned int        go_data_get_n_values                (GOData *data);
    PangoAttrList *     go_data_get_scalar_markup           (GOData *data);
    char *              go_data_get_scalar_string           (GOData *data);
    double              go_data_get_scalar_value            (GOData *data);
    double *            go_data_get_values                  (GOData *data);
    PangoAttrList *     go_data_get_vector_markup           (GOData *data,
                                                             unsigned int column);
    unsigned int        go_data_get_vector_size             (GOData *data);
    char *              go_data_get_vector_string           (GOData *data,
                                                             unsigned int column);
    double              go_data_get_vector_value            (GOData *data,
                                                             unsigned int column);
    gboolean            go_data_is_decreasing               (GOData *data);
    gboolean            go_data_is_increasing               (GOData *data);
    gboolean            go_data_is_valid                    (GOData const *dat);
    gboolean            go_data_is_varying_uniformly        (GOData *data);
    GOFormat const *    go_data_preferred_fmt               (GOData const *dat);
    char *              go_data_serialize                   (GOData const *dat,
                                                             gpointer user);
    gboolean            go_data_unserialize                 (GOData *dat,
                                                             char const *str,
                                                             gpointer user);

## Object Hierarchy

      GObject
       +----GOData
             +----GODataMatrix
             +----GODataScalar
             +----GODataVector

## Signals

      "changed"                                        : Run Last

## Description

## Details

### GOData

    typedef struct _GOData GOData;

### go_data_date_conv ()

    GODateConventions const * go_data_date_conv             (GOData const *dat);

`dat` : | GOData
Returns : | the date conventions used by the data, or NULL if not determined.

### go_data_dup ()

    GOData *            go_data_dup                         (GOData const *src);

`src` : | GOData
Returns : | A deep copy of `src`. [transfer full]

### go_data_emit_changed ()

    void                go_data_emit_changed                (GOData *dat);

protected utility to emit a 'changed' signal

`dat` : | GOData

### go_data_eq ()

    gboolean            go_data_eq                          (GOData const *a,
                                                             GOData const *b);

`a` : | GOData
`b` : | GOData
Returns : | TRUE if `a` and `b` are the same

### go_data_get_bounds ()

    void                go_data_get_bounds                  (GOData *data,
                                                             double *minimum,
                                                             double *maximum);

### go_data_get_matrix_markup ()

    PangoAttrList *     go_data_get_matrix_markup           (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);

### go_data_get_matrix_size ()

    void                go_data_get_matrix_size             (GOData *data,
                                                             unsigned int *n_rows,
                                                             unsigned int *n_columns);

### go_data_get_matrix_string ()

    char *              go_data_get_matrix_string           (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);

### go_data_get_matrix_value ()

    double              go_data_get_matrix_value            (GOData *data,
                                                             unsigned int row,
                                                             unsigned int column);

### go_data_get_n_dimensions ()

    unsigned int        go_data_get_n_dimensions            (GOData *data);

### go_data_get_n_values ()

    unsigned int        go_data_get_n_values                (GOData *data);

### go_data_get_scalar_markup ()

    PangoAttrList *     go_data_get_scalar_markup           (GOData *data);

### go_data_get_scalar_string ()

    char *              go_data_get_scalar_string           (GOData *data);

### go_data_get_scalar_value ()

    double              go_data_get_scalar_value            (GOData *data);

### go_data_get_values ()

    double *            go_data_get_values                  (GOData *data);

### go_data_get_vector_markup ()

    PangoAttrList *     go_data_get_vector_markup           (GOData *data,
                                                             unsigned int column);

### go_data_get_vector_size ()

    unsigned int        go_data_get_vector_size             (GOData *data);

### go_data_get_vector_string ()

    char *              go_data_get_vector_string           (GOData *data,
                                                             unsigned int column);

### go_data_get_vector_value ()

    double              go_data_get_vector_value            (GOData *data,
                                                             unsigned int column);

### go_data_is_decreasing ()

    gboolean            go_data_is_decreasing               (GOData *data);

### go_data_is_increasing ()

    gboolean            go_data_is_increasing               (GOData *data);

### go_data_is_valid ()

    gboolean            go_data_is_valid                    (GOData const *dat);

### go_data_is_varying_uniformly ()

    gboolean            go_data_is_varying_uniformly        (GOData *data);

### go_data_preferred_fmt ()

    GOFormat const *    go_data_preferred_fmt               (GOData const *dat);

Caller is responsible for unrefing the result.

`dat` : | GOData
Returns : | the fmt preferred by the the data

### go_data_serialize ()

    char *              go_data_serialize                   (GOData const *dat,
                                                             gpointer user);

NOTE : This is the _source_ not the content. (I.e., this refers to the expression, not its current value.)

`dat` : | GOData
`user` : | a gpointer describing the context.
Returns : | a string representation of the data source that the caller is responsible for freeing

### go_data_unserialize ()

    gboolean            go_data_unserialize                 (GOData *dat,
                                                             char const *str,
                                                             gpointer user);

De-serializes the source information returned from go_data_serialize.

`dat` : | GOData
`str` : | string to parse
`user` : | a gpointer describing the context.
Returns : | `FALSE` on error.

## Signal Details

### The `"changed"` signal

    void                user_function                      (GOData  *godata,
                                                            gpointer user_data)      : Run Last

`godata` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.