From 60674b54442b6c0625e7127e176f6be9dbc85b2e Mon Sep 17 00:00:00 2001 From: Maksym Volodin Date: Sat, 7 Jun 2014 22:57:49 +0200 Subject: [PATCH] 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 --- 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) -- 2.7.4