]> saetta.ns0.it Git - zakform/libzakform/commitdiff
Added functions ZakFormElement::get_filters and ::get_element_filters_by_type (refs...
authorAndrea Zagli <azagli@libero.it>
Sat, 28 Jan 2017 10:36:46 +0000 (11:36 +0100)
committerAndrea Zagli <azagli@libero.it>
Sat, 28 Jan 2017 10:36:46 +0000 (11:36 +0100)
src/formelement.c
src/formelement.h

index 447bc338be02057063b3089a0e92c59002a6cf9a..52efa666f0bff3f854bc2249d8cb1d3ea2b183f6 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
@@ -257,6 +257,50 @@ zak_form_element_filter (ZakFormElement *element)
                }
 }
 
+/**
+ * zak_form_element_get_filters:
+ * @zakform:
+ *
+ * Returns: a #GPtrArray with the list of ZakFormElement's in the form.
+ */
+GPtrArray
+*zak_form_element_get_filters (ZakFormElement *element)
+{
+       ZakFormElementPrivate *priv = zak_form_element_get_instance_private (element);
+
+       return priv->pa_filters;
+}
+
+/**
+ * zak_form_element_get_filters_by_type:
+ * @element:
+ * @type:
+ *
+ * Returns: a #GPtrArray with the list of ZakFormElementFilter's in the form element filtered by @type.
+ */
+GPtrArray
+*zak_form_element_get_filters_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_filters->len; i++)
+               {
+                       filter = (ZakFormElementFilter *)g_ptr_array_index (priv->pa_filters, i);
+                       if (G_OBJECT_TYPE (filter) == type)
+                               {
+                                       g_ptr_array_add (ar, filter);
+                               }
+               }
+
+       return ar;
+}
+
 /**
  * zak_form_element_set_name:
  * @element:
index a3489d4568510c4f0781fae16524d737d18c561d..ebf9df8e302133b9056e27afce47759a4ba4f61f 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
@@ -96,11 +96,13 @@ void zak_form_element_clear (ZakFormElement *element);
 void zak_form_element_add_filter (ZakFormElement *element, ZakFormElementFilter *filter);
 void zak_form_element_filter (ZakFormElement *element);
 
+GPtrArray *zak_form_element_get_filters (ZakFormElement *element);
+GPtrArray *zak_form_element_get_filters_by_type (ZakFormElement *element, GType type);
+
 void zak_form_element_add_validator (ZakFormElement *element, ZakFormElementValidator *validator);
 gboolean zak_form_element_is_valid (ZakFormElement *element);
 GPtrArray *zak_form_element_get_messages (ZakFormElement *element);
 
-
 G_END_DECLS