From 236e5d58fb879e25dee03aba17a9016ca5b4f147 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Mon, 2 Nov 2015 21:41:40 +0100 Subject: [PATCH] Added functions ZakFormForm::clear and ZakFormElement::clear. --- src/form.c | 24 ++++++++++++++++++++++++ src/form.h | 2 ++ src/formelement.c | 15 +++++++++++++++ src/formelement.h | 2 ++ 4 files changed, 43 insertions(+) diff --git a/src/form.c b/src/form.c index 4ab5f9d..c66d673 100644 --- a/src/form.c +++ b/src/form.c @@ -89,6 +89,30 @@ zak_form_form_add_element (ZakFormForm *zakform, ZakFormElement *element) return ret; } +/** + * zak_form_form_clear: + * @zakform: a #ZakFormForm object. + * + */ +void +zak_form_form_clear (ZakFormForm *zakform) +{ + guint i; + + ZakFormFormPrivate *priv; + + g_return_if_fail (ZAK_FORM_IS_FORM (zakform)); + + priv = zak_form_form_get_instance_private (zakform); + + for (i = 0; i < priv->ar_elements->len; i++) + { + ZakFormElement *element = (ZakFormElement *)g_ptr_array_index (priv->ar_elements, i); + + zak_form_element_clear (element); + } +} + /** * zak_form_form_is_valid: * @zakform: diff --git a/src/form.h b/src/form.h index c06f6be..f1179b6 100644 --- a/src/form.h +++ b/src/form.h @@ -41,6 +41,8 @@ struct _ZakFormFormClass gboolean zak_form_form_add_element (ZakFormForm *zakform, ZakFormElement *element); +void zak_form_form_clear (ZakFormForm *zakform); + gboolean zak_form_form_is_valid (ZakFormForm *zakform); diff --git a/src/formelement.c b/src/formelement.c index fe688a0..93d6e82 100644 --- a/src/formelement.c +++ b/src/formelement.c @@ -223,6 +223,21 @@ gchar return g_strdup (priv->default_value); } +/** + * zak_form_element_clear: + * @element: + * + */ +void +zak_form_element_clear (ZakFormElement *element) +{ + ZakFormElementPrivate *priv; + + priv = zak_form_element_get_instance_private (element); + + zak_form_element_set_value (element, priv->default_value); +} + /** * zak_form_element_add_validator: * @element: diff --git a/src/formelement.h b/src/formelement.h index db6b328..cef647d 100644 --- a/src/formelement.h +++ b/src/formelement.h @@ -46,6 +46,8 @@ gchar *zak_form_element_get_value (ZakFormElement *element); void zak_form_element_set_default_value (ZakFormElement *element, const gchar *value); gchar *zak_form_element_get_default_value (ZakFormElement *element); +void zak_form_element_clear (ZakFormElement *element); + void zak_form_element_add_filter (ZakFormElement *element, ZakFormElementIFilter *filter); void zak_form_element_filter (ZakFormElement *element); -- 2.49.0