2 * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include "color_classes.edc"
20 #define SLIDER_BASE_HEIGHT_INC 6
21 #define SLIDER_INDICATOR_SIZE_INC 42
22 #define SLIDER_SWALLOWBAR_HEIGHT_INC 42
23 #define SLIDER_LEFT_RIGHT_PADDING_SIZE_INC 20 0
24 #define SLIDER_ICON_PADDING_SIZE_INC 5 0
25 #define SLIDER_CENTER_POINT_SIZE_INC 10 24
27 #define SLIDER_POPUP_WIDTH_INC 80
28 #define SLIDER_POPUP_HEIGHT_INC 92
31 name: "elm/slider/horizontal/indicator/quickpanel_style";
33 image: "core_slider_handle_normal.png" COMP;
34 image: "core_slider_handle_press.png" COMP;
40 description { state: "default" 0.0;
46 name: "button_events";
53 min: 2*SLIDER_INDICATOR_SIZE_INC 1.5*SLIDER_INDICATOR_SIZE_INC;
55 aspect_preference: VERTICAL;
59 state: "disabled" 0.0;
60 inherit: "default" 0.0;
71 min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
72 max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
74 normal: "core_slider_handle_normal.png";
76 color_class: "AO005L3";
79 state: "disabled" 0.0;
80 inherit: "default" 0.0;
81 color_class: "AO004D";
86 name: "button0_press";
92 min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
93 max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
95 normal: "core_slider_handle_press.png";
97 color_class: "AO005L4";
101 state: "pressed" 0.0;
102 inherit: "default" 0.0;
108 program { name: "mouse_down";
109 signal: "mouse,down,*";
110 source: "button_events";
111 action: STATE_SET "pressed" 0.0;
112 target: "button0_press";
114 program { name: "mouse_up";
115 signal: "mouse,up,*";
116 source: "button_events";
117 action: STATE_SET "default" 0.0;
118 target: "button0_press";
120 program { name: "slider_disable";
121 signal: "elm,state,disabled";
123 action: STATE_SET "disabled" 0.0;
125 target: "button_events";
127 program { name: "slider_enable";
128 signal: "elm,state,enabled";
130 action: STATE_SET "default" 0.0;
132 target: "button_events";
138 name: "elm/slider/horizontal/quickpanel_style";
140 image: "core_progressbar_bg.#.png" COMP;
141 image: "core_progress_bar.#.png" COMP;
142 image: "core_slider_center_point_bg.png" COMP;
145 public invert_on = 0;
146 public popup_show = 1;
148 public set_popup_show() {
149 set_int(popup_show, 1);
151 public set_popup_hide() {
152 set_int(popup_show, 0);
154 public set_invert_on() {
155 set_state(PART:"level", "inverted", 0.0);
156 set_state(PART:"level2", "inverted", 0.0);
157 set_int(invert_on, 1);
159 public set_invert_off() {
160 set_state(PART:"level", "default", 0.0);
161 set_state(PART:"level2", "default", 0.0);
162 set_int(invert_on, 0);
164 public thumb_down() {
165 if (get_int(invert_on) == 0) {
166 set_state(PART:"level", "pressed", 0.0);
167 set_state(PART:"level2", "pressed", 0.0);
169 if (get_int(popup_show) == 1) {
170 emit("popup,show", "elm");
174 if (get_int(invert_on) == 0) {
175 set_state(PART:"level", "default", 0.0);
176 set_state(PART:"level2", "default", 0.0);
178 if (get_int(popup_show) == 1) {
179 emit("popup,hide", "elm");
182 public drag_state() {
183 new Float:dx, Float:dy;
184 get_drag(PART:"elm.dragable.slider", dx, dy);
186 set_state(PART:"level", "default", 0.0);
187 set_state(PART:"level2", "default", 0.0);
188 set_int(invert_on, 0);
191 set_state(PART:"level", "inverted", 0.0);
192 set_state(PART:"level2", "inverted", 0.0);
193 set_int(invert_on, 1);
196 public message(Msg_Type:type, id, ...) {
197 if (type == MSG_FLOAT_SET) {
201 custom_state(PART:"left_restrict", "default", 0.0);
202 set_state_val(PART:"left_restrict", STATE_REL2, ratio, 0.0);
203 set_state(PART:"left_restrict", "custom", 0.0);
204 } else if (id == 2) {
205 custom_state(PART:"right_restrict", "default", 0.0);
206 set_state_val(PART:"right_restrict", STATE_REL1, 1.0 - ratio, 0.0);
207 set_state(PART:"right_restrict", "custom", 0.0);
217 state: "default" 0.0;
227 state: "default" 0.0;
228 min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
232 name: "elm.swallow.icon";
234 clip_to: "icon_clipper";
237 state: "default" 0.0;
240 max: SLIDER_SWALLOWBAR_HEIGHT_INC SLIDER_SWALLOWBAR_HEIGHT_INC;
251 state: "visible" 0.0;
252 inherit: "default" 0.0;
257 name: "bar_icon_right_padding_1";
261 state: "default" 0.0;
267 to: "elm.swallow.icon";
271 to: "elm.swallow.icon";
275 description { state: "visible";
276 inherit: "default" 0.0;
277 min: SLIDER_ICON_PADDING_SIZE_INC;
278 max: SLIDER_ICON_PADDING_SIZE_INC;
282 name: "bar_icon_right_padding_2";
286 state: "default" 0.0;
288 min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
289 max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
292 to: "bar_icon_right_padding_1";
296 to: "bar_icon_right_padding_1";
302 name: "left_restrict";
306 state: "default" 0.0;
307 min: 0 SLIDER_BASE_HEIGHT_INC;
308 max: -1 SLIDER_BASE_HEIGHT_INC;
322 name: "right_restrict";
326 state: "default" 0.0;
327 min: 0 SLIDER_BASE_HEIGHT_INC;
328 max: -1 SLIDER_BASE_HEIGHT_INC;
344 state: "default" 0.0;
345 min: 0 SLIDER_BASE_HEIGHT_INC;
346 max: -1 SLIDER_BASE_HEIGHT_INC;
348 to: "bar_icon_right_padding_2";
352 to: "bar_image_right_padding";
356 image.normal: "core_progressbar_bg.#.png";
357 color: 255 255 255 255;
358 color_class: "AO005L1";
361 state: "disabled" 0.0;
362 inherit: "default" 0.0;
363 color_class: "AO005L1D";
370 state: "default" 0.0;
371 min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
373 to_x: "left_restrict";
376 offset: -SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
379 to_x: "right_restrict";
382 offset: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
393 state: "default" 0.0;
395 to_x: "bar_icon_right_padding_2";
399 to_x: "elm.dragable.slider";
403 min: 0 SLIDER_BASE_HEIGHT_INC;
404 max: -1 SLIDER_BASE_HEIGHT_INC;
405 image.normal: "core_progressbar_bg.#.png";
408 state: "inverted" 0.0;
409 inherit: "default" 0.0;
419 state: "default" 0.0;
424 to_x: "elm.dragable.slider";
428 image.normal: "core_progressbar_bg.#.png";
431 state: "inverted" 0.0;
432 inherit: "default" 0.0;
437 name: "bar_image_right_padding";
441 state: "default" 0.0;
442 min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
443 max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
456 part { name: "icon_clipper";
460 state: "default" 0.0;
461 color_class: "W0661";
464 state: "disabled" 0.0;
465 color_class: "W0661D";
469 name: "elm.swallow.bar";
473 state: "default" 0.0;
474 min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
475 max: -1 SLIDER_SWALLOWBAR_HEIGHT_INC;
478 to: "bar_icon_right_padding_2";
482 to: "bar_image_right_padding";
491 state: "default" 0.0;
492 min: SLIDER_CENTER_POINT_SIZE_INC;
493 max: SLIDER_CENTER_POINT_SIZE_INC;
495 image.normal: "core_slider_center_point_bg.png";
499 color_class: "W062L1";
502 state: "visible" 0.0;
503 inherit: "default" 0.0;
507 state: "disabled" 0.0;
508 inherit: "default" 0.0;
510 color_class: "W062L1D";
514 name: "elm.track.slider";
519 state: "default" 0.0;
520 min: 0 SLIDER_POPUP_HEIGHT_INC;
521 max: -1 SLIDER_POPUP_HEIGHT_INC;
524 rel1.to: "elm.dragable.slider";
528 to: "elm.dragable.slider";
534 name: "elm.dragable.slider";
536 source: "elm/slider/horizontal/indicator/quickpanel_style";
542 confine: "drag_base";
545 state: "default" 0.0;
546 min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
549 rel1.to: "drag_base";
550 rel1.relative: 0.5 0.5;
551 rel2.to: "drag_base";
552 rel2.relative: 0.5 0.5;
563 state: "default" 0.0;
568 state: "disabled" 0.0;
569 inherit: "default" 0.0;
577 state: "default" 0.0;
578 color_class: "AO005L2";
581 state: "pressed" 0.0;
582 color_class: "AO005L2";
585 state: "disabled" 0.0;
586 color_class: "AO004D";
593 signal: "elm,state,inverted,on";
601 signal: "elm,state,inverted,off";
609 signal: "mouse,down,*";
610 source: "elm.dragable.slider";
617 signal: "mouse,up,*";
618 source: "elm.dragable.slider";
625 signal: "elm,state,val,show";
633 signal: "elm,state,val,hide";
641 signal: "elm,state,icon,visible";
643 action: STATE_SET "visible" 0.0;
644 target: "elm.swallow.icon";
645 target: "bar_icon_right_padding_1";
648 name: "center_point_enable";
649 signal: "slider,center,point,show";
652 set_state(PART:"center_point", "visible", 0.0);
657 name: "center_point_disable";
658 signal: "slider,center,point,hide";
661 set_state(PART:"center_point", "default", 0.0);
666 name: "slider_disable";
667 signal: "elm,state,disabled";
671 set_state(PART:"center_point", "disabled", 0.0);
673 set_state(PART:"disabler", "disabled", 0.0);
674 set_state(PART:"icon_clipper", "disabled", 0.0);
675 set_state(PART:"clipper", "disabled", 0.0);
676 set_state(PART:"base", "disabled", 0.0);
680 name: "slider_enable";
681 signal: "elm,state,enabled";
685 set_state(PART:"center_point", "default", 0.0);
687 set_state(PART:"disabler", "default", 0.0);
688 set_state(PART:"icon_clipper", "default", 0.0);
689 set_state(PART:"clipper", "default", 0.0);
690 set_state(PART:"base", "default", 0.0);