From: Andrea Zagli <azagli@libero.it>
Date: Mon, 2 Nov 2015 20:41:40 +0000 (+0100)
Subject: Added functions ZakFormForm::clear and ZakFormElement::clear.
X-Git-Tag: debian/0.0.1-1~43
X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=236e5d58fb879e25dee03aba17a9016ca5b4f147;p=zakform%2Flibzakform

Added functions ZakFormForm::clear and ZakFormElement::clear.
---

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);