From f7e685da74b88138b6388464442f7a9b6289d31c Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Wed, 9 Aug 2017 15:45:35 +0200 Subject: [PATCH] Added function ZakForm::get_element_idx_by_id. --- src/form.c | 33 +++++++++++++++++++++++++++++++++ src/form.h | 1 + 2 files changed, 34 insertions(+) diff --git a/src/form.c b/src/form.c index bc3000b..2ca0809 100644 --- a/src/form.c +++ b/src/form.c @@ -390,6 +390,39 @@ ZakFormElement return ret; } +/** + * zak_form_form_get_element_idx_by_id: + * @zakform: + * @id: + * + * Returns: the index of the #ZakFormElement with id @id. + */ +guint +zak_form_form_get_element_idx_by_id (ZakFormForm *zakform, const gchar *id) +{ + guint ret; + + ZakFormFormPrivate *priv; + + guint i; + + priv = zak_form_form_get_instance_private (zakform); + + ret = -1; + for (i = 0; i < priv->ar_elements->len; i++) + { + ZakFormElement *element = (ZakFormElement *)g_ptr_array_index (priv->ar_elements, i); + + if (g_strcmp0 (zak_form_element_get_name (element), id) == 0) + { + ret = i; + break; + } + } + + return ret; +} + /** * zak_form_form_get_elements: * @zakform: diff --git a/src/form.h b/src/form.h index f860fa7..e141b5f 100644 --- a/src/form.h +++ b/src/form.h @@ -52,6 +52,7 @@ gboolean zak_form_form_add_element (ZakFormForm *zakform, ZakFormElement *elemen gboolean zak_form_form_remove_element (ZakFormForm *zakform, ZakFormElement *element); gboolean zak_form_form_remove_element_by_id (ZakFormForm *zakform, const gchar *id); ZakFormElement *zak_form_form_get_element_by_id (ZakFormForm *zakform, const gchar *id); +guint zak_form_form_get_element_idx_by_id (ZakFormForm *zakform, const gchar *id); GPtrArray *zak_form_form_get_elements (ZakFormForm *zakform); GPtrArray *zak_form_form_get_elements_by_type (ZakFormForm *zakform, GType type); -- 2.49.0