[Hoversel] rearrange hoversel when its parent is resized 89/76489/4
authorSungtaek Hong <sth253.hong@samsung.com>
Fri, 24 Jun 2016 05:40:15 +0000 (14:40 +0900)
committerSungtaek Hong <sth253.hong@samsung.com>
Tue, 28 Jun 2016 06:40:20 +0000 (23:40 -0700)
    Summary:
    Hoversel will be rearranged when its parent is resized.
    This patch was written by @godlytalias on tizen side.

Change-Id: Ie289cdfc879322b5ee1897250b011dfba855910d
Signed-off-by: Sungtaek Hong <sth253.hong@samsung.com>
origin: upstream

src/lib/elc_hoversel.c

index 6e232ec..31e4830 100644 (file)
@@ -536,6 +536,17 @@ _on_move_resize(void * data,
    _resizing_eval(obj, sd);
 }
 
+static void
+_on_parent_resize(void *data,
+                  Evas *e EINA_UNUSED,
+                  Evas_Object *parent_obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   Evas_Object *obj = (Evas_Object *)data;
+   ELM_HOVERSEL_DATA_GET(obj, sd);
+   _on_move_resize(sd, NULL, obj, NULL);
+}
+
 EOLIAN static void
 _elm_hoversel_evas_object_smart_add(Eo *obj, Elm_Hoversel_Data *priv)
 {
@@ -623,13 +634,21 @@ EOLIAN static void
 _elm_hoversel_hover_parent_set(Eo *obj, Elm_Hoversel_Data *sd, Evas_Object *parent)
 {
    if (sd->hover_parent)
-     evas_object_event_callback_del_full
-       (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+     {
+        evas_object_event_callback_del_full
+          (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+        evas_object_event_callback_del_full
+          (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj);
+     }
 
    sd->hover_parent = parent;
    if (sd->hover_parent)
-     evas_object_event_callback_add
-       (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+     {
+        evas_object_event_callback_add
+          (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+        evas_object_event_callback_add
+          (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj);
+     }
 }
 
 EOLIAN static Evas_Object*