From 2542ac748ec726d1602ded2e51d755dd3a5599a0 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Thu, 28 May 2020 10:20:43 +0200 Subject: [PATCH] Added function ZakForm::get_compare_type_as_string; enabled get_xml for FormValidator. --- src/commons.c | 45 ++++++++++++++++++++++++++++++++ src/commons.h | 3 ++- src/form.c | 6 +++++ src/formvalidatorcompare.c | 2 +- src/formvalidatorcomparedate.c | 4 +-- src/formvalidatorcomparenumber.c | 4 +-- 6 files changed, 58 insertions(+), 6 deletions(-) diff --git a/src/commons.c b/src/commons.c index b70af0f..e22acae 100644 --- a/src/commons.c +++ b/src/commons.c @@ -79,6 +79,51 @@ zak_form_get_compare_type_from_string (const gchar *str) return ret; } +/** + * zak_form_get_compare_type_as_string: + * @type: + * + * Returns: the stringify version of #ZakFormCompareType. + */ +const gchar +*zak_form_get_compare_type_as_string (ZakFormCompareType type) +{ + const gchar *ret; + + switch (type) + { + case ZAK_FORM_COMPARE_TYPE_LESSER: + ret = "lt"; + break; + + case ZAK_FORM_COMPARE_TYPE_LESSER_EQUAL: + ret = "let"; + break; + + case ZAK_FORM_COMPARE_TYPE_EQUAL: + ret = "e"; + break; + + case ZAK_FORM_COMPARE_TYPE_NOT_EQUAL: + ret = "ne"; + break; + + case ZAK_FORM_COMPARE_TYPE_GREATER: + ret = "gt"; + break; + + case ZAK_FORM_COMPARE_TYPE_GREATER_EQUAL: + ret = "get"; + break; + + default: + ret = _("NOT SUPPORTED"); + break; + } + + return ret; +} + /** * zak_form_get_compare_type_stringify: * @type: diff --git a/src/commons.h b/src/commons.h index 6663ca8..440c497 100644 --- a/src/commons.h +++ b/src/commons.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015 Andrea Zagli + * Copyright (C) 2015-2020 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -41,6 +41,7 @@ typedef enum } ZakFormCompareType; ZakFormCompareType zak_form_get_compare_type_from_string (const gchar *str); +const gchar *zak_form_get_compare_type_as_string (ZakFormCompareType type); const gchar *zak_form_get_compare_type_stringify (ZakFormCompareType type); ZakFormElement *zak_form_get_element_by_id (GPtrArray *ar_elements, const gchar *id); diff --git a/src/form.c b/src/form.c index 852d861..c6bb5c2 100644 --- a/src/form.c +++ b/src/form.c @@ -870,6 +870,12 @@ xmlDoc xmlAddChild (xroot, xnode); } + for (i = 0; i < priv->ar_validators->len; i++) + { + xnode = zak_form_validator_get_xml ((ZakFormValidator *)g_ptr_array_index (priv->ar_validators, i), _version); + xmlAddChild (xroot, xnode); + } + g_free (_version); return xdoc; diff --git a/src/formvalidatorcompare.c b/src/formvalidatorcompare.c index d847fea..906f84c 100644 --- a/src/formvalidatorcompare.c +++ b/src/formvalidatorcompare.c @@ -371,7 +371,7 @@ zak_form_validator_compare_get_xml (ZakFormValidator *validator, const gchar *ve xmlSetProp (xnode, (const xmlChar *)"type", (const xmlChar *)"zak_form_validator_compare"); - xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_validator_compare_get_compare_type (validator_compare)); + xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_get_compare_type_as_string (priv->type)); xmlSetProp (xnode, (const xmlChar *)"element1", (const xmlChar *)zak_form_validator_compare_get_element1 (validator_compare)); diff --git a/src/formvalidatorcomparedate.c b/src/formvalidatorcomparedate.c index 3ff8be6..58dc8a1 100644 --- a/src/formvalidatorcomparedate.c +++ b/src/formvalidatorcomparedate.c @@ -436,12 +436,12 @@ zak_form_validator_compare_date_validate (ZakFormValidator *validator) static void zak_form_validator_compare_date_get_xml (ZakFormValidator *validator, const gchar *version, xmlNode *xnode) { - ZakFormValidatorCompareDate *validator_compare_date = ZAK_FORM_VALIDATOR_COMPARE_DATE (validator_compare_date); + ZakFormValidatorCompareDate *validator_compare_date = ZAK_FORM_VALIDATOR_COMPARE_DATE (validator); ZakFormValidatorCompareDatePrivate *priv = ZAK_FORM_VALIDATOR_COMPARE_DATE_GET_PRIVATE (validator_compare_date); xmlSetProp (xnode, (const xmlChar *)"type", (const xmlChar *)"zak_form_validator_compare_date"); - xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_validator_compare_date_get_compare_type (validator_compare_date)); + xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_get_compare_type_as_string (priv->type)); xmlSetProp (xnode, (const xmlChar *)"element1", (const xmlChar *)zak_form_validator_compare_date_get_element1 (validator_compare_date)); diff --git a/src/formvalidatorcomparenumber.c b/src/formvalidatorcomparenumber.c index e207f14..88bb514 100644 --- a/src/formvalidatorcomparenumber.c +++ b/src/formvalidatorcomparenumber.c @@ -368,12 +368,12 @@ zak_form_validator_compare_number_validate (ZakFormValidator *validator) static void zak_form_validator_compare_number_get_xml (ZakFormValidator *validator, const gchar *version, xmlNode *xnode) { - ZakFormValidatorCompareNumber *validator_compare_number = ZAK_FORM_VALIDATOR_COMPARE_NUMBER (validator_compare_number); + ZakFormValidatorCompareNumber *validator_compare_number = ZAK_FORM_VALIDATOR_COMPARE_NUMBER (validator); ZakFormValidatorCompareNumberPrivate *priv = ZAK_FORM_VALIDATOR_COMPARE_NUMBER_GET_PRIVATE (validator_compare_number); xmlSetProp (xnode, (const xmlChar *)"type", (const xmlChar *)"zak_form_validator_compare_number"); - xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_validator_compare_number_get_compare_type (validator_compare_number)); + xmlSetProp (xnode, (const xmlChar *)"type_comp", (const xmlChar *)zak_form_get_compare_type_as_string (priv->type)); xmlSetProp (xnode, (const xmlChar *)"element1", (const xmlChar *)zak_form_validator_compare_number_get_element1 (validator_compare_number)); -- 2.49.0