elm_object_style_set(wd->hover, buf);
}
+static void
+_signal_emit_hook(Evas_Object *obj, const char *emission, const char *source)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_object_signal_emit(wd->list, emission, source);
+ elm_object_signal_emit(wd->hover, emission, source);
+}
+
+static void
+_signal_callback_add_hook(Evas_Object *obj, const char *emission, const char *source, void (*func_cb) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_object_signal_callback_add(wd->list, emission, source, func_cb, data);
+ elm_object_signal_callback_add(wd->hover, emission, source, func_cb, data);
+}
+
+static void
+_signal_callback_del_hook(Evas_Object *obj, const char *emission, const char *source, void (*func_cb) (void *data, Evas_Object *o, const char *emission, const char *source), void *data __UNUSED__)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ elm_object_signal_callback_del(wd->list, emission, source, func_cb);
+ elm_object_signal_callback_del(wd->hover, emission, source, func_cb);
+}
+
static void
_item_func_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info)
{
elm_widget_del_hook_set(obj, _del_hook);
elm_widget_theme_hook_set(obj, _theme_hook);
elm_widget_event_hook_set(obj, _event_hook);
+ elm_widget_signal_emit_hook_set(obj, _signal_emit_hook);
+ elm_widget_signal_callback_add_hook_set(obj, _signal_callback_add_hook);
+ elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook);
wd->list = elm_list_add(obj);
elm_widget_style_set(wd->list, "hoverlist");