Revert "Revert "slider: fix slider vector logic for supporting slider popup.""
authorHosang Kim <hosang12.kim@samsung.com>
Wed, 19 Aug 2015 02:51:53 +0000 (11:51 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 17 Nov 2015 05:15:43 +0000 (14:15 +0900)
This reverts commit 6cb093ad70272fb8341a8aa3e81e6e250c2aafc7.

Change-Id: I222c72083b6002f49e96e50772cc3c574cfabe52

src/lib/elm_priv.h
src/lib/elm_slider.c
src/lib/tizen_vector.c

index f5dcba9..18f334a 100644 (file)
@@ -588,7 +588,7 @@ void tizen_vg_button_set(Elm_Button *obj);
 void tizen_vg_check_set(Elm_Check *obj);
 void tizen_vg_radio_set(Elm_Radio *obj);
 void tizen_vg_progressbar_set(Elm_Progressbar *obj);
-void tizen_vg_slider_set(Elm_Slider *obj);
+void tizen_vg_slider_set(Elm_Slider *obj, Evas_Object *popup);
 void tizen_vg_check_state_set(Elm_Check *obj);
 #endif
 
index 7bbfa56..8f68fa9 100644 (file)
@@ -507,7 +507,6 @@ _popup_add(Elm_Slider_Data *sd, Eo *obj)
 
    // XXX popup needs to adapt to theme etc.
    sd->popup = edje_object_add(evas_object_evas_get(obj));
-   evas_object_smart_member_add(sd->popup, obj);
    if (sd->horizontal)
      _elm_theme_set(elm_widget_theme_get(obj), sd->popup, "slider", "horizontal/popup", elm_widget_style_get(obj));
    else
@@ -559,7 +558,7 @@ _elm_slider_elm_widget_theme_apply(Eo *obj, Elm_Slider_Data *sd)
    if (!int_ret) return EINA_FALSE;
 
 #ifdef TIZEN_VECTOR_UX
-   tizen_vg_slider_set(obj);
+   tizen_vg_slider_set(obj, sd->popup);
 #endif
 
    if (sd->popup)
@@ -879,12 +878,12 @@ _elm_slider_evas_object_smart_add(Eo *obj, Elm_Slider_Data *priv)
    evas_object_pass_events_set(priv->spacer, EINA_TRUE);
    elm_layout_content_set(obj, "elm.swallow.bar", priv->spacer);
 
+   _popup_add(priv, obj);
+
 #ifdef TIZEN_VECTOR_UX
-   tizen_vg_slider_set(obj);
+   tizen_vg_slider_set(obj, priv->popup);
 #endif
 
-   _popup_add(priv, obj);
-
    evas_object_event_callback_add
      (priv->spacer, EVAS_CALLBACK_MOUSE_DOWN, _spacer_down_cb, obj);
    evas_object_event_callback_add
index f589911..ae9a237 100644 (file)
@@ -1877,6 +1877,7 @@ typedef struct vg_slider_s
    Evas_Object *vg[7];
    Efl_VG_Shape *shape[7];
    Evas_Object *obj;
+   Evas_Object *popup;
    Eina_Stringshare *style;
 } vg_slider;
 
@@ -2046,11 +2047,12 @@ _slider_create_handle(vg_slider *vd)
    evas_object_event_callback_add(vd->vg[slider_handle_pressed], EVAS_CALLBACK_RESIZE,
                                   slider_vg_handle_pressed_resize_cb, vd);
    elm_object_part_content_set(vd->obj, "elm.dragable.slider:elm.swallow.tizen_vg_shape1", vd->vg[slider_handle]);
-   elm_object_part_content_set(vd->obj, "elm.dragable.slider:elm.swallow.tizen_vg_shape2", vd->vg[slider_handle_pressed]);
+   if (vd->popup)
+     edje_object_part_swallow(vd->popup, "elm.swallow.tizen_vg_shape2", vd->vg[slider_handle_pressed]);
 }
 
 void
-tizen_vg_slider_set(Elm_Slider *obj)
+tizen_vg_slider_set(Elm_Slider *obj, Evas_Object *popup)
 {
    vg_slider *vd = evas_object_data_get(obj, vg_key);
    if (vd)
@@ -2070,6 +2072,7 @@ tizen_vg_slider_set(Elm_Slider *obj)
         vd = calloc(1, sizeof(vg_slider));
         evas_object_data_set(obj, vg_key, vd);
         vd->obj = obj;
+        vd->popup = popup;
         // callback to free vd data
         evas_object_event_callback_add(vd->obj, EVAS_CALLBACK_DEL,
                                        slider_del_cb, NULL);