]> saetta.ns0.it Git - zakform/libzakform/commitdiff
Added functions ZakFormElement::get_validators and ::get_element_validators_by_type...
authorAndrea Zagli <azagli@libero.it>
Sat, 28 Jan 2017 10:53:57 +0000 (11:53 +0100)
committerAndrea Zagli <azagli@libero.it>
Sat, 28 Jan 2017 11:04:44 +0000 (12:04 +0100)
src/formelement.c
src/formelement.h
src/formelementvalidatordate.c
src/formelementvalidatordate.h
src/formelementvalidatornotempty.c
src/formelementvalidatornotempty.h
src/formelementvalidatorregex.c
src/formelementvalidatorregex.h

index 52efa666f0bff3f854bc2249d8cb1d3ea2b183f6..ccf762a56ce5c2cef67fec59918a31ee58beabdd 100644 (file)
@@ -261,7 +261,7 @@ zak_form_element_filter (ZakFormElement *element)
  * zak_form_element_get_filters:
  * @zakform:
  *
- * Returns: a #GPtrArray with the list of ZakFormElement's in the form.
+ * Returns: a #GPtrArray with the list of ZakFormElementFilter's in the form element.
  */
 GPtrArray
 *zak_form_element_get_filters (ZakFormElement *element)
@@ -1116,6 +1116,50 @@ GPtrArray
        return priv->pa_messages;
 }
 
+/**
+ * zak_form_element_get_validators:
+ * @zakform:
+ *
+ * Returns: a #GPtrArray with the list of ZakFormElementValidator's in the form element.
+ */
+GPtrArray
+*zak_form_element_get_validators(ZakFormElement *element)
+{
+       ZakFormElementPrivate *priv = zak_form_element_get_instance_private (element);
+
+       return priv->pa_validators;
+}
+
+/**
+ * zak_form_element_get_validators_by_type:
+ * @element:
+ * @type:
+ *
+ * Returns: a #GPtrArray with the list of ZakFormElementValidator's in the form element filtered by @type.
+ */
+GPtrArray
+*zak_form_element_get_validators_by_type (ZakFormElement *element, GType type)
+{
+       GPtrArray *ar;
+       ZakFormElementFilter *filter;
+
+       guint i;
+
+       ZakFormElementPrivate *priv = zak_form_element_get_instance_private (element);
+
+       ar = g_ptr_array_new ();
+       for (i = 0; i < priv->pa_validators->len; i++)
+               {
+                       filter = (ZakFormElementFilter *)g_ptr_array_index (priv->pa_validators, i);
+                       if (G_OBJECT_TYPE (filter) == type)
+                               {
+                                       g_ptr_array_add (ar, filter);
+                               }
+               }
+
+       return ar;
+}
+
 /* PRIVATE */
 static void
 zak_form_element_set_property (GObject *object,
index ebf9df8e302133b9056e27afce47759a4ba4f61f..48035332280000dedc4c49af5074cbb2bced7cb3 100644 (file)
@@ -103,6 +103,10 @@ void zak_form_element_add_validator (ZakFormElement *element, ZakFormElementVali
 gboolean zak_form_element_is_valid (ZakFormElement *element);
 GPtrArray *zak_form_element_get_messages (ZakFormElement *element);
 
+GPtrArray *zak_form_element_get_validators (ZakFormElement *element);
+GPtrArray *zak_form_element_get_validators_by_type (ZakFormElement *element, GType type);
+
+
 G_END_DECLS
 
 
index 2546c6105b64c22cb135edad9196eb94ad05f6c0..df7d0f5519c838b9a9426ba5915f38edb46b8eab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -49,7 +49,7 @@ struct _ZakFormElementValidatorDate
        /* Other members, including private data. */
 };
 
-#define ZAK_FORM_ELEMENT_VALIDATOR_DATE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_TYPE_FORM_ELEMENT_VALIDATOR_DATE, ZakFormElementValidatorDatePrivate))
+#define ZAK_FORM_ELEMENT_VALIDATOR_DATE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_FORM_TYPE_ELEMENT_VALIDATOR_DATE, ZakFormElementValidatorDatePrivate))
 
 typedef struct _ZakFormElementValidatorDatePrivate ZakFormElementValidatorDatePrivate;
 struct _ZakFormElementValidatorDatePrivate
index accea520502670517a17caddf02a0f0ef2cd31c1..13b5f38391573f7438f1afd8638a658dd7581b58 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -30,7 +30,7 @@
 G_BEGIN_DECLS
 
 
-#define ZAK_TYPE_FORM_ELEMENT_VALIDATOR_DATE zak_form_element_validator_date_get_type ()
+#define ZAK_FORM_TYPE_ELEMENT_VALIDATOR_DATE zak_form_element_validator_date_get_type ()
 G_DECLARE_FINAL_TYPE (ZakFormElementValidatorDate, zak_form_element_validator_date, ZAK_FORM, ELEMENT_VALIDATOR_DATE, ZakFormElementValidator)
 
 ZakFormElementValidatorDate *zak_form_element_validator_date_new (void);
index 1de3f3049683d051891f4dfaf3246ff3232a6880..91de8078291f00c7254c2eaf81f1f9b98133b8c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015-2016 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -47,7 +47,7 @@ struct _ZakFormElementValidatorNotempty
        /* Other members, including private data. */
 };
 
-#define ZAK_FORM_ELEMENT_VALIDATOR_NOTEMPTY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_TYPE_FORM_ELEMENT_VALIDATOR_NOTEMPTY, ZakFormElementValidatorNotemptyPrivate))
+#define ZAK_FORM_ELEMENT_VALIDATOR_NOTEMPTY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_FORM_TYPE_ELEMENT_VALIDATOR_NOTEMPTY, ZakFormElementValidatorNotemptyPrivate))
 
 typedef struct _ZakFormElementValidatorNotemptyPrivate ZakFormElementValidatorNotemptyPrivate;
 struct _ZakFormElementValidatorNotemptyPrivate
index b4885bf5b98e859d204d9410c83d8a6eb9833368..c6c4a2eb498002b984e0436cd115abcdb0ab4f55 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -30,7 +30,7 @@
 G_BEGIN_DECLS
 
 
-#define ZAK_TYPE_FORM_ELEMENT_VALIDATOR_NOTEMPTY zak_form_element_validator_notempty_get_type ()
+#define ZAK_FORM_TYPE_ELEMENT_VALIDATOR_NOTEMPTY zak_form_element_validator_notempty_get_type ()
 G_DECLARE_FINAL_TYPE (ZakFormElementValidatorNotempty, zak_form_element_validator_notempty, ZAK_FORM, ELEMENT_VALIDATOR_NOTEMPTY, ZakFormElementValidator)
 
 ZakFormElementValidatorNotempty *zak_form_element_validator_notempty_new (void);
index cd9220329d53f8a692cece136e3616e205a1022e..a0d5b2b5fa4b22961d1934cc1a5af4c8a2d30288 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015-2016 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -53,7 +53,7 @@ struct _ZakFormElementValidatorRegex
        /* Other members, including private data. */
 };
 
-#define ZAK_FORM_ELEMENT_VALIDATOR_REGEX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_TYPE_FORM_ELEMENT_VALIDATOR_REGEX, ZakFormElementValidatorRegexPrivate))
+#define ZAK_FORM_ELEMENT_VALIDATOR_REGEX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ZAK_FORM_TYPE_ELEMENT_VALIDATOR_REGEX, ZakFormElementValidatorRegexPrivate))
 
 typedef struct _ZakFormElementValidatorRegexPrivate ZakFormElementValidatorRegexPrivate;
 struct _ZakFormElementValidatorRegexPrivate
index 3ed9948d096e8ef3e586119f3be086cda3c6ed7a..4bb8b42b8a55932d5d23f9eb9fcade142f731521 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015-2016 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2015-2017 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -30,7 +30,7 @@
 G_BEGIN_DECLS
 
 
-#define ZAK_TYPE_FORM_ELEMENT_VALIDATOR_REGEX zak_form_element_validator_regex_get_type ()
+#define ZAK_FORM_TYPE_ELEMENT_VALIDATOR_REGEX zak_form_element_validator_regex_get_type ()
 G_DECLARE_FINAL_TYPE (ZakFormElementValidatorRegex, zak_form_element_validator_regex, ZAK_FORM, ELEMENT_VALIDATOR_REGEX, ZakFormElementValidator)
 
 ZakFormElementValidatorRegex *zak_form_element_validator_regex_new (void);