static void gda_data_model_array_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GdaDataModelArray *model; g_return_if_fail (GDA_IS_DATA_MODEL_ARRAY (object)); model = GDA_DATA_MODEL_ARRAY (object); switch (prop_id) { case PROP_READ_ONLY: g_value_set_boolean (value, model->priv->read_only); break; case PROP_N_COLUMNS: g_value_set_uint (value, model->priv->number_of_columns); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void update_possible_operations (DemoData *data) { GdaServerOperationType type; GdaDataModel *model; model = gdaui_data_selector_get_model (GDAUI_DATA_SELECTOR (data->op_combo)); if (!model) { gint columns[] = {1}; model = gda_data_model_array_new_with_g_types (2, G_TYPE_INT, G_TYPE_STRING); gdaui_combo_set_model (GDAUI_COMBO (data->op_combo), model, 1, columns); } else gda_data_model_array_clear (GDA_DATA_MODEL_ARRAY (model)); for (type = 0; type < GDA_SERVER_OPERATION_LAST; type ++) if (gda_server_provider_supports_operation (get_provider_obj (data), NULL, type, NULL)) { gint row; row = gda_data_model_append_row (model, NULL); if (row < 0) g_error ("Cant' append data to a GdaDataModelArray"); else { GValue value; memset (&value, 0, sizeof (GValue)); g_value_init (&value, G_TYPE_INT); g_value_set_int (&value, type); gda_data_model_set_value_at (model, 0, row, &value, NULL); memset (&value, 0, sizeof (GValue)); g_value_init (&value, G_TYPE_STRING); g_value_set_string (&value, gda_server_operation_op_type_to_string (type)); gda_data_model_set_value_at (model, 1, row, &value, NULL); } } }
static gint gda_data_model_array_get_n_columns (GdaDataModel *model) { g_return_val_if_fail (GDA_IS_DATA_MODEL_ARRAY (model), -1); return GDA_DATA_MODEL_ARRAY (model)->priv->number_of_columns; }
/* * GdaDataModel interface */ static gint gda_data_model_array_get_n_rows (GdaDataModel *model) { g_return_val_if_fail (GDA_IS_DATA_MODEL_ARRAY (model), -1); return GDA_DATA_MODEL_ARRAY (model)->priv->rows->len; }