cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=60674b54442b6c0625e7127e176f6be9dbc85b2e

commit 60674b54442b6c0625e7127e176f6be9dbc85b2e
Author: Maksym Volodin <[email protected]>
Date:   Sat Jun 7 22:57:49 2014 +0200

    edje: Edje_Edit - add edje_edit_group_broadcast_signal_set/_get.
    
    Summary:
    Add two main functions:
    edje_edit_group_broadcast_signal_set/_get.
    _get return EINA_FALSE if group not accept broadcast signal, EINA_TRUE 
otherwise (Default to true since 1.1.).
    Also support access into group's source code generation.
    
    Reviewers: seoz, Hermet, raster, cedric
    
    CC: reutskiy.v.v, cedric
    
    Differential Revision: https://phab.enlightenment.org/D957
    
    Signed-off-by: Cedric BAIL <[email protected]>
---
 src/lib/edje/Edje_Edit.h | 17 +++++++++++++++++
 src/lib/edje/edje_edit.c | 20 +++++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 701f5ca..8c9ae07 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -339,6 +339,23 @@ EAPI int edje_edit_group_max_h_get(Evas_Object *obj);
  */
 EAPI Eina_Bool edje_edit_group_max_h_set(Evas_Object *obj, int h);
 
+/** Get the group broadcast_signal.
+ *
+ * @param obj Object being edited.
+ *
+ * @return EINA_FALSE if group not accept broadcast signal, EINA_TRUE 
otherwise (Default to true since 1.1.).
+ */
+EAPI Eina_Bool edje_edit_group_broadcast_signal_get(Evas_Object *obj);
+
+/** Set the group broadcast signal.
+ *
+ * @param obj Object being edited.
+ * @param bs EINA_TRUE if group will accept broadcast signal, EINA_FALSE 
otherwise.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_broadcast_signal_set(Evas_Object *obj, 
Eina_Bool bs);
+
 //@}
 
/******************************************************************************/
 /**************************   ALIAS API   
**************************************/
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index c7df079..0a04554 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -1312,6 +1312,22 @@ edje_edit_group_orientation_set(Evas_Object *obj, 
unsigned char orient)
    return EINA_TRUE;
 }
 
+EAPI Eina_Bool
+edje_edit_group_broadcast_signal_get(Evas_Object *obj)
+{
+   GET_ED_OR_RETURN(EINA_TRUE);
+   if (!ed->collection) return EINA_TRUE;
+   return ed->collection->broadcast_signal;
+}
+EAPI Eina_Bool
+edje_edit_group_broadcast_signal_set(Evas_Object *obj, Eina_Bool bs)
+{
+   GET_ED_OR_RETURN(EINA_FALSE);
+   if (!ed->collection) return EINA_FALSE;
+   ed->collection->broadcast_signal = bs ? 1 : 0;
+   return EINA_TRUE;
+}
+
 /****************/
 /*  ALIAS  API  */
 /****************/
@@ -8397,7 +8413,7 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
    char *data;
    const char *group = pce->entry;
    Edje_Part_Collection *pc;
-   Eina_Bool ret = EINA_TRUE;
+   Eina_Bool ret = EINA_TRUE, broadcast;
    Eina_List *alias_list = NULL;
 
    obj = edje_edit_object_add(ed->base->evas);
@@ -8441,6 +8457,8 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
       default:
          break;
      }
+   broadcast = edje_edit_group_broadcast_signal_get(obj);
+   if (!broadcast) BUF_APPENDF(I2"broadcast_signal: %d;\n", broadcast);
 
    /* Data */
    if (pc->data)

-- 


Reply via email to