[*][scroller] split the scroller with genlist code and apply svn changes.
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Wed, 28 Sep 2011 09:57:47 +0000 (18:57 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Wed, 28 Sep 2011 10:00:41 +0000 (19:00 +0900)
themes/groups/genlist/genlist.edc
themes/groups/scroller.edc [new file with mode: 0644]
themes/nbeat.edc

index 0c82b55..50928da 100644 (file)
    }
 
 
-   group { name: "elm/scroller/base/default";
-      alias: "elm/list/base/default";
-      alias: "elm/genlist/base/default";
-      alias: "elm/carousel/base/default";
-      alias: "elm/gengrid/base/default";
-      script {
-         public sbvis_v, sbvis_h, sbnever_v, sbalways_v, sbalways_h, sbvis_timer;
-         public timer0(val) {
-            new v;
-            v = get_int(sbvis_v);
-            if (v) {
-               v = get_int(sbalways_v);
-               if (!v) {
-                  emit("do-hide-vbar", "");
-                  set_int(sbvis_v, 0);
-               }
-            }
-            v = get_int(sbvis_h);
-            if (v) {
-               v = get_int(sbalways_h);
-               if (!v) {
-                  emit("do-hide-hbar", "");
-                  set_int(sbvis_h, 0);
-               }
-            }
-            set_int(sbvis_timer, 0);
-            return 0;
-         }
-      }
-      images {
-                 image: "00_scroll_bar.png" COMP;
-                 image: "bt_sm_shine.png" COMP;
-                 image: "bt_sm_hilight.png" COMP;
-                 image: "sb_runnerh.png" COMP;
-                 image: "sb_runnerv.png" COMP;
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "clipper";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-         }
-         part { name: "elm.swallow.content";
-            clip_to: "clipper";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-            }
-         }
-         part { name: "conf_over";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               visible: 0;
-            }
-         }
-         part { name: "sb_vbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar_clip";
-            clip_to: "sb_vbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 8 8;
-               align: 1.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  offset: -1 0;
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  offset: -1 -1;
-                  to_y: "sb_hbar";
-               }
-            }
-         }
-         part { name: "sb_vbar_runner";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 8 8;
-               max: 8 99999;
-               rel1.to: "sb_vbar";
-               rel2.to: "sb_vbar";
-               visible: 0;
-               image {
-                  normal: "sb_runnerv.png";
-                  border: 0 0 4 4;
-                  border_scale: 1;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "elm.dragable.vbar";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            dragable {
-               x: 0 0 0;
-               y: 1 1 0;
-               confine: "sb_vbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 8 8;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-               image {
-                                  normal: "00_scroll_bar.png";
-                                  border: 2 2 2 2;
-                                  border_scale: 1;
-                                  middle: DEFAULT;
-               }
-            }
-         }
-         part { name: "sb_vbar_over1";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_vbar_over2";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar_clip";
-            clip_to: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 50 8;
-               align: 0.0 1.0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 0 -1;
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  offset: -1 -1;
-                  to_x: "sb_vbar";
-               }
-            }
-         }
-         part { name: "sb_hbar_runner";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 50 8;
-               max: 99999 8;
-               rel1.to: "sb_hbar";
-               rel2.to: "sb_hbar";
-               visible: 0;
-               image {
-                  normal: "sb_runnerh.png";
-                  border: 4 4 0 0;
-                  border_scale: 1;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "elm.dragable.hbar";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            dragable {
-               x: 1 1 0;
-               y: 0 0 0;
-               confine: "sb_hbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 50 8;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-               color: 255 255 255 0;
-               image {
-                                  normal: "00_scroll_bar.png";
-                                  border: 2 2 2 2;
-                                  border_scale: 1;
-               }
-               image.middle: SOLID;
-            }
-         }
-         part { name: "sb_hbar_over1";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_over2";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-      }
-      programs {
-         program { name: "load";
-            signal: "load";
-            source: "";
-            script {
-               set_state(PART:"sb_hbar_clip", "hidden", 0.0);
-               set_state(PART:"sb_vbar_clip", "hidden", 0.0);
-               set_int(sbvis_h, 0);
-               set_int(sbvis_v, 0);
-               set_int(sbalways_v, 0);
-               set_int(sbalways_h, 0);
-               set_int(sbvis_timer, 0);
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show";
-            signal: "elm,action,show,vbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_hide";
-            signal: "elm,action,hide,vbar";
-            source: "elm";
-            action: STATE_SET "hidden" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_show_always";
-            signal: "elm,action,show_always,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               if (!v) {
-                  set_int(sbalways_v, 1);
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show_notalways";
-            signal: "elm,action,show_notalways,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_v);
-               if (v) {
-                  set_int(sbalways_v, 0);
-                  v = get_int(sbvis_v);
-                  if (!v) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_hide_always";
-            signal: "elm,action,hide_always,vbar";
-            source: "elm";
-            script {
-               new v1, v2;
-               v1 = get_int(sbnever_v);
-               if (!v1) {
-                  set_int(sbnever_v, 1);
-                  set_int(sbalways_v, 0);
-                  v2 = get_int(sbvis_v);
-                  if (!v2) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_vbar_show";
-            signal: "do-show-vbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "sb_vbar_hide";
-            signal: "do-hide-vbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "hbar_show";
-            signal: "elm,action,show,hbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_hide";
-            signal: "elm,action,hide,hbar";
-            source: "elm";
-            action:  STATE_SET "hidden" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_show_always";
-            signal: "elm,action,show_always,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  set_int(sbalways_h, 1);
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-            }
-         }
-         program { name: "hbar_show_notalways";
-            signal: "elm,action,show_notalways,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_h);
-               if (v) {
-                  set_int(sbalways_h, 0);
-                  v = get_int(sbvis_h);
-                  if (!v) {
-                     emit("do-hide-hbar", "");
-                     set_int(sbvis_h, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_hbar_show";
-            signal: "do-show-hbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-         program { name: "sb_hbar_hide";
-            signal: "do-hide-hbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-         program { name: "scroll";
-            signal: "elm,action,scroll";
-            source: "elm";
-            action:  STATE_SET "default" 0.0;
-            script {
-               new v, v1;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               v1 = get_int(sbnever_v);
-               if (!v && !v1) {
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-               v = get_int(sbvis_timer);
-               if (v > 0) cancel_timer(v);
-               v = timer(0.5, "timer0", 0);
-               set_int(sbvis_timer, v);
-            }
-         }
-      }
-   }
-
-   group { name: "elm/scroller/base/unclipped";
-      alias: "elm/list/base/unclipped";
-      alias: "elm/genlist/base/unclipped";
-      alias: "elm/carousel/base/unclipped";
-      alias: "elm/gengrid/base/unclipped";
-      script {
-         public sbvis_v, sbvis_h, sbnever_v, sbalways_v, sbalways_h, sbvis_timer;
-         public timer0(val) {
-            new v;
-            v = get_int(sbvis_v);
-            if (v) {
-               v = get_int(sbalways_v);
-               if (!v) {
-                  emit("do-hide-vbar", "");
-                  set_int(sbvis_v, 0);
-               }
-            }
-            v = get_int(sbvis_h);
-            if (v) {
-               v = get_int(sbalways_h);
-               if (!v) {
-                  emit("do-hide-hbar", "");
-                  set_int(sbvis_h, 0);
-               }
-            }
-            set_int(sbvis_timer, 0);
-            return 0;
-         }
-      }
-      images {
-                 image: "00_scroll_bar.png" COMP;
-                 image: "bt_sm_shine.png" COMP;
-                 image: "bt_sm_hilight.png" COMP;
-                 image: "sb_runnerh.png" COMP;
-                 image: "sb_runnerv.png" COMP;
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-            }
-         }
-         part { name: "conf_over";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               visible: 0;
-            }
-         }
-         part { name: "sb_vbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar_clip";
-            clip_to: "sb_vbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 8 8;
-               align: 1.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  offset: -1 0;
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  offset: -1 -1;
-                  to_y: "sb_hbar";
-               }
-            }
-         }
-         part { name: "sb_vbar_runner";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 8 8;
-               max: 8 99999;
-               rel1.to: "sb_vbar";
-               rel2.to: "sb_vbar";
-               visible: 0;
-               image {
-                  normal: "sb_runnerv.png";
-                  border: 0 0 4 4;
-                  border_scale: 1;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "elm.dragable.vbar";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            dragable {
-               x: 0 0 0;
-               y: 1 1 0;
-               confine: "sb_vbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 8 8;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-               image {
-                                  normal: "00_scroll_bar.png";
-                                  border: 2 2 2 2;
-                                  border_scale: 1;
-                                  middle: DEFAULT;
-               }
-            }
-         }
-         part { name: "sb_vbar_over1";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_vbar_over2";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar_clip";
-            clip_to: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 50 8;
-               align: 0.0 1.0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 0 -1;
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  offset: -1 -1;
-                  to_x: "sb_vbar";
-               }
-            }
-         }
-         part { name: "sb_hbar_runner";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 50 8;
-               max: 99999 8;
-               rel1.to: "sb_hbar";
-               rel2.to: "sb_hbar";
-               visible: 0;
-               image {
-                  normal: "sb_runnerh.png";
-                  border: 4 4 0 0;
-                  border_scale: 1;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "elm.dragable.hbar";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            dragable {
-               x: 1 1 0;
-               y: 0 0 0;
-               confine: "sb_hbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 50 8;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-               color: 255 255 255 0;
-               image {
-                                  normal: "00_scroll_bar.png";
-                                  border: 2 2 2 2;
-                                  border_scale: 1;
-               }
-               image.middle: SOLID;
-            }
-         }
-         part { name: "sb_hbar_over1";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_over2";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-      }
-      programs {
-         program { name: "load";
-            signal: "load";
-            source: "";
-            script {
-               set_state(PART:"sb_hbar_clip", "hidden", 0.0);
-               set_state(PART:"sb_vbar_clip", "hidden", 0.0);
-               set_int(sbvis_h, 0);
-               set_int(sbvis_v, 0);
-               set_int(sbalways_v, 0);
-               set_int(sbalways_h, 0);
-               set_int(sbvis_timer, 0);
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show";
-            signal: "elm,action,show,vbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_hide";
-            signal: "elm,action,hide,vbar";
-            source: "elm";
-            action: STATE_SET "hidden" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_show_always";
-            signal: "elm,action,show_always,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               if (!v) {
-                  set_int(sbalways_v, 1);
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show_notalways";
-            signal: "elm,action,show_notalways,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_v);
-               if (v) {
-                  set_int(sbalways_v, 0);
-                  v = get_int(sbvis_v);
-                  if (!v) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_hide_always";
-            signal: "elm,action,hide_always,vbar";
-            source: "elm";
-            script {
-               new v1, v2;
-               v1 = get_int(sbnever_v);
-               if (!v1) {
-                  set_int(sbnever_v, 1);
-                  set_int(sbalways_v, 0);
-                  v2 = get_int(sbvis_v);
-                  if (!v2) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_vbar_show";
-            signal: "do-show-vbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "sb_vbar_hide";
-            signal: "do-hide-vbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "hbar_show";
-            signal: "elm,action,show,hbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_hide";
-            signal: "elm,action,hide,hbar";
-            source: "elm";
-            action:  STATE_SET "hidden" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_show_always";
-            signal: "elm,action,show_always,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  set_int(sbalways_h, 1);
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-            }
-         }
-         program { name: "hbar_show_notalways";
-            signal: "elm,action,show_notalways,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_h);
-               if (v) {
-                  set_int(sbalways_h, 0);
-                  v = get_int(sbvis_h);
-                  if (!v) {
-                     emit("do-hide-hbar", "");
-                     set_int(sbvis_h, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_hbar_show";
-            signal: "do-show-hbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-         program { name: "sb_hbar_hide";
-            signal: "do-hide-hbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-         program { name: "scroll";
-            signal: "elm,action,scroll";
-            source: "elm";
-            action:  STATE_SET "default" 0.0;
-            script {
-               new v, v1;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               v1 = get_int(sbnever_v);
-               if (!v && !v1) {
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-               v = get_int(sbvis_timer);
-               if (v > 0) cancel_timer(v);
-               v = timer(0.5, "timer0", 0);
-               set_int(sbvis_timer, v);
-            }
-         }
-      }
-   }
-
-   group { name: "elm/scroller/base/handler";
-      alias: "elm/list/base/handler";
-      alias: "elm/genlist/base/handler";
-      alias: "elm/carousel/base/handler";
-      script {
-         public sbvis_v, sbvis_h, sbnever_v, sbalways_v, sbalways_h, sbvis_timer;
-         public timer0(val) {
-            new v;
-            v = get_int(sbvis_v);
-            if (v) {
-               v = get_int(sbalways_v);
-               if (!v) {
-                  emit("do-hide-vbar", "");
-                  set_int(sbvis_v, 0);
-               }
-            }
-            v = get_int(sbvis_h);
-            if (v) {
-               v = get_int(sbalways_h);
-               if (!v) {
-                  emit("do-hide-hbar", "");
-                  set_int(sbvis_h, 0);
-               }
-            }
-            set_int(sbvis_timer, 0);
-            return 0;
-         }
-      }
-      images {
-                 image: "bt_sm_shine.png" COMP;
-                 image: "bt_sm_hilight.png" COMP;
-                 image: "sb_runnerh.png" COMP;
-                 image: "00_scroll_bar_handler_top.png" COMP;
-                 image: "00_scroll_bar_handler_middle.png" COMP;
-                 image: "00_scroll_bar_handler_bottom.png" COMP;
-                 image: "00_scroll_bar_handler_left.png" COMP;
-                 image: "00_scroll_bar_handler_hor.png" COMP;
-                 image: "00_scroll_bar_handler_right.png" COMP;
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 1 1;
-               rel2.offset: -1 -1;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "clipper";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-         }
-         part { name: "elm.swallow.content";
-            clip_to: "clipper";
-            scale: 1;
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               rel1.offset: 1 1;
-               rel2.offset: -2 -2;
-            }
-         }
-         part { name: "conf_over";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               visible: 0;
-            }
-         }
-         part { name: "sb_vbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar_clip";
-            clip_to: "sb_vbar_clip_master";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_vbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 30 130;
-               align: 1.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  offset: -2 0;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: -2 -1;
-                  to_y: "sb_hbar";
-               }
-            }
-         }
-         part { name: "elm.dragable.vbar";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 1;
-            scale: 1;
-            dragable {
-               x: 0 0 0;
-               y: 1 1 0;
-               confine: "sb_vbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 30 130;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset:   0    0;
-                  to: "sb_vbar";
-               }
-            }
-         }
-         part { name: "scrollbar_handler_image_top";
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "sb_vbar_clip";
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               rel1.relative: 0.0 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.relative: 1.0 0.0;
-               rel2.to: "scrollbar_handler_image_middle";
-               visible: 1;
-               min: 30 57;
-               max: 30 392;
-               image {
-                  normal: "00_scroll_bar_handler_top.png";
-                  border: 5 5 5 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "scrollbar_handler_image_middle";
-            mouse_events: 0;
-            clip_to: "sb_vbar_clip";
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               rel1.relative: 0.5 0.5;
-               rel1.to: "elm.dragable.vbar";
-               rel2.relative: 0.5 0.5;
-               rel2.to: "elm.dragable.vbar";
-               visible: 1;
-               min: 30 16;
-               max: 30 16;
-               image {
-                  normal: "00_scroll_bar_handler_middle.png";
-                  border: 5 5 0 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "scrollbar_handler_image_bottom";
-            mouse_events: 0;
-            clip_to: "sb_vbar_clip";
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               rel1.relative: 0.0 1.0;
-               rel1.to: "scrollbar_handler_image_middle";
-               rel2.relative: 1.0 1.0;
-               rel2.to: "elm.dragable.vbar";
-               visible: 1;
-               min: 30 57;
-               max: 30 392;
-               image {
-                  normal: "00_scroll_bar_handler_bottom.png";
-                  border: 5 5 0 5;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_vbar_over1";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_vbar_over2";
-            clip_to: "sb_vbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.vbar";
-               rel2.to: "elm.dragable.vbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar_clip";
-            clip_to: "sb_hbar_clip_master";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-            description { state: "hidden" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-            }
-         }
-         part { name: "sb_hbar";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               visible: 0;
-               min: 17 17;
-               align: 0.0 1.0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 0 -2;
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  offset: -1 -2;
-                  to_x: "sb_vbar";
-               }
-            }
-         }
-         part { name: "sb_hbar_runner";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 3 3;
-               max: 99999 3;
-               rel1.to: "sb_hbar";
-               rel2.to: "sb_hbar";
-               visible: 0;
-               image {
-                  normal: "sb_runnerh.png";
-                  border: 4 4 0 0;
-                  border_scale: 1;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "elm.dragable.hbar";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 1;
-            scale: 1;
-            dragable {
-               x: 1 1 0;
-               y: 0 0 0;
-               confine: "sb_hbar";
-            }
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               min: 130 30;
-               rel1 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-               rel2 {
-                  relative: 0.5  0.5;
-                  offset: 0 0;
-                  to: "sb_hbar";
-               }
-            }
-         }
-         part { name: "h_scrollbar_handler_image_left";
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "sb_hbar_clip";
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               rel1.relative: 0.0 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.relative: 0.0 1.0;
-               rel2.to: "scrollbar_handler_image_hor";
-               visible: 1;
-               min: 57 30;
-               max: 392 30;
-               image {
-                  normal: "00_scroll_bar_handler_left.png";
-                  border: 5 0 5 5;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "scrollbar_handler_image_hor";
-            mouse_events: 0;
-            clip_to: "sb_hbar_clip";
-            scale: 1;
-            description { state: "default" 0.0;
-            fixed: 1 1;
-               rel1.relative: 0.5 0.5;
-               rel1.to: "elm.dragable.hbar";
-               rel2.relative: 0.5 0.5;
-               rel2.to: "elm.dragable.hbar";
-               visible: 1;
-               min: 16 30;
-               max: 16 30;
-               image {
-                  normal: "00_scroll_bar_handler_hor.png";
-                  border: 0 0 5 5;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "h_scrollbar_handler_image_right";
-            mouse_events: 0;
-            clip_to: "sb_hbar_clip";
-            scale: 1;
-            description { state: "default" 0.0;
-               fixed: 1 1;
-               rel1.relative: 1.0 0.0;
-               rel1.to: "scrollbar_handler_image_hor";
-               rel2.relative: 1.0 1.0;
-               rel2.to: "elm.dragable.hbar";
-               visible: 1;
-               min: 57 30;
-               max: 392 30;
-               image {
-                  normal: "00_scroll_bar_handler_right.png";
-                  border: 0 5 5 5;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_over1";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-         part { name: "sb_hbar_over2";
-            clip_to: "sb_hbar_clip";
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               rel1.to: "elm.dragable.hbar";
-               rel2.to: "elm.dragable.hbar";
-               visible: 0;
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-                  border_scale: 1;
-               }
-            }
-         }
-      }
-      programs {
-         program { name: "load";
-            signal: "load";
-            source: "";
-            script {
-               set_state(PART:"sb_hbar_clip", "hidden", 0.0);
-               set_state(PART:"sb_vbar_clip", "hidden", 0.0);
-               set_int(sbvis_h, 0);
-               set_int(sbvis_v, 0);
-               set_int(sbalways_v, 0);
-               set_int(sbalways_h, 0);
-               set_int(sbvis_timer, 0);
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show";
-            signal: "elm,action,show,vbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_hide";
-            signal: "elm,action,hide,vbar";
-            source: "elm";
-            action: STATE_SET "hidden" 0.0;
-            target: "sb_vbar_clip_master";
-         }
-         program { name: "vbar_show_always";
-            signal: "elm,action,show_always,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               if (!v) {
-                  set_int(sbalways_v, 1);
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_show_notalways";
-            signal: "elm,action,show_notalways,vbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_v);
-               if (v) {
-                  set_int(sbalways_v, 0);
-                  v = get_int(sbvis_v);
-                  if (!v) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-               set_int(sbnever_v, 0);
-            }
-         }
-         program { name: "vbar_hide_always";
-            signal: "elm,action,hide_always,vbar";
-            source: "elm";
-            script {
-               new v1, v2;
-               v1 = get_int(sbnever_v);
-               if (!v1) {
-                  set_int(sbnever_v, 1);
-                  set_int(sbalways_v, 0);
-                  v2 = get_int(sbvis_v);
-                  if (!v2) {
-                     emit("do-hide-vbar", "");
-                     set_int(sbvis_v, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_vbar_show";
-            signal: "do-show-vbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "sb_vbar_hide";
-            signal: "do-hide-vbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_vbar_clip";
-         }
-         program { name: "hbar_show";
-            signal: "elm,action,show,hbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_hide";
-            signal: "elm,action,hide,hbar";
-            source: "elm";
-            action:  STATE_SET "hidden" 0.0;
-            target: "sb_hbar_clip_master";
-         }
-         program { name: "hbar_show_always";
-            signal: "elm,action,show_always,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  set_int(sbalways_h, 1);
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-            }
-         }
-         program { name: "hbar_show_notalways";
-            signal: "elm,action,show_notalways,hbar";
-            source: "elm";
-            script {
-               new v;
-               v = get_int(sbalways_h);
-               if (v) {
-                  set_int(sbalways_h, 0);
-                  v = get_int(sbvis_h);
-                  if (!v) {
-                     emit("do-hide-hbar", "");
-                     set_int(sbvis_h, 0);
-                  }
-               }
-            }
-         }
-         program { name: "sb_hbar_show";
-            signal: "do-show-hbar";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-         program { name: "sb_hbar_hide";
-            signal: "do-hide-hbar";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            transition: LINEAR 1.0;
-            target: "sb_hbar_clip";
-         }
-
-         program { name: "scroll";
-            signal: "elm,action,scroll";
-            source: "elm";
-            action:  STATE_SET "default" 0.0;
-            script {
-               new v, v1;
-               v = get_int(sbvis_v);
-               v |= get_int(sbalways_v);
-               v1 = get_int(sbnever_v);
-               if (!v && !v1) {
-                  emit("do-show-vbar", "");
-                  set_int(sbvis_v, 1);
-               }
-               v = get_int(sbvis_h);
-               v |= get_int(sbalways_h);
-               if (!v) {
-                  emit("do-show-hbar", "");
-                  set_int(sbvis_h, 1);
-               }
-               v = get_int(sbvis_timer);
-               if (v > 0) cancel_timer(v);
-               v = timer(0.5, "timer0", 0);
-               set_int(sbvis_timer, v);
-            }
-         }
-      }
-   }
diff --git a/themes/groups/scroller.edc b/themes/groups/scroller.edc
new file mode 100644 (file)
index 0000000..474f606
--- /dev/null
@@ -0,0 +1,1188 @@
+/*
+ *  nbeat-theme
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seokjae Jeong <seok.j.jeong@samsung.com>, Myoungwoon Roy Kim <Myoungwoon.kim@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Jaehwan Kim <jae.hwan.kim@samsung.com>, Chuneon Park <chuneon.park@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Woohyun Jung <wh0705.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, IlKook Yun <ilkook.yun@samsung.com>, CinWoo Kim <cinoo.kim@samsung.com> JiYeon Park <jy0703.park@samsung.com>
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+/*
+ * vim:ts=3
+*/
+group { name: "elm/scroller/base/default";
+
+   alias: "elm/list/base/default";
+   alias: "elm/genlist/base/default";
+   alias: "elm/carousel/base/default";
+   alias: "elm/gengrid/base/default";
+   alias: "elm/scroller/base/map_bubble";
+   alias: "elm/genscroller/base/default";
+
+   data {
+      item: "focus_highlight" "on";
+   }
+
+   script {
+      public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
+      public timer0(val) {
+         new v;
+         v = get_int(sbvis_v);
+         if (v) {
+            v = get_int(sbalways_v);
+            if (!v) {
+               emit("do-hide-vbar", "");
+               set_int(sbvis_v, 0);
+            }
+         }
+         v = get_int(sbvis_h);
+         if (v) {
+            v = get_int(sbalways_h);
+            if (!v) {
+               emit("do-hide-hbar", "");
+               set_int(sbvis_h, 0);
+            }
+         }
+         set_int(sbvis_timer, 0);
+         return 0;
+      }
+   }
+   images {
+      image: "shelf_inset.png" COMP;
+      image: "00_scroll_bar.png" COMP;
+      image: "bt_sm_shine.png" COMP;
+      image: "bt_sm_hilight.png" COMP;
+      image: "sl_bt2_2.png" COMP;
+   }
+   parts {
+      part { name: "bg";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+         }
+      }
+      part { name: "elm.swallow.content";
+         clip_to: "clipper";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+         }
+      }
+      part { name: "conf_over";
+         mouse_events:  0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            visible: 0;
+            image {
+               normal: "shelf_inset.png";
+               border: 7 7 7 7;
+               middle: 0;
+            }
+            fill.smooth : 0;
+         }
+         description { state: "enabled" 0.0;
+            inherit: "default" 0.0;
+            color: 200 155 0 255;
+         }
+      }
+      part { name: "focus_highlight";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.offset: -1 -1;
+            rel2.offset: 0 0;
+            image {
+               normal: "sl_bt2_2.png";
+               border: 7 7 7 7;
+               middle: 0;
+            }
+            fill.smooth : 0;
+            color: 200 155 0 0;
+         }
+         description { state: "enabled" 0.0;
+            inherit: "default" 0.0;
+            color: 200 155 0 255;
+         }
+      }
+      part { name: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar_clip";
+         clip_to: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: 10 17;
+            align: 1.0 0.0;
+            rel1 {
+               relative: 1.0 0.0;
+               offset:   0 2;
+               to_y:     "elm.swallow.content";
+               to_x:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               offset:   -1 -1;
+               to_y:     "sb_hbar";
+               to_x:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.vbar";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 0 0 0;
+            y: 1 1 0;
+            confine: "sb_vbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: 10 17;
+            max: 10 99999;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+            image {
+               normal: "00_scroll_bar.png";
+               border: 2 2 2 2;
+               border_scale: 1;
+               middle: DEFAULT;
+            }
+         }
+      }
+      part { name: "sb_vbar_over1";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.vbar";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "elm.dragable.vbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_hilight.png";
+               border: 6 6 6 0;
+            }
+         }
+      }
+      part { name: "sb_vbar_over2";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.vbar";
+            rel2.to: "elm.dragable.vbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_shine.png";
+               border: 6 6 6 0;
+            }
+         }
+      }
+
+      part { name: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar_clip";
+         clip_to: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: 17 10;
+            align: 0.0 1.0;
+            rel1 {
+               relative: 0.0 1.0;
+               offset:   2 0;
+               to_x:     "elm.swallow.content";
+               to_y:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               offset:   -1 -1;
+               to_x:     "sb_vbar";
+               to_y:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.hbar";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 1 1 0;
+            y: 0 0 0;
+            confine: "sb_hbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: 17 10;
+            max: 99999 10;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+            image {
+               normal: "00_scroll_bar.png";
+               border: 2 2 2 2;
+               border_scale: 1;
+               middle: DEFAULT;
+            }
+         }
+      }
+      part { name: "sb_hbar_over1";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.hbar";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "elm.dragable.hbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_hilight.png";
+               border: 4 4 4 0;
+            }
+         }
+      }
+      part { name: "sb_hbar_over2";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.hbar";
+            rel2.to: "elm.dragable.hbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_shine.png";
+               border: 4 4 4 0;
+            }
+         }
+      }
+      part { name: "disabler";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "clipper";
+            rel2.to: "clipper";
+            color: 0 0 0 0;
+            visible: 0;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 128 128 128 128;
+         }
+      }
+   }
+   programs {
+      program { name: "load";
+         signal: "load";
+         source: "";
+         script {
+            set_state(PART:"sb_hbar_clip", "hidden", 0.0);
+            set_state(PART:"sb_vbar_clip", "hidden", 0.0);
+            set_int(sbvis_h, 0);
+            set_int(sbvis_v, 0);
+            set_int(sbalways_v, 0);
+            set_int(sbalways_h, 0);
+            set_int(sbvis_timer, 0);
+         }
+      }
+
+      program { name: "vbar_show";
+         signal: "elm,action,show,vbar";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_hide";
+         signal: "elm,action,hide,vbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_show_always";
+         signal: "elm,action,show_always,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               set_int(sbalways_v, 1);
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+         }
+      }
+      program { name: "vbar_show_notalways";
+         signal: "elm,action,show_notalways,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_v);
+            if (v) {
+               set_int(sbalways_v, 0);
+               v = get_int(sbvis_v);
+               if (!v) {
+                  emit("do-hide-vbar", "");
+                  set_int(sbvis_v, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_vbar_show";
+         signal: "do-show-vbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+      program { name: "sb_vbar_hide";
+         signal: "do-hide-vbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+
+      program { name: "hbar_show";
+         signal: "elm,action,show,hbar";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_hide";
+         signal: "elm,action,hide,hbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_show_always";
+         signal: "elm,action,show_always,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               set_int(sbalways_h, 1);
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+         }
+      }
+      program { name: "hbar_show_notalways";
+         signal: "elm,action,show_notalways,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_h);
+            if (v) {
+               set_int(sbalways_h, 0);
+               v = get_int(sbvis_h);
+               if (!v) {
+                  emit("do-hide-hbar", "");
+                  set_int(sbvis_h, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_hbar_show";
+         signal: "do-show-hbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+      program { name: "sb_hbar_hide";
+         signal: "do-hide-hbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+
+      program { name: "scroll";
+         signal: "elm,action,scroll";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+            v = get_int(sbvis_timer);
+            if (v > 0) cancel_timer(v);
+            v = timer(1.0, "timer0", 0);
+            set_int(sbvis_timer, v);
+         }
+      }
+
+      program { name: "highlight_show";
+         signal: "elm,action,focus_highlight,show";
+         source: "elm";
+         action: STATE_SET "enabled" 0.0;
+         transition: ACCELERATE 0.3;
+         target: "focus_highlight";
+         target: "conf_over";
+      }
+      program { name: "highlight_hide";
+         signal: "elm,action,focus_highlight,hide";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.3;
+         target: "focus_highlight";
+         target: "conf_over";
+      }
+      program { name: "disable";
+         signal: "elm,state,disabled";
+         source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "disabler";
+      }
+      program { name: "enable";
+         signal: "elm,state,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "disabler";
+      }
+   }
+}
+
+group { name: "elm/scroller/base/handler";
+
+   alias: "elm/list/base/handler";
+   alias: "elm/genlist/base/handler";
+   alias: "elm/carousel/base/handler";
+
+   data {
+      item: "focus_highlight" "on";
+   }
+   script {
+      public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
+      public timer0(val) {
+         new v;
+         v = get_int(sbvis_v);
+         if (v) {
+            v = get_int(sbalways_v);
+            if (!v) {
+               emit("do-hide-vbar", "");
+               set_int(sbvis_v, 0);
+            }
+         }
+         v = get_int(sbvis_h);
+         if (v) {
+            v = get_int(sbalways_h);
+            if (!v) {
+               emit("do-hide-hbar", "");
+               set_int(sbvis_h, 0);
+            }
+         }
+         set_int(sbvis_timer, 0);
+         return 0;
+      }
+   }
+   images {
+      image: "bt_sm_shine.png" COMP;
+      image: "bt_sm_hilight.png" COMP;
+      image: "sb_runnerh.png" COMP;
+      image: "00_scroll_bar_handler_top.png" COMP;
+      image: "00_scroll_bar_handler_middle.png" COMP;
+      image: "00_scroll_bar_handler_bottom.png" COMP;
+      image: "00_scroll_bar_handler_left.png" COMP;
+      image: "00_scroll_bar_handler_hor.png" COMP;
+      image: "00_scroll_bar_handler_right.png" COMP;
+   }
+   parts {
+      part { name: "bg";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+         }
+      }
+      part { name: "elm.swallow.content";
+         clip_to: "clipper";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+         }
+      }
+      part { name: "conf_over";
+         mouse_events:  0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            visible: 0;
+            image {
+               normal: "shelf_inset.png";
+               border: 7 7 7 7;
+               middle: 0;
+            }
+            fill.smooth : 0;
+         }
+         description { state: "enabled" 0.0;
+            inherit: "default" 0.0;
+            color: 200 155 0 255;
+         }
+      }
+      part { name: "focus_highlight";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.offset: -1 -1;
+            rel2.offset: 0 0;
+            image {
+               normal: "sl_bt2_2.png";
+               border: 7 7 7 7;
+               middle: 0;
+            }
+            fill.smooth : 0;
+            color: 200 155 0 0;
+         }
+         description { state: "enabled" 0.0;
+            inherit: "default" 0.0;
+            color: 200 155 0 255;
+         }
+      }
+      part { name: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar_clip";
+         clip_to: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: 30 130;
+            align: 1.0 0.0;
+            rel1 {
+               relative: 1.0 0.0;
+               offset: 0 2;
+               to_y:     "elm.swallow.content";
+               to_x:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               offset: -1 -1;
+               to_y:     "sb_hbar";
+               to_x:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.vbar";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 1;
+         scale: 1;
+         dragable {
+            x: 0 0 0;
+            y: 1 1 0;
+            confine: "sb_vbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: 30 130;
+            max: 30 99999;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+         }
+      }
+      part { name: "scrollbar_handler_image_top";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.relative: 0.0 0.0;
+            rel1.to: "elm.dragable.vbar";
+            rel2.relative: 1.0 0.0;
+            rel2.to: "scrollbar_handler_image_middle";
+            visible: 1;
+            min: 30 57;
+            max: 30 392;
+            image {
+               normal: "00_scroll_bar_handler_top.png";
+               border: 5 5 5 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "scrollbar_handler_image_middle";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.relative: 0.5 0.5;
+            rel1.to: "elm.dragable.vbar";
+            rel2.relative: 0.5 0.5;
+            rel2.to: "elm.dragable.vbar";
+            visible: 1;
+            min: 30 16;
+            max: 30 16;
+            image {
+               normal: "00_scroll_bar_handler_middle.png";
+               border: 5 5 0 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "scrollbar_handler_image_bottom";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.relative: 0.0 1.0;
+            rel1.to: "scrollbar_handler_image_middle";
+            rel2.relative: 1.0 1.0;
+            rel2.to: "elm.dragable.vbar";
+            visible: 1;
+            min: 30 57;
+            max: 30 392;
+            image {
+               normal: "00_scroll_bar_handler_bottom.png";
+               border: 5 5 0 5;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "sb_vbar_over1";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.vbar";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "elm.dragable.vbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_hilight.png";
+               border: 6 6 6 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "sb_vbar_over2";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.vbar";
+            rel2.to: "elm.dragable.vbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_shine.png";
+               border: 6 6 6 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar_clip";
+         clip_to: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: 17 17;
+            align: 0.0 1.0;
+            rel1 {
+               relative: 0.0 1.0;
+               offset: 2 0;
+               to_x:     "elm.swallow.content";
+               to_y:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               offset: -1 -1;
+               to_x: "sb_vbar";
+               to_y:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.hbar";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 1;
+         scale: 1;
+         dragable {
+            x: 1 1 0;
+            y: 0 0 0;
+            confine: "sb_hbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: 130 30;
+            max: 99999 30;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+         }
+      }
+      part { name: "h_scrollbar_handler_image_left";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.relative: 0.0 0.0;
+            rel1.to: "elm.dragable.hbar";
+            rel2.relative: 0.0 1.0;
+            rel2.to: "scrollbar_handler_image_hor";
+            visible: 1;
+            min: 57 30;
+            max: 392 30;
+            image {
+               normal: "00_scroll_bar_handler_left.png";
+               border: 5 0 5 5;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "scrollbar_handler_image_hor";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         fixed: 1 1;
+            rel1.relative: 0.5 0.5;
+            rel1.to: "elm.dragable.hbar";
+            rel2.relative: 0.5 0.5;
+            rel2.to: "elm.dragable.hbar";
+            visible: 1;
+            min: 16 30;
+            max: 16 30;
+            image {
+               normal: "00_scroll_bar_handler_hor.png";
+               border: 0 0 5 5;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "h_scrollbar_handler_image_right";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.relative: 1.0 0.0;
+            rel1.to: "scrollbar_handler_image_hor";
+            rel2.relative: 1.0 1.0;
+            rel2.to: "elm.dragable.hbar";
+            visible: 1;
+            min: 57 30;
+            max: 392 30;
+            image {
+               normal: "00_scroll_bar_handler_right.png";
+               border: 0 5 5 5;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "sb_hbar_over1";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.hbar";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "elm.dragable.hbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_hilight.png";
+               border: 4 4 4 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "sb_hbar_over2";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.dragable.hbar";
+            rel2.to: "elm.dragable.hbar";
+            visible: 0;
+            image {
+               normal: "bt_sm_shine.png";
+               border: 4 4 4 0;
+               border_scale: 1;
+            }
+         }
+      }
+      part { name: "disabler";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "clipper";
+            rel2.to: "clipper";
+            color: 0 0 0 0;
+            visible: 0;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 128 128 128 128;
+         }
+      }
+   }
+   programs {
+      program { name: "load";
+         signal: "load";
+         source: "";
+         script {
+            set_state(PART:"sb_hbar_clip", "hidden", 0.0);
+            set_state(PART:"sb_vbar_clip", "hidden", 0.0);
+            set_int(sbvis_h, 0);
+            set_int(sbvis_v, 0);
+            set_int(sbalways_v, 0);
+            set_int(sbalways_h, 0);
+            set_int(sbvis_timer, 0);
+         }
+      }
+      program { name: "vbar_show";
+         signal: "elm,action,show,vbar";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_hide";
+         signal: "elm,action,hide,vbar";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_show_always";
+         signal: "elm,action,show_always,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               set_int(sbalways_v, 1);
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+         }
+      }
+      program { name: "vbar_show_notalways";
+         signal: "elm,action,show_notalways,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_v);
+            if (v) {
+               set_int(sbalways_v, 0);
+               v = get_int(sbvis_v);
+               if (!v) {
+                  emit("do-hide-vbar", "");
+                  set_int(sbvis_v, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_vbar_show";
+         signal: "do-show-vbar";
+         source: "";
+         action: STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+      program { name: "sb_vbar_hide";
+         signal: "do-hide-vbar";
+         source: "";
+         action: STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+      program { name: "hbar_show";
+         signal: "elm,action,show,hbar";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_hide";
+         signal: "elm,action,hide,hbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_show_always";
+         signal: "elm,action,show_always,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               set_int(sbalways_h, 1);
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+         }
+      }
+      program { name: "hbar_show_notalways";
+         signal: "elm,action,show_notalways,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_h);
+            if (v) {
+               set_int(sbalways_h, 0);
+               v = get_int(sbvis_h);
+               if (!v) {
+                  emit("do-hide-hbar", "");
+                  set_int(sbvis_h, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_hbar_show";
+         signal: "do-show-hbar";
+         source: "";
+         action: STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+      program { name: "sb_hbar_hide";
+         signal: "do-hide-hbar";
+         source: "";
+         action: STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+
+      program { name: "scroll";
+         signal: "elm,action,scroll";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+            v = get_int(sbvis_timer);
+            if (v > 0) cancel_timer(v);
+            v = timer(1.0, "timer0", 0);
+            set_int(sbvis_timer, v);
+         }
+      }
+
+      program { name: "highlight_show";
+         signal: "elm,action,focus_highlight,show";
+         source: "elm";
+         action: STATE_SET "enabled" 0.0;
+         transition: ACCELERATE 0.3;
+         target: "focus_highlight";
+         target: "conf_over";
+      }
+      program { name: "highlight_hide";
+         signal: "elm,action,focus_highlight,hide";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.3;
+         target: "focus_highlight";
+         target: "conf_over";
+      }
+      program { name: "disable";
+         signal: "elm,state,disabled";
+         source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "disabler";
+      }
+      program { name: "enable";
+         signal: "elm,state,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "disabler";
+      }
+   }
+}
index 0e2d005..0416e40 100644 (file)
@@ -80,6 +80,7 @@ collections {
 #include "groups/popup.edc"
 #include "groups/progressbar.edc"
 #include "groups/radio.edc"
+#include "groups/scroller.edc"
 #include "groups/searchbar.edc"
 #include "groups/segmentedcontrol.edc"
 #include "groups/selectioninfo.edc"