elementary/label - some missed stuff.
authorChunEon Park <hermet@hermet.pe.kr>
Fri, 4 Jan 2013 13:44:08 +0000 (13:44 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 4 Jan 2013 13:44:08 +0000 (13:44 +0000)
SVN revision: 82176

src/bin/test_label.c
src/lib/elm_label.c

index 99713d9..d94a313 100644 (file)
@@ -106,9 +106,9 @@ _change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
 {
    Evas_Object *lb = (Evas_Object *)data;
    double val = elm_slider_value_get(obj);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_NONE);
    elm_label_slide_duration_set(lb, val);
    elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
 }
 
 void
@@ -129,6 +129,7 @@ test_label2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
    lb = elm_label_add(win);
    elm_object_text_set(lb, "Test Label Ellipsis:");
    elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
    elm_grid_pack(gd, lb, 5, 5, 90, 10);
    evas_object_show(lb);
 
@@ -152,6 +153,7 @@ test_label2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
    lb = elm_label_add(win);
    elm_object_text_set(lb, "Test Label Slide:");
    elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
    elm_grid_pack(gd, lb, 5, 30, 90, 10);
    evas_object_show(lb);
 
@@ -170,6 +172,7 @@ test_label2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
                        "\"slide_long\" and \"slide_bounce\"."
                        );
    elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
    elm_grid_pack(gd, lb, 5, 40, 90, 10);
    evas_object_show(lb);
 
index f92ced1..eea3915 100644 (file)
@@ -641,20 +641,11 @@ elm_label_slide_duration_set(Evas_Object *obj, double duration)
 }
 
 static void
-_slide_duration_set(Eo *obj, void *_pd, va_list *list)
+_slide_duration_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
 {
    double duration = va_arg(*list, double);
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
-
-   Edje_Message_Float_Set *msg =
-     alloca(sizeof(Edje_Message_Float_Set) + (sizeof(double)));
-
    sd->slide_duration = duration;
-   msg->count = 1;
-   msg->val[0] = sd->slide_duration;
-   edje_object_message_send
-     (wd->resize_obj, EDJE_MESSAGE_FLOAT_SET, 0, msg);
 }
 
 EAPI double
@@ -676,6 +667,12 @@ elm_label_slide_go(Evas_Object *obj)
 static void
 _slide_go(Eo *obj, void *_pd __UNUSED__, va_list *list __UNUSED__)
 {
+   Elm_Label_Smart_Data *sd = _pd;
+   //FIXME: work around code. somthing need to be reset effect here.
+   Elm_Label_Slide_Mode mode = sd->slide_mode;
+   sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
+   _label_slide_change(obj);
+   sd->slide_mode = mode;
    _label_slide_change(obj);
    elm_layout_sizing_eval(obj);
 }