edje: Edje_Edit - add edje_edit_group_broadcast_signal_set/_get.
authorMaksym Volodin <m.volodin@samsung.com>
Sat, 7 Jun 2014 20:57:49 +0000 (22:57 +0200)
committerCedric BAIL <c.bail@partner.samsung.com>
Sat, 7 Jun 2014 21:04:43 +0000 (23:04 +0200)
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 <c.bail@partner.samsung.com>
src/lib/edje/Edje_Edit.h
src/lib/edje/edje_edit.c

index 701f5ca..8c9ae07 100644 (file)
@@ -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   **************************************/
index c7df079..0a04554 100644 (file)
@@ -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)