From: hermet Date: Fri, 16 Sep 2011 02:10:07 +0000 (+0000) Subject: elementary/elm_object_item - added signal emit func. X-Git-Tag: REL_F_I9500_20120323_1~17^2~1784 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=984f1f5f7a3141e6086dce531cc985de43bf4247;p=framework%2Fuifw%2Felementary.git elementary/elm_object_item - added signal emit func. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@63424 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 49f7498..802614b 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -1123,6 +1123,20 @@ extern "C" { EAPI void elm_object_item_data_set(Elm_Object_Item *it, void *data); /** + * Send a signal to the edje object of the widget item. + * + * This function sends a signal to the edje object of the obj item. An + * edje program can respond to a signal by specifying matching + * 'signal' and 'source' fields. + * + * @param it The Elementary object item + * @param emission The signal's name. + * @param source The signal's source. + * @ingroup General + */ + EAPI void elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) EINA_ARG_NONNULL(1); + + /** * @} */ diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c index 8b5c998..6959bdb 100644 --- a/src/lib/elm_main.c +++ b/src/lib/elm_main.c @@ -2126,3 +2126,9 @@ elm_object_item_data_set(Elm_Object_Item *it, void *data) { elm_widget_item_data_set(it, data); } + +EAPI void +elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) +{ + elm_widget_item_signal_emit(it, emission, source); +} diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 3069a41..90177c9 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -3100,6 +3100,16 @@ _elm_widget_item_text_part_set(Elm_Widget_Item *item, item->on_text_set_func((Elm_Object_Item *) item, part, label); } +EAPI void +_elm_widget_item_signal_emit(Elm_Widget_Item *item, + const char *emission, + const char *source) +{ + ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); + if (item->on_signal_emit_func) + item->on_signal_emit_func((Elm_Object_Item *) item, emission, source); +} + EAPI const char * _elm_widget_item_text_part_get(const Elm_Widget_Item *item, const char *part) @@ -3150,6 +3160,14 @@ _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, } EAPI void +_elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item, + Elm_Widget_On_Signal_Emit_Cb func) +{ + ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); + item->on_signal_emit_func = func; +} + +EAPI void _elm_widget_item_access_info_set(Elm_Widget_Item *item, const char *txt) { ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index c41e2de..3ca015c 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -200,6 +200,7 @@ typedef void (*Elm_Widget_On_Content_Set_Cb)(void *data, const char *part, Evas_ typedef const char *(*Elm_Widget_On_Text_Get_Cb)(const void *data, const char *part); typedef Evas_Object *(*Elm_Widget_On_Content_Get_Cb)(const void *data, const char *part); typedef Evas_Object *(*Elm_Widget_On_Content_Unset_Cb)(const void *data, const char *part); +typedef void (*Elm_Widget_On_Signal_Emit_Cb)(void *data, const char *emission, const char *source); #define ELM_ACCESS_TYPE 0 // when reading out widget or item this is read first #define ELM_ACCESS_INFO 1 // next read is info - this is normally label @@ -254,6 +255,7 @@ struct _Elm_Widget_Item Elm_Widget_On_Content_Unset_Cb on_content_unset_func; Elm_Widget_On_Text_Set_Cb on_text_set_func; Elm_Widget_On_Text_Get_Cb on_text_get_func; + Elm_Widget_On_Signal_Emit_Cb on_signal_emit_func; Elm_Access_Info *access; const char *access_info; /* widget variations should have data from here and on */ @@ -445,6 +447,7 @@ EAPI void _elm_widget_item_content_get_hook_set(Elm_Widget_Item *ite EAPI void _elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item, Elm_Widget_On_Content_Unset_Cb func); EAPI void _elm_widget_item_text_set_hook_set(Elm_Widget_Item *item, Elm_Widget_On_Text_Set_Cb func); EAPI void _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, Elm_Widget_On_Text_Get_Cb func); +EAPI void _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *it, Elm_Widget_On_Signal_Emit_Cb func); EAPI void _elm_widget_item_access_info_set(Elm_Widget_Item *item, const char *txt); @@ -603,6 +606,18 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out #define elm_widget_item_text_part_get(item, part) \ _elm_widget_item_text_part_get((const Elm_Widget_Item *)item, part) /** + * Convenience function to query item's text part get. + * @see _elm_widget_item_text_part_get() + */ +#define elm_widget_item_text_part_get(item, part) \ + _elm_widget_item_text_part_get((const Elm_Widget_Item *)item, part) +/** + * Convenience function to query item's signal emit. + * @see _elm_widget_item_signal_emit() + */ +#define elm_widget_item_signal_emit(item, emission, source) \ + _elm_widget_item_signal_emit((Elm_Widget_Item *)item, emission, source) +/** * Convenience function to query item's content set hook. * @see _elm_widget_item_content_set_hook_set() */ @@ -632,6 +647,12 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out */ #define elm_widget_item_text_get_hook_set(item, func) \ _elm_widget_item_text_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_On_Text_Get_Cb)func) +/** + * Convenience function to query item's signal emit hook. + * @see _elm_widget_item_signal_emit_hook_set() + */ +#define elm_widget_item_signal_emit_hook_set(item, func) \ + _elm_widget_item_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_On_Signal_Emit_Cb)func) /** * Cast and ensure the given pointer is an Elm_Widget_Item or return NULL.