forked from enlightenment/efl
elm_map: add elm_map_overlay_del_cb_set() to get notified when an overlay is deleted.
SVN revision: 72233
This commit is contained in:
parent
6d265ac226
commit
a6a41f5717
|
@ -196,3 +196,7 @@
|
|||
2012-06-15 Michael Bouchaud
|
||||
* elm_progressbar: elm_progressbar_format_function_set to add a callback
|
||||
function to format the unit string.
|
||||
|
||||
2012-06-16 Davide Andreoli
|
||||
* elm_map: add elm_map_overlay_del_cb_set to be notify when
|
||||
an overlay is deleted.
|
||||
|
|
|
@ -12,6 +12,8 @@ Additions:
|
|||
* Toolbar: Add elm_toolbar_standard_priority_set/get APIs.
|
||||
* Add elm_object_scroll_hold/freeze_get.
|
||||
* Add ELM_CALENDAR_LAST_DAY_OF_MONTH enum type
|
||||
* Add elm_progressbar_format_function_set API function
|
||||
* Add elm_map_overlay_del_cb_set API function
|
||||
|
||||
Fixes:
|
||||
|
||||
|
|
|
@ -253,6 +253,9 @@ struct _Elm_Map_Overlay
|
|||
Elm_Map_Overlay_Get_Cb cb;
|
||||
void *cb_data;
|
||||
|
||||
Elm_Map_Overlay_Del_Cb delcb;
|
||||
void *delcb_data;
|
||||
|
||||
// These are not used if overlay type is class or group
|
||||
Overlay_Group *grp;
|
||||
};
|
||||
|
@ -526,6 +529,7 @@ static const char SIG_NAME_LOAD[] = "name,load";
|
|||
static const char SIG_NAME_LOADED[] = "name,loaded";
|
||||
static const char SIG_NAME_LOADED_FAIL[] = "name,loaded,fail";
|
||||
static const char SIG_OVERLAY_CLICKED[] = "overlay,clicked";
|
||||
static const char SIG_OVERLAY_DEL[] = "overlay,del";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CLICKED, ""},
|
||||
{SIG_CLICKED_DOUBLE, ""},
|
||||
|
@ -550,6 +554,7 @@ static const Evas_Smart_Cb_Description _signals[] = {
|
|||
{SIG_NAME_LOADED, ""},
|
||||
{SIG_NAME_LOADED_FAIL, ""},
|
||||
{SIG_OVERLAY_CLICKED, ""},
|
||||
{SIG_OVERLAY_DEL, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
|
@ -4794,6 +4799,10 @@ elm_map_overlay_del(Elm_Map_Overlay *overlay)
|
|||
EINA_SAFETY_ON_NULL_RETURN(overlay->wd);
|
||||
ELM_CHECK_WIDTYPE(overlay->wd->obj, widtype);
|
||||
|
||||
evas_object_smart_callback_call(overlay->wd->obj, SIG_OVERLAY_DEL, overlay);
|
||||
if (overlay->delcb) overlay->delcb(overlay->delcb_data, overlay->wd->obj,
|
||||
overlay);
|
||||
|
||||
if (overlay->grp)
|
||||
{
|
||||
if (overlay->grp->clas)
|
||||
|
@ -5286,6 +5295,23 @@ elm_map_overlay_get_cb_set(Elm_Map_Overlay *overlay, Elm_Map_Overlay_Get_Cb get_
|
|||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_map_overlay_del_cb_set(Elm_Map_Overlay *overlay, Elm_Map_Overlay_Del_Cb del_cb, void *data)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_ECORE_CON
|
||||
EINA_SAFETY_ON_NULL_RETURN(overlay);
|
||||
EINA_SAFETY_ON_NULL_RETURN(overlay->wd);
|
||||
ELM_CHECK_WIDTYPE(overlay->wd->obj, widtype);
|
||||
|
||||
overlay->delcb = del_cb;
|
||||
overlay->delcb_data = data;
|
||||
#else
|
||||
(void) overlay;
|
||||
(void) del_cb;
|
||||
(void) data;
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI Elm_Map_Overlay *
|
||||
elm_map_overlay_class_add(Evas_Object *obj)
|
||||
{
|
||||
|
|
|
@ -189,6 +189,7 @@ typedef Evas_Object *(*Elm_Map_Marker_Icon_Get_Func)(Evas_Object *
|
|||
typedef Evas_Object *(*Elm_Map_Group_Icon_Get_Func)(Evas_Object *obj, void *data); /**< Icon fetching class function for markers group classes. */
|
||||
|
||||
typedef void (*Elm_Map_Overlay_Get_Cb)(void *data, Evas_Object *map, Elm_Map_Overlay *overlay); /**< Get callback function for the overlay. */
|
||||
typedef void (*Elm_Map_Overlay_Del_Cb)(void *data, Evas_Object *map, Elm_Map_Overlay *overlay); /**< Det callback function for the overlay. */
|
||||
typedef void (*Elm_Map_Name_Cb)(void *data, Evas_Object *map, Elm_Map_Name *name); /**< Async-callback function for the name request. */
|
||||
typedef void (*Elm_Map_Route_Cb)(void *data, Evas_Object *map, Elm_Map_Route *route); /**< Async-callback function for the route request. */
|
||||
|
||||
|
@ -970,11 +971,28 @@ EAPI void elm_map_overlays_show(Eina_List *overlays);
|
|||
* is clicked, callback will be called and return a virtual group overlays.
|
||||
*
|
||||
* You can delete this callback function by setting @c NULL.
|
||||
*
|
||||
*
|
||||
* @ingroup Map
|
||||
*/
|
||||
EAPI void elm_map_overlay_get_cb_set(Elm_Map_Overlay *overlay, Elm_Map_Overlay_Get_Cb get_cb, void *data);
|
||||
EAPI void elm_map_overlay_get_cb_set(Elm_Map_Overlay *overlay, Elm_Map_Overlay_Get_Cb get_cb, void *data);
|
||||
|
||||
/**
|
||||
* Set the get callback function to call when the overlay is deleted.
|
||||
*
|
||||
* @param overlay The overlay to own the del callback function.
|
||||
* @param get_cb The callback function.
|
||||
* @param data The user callback data.
|
||||
*
|
||||
* If the overlay is deleted, the callback wll be called.
|
||||
* The deleted overlay is returned by callback.
|
||||
*
|
||||
* You can delete this callback function by setting @c NULL.
|
||||
*
|
||||
* @since 1.1.0
|
||||
*
|
||||
* @ingroup Map
|
||||
*/
|
||||
EAPI void elm_map_overlay_del_cb_set(Elm_Map_Overlay *overlay, Elm_Map_Overlay_Del_Cb del_cb, void *data);
|
||||
|
||||
/**
|
||||
* Add a new class overlay to the map object.
|
||||
|
|
Loading…
Reference in New Issue