## GdauiDataStore

GdauiDataStore — Bridge between a GdaDataModel and a GtkTreeModel

## Stability Level

Stable, unless otherwise indicated

## Functions

GtkTreeModel * | gdaui_data_store_new ()
GdaDataProxy * | gdaui_data_store_get_proxy ()
gint | gdaui_data_store_get_row_from_iter ()
gboolean | gdaui_data_store_get_iter_from_values ()
gboolean | gdaui_data_store_set_value ()
void | gdaui_data_store_delete ()
void | gdaui_data_store_undelete ()
gboolean | gdaui_data_store_append ()

## Types and Values

struct | GdauiDataStore

## Description

The GdauiDataStore object implements the GtkTreeModel interface on top of a GdaDataModel to be able to display its contents in a GtkTreeView.

## Functions

### gdaui_data_store_new ()

    GtkTreeModel *
    gdaui_data_store_new (GdaDataModel *model);

Creates a GtkTreeModel interface with a GdaDataModel

#### Parameters

model | a GdaDataModel object |

#### Returns

the new object.

[transfer full]

Since: 4.2

### gdaui_data_store_get_proxy ()

    GdaDataProxy *
    gdaui_data_store_get_proxy (GdauiDataStore *store);

#### Parameters

store | a GdauiDataStore object |

#### Returns

the internal GdaDataProxy being used by `store` .

[transfer none]

Since: 4.2

### gdaui_data_store_get_row_from_iter ()

    gint
    gdaui_data_store_get_row_from_iter (GdauiDataStore *store,
                                        GtkTreeIter *iter);

Get the number of the row represented by `iter`

#### Parameters

store | a GdauiDataStore object |
iter | a valid GtkTreeIter |

#### Returns

the row number, or -1 if an error occurred

Since: 4.2

### gdaui_data_store_get_iter_from_values ()

    gboolean
    gdaui_data_store_get_iter_from_values (GdauiDataStore *store,
                                           GtkTreeIter *iter,
                                           GSList *values,
                                           gint *cols_index);

Sets `iter` to the first row where all the values in `values` at the columns identified at `cols_index` match. If the row can't be identified, then the contents of `iter` is not modified.

NOTE: the `cols_index` array MUST contain a column index for each value in `values`

#### Parameters

store | a GdauiDataStore object |
iter | an unset GtkTreeIter to set to the requested row. | [out]
values | a list of GValue values. | [element-type GValue]
cols_index | an array of gint containing the column number to match each value of `values` |

#### Returns

`TRUE` if the row has been identified `iter` was set

Since: 4.2

### gdaui_data_store_set_value ()

    gboolean
    gdaui_data_store_set_value (GdauiDataStore *store,
                                GtkTreeIter *iter,
                                gint col,
                                const GValue *value);

Stores a value in the `store` data model.

#### Parameters

store | a GdauiDataStore object |
iter | the considered row |
col | the data model column |
value | the value to store (gets copied) |

#### Returns

`TRUE` on success

Since: 4.2

### gdaui_data_store_delete ()

    void
    gdaui_data_store_delete (GdauiDataStore *store,
                             GtkTreeIter *iter);

Marks the row pointed by `iter` to be deleted

#### Parameters

store | a GdauiDataStore object |
iter | the considered row |

Since: 4.2

### gdaui_data_store_undelete ()

    void
    gdaui_data_store_undelete (GdauiDataStore *store,
                               GtkTreeIter *iter);

Remove the "to be deleted" mark the row pointed by `iter` , if it existed.

#### Parameters

store | a GdauiDataStore object |
iter | the considered row |

Since: 4.2

### gdaui_data_store_append ()

    gboolean
    gdaui_data_store_append (GdauiDataStore *store,
                             GtkTreeIter *iter);

Appends a new row.

#### Parameters

store | a GdauiDataStore object |
iter | an unset GtkTreeIter to set to the appended row |

#### Returns

`TRUE` if no error occurred

Since: 4.2

## Types and Values

### struct GdauiDataStore

    struct GdauiDataStore {
    	GObject                object;

    	GdauiDataStorePriv  *priv;
    };