forked from enlightenment/efl
parent
5208f9fc80
commit
2101792842
|
@ -467,26 +467,37 @@ _access_item_mouse_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
||||
static void _access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__);
|
||||
|
||||
EAPI void
|
||||
_elm_access_item_unregister(Elm_Widget_Item *item)
|
||||
{
|
||||
Elm_Access_Info *ac;
|
||||
|
||||
evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_IN,
|
||||
_access_item_mouse_in_cb, data);
|
||||
evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_OUT,
|
||||
_access_item_mouse_out_cb, data);
|
||||
evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
|
||||
_access_item_del_cb, data);
|
||||
ac = ((Elm_Widget_Item *)data)->access;
|
||||
((Elm_Widget_Item *)data)->access = NULL;
|
||||
ac = item->access;
|
||||
if (ac)
|
||||
{
|
||||
evas_object_event_callback_del_full(ac->hoverobj,
|
||||
EVAS_CALLBACK_MOUSE_IN,
|
||||
_access_item_mouse_in_cb, item);
|
||||
evas_object_event_callback_del_full(ac->hoverobj,
|
||||
EVAS_CALLBACK_MOUSE_OUT,
|
||||
_access_item_mouse_out_cb, item);
|
||||
evas_object_event_callback_del_full(ac->hoverobj,
|
||||
EVAS_CALLBACK_DEL,
|
||||
_access_item_del_cb, item);
|
||||
item->access = NULL;
|
||||
_elm_access_clear(ac);
|
||||
free(ac);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
_elm_access_item_unregister((Elm_Widget_Item *)data);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
_elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj)
|
||||
{
|
||||
|
@ -499,6 +510,7 @@ _elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj)
|
|||
evas_object_event_callback_add(hoverobj, EVAS_CALLBACK_DEL,
|
||||
_access_item_del_cb, item);
|
||||
ac = calloc(1, sizeof(Elm_Access_Info));
|
||||
ac->hoverobj = hoverobj;
|
||||
item->access = ac;
|
||||
}
|
||||
|
||||
|
|
|
@ -2859,6 +2859,8 @@ _elm_widget_item_free(Elm_Widget_Item *item)
|
|||
return;
|
||||
}
|
||||
|
||||
_elm_access_item_unregister(item);
|
||||
|
||||
EINA_LIST_FREE(item->callbacks, cb) free(cb);
|
||||
|
||||
if (item->del_func)
|
||||
|
|
|
@ -228,6 +228,7 @@ struct _Elm_Access_Item
|
|||
|
||||
struct _Elm_Access_Info
|
||||
{
|
||||
Evas_Object *hoverobj;
|
||||
Eina_List *items;
|
||||
Ecore_Timer *delay_timer;
|
||||
};
|
||||
|
@ -244,6 +245,7 @@ EAPI void _elm_access_object_hilight(Evas_Object *obj);
|
|||
EAPI void _elm_access_object_unhilight(Evas_Object *obj);
|
||||
EAPI void _elm_access_object_hilight_disable(Evas *e);
|
||||
EAPI void _elm_access_object_register(Evas_Object *obj, Evas_Object *hoverobj);
|
||||
EAPI void _elm_access_item_unregister(Elm_Widget_Item *item);
|
||||
EAPI void _elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj);
|
||||
EAPI Eina_Bool _elm_access_2nd_click_timeout(Evas_Object *obj);
|
||||
|
||||
|
|
Loading…
Reference in New Issue