From 6c10f4a4e06686c289633de55d5234e15712b733 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 7 Sep 2019 15:07:19 +0200 Subject: [PATCH] Added ZakFormCgiElement::set_id. --- src/formelement.c | 27 +++++++++++++++++++++++++++ src/formelement.h | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/formelement.c b/src/formelement.c index a7858dc..218bad7 100644 --- a/src/formelement.c +++ b/src/formelement.c @@ -111,6 +111,33 @@ gchar return g_strdup (priv->id); } +void +zak_form_cgi_form_element_set_id (ZakFormCgiFormElement *element, const gchar *id) +{ + gchar *_id; + + ZakFormCgiFormElementPrivate *priv; + + g_return_if_fail (id != NULL); + + _id = g_strdup (id); + g_strstrip (_id); + + g_return_if_fail (g_strcmp0 (_id, "") != 0); + + priv = ZAK_FORM_CGI_FORM_ELEMENT_GET_PRIVATE (element); + + if (priv->id != NULL) + { + g_free (priv->id); + } + + priv->id = g_strdup (_id); + g_hash_table_replace (priv->ht_label_attrs, "for", g_strdup (priv->id)); + + g_free (_id); +} + /** * zak_form_cgi_form_element_set_label: * @element: diff --git a/src/formelement.h b/src/formelement.h index 7908571..a3d322f 100644 --- a/src/formelement.h +++ b/src/formelement.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2017 Andrea Zagli + * Copyright (C) 2015-2019 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -47,6 +47,7 @@ struct _ZakFormCgiFormElementClass gchar *zak_form_cgi_form_element_get_id (ZakFormCgiFormElement *element); +void zak_form_cgi_form_element_set_id (ZakFormCgiFormElement *element, const gchar *id); void zak_form_cgi_form_element_set_label (ZakFormCgiFormElement *element, const gchar *label, ...); -- 2.49.0