rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=44c6e7d5c8dbfe74c5404340a2932ed8a477b80c

commit 44c6e7d5c8dbfe74c5404340a2932ed8a477b80c
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Fri Mar 18 14:14:11 2016 +0200

    property_macros: set NULL value program attributes (signal and source)
    
    Instead of ""
---
 src/bin/ui/property_macros.h | 53 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/property_macros.h b/src/bin/ui/property_macros.h
index 88aa8be..8a3be98 100644
--- a/src/bin/ui/property_macros.h
+++ b/src/bin/ui/property_macros.h
@@ -580,6 +580,57 @@ prop_##SUB##_##VALUE##_update(Group_Prop_Data *pd) \
 }
 
 /**
+ * Macro defines a callback for programs added by COMMON_ENTRY_ADD.
+ *
+ * @param SUB The prefix of main parameter of part attribute
+ * @param VALUE The value of part attribute
+ * @param VALIDATOR The entry validator
+ * @param ARGS The edje edit function arguments
+ *
+ * @ingroup Property_Macro
+ */
+#define PROGRAM_ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, ARGS, DESCRIPTION) \
+static void \
+_on_##SUB##_##VALUE##_change(void *data, \
+                             Evas_Object *obj, \
+                             void *ei __UNUSED__) \
+{ \
+   Group_Prop_Data *pd = (Group_Prop_Data *)data; \
+   if (VALIDATOR && (elm_validator_regexp_status_get(VALIDATOR)) != 
ELM_REG_NOERROR) \
+     return; \
+   if (!pd->change) pd->change = change_add(NULL); \
+   const char *text = elm_entry_entry_get(obj); \
+   char *value = elm_entry_markup_to_utf8(text); \
+   if (strcmp(value, "") == 0) \
+     { \
+        free(value); \
+        value = NULL; \
+     } \
+   editor_##SUB##_##VALUE##_set(pd->group->edit_object, pd->change, true ARGS, 
value); \
+   evas_object_smart_callback_call(ap.win, SIGNAL_PROPERTY_ATTRIBUTE_CHANGED, 
NULL); \
+   if (value) free(value); \
+} \
+static void \
+_on_##SUB##_##VALUE##_activated(void *data, \
+                                Evas_Object *obj __UNUSED__, \
+                                void *ei __UNUSED__) \
+{ \
+   Group_Prop_Data *pd = (Group_Prop_Data *)data; \
+   if (VALIDATOR && (elm_validator_regexp_status_get(VALIDATOR)) != 
ELM_REG_NOERROR) \
+     return; \
+   if (!pd->change) \
+     return; \
+   Eina_Stringshare *val = 
edje_edit_##SUB##_##VALUE##_get(pd->group->edit_object ARGS); \
+   Eina_Stringshare *msg = eina_stringshare_printf(DESCRIPTION, val); \
+   change_description_set(pd->change, msg); \
+   history_change_add(pd->group->history, pd->change); \
+   pd->change = NULL; \
+   prop_##SUB##_##VALUE##_update(pd); \
+   eina_stringshare_del(msg); \
+   eina_stringshare_del(val); \
+}
+
+/**
  * Macro defines a callback for COMMON_ENTRY_ADD.
  *
  * @param SUB The prefix of main parameter of part attribute
@@ -885,7 +936,7 @@ _on_group_##SUB1##_##VALUE##_change(void *data, \
  * @ingroup Property_Macro
  */
 #define PROGRAM_ATTR_1ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, DESCRIPTION) \
-   COMMON_ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, PROGRAM_ARGS, DESCRIPTION) \
+   PROGRAM_ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, PROGRAM_ARGS, DESCRIPTION) \
 
 /*****************************************************************************/
 /*                   PROGRAM 1 COMBOBOX LIST CONTROL                         */

-- 


Reply via email to