gint
symbol_db_engine_iterator_get_position (SymbolDBEngineIterator *dbi)
{
	SymbolDBEngineIteratorPriv *priv;
	
	g_return_val_if_fail (dbi != NULL, FALSE);
	priv = dbi->priv;
	
	return gda_data_model_iter_get_row (priv->data_iter);
}
Esempio n. 2
0
static void
dump_iter (GdaDataModelIter *iter)
{
	GdaSet *set;
	GSList *list;
	set = GDA_SET (iter);
	g_print ("Dump of GdaDataModelIter %p, @row %d\n", set, gda_data_model_iter_get_row (iter));
	for (list = set->holders; list; list = list->next) {
		GdaHolder *h = GDA_HOLDER (list->data);
		gchar *str;
		const GValue *cvalue;
		cvalue = gda_holder_get_value (h);
		str = gda_value_stringify (cvalue);
		g_print ("   [%s] type: %s value:[%s]\n", gda_holder_get_id (h),
			 gda_g_type_to_string (gda_holder_get_g_type (h)), str);
		g_free (str);
	}
}
Esempio n. 3
0
static void
selection_changed_cb (GdauiDataSelector *sel, UiFormGrid *formgrid)
{
	GdaDataModelIter *iter;
	GdauiDataSelector *tosel;
	gint row;
	if (sel == (GdauiDataSelector*) formgrid->priv->raw_grid)
		tosel = (GdauiDataSelector*) formgrid->priv->raw_form;
	else
		tosel = (GdauiDataSelector*) formgrid->priv->raw_grid;

	iter = gdaui_data_selector_get_data_set (sel);
	g_assert (iter);
	row = gda_data_model_iter_get_row (iter);
	/*g_print ("Moved %s to row %d\n", sel == (GdauiDataSelector*) formgrid->priv->raw_grid ? "grid" : "form", row);*/
	iter = gdaui_data_selector_get_data_set (tosel);
	if (iter) {
		g_signal_handlers_block_by_func (tosel, G_CALLBACK (selection_changed_cb), formgrid);
		gda_data_model_iter_move_to_row (iter, row >= 0 ? row : 0);
		g_signal_handlers_unblock_by_func (tosel, G_CALLBACK (selection_changed_cb), formgrid);
	}
}
Esempio n. 4
0
static gboolean
compare_iter (GdaDataModelIter *iter, gint exp_row, const gchar **col_ids, const gchar **col_types,
	      const gchar **col_values)
{
	
	GdaSet *set;
	GSList *list;
	gint i;
	set = GDA_SET (iter);

	if (gda_data_model_iter_get_row (iter) != exp_row) {
		g_print ("Iter is at wrong row: got %d and expected %d\n",
			 gda_data_model_iter_get_row (iter), exp_row);
		return FALSE;
	}

	if (!col_ids)
		return TRUE;

	for (i = 0, list = set->holders;
	     col_ids[i] && list;
	     i++, list = list->next) {
		GdaHolder *h = GDA_HOLDER (list->data);
		gchar *str;
		const GValue *cvalue;
		if (strcmp (col_ids[i], gda_holder_get_id (h))) {
			g_print ("Wrong column %d ID: got [%s] and expected [%s]\n", i,
				 gda_holder_get_id (h), col_ids[i]);
			return FALSE;
		}

		if (strcmp (col_types[i], gda_g_type_to_string (gda_holder_get_g_type (h)))) {
			g_print ("Wrong column %d type: got [%s] and expected [%s]\n", i,
				 gda_g_type_to_string (gda_holder_get_g_type (h)),
				 col_types[i]);
			return FALSE;
		}

		cvalue = gda_holder_get_value (h);
		str = gda_value_stringify (cvalue);
		if (strcmp (col_values[i], str)) {
			g_print ("Wrong column %d value: got [%s] and expected [%s]\n", i,
				 str, col_values[i]);
			g_free (str);
			return FALSE;
		}
		g_free (str);
	}

	if (col_ids[i]) {
		g_print ("Missing at least the [%s] column %d\n", col_ids[i], i);
		return FALSE;
	}

	if (list) {
		GdaHolder *h = GDA_HOLDER (list->data);
		g_print ("Too much columns, at least [%s] column %d\n",
			 gda_holder_get_id (h), i);
		return FALSE;
	}

	return TRUE;
}
Esempio n. 5
0
static void
basic_form_layout_changed (GdauiBasicForm *bform)
{
	GdauiRawForm *form = GDAUI_RAW_FORM (bform);
	iter_row_changed_cb (form->priv->iter, gda_data_model_iter_get_row (form->priv->iter), form);
}