Top | ![]() |
![]() |
![]() |
![]() |
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 () |
gpointer | model | Read / Write / Construct Only |
gboolean | prepend-null-entry | Read / Write |
gpointer | proxy | Read |
#define | GDAUI_TYPE_DATA_STORE |
#define | DATA_STORE_COL_MODEL_N_COLUMNS |
#define | DATA_STORE_COL_MODEL_POINTER |
#define | DATA_STORE_COL_MODEL_ROW |
#define | DATA_STORE_COL_MODIFIED |
#define | DATA_STORE_COL_TO_DELETE |
struct | GdauiDataStoreClass |
GdauiDataStore |
The GdauiDataStore object implements the GtkTreeModel interface on top of a GdaDataModel to be able to display its contents
in a GtkTreeView (however you should not directly a GdauiTreeStore with a GtkTreeView but use
a GdauiRauGrid or GdauiGrid instead, see explanatione below). You should probably not have to create you own
GdauiDataStore, but use the ones returned by gtk_tree_view_get_model()
(on a GdauiRawGrid).
The values returned by gtk_tree_model_get()
are pointers to GValue which do actually contain the values (i.e.
gtk_tree_model_get()
does not return strings, integers, or booleans directly). The returned values are the same as returned
by gda_data_model_get_value_at()
or similar functions (i.e. there can be NULL values, or errors).
Here is for example a correct way to use the GdauiDataStore object (assuming for example that column 0 is supposed to hold a string):
GMainContext *context; GdauiDataStore *store; GtkTreeIter iter; store = ... if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) { GValue *value; gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &value, -1); if (value == NULL) { // an error occured while getting the value, see gda_data_model_get() for details } else if (G_VALUE_HOLDS (value, G_TYPE_STRING)) { gchar *str; str = g_value_get_string (value); ... } else if (GDA_VALUE_HOLDS_NULL (value)) { ... } else { // this should not happen if column 0 is supposed to hold a string g_assert_not_reached (); } }
GtkTreeModel *
gdaui_data_store_new (GdaDataModel *model
);
Creates a GtkTreeModel interface with a GdaDataModel
Since: 4.2
GdaDataProxy *
gdaui_data_store_get_proxy (GdauiDataStore *store
);
Since: 4.2
gint gdaui_data_store_get_row_from_iter (GdauiDataStore *store
,GtkTreeIter *iter
);
Get the number of the row represented by iter
Since: 4.2
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
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 |
Since: 4.2
gboolean gdaui_data_store_set_value (GdauiDataStore *store
,GtkTreeIter *iter
,gint col
,const GValue *value
);
Stores a value in the store
data model.
store |
a GdauiDataStore object |
|
iter |
the considered row |
|
col |
the data model column |
|
value |
the value to store (gets copied) |
Since: 4.2
void gdaui_data_store_delete (GdauiDataStore *store
,GtkTreeIter *iter
);
Marks the row pointed by iter
to be deleted
Since: 4.2
void gdaui_data_store_undelete (GdauiDataStore *store
,GtkTreeIter *iter
);
Remove the "to be deleted" mark the row pointed by iter
, if it existed.
Since: 4.2
gboolean gdaui_data_store_append (GdauiDataStore *store
,GtkTreeIter *iter
);
Appends a new row.
Since: 4.2
#define DATA_STORE_COL_MODEL_N_COLUMNS GDAUI_DATA_STORE_COL_MODEL_N_COLUMNS
#define DATA_STORE_COL_MODEL_POINTER GDAUI_DATA_STORE_COL_MODEL_POINTER
struct GdauiDataStoreClass { GObjectClass parent_class; gpointer padding[12]; };