From ab5085800c0264d9ab645c69c18bb39b2b3fb32b Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sun, 28 Mar 2021 20:39:17 +0200 Subject: [PATCH] Added function Grid::get_column_by_field_name. --- src/grid.c | 35 +++++++++++++++++++++++++++++++++++ src/grid.h | 2 ++ 2 files changed, 37 insertions(+) diff --git a/src/grid.c b/src/grid.c index e069bbe..eaeda43 100644 --- a/src/grid.c +++ b/src/grid.c @@ -457,6 +457,41 @@ gdaex_grid_add_columns (GdaExGrid *grid, GSList *columns) } } +/** + * gdaex_grid_get_column_by_field_name: + * @grid: + * @field_name: + * + * Returns: the #GdaExGridColumn with the specified @field_name. + */ +GdaExGridColumn +*gdaex_grid_get_column_by_field_name (GdaExGrid *grid, const gchar *field_name) + +{ + GdaExGridPrivate *priv; + + GdaExGridColumn *gcol; + + guint col; + + g_return_val_if_fail (GDAEX_IS_GRID (grid), NULL); + + priv = gdaex_grid_get_instance_private (grid); + + gcol = NULL; + + for (col = 0; priv->columns->len; col++) + { + if (g_strcmp0 (gdaex_grid_column_get_field_name ((GdaExGridColumn *)g_ptr_array_index (priv->columns, col)), field_name) == 0) + { + gcol = (GdaExGridColumn *)g_ptr_array_index (priv->columns, col); + break; + } + } + + return gcol; +} + /** * gdaex_grid_clear: * @grid: a #GdaExGrid object. diff --git a/src/grid.h b/src/grid.h index 09bdcc8..2dcf438 100644 --- a/src/grid.h +++ b/src/grid.h @@ -71,6 +71,8 @@ const gchar *gdaex_grid_get_title (GdaExGrid *grid); void gdaex_grid_add_column (GdaExGrid *grid, GdaExGridColumn *column); void gdaex_grid_add_columns (GdaExGrid *grid, GSList *columns); +GdaExGridColumn *gdaex_grid_get_column_by_field_name (GdaExGrid *grid, const gchar *field_name); + void gdaex_grid_clear (GdaExGrid *grid); GtkWidget *gdaex_grid_get_widget (GdaExGrid *grid); -- 2.49.0