ctxpopup: add visible signal for show ctxpopup after parent resizing 05/121405/2
authorJinYong Park <j4939.park@samsung.com>
Tue, 28 Mar 2017 03:31:22 +0000 (12:31 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Tue, 28 Mar 2017 08:32:11 +0000 (01:32 -0700)
Change-Id: I59c512ad6841cccf8e2721cf190b9e0b1517b1bf
Signed-off-by: Jinyong Park <j4939.park@samsung.com>
src/mobile_lib/elc_ctxpopup.c

index a86733b6f23ccc2a4e6699cb1af668854df1c0ba..08f68f96f2268d201826a42639d2c9965fc65938 100644 (file)
@@ -868,6 +868,41 @@ _show_signals_emit(Evas_Object *obj,
    edje_object_signal_emit(sd->bg, "elm,state,show", "elm");
 }
 
+static void
+_visible_signals_emit(Evas_Object *obj,
+                   Elm_Ctxpopup_Direction dir)
+{
+   ELM_CTXPOPUP_DATA_GET(obj, sd);
+
+   if (!sd->visible) return;
+
+   switch (dir)
+     {
+      case ELM_CTXPOPUP_DIRECTION_UP:
+        edje_object_signal_emit(sd->layout, "elm,state,visible,up", "elm");
+        break;
+
+      case ELM_CTXPOPUP_DIRECTION_LEFT:
+        edje_object_signal_emit(sd->layout, (elm_widget_mirrored_get(obj) ? "elm,state,visible,right" :
+               "elm,state,visible,left"), "elm");
+        break;
+
+      case ELM_CTXPOPUP_DIRECTION_RIGHT:
+        edje_object_signal_emit(sd->layout, (elm_widget_mirrored_get(obj) ? "elm,state,visible,left" :
+               "elm,state,visible,right"), "elm");
+        break;
+
+      case ELM_CTXPOPUP_DIRECTION_DOWN:
+        edje_object_signal_emit(sd->layout, "elm,state,visible,down", "elm");
+        break;
+
+      default:
+        break;
+     }
+
+   edje_object_signal_emit(sd->bg, "elm,state,visible", "elm");
+}
+
 static void
 _hide_signals_emit(Evas_Object *obj,
                    Elm_Ctxpopup_Direction dir)
@@ -1107,6 +1142,8 @@ _on_parent_resize(void *data,
         /* TIZEN_ONLY(20170123): to avoid flickering problem when rotate device
         _show_signals_emit(data, sd->dir);
         */
+        _visible_signals_emit(data, sd->dir);
+        /* END */
      }
 }