actionslider test application merging conflicts are resolved.
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Tue, 12 Jul 2011 03:22:56 +0000 (12:22 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Tue, 12 Jul 2011 03:22:56 +0000 (12:22 +0900)
data/themes/default.edc
src/bin/Makefile.am
src/bin/test.c
src/bin/test_actionslider.c
src/lib/elm_actionslider.c

index a61eaed..a866816 100644 (file)
@@ -15269,9 +15269,6 @@ collections {
       images {
          image: "shelf_inset.png" COMP;
          image: "ilist_1.png" COMP;
-         image: "bt_bases.png" COMP;
-         image: "bt_basew.png" COMP;
-         image: "bt_hilightw.png" COMP;
       }
 
       parts {
@@ -15280,7 +15277,7 @@ collections {
             mouse_events: 0;
             description {
                state: "default" 0.0;
-               min: 75 25;
+               min: 75 30;
                rel1.offset: 1 1;
                rel2.offset: -2 -2;
                image {
@@ -15354,9 +15351,10 @@ collections {
                }
             }
          }
-         part { name: "elm.drag_button_base";
+         part { name: "elm.swallow.icon";
             type: SWALLOW;
-            mouse_events: 0;
+            mouse_events: 1;
+            repeat_events: 1;
             scale: 1;
             description { state: "default" 0.0;
                fixed: 1 1;
@@ -15374,102 +15372,28 @@ collections {
                y: 0 0 0;
             }
          }
-         part { name: "elm.drag_button";
-            type: RECT;
-            mouse_events: 1;
-            description { state: "default" 0.0;
-               min: 50 25;
-               color: 255 255 255 0;
-               rel1.to_x: "elm.drag_button_base";
-               rel1.to_y: "icon.dragable.area";
-               rel2.to_x: "elm.drag_button_base";
-               rel2.to_y: "icon.dragable.area";
-            }
-            dragable {
-               events: "elm.drag_button_base";
-            }
-         }
-         part { name: "button0";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "button2";
-               rel1.offset: -4 -4;
-               rel2.to: "button2";
-               rel2.offset: 3 3;
-               image {
-                  normal: "bt_bases.png";
-                  border: 11 11 11 11;
-                  middle: SOLID;
-               }
-               color: 255 255 255 128;
-            }
-         }
-         part { name: "button2";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "elm.drag_button";
-               rel2.to: "elm.drag_button";
-               image {
-                  normal: "bt_basew.png";
-                  border: 7 7 7 7;
-                  middle: SOLID;
-               }
-               color: 255 255 255 210;
-            }
-         }
-         part { name: "button3";
+         part {
+            name: "elm.swallow.space";
+            type: SWALLOW;
             mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "button2";
-               rel2.to: "button2";
-               rel2.relative: 1.0 0.5;
-               image {
-                  normal: "bt_hilightw.png";
-                  border: 4 4 4 0;
-               }
-               color: 255 255 255 190;
-            }
-         }
-         part { name: "elm.text.indicator";
-            type: TEXT;
             scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
+            description {
+               state: "default" 0.0;
+               min: 50 25;
+               fixed: 1 0;
+               align: 0.5 0.5;
                rel1 {
-                  to: "elm.drag_button";
-                  offset: 5 0;
+                  relative: 0.5 0.0;
+                  to: "icon.dragable.area";
                }
                rel2 {
-                  to: "elm.drag_button";
-                  offset: -5 0;
-               }
-               color: 0 0 0 255;
-               text {
-                  font: "Sans,Edje-Vera";
-                  size: 10;
-                  align: 0.5 0.5;
-                  min: 0 1;
+                  relative: 0.5 1.0;
+                  to: "icon.dragable.area";
                }
+               visible: 0;
             }
          }
       }
-      programs {
-         program { name: "elm.drag_button,mouse,up";
-            signal: "mouse,up,1";
-            source: "elm.drag_button";
-            action: SIGNAL_EMIT "elm.drag_button,mouse,up" "";
-         }
-         program { name: "elm.drag_button,mouse,down";
-            signal: "mouse,down,1";
-            source: "elm.drag_button";
-            action: SIGNAL_EMIT "elm.drag_button,mouse,down" "";
-         }
-         program { name: "elm.drag_button,mouse,move";
-            signal: "mouse,move";
-            source: "elm.drag_button_base";
-            action: SIGNAL_EMIT "elm.drag_button,mouse,move" "";
-         }
-      }
    }
 
    group { name: "elm/actionslider/base/bar";
@@ -15477,9 +15401,6 @@ collections {
       images {
          image: "shelf_inset.png" COMP;
          image: "ilist_1.png" COMP;
-         image: "bt_bases.png" COMP;
-         image: "bt_basew.png" COMP;
-         image: "bt_hilightw.png" COMP;
       }
 
       parts {
@@ -15571,13 +15492,13 @@ collections {
                rel2 {
                   relative: 0 1;
                   offset: 3 -3;
-                  to_x: "elm.drag_button_base";
+                  to_x: "elm.swallow.icon";
                   to_y: "base";
                }
                color: 0 0 0 180;
             }
          }
-         part { name: "elm.drag_button_base";
+         part { name: "elm.swallow.icon";
             type: SWALLOW;
             mouse_events: 1;
             scale: 1;
@@ -15585,9 +15506,12 @@ collections {
                fixed: 1 1;
                min: 50 25;
                align: 0.5 0.5;
-               rel1.to: "icon.dragable.area";
+               rel1 {
+                  relative: 0.0 0.5;
+                  to: "icon.dragable.area";
+               }
                rel2 {
-                  relative: 0.0 1.0;
+                  relative: 0.0 0.5;
                   to: "icon.dragable.area";
                }
             }
@@ -15597,19 +15521,46 @@ collections {
                y: 0 0 0;
             }
          }
+         part {
+            name: "elm.swallow.space";
+            type: SWALLOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 50 25;
+               fixed: 1 0;
+               align: 0.5 0.5;
+               rel1 {
+                  relative: 0.5 0.0;
+                  to: "icon.dragable.area";
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  to: "icon.dragable.area";
+               }
+               visible: 0;
+            }
+         }
+      }
+   }
+
+   group { name: "elm/actionslider/icon/default";
+      alias:"elm/actionslider/icon/bar";
+
+      images {
+         image: "bt_bases.png" COMP;
+         image: "bt_basew.png" COMP;
+         image: "bt_hilightw.png" COMP;
+      }
+      parts {
          part { name: "elm.drag_button";
             type: RECT;
             mouse_events: 1;
             description { state: "default" 0.0;
                min: 50 25;
+               align: 0.5 0.5;
                color: 255 255 255 0;
-               rel1.to_x: "elm.drag_button_base";
-               rel1.to_y: "icon.dragable.area";
-               rel2.to_x: "elm.drag_button_base";
-               rel2.to_y: "icon.dragable.area";
-            }
-            dragable {
-               events: "elm.drag_button_base";
             }
          }
          part { name: "button0";
@@ -15653,7 +15604,7 @@ collections {
                color: 255 255 255 190;
             }
          }
-         part { name: "elm.text.indicator";
+         part { name: "elm.text.button";
             type: TEXT;
             scale: 1;
             mouse_events: 0;
@@ -15689,11 +15640,12 @@ collections {
          }
          program { name: "elm.drag_button,mouse,move";
             signal: "mouse,move";
-            source: "elm.drag_button_base";
+            source: "elm.swallow.icon";
             action: SIGNAL_EMIT "elm.drag_button,mouse,move" "";
          }
       }
    }
+///////////////////////////////////////////////////////////////////////////////
 
 ///////////////////////////////////////////////////////////////////////////////
 
index aa0293b..581fa4f 100644 (file)
@@ -34,6 +34,7 @@ EXTRA_PROGRAMS = elementary_test elementary_config
 elementary_test_SOURCES = \
 test.c \
 test_3d.c \
+test_actionslider.c \
 test_anchorblock.c \
 test_anchorview.c \
 test_anim.c \
index a72aea3..39b9600 100644 (file)
@@ -58,7 +58,7 @@ void test_inwin2(void *data, Evas_Object *obj, void *event_info);
 void test_scaling(void *data, Evas_Object *obj, void *event_info);
 void test_scaling2(void *data, Evas_Object *obj, void *event_info);
 void test_slider(void *data, Evas_Object *obj, void *event_info);
-//void test_actionslider(void *data, Evas_Object *obj, void *event_info);
+void test_actionslider(void *data, Evas_Object *obj, void *event_info);
 void test_genlist(void *data, Evas_Object *obj, void *event_info);
 void test_genlist2(void *data, Evas_Object *obj, void *event_info);
 void test_genlist3(void *data, Evas_Object *obj, void *event_info);
@@ -336,7 +336,7 @@ my_win_main(char *autorun, Eina_Bool test_win_only)
    ADD_TEST("Scaling", test_scaling);
    ADD_TEST("Scaling 2", test_scaling2);
    ADD_TEST("Slider", test_slider);
-   //ADD_TEST("Actionslider", test_actionslider);
+   ADD_TEST("Actionslider", test_actionslider);
    ADD_TEST("Genlist", test_genlist);
    ADD_TEST("Genlist 2", test_genlist2);
    ADD_TEST("Genlist 3", test_genlist3);
index d8311c4..99f44ed 100644 (file)
@@ -14,18 +14,18 @@ static void
 _position_change_magnetic_cb(void *data __UNUSED__, Evas_Object * obj, void *event_info)
 {
    if (!strcmp((char *)event_info, "left"))
-     elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_LEFT);
+     elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_MAGNET_LEFT);
    else if (!strcmp((char *)event_info, "right"))
-     elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_RIGHT);
+     elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_MAGNET_RIGHT);
 }
 
 static void
 _magnet_enable_disable_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info)
 {
    if (!strcmp((char *)event_info, "left"))
-      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_CENTER);
+      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_MAGNET_CENTER);
    else if (!strcmp((char *)event_info, "right"))
-      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_NONE);
+      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_MAGNET_NONE);
 }
 
 void
@@ -39,24 +39,24 @@ test_actionslider(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *eve
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
-   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_show(bg);
 
    bx = elm_box_add(win);
-   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(win, bx);
    evas_object_show(bx);
 
    as = elm_actionslider_add(win);
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
-   elm_object_text_part_set(as, "left", "Snooze");
-   elm_object_text_part_set(as, "center", NULL);
-   elm_object_text_part_set(as, "right", "Stop");
-   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
-                                    ELM_ACTIONSLIDER_RIGHT);
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_RIGHT);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_RIGHT);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,"Snooze");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,NULL);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Stop");
+   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_MAGNET_LEFT |
+                                    ELM_ACTIONSLIDER_MAGNET_RIGHT);
    evas_object_smart_callback_add(as, "pos_changed",
                                   _position_change_magnetic_cb, NULL);
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
@@ -64,45 +64,45 @@ test_actionslider(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *eve
    elm_box_pack_end(bx, as);
 
    as = elm_actionslider_add(win);
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
-   elm_object_text_part_set(as, "left", "Snooze");
-   elm_object_text_part_set(as, "center", NULL);
-   elm_object_text_part_set(as, "right", "Stop");
-   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
-                                    ELM_ACTIONSLIDER_RIGHT);
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_CENTER);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_CENTER);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,"Snooze");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,NULL);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Stop");
+   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_MAGNET_LEFT |
+                                    ELM_ACTIONSLIDER_MAGNET_RIGHT);
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
    evas_object_show(as);
    elm_box_pack_end(bx, as);
 
    as = elm_actionslider_add(win);
    elm_object_style_set(as, "bar");
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER|
-                                   ELM_ACTIONSLIDER_RIGHT);
-   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_CENTER |
-                                    ELM_ACTIONSLIDER_RIGHT);
-   elm_object_text_part_set(as, "left", NULL);
-   elm_object_text_part_set(as, "center", "Accept");
-   elm_object_text_part_set(as, "right", "Reject");
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL,EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_LEFT);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_CENTER|
+                                   ELM_ACTIONSLIDER_MAGNET_RIGHT);
+   elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_MAGNET_CENTER |
+                                    ELM_ACTIONSLIDER_MAGNET_RIGHT);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,NULL);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,"Accept");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Reject");
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
    evas_object_show(as);
    elm_box_pack_end(bx, as);
 
    as = elm_actionslider_add(win);
    elm_object_style_set(as, "bar");
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_LEFT);
-   elm_object_text_part_set(as, "left", NULL);
-   elm_object_text_part_set(as, "center", "Accept");
-   elm_object_text_part_set(as, "right", "Reject");
-   elm_object_text_set(as, "Go");
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_LEFT);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_LEFT);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,NULL);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,"Accept");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Reject");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_BUTTON,"Go");
    evas_object_smart_callback_add(as, "pos_changed",
                                   _position_change_magnetic_cb, NULL);
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
@@ -111,33 +111,33 @@ test_actionslider(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *eve
 
 
    as = elm_actionslider_add(win);
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_ALL);
-   elm_object_text_part_set(as, "left", "Left");
-   elm_object_text_part_set(as, "center", "Center");
-   elm_object_text_part_set(as, "right", "Right");
-   elm_object_text_set(as, "Go");
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_LEFT);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_ALL);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,"Left");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,"Center");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Right");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_BUTTON,"Go");
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
    evas_object_show(as);
    elm_box_pack_end(bx, as);
 
    as = elm_actionslider_add(win);
-   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
-   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
-   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
-   elm_object_text_part_set(as, "left", "Enable");
-   elm_object_text_part_set(as, "center", "Magnet");
-   elm_object_text_part_set(as, "right", "Disable");
+   evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(as, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_INDICATOR_CENTER);
+   elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_MAGNET_CENTER);
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_LEFT,"Enable");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_CENTER,"Magnet");
+   elm_actionslider_label_set(as, ELM_ACTIONSLIDER_LABEL_RIGHT,"Disable");
    evas_object_smart_callback_add(as, "pos_changed",
                                   _magnet_enable_disable_cb, NULL);
    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
    evas_object_show(as);
    elm_box_pack_end(bx, as);
 
-   evas_object_resize(win, 320, 400);
+   evas_object_resize(win, 240, 240);
    evas_object_show(win);
 }
 #endif
index 9bbb60e..0e3af4e 100644 (file)
@@ -94,12 +94,12 @@ _del_hook(Evas_Object *obj)
 {
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
-   if (wd->icon) 
+   if (wd->icon)
      {
         evas_object_del(wd->icon);
         wd->icon = NULL;
      }
-   if (wd->icon_fake) 
+   if (wd->icon_fake)
      {
         evas_object_del(wd->icon_fake);
         wd->icon_fake = NULL;
@@ -108,7 +108,7 @@ _del_hook(Evas_Object *obj)
    if (wd->text_right) eina_stringshare_del(wd->text_right);
    if (wd->text_center) eina_stringshare_del(wd->text_center);
    if (wd->text_button) eina_stringshare_del(wd->text_button);
-   if (wd->as) 
+   if (wd->as)
      {
         evas_object_smart_member_del(wd->as);
         evas_object_del(wd->as);
@@ -187,9 +187,9 @@ _theme_hook(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
    _elm_widget_mirrored_reload(obj);
-   if (edje_object_part_swallow_get(wd->as, "elm.swallow.icon") == NULL) 
+   if (edje_object_part_swallow_get(wd->as, "elm.swallow.icon") == NULL)
      edje_object_part_unswallow(wd->as, wd->icon);
-   if (edje_object_part_swallow_get(wd->as, "elm.swallow.space") == NULL) 
+   if (edje_object_part_swallow_get(wd->as, "elm.swallow.space") == NULL)
      edje_object_part_unswallow(wd->as, wd->icon_fake);
 
    _elm_theme_object_set(obj, wd->as, "actionslider", "base", elm_widget_style_get(obj));
@@ -200,7 +200,7 @@ _theme_hook(Evas_Object *obj)
 
    _mirrored_set(obj, elm_widget_mirrored_get(obj));
    edje_object_part_text_set(wd->as, "elm.text.center", wd->text_center);
-   edje_object_part_text_set(wd->as, "elm.text.button", wd->text_button);
+   edje_object_part_text_set(wd->icon, "elm.text.button", wd->text_button);
    edje_object_message_signal_process(wd->as);
    //edje_object_scale_set(wd->as, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
@@ -238,11 +238,11 @@ _icon_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void
 
    edje_object_part_drag_value_get(wd->as, "elm.swallow.icon", &pos, NULL);
 
-   if (pos == 0.0) 
+   if (pos == 0.0)
      evas_object_smart_callback_call(as, SIG_CHANGED, (void *) ((!elm_widget_mirrored_get(as)) ? "left" : "right"));
-   else if (pos == 1.0) 
+   else if (pos == 1.0)
      evas_object_smart_callback_call(as, SIG_CHANGED, (void *) ((!elm_widget_mirrored_get(as)) ? "right" : "left"));
-   else if (pos >= 0.495 && pos <= 0.505) 
+   else if (pos >= 0.495 && pos <= 0.505)
      evas_object_smart_callback_call(as, SIG_CHANGED, (void *)"center");
 
 /*
@@ -269,11 +269,11 @@ _icon_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info _
 
    wd->mouse_down = EINA_FALSE;
 
-   if (wd->mouse_hold == EINA_FALSE) 
+   if (wd->mouse_hold == EINA_FALSE)
      {
-        edje_object_part_drag_value_get(wd->as, "elm.drag_button_base", &position, NULL);
+        edje_object_part_drag_value_get(wd->as, "elm.swallow.icon", &position, NULL);
 
-        if ((wd->enabled_position & ELM_ACTIONSLIDER_MAGNET_LEFT) && ((!elm_widget_mirrored_get(as) && position == 0.0) ||(elm_widget_mirrored_get(obj) && position == 1.0))) 
+        if ((wd->enabled_position & ELM_ACTIONSLIDER_MAGNET_LEFT) && ((!elm_widget_mirrored_get(as) && position == 0.0) ||(elm_widget_mirrored_get(obj) && position == 1.0)))
           {
              wd->final_position = 0.0;
              evas_object_smart_callback_call(data, SIG_SELECTED,(void *) wd->text_left);
@@ -285,7 +285,7 @@ _icon_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info _
           }
         else if ((wd->enabled_position & ELM_ACTIONSLIDER_MAGNET_RIGHT) && ((!elm_widget_mirrored_get(as) && position == 1.0) ||(elm_widget_mirrored_get(obj) && position == 0.0)))
           {
-             wd->final_position = 1.0; 
+             wd->final_position = 1.0;
              evas_object_smart_callback_call(data, SIG_SELECTED, (void *) wd->text_right);
           }
         if (wd->magnet_position == ELM_ACTIONSLIDER_MAGNET_NONE) return;
@@ -356,19 +356,19 @@ _icon_animation(void *data)
    edje_object_part_drag_value_get(wd->as, "elm.swallow.icon", &cur_position, NULL);
    adjusted_final = (!elm_widget_mirrored_get(as)) ? wd->final_position : 1.0 - wd->final_position;
 
-   if ( (adjusted_final == 0.0) ||(adjusted_final == 0.5 && cur_position >= adjusted_final) ) 
+   if ( (adjusted_final == 0.0) ||(adjusted_final == 0.5 && cur_position >= adjusted_final) )
      {
         new_position = cur_position - move_amount;
-        if (new_position <= adjusted_final) 
+        if (new_position <= adjusted_final)
           {
              new_position = adjusted_final;
              flag_finish_animation = EINA_TRUE;
           }
-     } 
-   else if ((adjusted_final == 1.0) || (adjusted_final == 0.5 && cur_position < adjusted_final) ) 
+     }
+   else if ((adjusted_final == 1.0) || (adjusted_final == 0.5 && cur_position < adjusted_final) )
      {
         new_position = cur_position + move_amount;
-        if (new_position >= adjusted_final) 
+        if (new_position >= adjusted_final)
           {
              new_position = adjusted_final;
              flag_finish_animation = EINA_TRUE;
@@ -414,7 +414,7 @@ _elm_actionslider_label_set(Evas_Object *obj, const char *item, const char *labe
    if (!item || !strcmp(item, "default"))
      {
         eina_stringshare_replace(&wd->text_button, label);
-        edje_object_part_text_set(wd->as, "elm.text.button",
+        edje_object_part_text_set(wd->icon, "elm.text.button",
               wd->text_button);
      }
    else if (!strcmp(item, "left"))
@@ -509,28 +509,28 @@ elm_actionslider_add(Evas_Object *parent)
 
    // load background edj
    wd->as = edje_object_add(e);
-   if(wd->as == NULL) 
+   if(wd->as == NULL)
      {
         printf("Cannot load actionslider edj!\n");
         return NULL;
      }
-   _elm_theme_object_set(obj, wd->as, "actionslider", "base", "default");
+   _elm_theme_object_set(obj, wd->as, "actionslider", "base", elm_widget_style_get(obj));
    elm_widget_resize_object_set(obj, wd->as);
 
    // load icon
    wd->icon = edje_object_add(e);
-   if (wd->icon == NULL) 
+   if (wd->icon == NULL)
      {
         printf("Cannot load acitionslider icon!\n");
         return NULL;
      }
    evas_object_smart_member_add(wd->icon, obj);
-   _elm_theme_object_set(obj, wd->icon, "actionslider", "icon", "default");
+   _elm_theme_object_set(obj, wd->icon, "actionslider", "icon", elm_widget_style_get(obj));
    edje_object_part_swallow(wd->as, "elm.swallow.icon", wd->icon);
 
    wd->icon_fake = edje_object_add(e);
    evas_object_smart_member_add(wd->icon_fake, obj);
-   _elm_theme_object_set(obj, wd->icon_fake, "actionslider", "icon", "default");
+   _elm_theme_object_set(obj, wd->icon_fake, "actionslider", "icon", elm_widget_style_get(obj));
    edje_object_part_swallow(wd->as, "elm.swallow.space", wd->icon_fake);
 
    // event callbacks
@@ -565,9 +565,9 @@ elm_actionslider_add_with_set(Evas_Object *parent, Elm_Actionslider_Icon_Pos pos
 */
 
 /**
- * Set actionslider indicator position. 
+ * Set actionslider indicator position.
  *
- * @param[in] obj The actionslider object. 
+ * @param[in] obj The actionslider object.
  * @param[in] pos The position of the indicator.
  * (ELM_ACTIONSLIDER_INDICATOR_LEFT, ELM_ACTIONSLIDER_INDICATOR_RIGHT,
  *  ELM_ACTIONSLIDER_INDICATOR_CENTER)
@@ -617,9 +617,9 @@ elm_actionslider_indicator_pos_get(const Evas_Object *obj)
      return _get_pos_by_orientation(obj, ELM_ACTIONSLIDER_INDICATOR_RIGHT);
 }
 /**
- * Set actionslider magnet position. 
+ * Set actionslider magnet position.
  *
- * @param[in] obj The actionslider object. 
+ * @param[in] obj The actionslider object.
  * @param[in] pos The position of the magnet.
  * (ELM_ACTIONSLIDER_MAGNET_LEFT, ELM_ACTIONSLIDER_MAGNET_RIGHT,
  *  ELM_ACTIONSLIDER_MAGNET_BOTH, ELM_ACTIONSLIDER_MAGNET_CENTER)
@@ -702,7 +702,7 @@ elm_actionslider_enabled_pos_get(const Evas_Object *obj)
  *
  * @ingroup Actionslider
  */
-EAPI void 
+EAPI void
 elm_actionslider_label_set(Evas_Object *obj, Elm_Actionslider_Label_Pos pos, const char *label)
 {
    ELM_CHECK_WIDTYPE(obj, widtype);
@@ -711,11 +711,11 @@ elm_actionslider_label_set(Evas_Object *obj, Elm_Actionslider_Label_Pos pos, con
 
    if(label == NULL) label = "";
 
-   if (pos == ELM_ACTIONSLIDER_LABEL_RIGHT) 
+   if (pos == ELM_ACTIONSLIDER_LABEL_RIGHT)
      _elm_actionslider_label_set(obj, "right", label);
-   else if (pos == ELM_ACTIONSLIDER_LABEL_LEFT) 
+   else if (pos == ELM_ACTIONSLIDER_LABEL_LEFT)
      _elm_actionslider_label_set(obj, "left", label);
-   else if (pos == ELM_ACTIONSLIDER_LABEL_CENTER) 
+   else if (pos == ELM_ACTIONSLIDER_LABEL_CENTER)
      _elm_actionslider_label_set(obj, "center", label);
    else if (pos == ELM_ACTIONSLIDER_LABEL_BUTTON)
      {
@@ -724,7 +724,7 @@ elm_actionslider_label_set(Evas_Object *obj, Elm_Actionslider_Label_Pos pos, con
         /* Resize button width */
         Evas_Object *txt;
         txt = (Evas_Object *)edje_object_part_object_get (wd->icon, "elm.text.button");
-        if (txt != NULL) 
+        if (txt != NULL)
           {
              evas_object_text_text_set (txt, wd->text_button);
 
@@ -802,7 +802,7 @@ elm_actionslider_selected_label_get(const Evas_Object *obj)
  *
  * @ingroup Actionslider
  */
-EAPI void 
+EAPI void
 elm_actionslider_indicator_label_set(Evas_Object *obj, const char *label)
 {
    _elm_actionslider_label_set(obj, NULL, label);