3d, gesturelayer, index, naviframe, transit, fileselector, frame, glview, layout...
[framework/uifw/elementary.git] / data / themes / widgets / scroller.edc
1 group { name: "elm/scroller/base/default";
2
3    alias: "elm/list/base/default";
4    alias: "elm/genlist/base/default";
5    alias: "elm/carousel/base/default";
6    alias: "elm/gengrid/base/default";
7    alias: "elm/scroller/base/map_bubble";
8    alias: "elm/genscroller/base/default";
9
10    data {
11       item: "focus_highlight" "on";
12    }
13
14    script {
15       public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
16       public timer0(val) {
17          new v;
18          v = get_int(sbvis_v);
19          if (v) {
20             v = get_int(sbalways_v);
21             if (!v) {
22                emit("do-hide-vbar", "");
23                set_int(sbvis_v, 0);
24             }
25          }
26          v = get_int(sbvis_h);
27          if (v) {
28             v = get_int(sbalways_h);
29             if (!v) {
30                emit("do-hide-hbar", "");
31                set_int(sbvis_h, 0);
32             }
33          }
34          set_int(sbvis_timer, 0);
35          return 0;
36       }
37    }
38    images {
39       image: "shelf_inset.png" COMP;
40       image: "bt_sm_base2.png" COMP;
41       image: "bt_sm_shine.png" COMP;
42       image: "bt_sm_hilight.png" COMP;
43       image: "sl_bt2_2.png" COMP;
44    }
45    parts {
46       part { name: "bg";
47          type: RECT;
48          description { state: "default" 0.0;
49             rel1.offset: 2 2;
50             rel2.offset: -3 -3;
51             color: 255 255 255 0;
52          }
53       }
54       part { name: "clipper";
55          type: RECT;
56          mouse_events: 0;
57          description { state: "default" 0.0;
58             rel1.to: "bg";
59             rel2.to: "bg";
60             rel1.offset: 2 2;
61             rel2.offset: -3 -3;
62          }
63       }
64       part { name: "elm.swallow.content";
65          clip_to: "clipper";
66          type: SWALLOW;
67          description { state: "default" 0.0;
68             rel1.to: "bg";
69             rel2.to: "bg";
70             rel1.offset: 2 2;
71             rel2.offset: -3 -3;
72          }
73       }
74       part { name: "conf_over";
75          mouse_events:  0;
76          description { state: "default" 0.0;
77             rel1.to: "bg";
78             rel2.to: "bg";
79             image {
80                normal: "shelf_inset.png";
81                border: 7 7 7 7;
82                middle: 0;
83             }
84             fill.smooth : 0;
85          }
86          description { state: "enabled" 0.0;
87             inherit: "default" 0.0;
88             color: 200 155 0 255;
89          }
90       }
91       part { name: "focus_highlight";
92          mouse_events: 0;
93          description { state: "default" 0.0;
94             rel1.offset: -1 -1;
95             rel2.offset: 0 0;
96             image {
97                normal: "sl_bt2_2.png";
98                border: 7 7 7 7;
99                middle: 0;
100             }
101             fill.smooth : 0;
102             color: 200 155 0 0;
103          }
104          description { state: "enabled" 0.0;
105             inherit: "default" 0.0;
106             color: 200 155 0 255;
107          }
108       }
109       part { name: "sb_vbar_clip_master";
110          type: RECT;
111          mouse_events: 0;
112          description { state: "default" 0.0;
113          }
114          description { state: "hidden" 0.0;
115             visible: 0;
116             color: 255 255 255 0;
117          }
118       }
119       part { name: "sb_vbar_clip";
120          clip_to: "sb_vbar_clip_master";
121          type: RECT;
122          mouse_events: 0;
123          description { state: "default" 0.0;
124          }
125          description { state: "hidden" 0.0;
126             visible: 0;
127             color: 255 255 255 0;
128          }
129       }
130       part { name: "sb_vbar";
131          type: RECT;
132          mouse_events: 0;
133          description { state: "default" 0.0;
134             fixed: 1 1;
135             visible: 0;
136             min: 10 17;
137             align: 1.0 0.0;
138             rel1 {
139                relative: 1.0 0.0;
140                offset:   0 2;
141                to_y:     "elm.swallow.content";
142                to_x:     "elm.swallow.content";
143             }
144             rel2 {
145                relative: 1.0 0.0;
146                offset:   -1 -1;
147                to_y:     "sb_hbar";
148                to_x:     "elm.swallow.content";
149             }
150          }
151       }
152       part { name: "elm.dragable.vbar";
153          clip_to: "sb_vbar_clip";
154          mouse_events: 0;
155          dragable {
156             x: 0 0 0;
157             y: 1 1 0;
158             confine: "sb_vbar";
159          }
160          description { state: "default" 0.0;
161             fixed: 1 1;
162             min: 10 17;
163             max: 10 99999;
164             rel1 {
165                relative: 0.5  0.5;
166                offset:   0    0;
167                to: "sb_vbar";
168             }
169             rel2 {
170                relative: 0.5  0.5;
171                offset:   0    0;
172                to: "sb_vbar";
173             }
174             image {
175                normal: "bt_sm_base2.png";
176                border: 6 6 6 6;
177                middle: SOLID;
178             }
179          }
180       }
181       part { name: "sb_vbar_over1";
182          clip_to: "sb_vbar_clip";
183          mouse_events: 0;
184          description { state: "default" 0.0;
185             rel1.to: "elm.dragable.vbar";
186             rel2.relative: 1.0 0.5;
187             rel2.to: "elm.dragable.vbar";
188             image {
189                normal: "bt_sm_hilight.png";
190                border: 6 6 6 0;
191             }
192          }
193       }
194       part { name: "sb_vbar_over2";
195          clip_to: "sb_vbar_clip";
196          mouse_events: 0;
197          description { state: "default" 0.0;
198             rel1.to: "elm.dragable.vbar";
199             rel2.to: "elm.dragable.vbar";
200             image {
201                normal: "bt_sm_shine.png";
202                border: 6 6 6 0;
203             }
204          }
205       }
206
207       part { name: "sb_hbar_clip_master";
208          type: RECT;
209          mouse_events: 0;
210          description { state: "default" 0.0;
211          }
212          description { state: "hidden" 0.0;
213             visible: 0;
214             color: 255 255 255 0;
215          }
216       }
217       part { name: "sb_hbar_clip";
218          clip_to: "sb_hbar_clip_master";
219          type: RECT;
220          mouse_events: 0;
221          description { state: "default" 0.0;
222          }
223          description { state: "hidden" 0.0;
224             visible: 0;
225             color: 255 255 255 0;
226          }
227       }
228       part { name: "sb_hbar";
229          type: RECT;
230          mouse_events: 0;
231          description { state: "default" 0.0;
232             fixed: 1 1;
233             visible: 0;
234             min: 17 10;
235             align: 0.0 1.0;
236             rel1 {
237                relative: 0.0 1.0;
238                offset:   2 0;
239                to_x:     "elm.swallow.content";
240                to_y:     "elm.swallow.content";
241             }
242             rel2 {
243                relative: 0.0 1.0;
244                offset:   -1 -1;
245                to_x:     "sb_vbar";
246                to_y:     "elm.swallow.content";
247             }
248          }
249       }
250       part { name: "elm.dragable.hbar";
251          clip_to: "sb_hbar_clip";
252          mouse_events: 0;
253          dragable {
254             x: 1 1 0;
255             y: 0 0 0;
256             confine: "sb_hbar";
257          }
258          description { state: "default" 0.0;
259             fixed: 1 1;
260             min: 17 10;
261             max: 99999 10;
262             rel1 {
263                relative: 0.5  0.5;
264                offset:   0    0;
265                to: "sb_hbar";
266             }
267             rel2 {
268                relative: 0.5  0.5;
269                offset:   0    0;
270                to: "sb_hbar";
271             }
272             image {
273                normal: "bt_sm_base2.png";
274                border: 4 4 4 4;
275                middle: SOLID;
276             }
277          }
278       }
279       part { name: "sb_hbar_over1";
280          clip_to: "sb_hbar_clip";
281          mouse_events: 0;
282          description { state: "default" 0.0;
283             rel1.to: "elm.dragable.hbar";
284             rel2.relative: 1.0 0.5;
285             rel2.to: "elm.dragable.hbar";
286             image {
287                normal: "bt_sm_hilight.png";
288                border: 4 4 4 0;
289             }
290          }
291       }
292       part { name: "sb_hbar_over2";
293          clip_to: "sb_hbar_clip";
294          mouse_events: 0;
295          description { state: "default" 0.0;
296             rel1.to: "elm.dragable.hbar";
297             rel2.to: "elm.dragable.hbar";
298             image {
299                normal: "bt_sm_shine.png";
300                border: 4 4 4 0;
301             }
302          }
303       }
304       part { name: "disabler";
305          type: RECT;
306          description { state: "default" 0.0;
307             rel1.to: "clipper";
308             rel2.to: "clipper";
309             color: 0 0 0 0;
310             visible: 0;
311          }
312          description { state: "disabled" 0.0;
313             inherit: "default" 0.0;
314             visible: 1;
315             color: 128 128 128 128;
316          }
317       }
318    }
319    programs {
320       program { name: "load";
321          signal: "load";
322          source: "";
323          script {
324             set_state(PART:"sb_hbar_clip", "hidden", 0.0);
325             set_state(PART:"sb_vbar_clip", "hidden", 0.0);
326             set_int(sbvis_h, 0);
327             set_int(sbvis_v, 0);
328             set_int(sbalways_v, 0);
329             set_int(sbalways_h, 0);
330             set_int(sbvis_timer, 0);
331          }
332       }
333
334       program { name: "vbar_show";
335          signal: "elm,action,show,vbar";
336          source: "elm";
337          action:  STATE_SET "default" 0.0;
338          target: "sb_vbar_clip_master";
339       }
340       program { name: "vbar_hide";
341          signal: "elm,action,hide,vbar";
342          source: "elm";
343          action:  STATE_SET "hidden" 0.0;
344          target: "sb_vbar_clip_master";
345       }
346       program { name: "vbar_show_always";
347          signal: "elm,action,show_always,vbar";
348          source: "elm";
349          script {
350             new v;
351             v = get_int(sbvis_v);
352             v |= get_int(sbalways_v);
353             if (!v) {
354                set_int(sbalways_v, 1);
355                emit("do-show-vbar", "");
356                set_int(sbvis_v, 1);
357             }
358          }
359       }
360       program { name: "vbar_show_notalways";
361          signal: "elm,action,show_notalways,vbar";
362          source: "elm";
363          script {
364             new v;
365             v = get_int(sbalways_v);
366             if (v) {
367                set_int(sbalways_v, 0);
368                v = get_int(sbvis_v);
369                if (!v) {
370                   emit("do-hide-vbar", "");
371                   set_int(sbvis_v, 0);
372                }
373             }
374          }
375       }
376       program { name: "sb_vbar_show";
377          signal: "do-show-vbar";
378          source: "";
379          action:  STATE_SET "default" 0.0;
380          transition: LINEAR 0.5;
381          target: "sb_vbar_clip";
382       }
383       program { name: "sb_vbar_hide";
384          signal: "do-hide-vbar";
385          source: "";
386          action:  STATE_SET "hidden" 0.0;
387          transition: LINEAR 0.5;
388          target: "sb_vbar_clip";
389       }
390
391       program { name: "hbar_show";
392          signal: "elm,action,show,hbar";
393          source: "elm";
394          action:  STATE_SET "default" 0.0;
395          target: "sb_hbar_clip_master";
396       }
397       program { name: "hbar_hide";
398          signal: "elm,action,hide,hbar";
399          source: "elm";
400          action:  STATE_SET "hidden" 0.0;
401          target: "sb_hbar_clip_master";
402       }
403       program { name: "hbar_show_always";
404          signal: "elm,action,show_always,hbar";
405          source: "elm";
406          script {
407             new v;
408             v = get_int(sbvis_h);
409             v |= get_int(sbalways_h);
410             if (!v) {
411                set_int(sbalways_h, 1);
412                emit("do-show-hbar", "");
413                set_int(sbvis_h, 1);
414             }
415          }
416       }
417       program { name: "hbar_show_notalways";
418          signal: "elm,action,show_notalways,hbar";
419          source: "elm";
420          script {
421             new v;
422             v = get_int(sbalways_h);
423             if (v) {
424                set_int(sbalways_h, 0);
425                v = get_int(sbvis_h);
426                if (!v) {
427                   emit("do-hide-hbar", "");
428                   set_int(sbvis_h, 0);
429                }
430             }
431          }
432       }
433       program { name: "sb_hbar_show";
434          signal: "do-show-hbar";
435          source: "";
436          action:  STATE_SET "default" 0.0;
437          transition: LINEAR 0.5;
438          target: "sb_hbar_clip";
439       }
440       program { name: "sb_hbar_hide";
441          signal: "do-hide-hbar";
442          source: "";
443          action:  STATE_SET "hidden" 0.0;
444          transition: LINEAR 0.5;
445          target: "sb_hbar_clip";
446       }
447
448       program { name: "scroll";
449          signal: "elm,action,scroll";
450          source: "elm";
451          script {
452             new v;
453             v = get_int(sbvis_v);
454             v |= get_int(sbalways_v);
455             if (!v) {
456                emit("do-show-vbar", "");
457                set_int(sbvis_v, 1);
458             }
459             v = get_int(sbvis_h);
460             v |= get_int(sbalways_h);
461             if (!v) {
462                emit("do-show-hbar", "");
463                set_int(sbvis_h, 1);
464             }
465             v = get_int(sbvis_timer);
466             if (v > 0) cancel_timer(v);
467             v = timer(1.0, "timer0", 0);
468             set_int(sbvis_timer, v);
469          }
470       }
471
472       program { name: "highlight_show";
473          signal: "elm,action,focus_highlight,show";
474          source: "elm";
475          action: STATE_SET "enabled" 0.0;
476          transition: ACCELERATE 0.3;
477          target: "focus_highlight";
478          target: "conf_over";
479       }
480       program { name: "highlight_hide";
481          signal: "elm,action,focus_highlight,hide";
482          source: "elm";
483          action: STATE_SET "default" 0.0;
484          transition: DECELERATE 0.3;
485          target: "focus_highlight";
486          target: "conf_over";
487       }
488       program { name: "disable";
489          signal: "elm,state,disabled";
490          source: "elm";
491          action: STATE_SET "disabled" 0.0;
492          target: "disabler";
493       }
494       program { name: "enable";
495          signal: "elm,state,enabled";
496          source: "elm";
497          action: STATE_SET "default" 0.0;
498          target: "disabler";
499       }
500    }
501 }
502
503 ///////////////////////////////////////////////////////////////////////////////