}
static void
+_hover_del(Evas_Object *obj)
+{
+ Elm_Object_Item *eo_item;
+ Eina_List *l;
+
+ ELM_HOVERSEL_DATA_GET(obj, sd);
+
+ sd->expanded = EINA_FALSE;
+
+ EINA_LIST_FOREACH(sd->items, l, eo_item)
+ {
+ ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = NULL;
+ }
+ ELM_SAFE_FREE(sd->hover, evas_object_del);
+ sd->scr = NULL;
+ sd->last_location = NULL;
+
+ eo_do(obj, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+}
+
+static void
_hover_end_finished(void *data,
Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED,
const char *source EINA_UNUSED)
{
- Elm_Object_Item *eo_item;
- Eina_List *l;
const char *dismissstr;
ELM_HOVERSEL_DATA_GET(data, sd);
if (dismissstr && !strcmp(dismissstr, "on"))
{
- sd->expanded = EINA_FALSE;
-
- EINA_LIST_FOREACH(sd->items, l, eo_item)
- {
- ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
- VIEW(it) = NULL;
- }
- ELM_SAFE_FREE(sd->hover, evas_object_del);
- sd->scr = NULL;
- sd->last_location = NULL;
-
- eo_do(data, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+ _hover_del(data);
}
}
EOLIAN static void
_elm_hoversel_hover_end(Eo *obj, Elm_Hoversel_Data *sd)
{
-
- Elm_Object_Item *eo_item;
- Eina_List *l;
const char *dismissstr;
if (!sd->hover) return;
if (dismissstr && !strcmp(dismissstr, "on"))
{
elm_hover_dismiss(sd->hover);
-
-
-
}
else
-
{
- sd->expanded = EINA_FALSE;
-
- EINA_LIST_FOREACH(sd->items, l, eo_item)
- {
- ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
- VIEW(it) = NULL;
- }
- ELM_SAFE_FREE(sd->hover, evas_object_del);
- sd->scr = NULL;
- sd->last_location = NULL;
-
- eo_do(obj, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+ _hover_del(obj);
} // for backward compatibility
}