## 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 ()

## Properties

gpointer | model | Read / Write / Construct Only
gboolean | prepend-null-entry | Read / Write
gpointer | proxy | Read

## Types and Values

struct | GdauiDataStore

## Object Hierarchy

        GObject
        ╰── GdauiDataStore

## Implemented Interfaces

GdauiDataStore implements GtkTreeModel.

## Includes

    #include <libgda/thread-wrapper/gda-thread-wrapper.h>

## 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;

## Property Details

### The `“model”` property

      “model”                    gpointer

Flags: Read / Write / Construct Only

### The `“prepend-null-entry”` property

      “prepend-null-entry”       gboolean

Flags: Read / Write

Default value: FALSE

### The `“proxy”` property

      “proxy”                    gpointer

Flags: Read