1 group { name: "e/modules/clock/digital";
4 images.image: "digit_na.png" COMP;
5 images.image: "digit_nm.png" COMP;
6 images.image: "digit_0.png" COMP;
7 images.image: "digit_1.png" COMP;
8 images.image: "digit_2.png" COMP;
9 images.image: "digit_3.png" COMP;
10 images.image: "digit_4.png" COMP;
11 images.image: "digit_5.png" COMP;
12 images.image: "digit_6.png" COMP;
13 images.image: "digit_7.png" COMP;
14 images.image: "digit_8.png" COMP;
15 images.image: "digit_9.png" COMP;
16 images.image: "digit_am.png" COMP;
17 images.image: "digit_pm.png" COMP;
18 images.image: "hole_tiny.png" COMP;
20 public do_seconds, do_24h, do_date, tick_timer;
23 new do24h, dosec, v[14], i, tot, mul;
25 PART:"hours1", PART:"hours1",
26 PART:"hours2", PART:"hours2",
27 PART:"mins1", PART:"mins1",
28 PART:"mins2", PART:"mins2",
29 PART:"secs1", PART:"secs1",
30 PART:"secs2", PART:"secs2",
31 PART:"ampm", PART:"ampm"
35 if (get_int(do_date)) {
39 for (i = 0; i < 14; i += 2) {
40 custom_state(parts[i], "default", 0.0);
42 v[0] = 0; v[1] = 2; v[2] = 2; v[3] = 4; // hrs
43 v[4] = 5; v[5] = 7; v[6] = 7; v[7] = 9; // mins
46 dosec = get_int(do_seconds);
47 do24h = get_int(do_24h);
48 if ((dosec) && (!do24h)) { // sec + ampm
50 v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14;
51 v[12] = 14; v[13] = 16;
53 else if ((dosec) && (do24h)) { // sec + -
55 v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14;
58 else if ((!dosec) && (!do24h)) { // - + ampm
60 v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0;
61 v[12] = 9; v[13] = 11;
63 else if ((!dosec) && (do24h)) { // - + -
65 v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0;
68 for (i = 0; i < 14; i += 2) {
69 set_state_val(parts[i], STATE_REL1,
70 float(v[i]) / float(tot), 0.0);
71 set_state_val(parts[i + 1], STATE_REL2,
72 float(v[i + 1]) / float(tot), 1.0);
74 for (i = 0; i < 14; i += 2) {
75 set_state(parts[i], "custom", 0.0);
77 set_min_size(tot * mul, 16);
78 set_max_size(tot * 8 * mul, 128);
79 emit("e,state,sizing,changed", "");
85 tim = get_int(tick_timer);
88 set_int(tick_timer, 0);
95 for (i = 0; i < 10; i++) {
97 snprintf(buf, 20, "show,%s-%i", name, i);
100 snprintf(buf, 20, "hide,%s-%i", name, i);
106 if (pm) set_state(id, "active", 0.0);
107 else set_state(id, "default", 0.0);
109 public clock_cb(val) {
110 new year, month, day, yearday, weekday, hour, minute;
112 new v, dosec, do24h, tim;
114 date(year, month, day, yearday, weekday, hour, minute, second);
115 dosec = get_int(do_seconds);
118 tim = timer(1.0 - (second - v), "clock_cb", 1);
120 valset("s0", v / 10);
121 valset("s1", v % 10);
124 tim = timer(60.0 - (second), "clock_cb", 1);
126 set_int(tick_timer, tim);
128 // set minutes to minute
129 valset("m0", minute / 10);
130 valset("m1", minute % 10);
133 do24h = get_int(do_24h);
135 valset("h0", hour / 10);
136 valset("h1", hour % 10);
141 // if 12 or later, its pm
144 // if we are after 12 (1, 2, 3 etc.) then mod by 12
145 if (hour > 12) hour = hour % 12;
149 // make after midnight be 12:XX AM :)
150 if (hour == 0) hour = 12;
152 valset("h0", hour / 10);
153 valset("h1", hour % 10);
154 apvalset(PART:"ap", pm);
159 part { name: "secclip"; type: RECT;
160 description { state: "default" 0.0;
162 description { state: "hidden" 0.0;
166 part { name: "ampmclip"; type: RECT;
167 description { state: "default" 0.0;
169 description { state: "hidden" 0.0;
173 // XXX: hours1/2, mins1/2, secs1/2 and ampm SHOULD be spacers... but
174 // if they are calculations go weird. this shouldnt happen, but does.
175 part { name: "timearea"; type: RECT;
176 description { state: "default" 0.0;
179 description { state: "date" 0.0;
180 inherit: "default" 0.0;
181 rel2.relative: 1.0 0.0;
183 rel2.to_y: "e.text.today";
186 part { name: "hours1"; type: RECT;
187 description { state: "default" 0.0;
188 rel1.relative: (0/16) 0.0;
189 rel2.relative: (2/16) 1.0;
195 part { name: "hours2"; type: RECT;
196 description { state: "default" 0.0;
197 rel1.relative: (2/16) 0.0;
198 rel2.relative: (4/16) 1.0;
204 part { name: "mins1"; type: RECT;
205 description { state: "default" 0.0;
206 rel1.relative: (5/16) 0.0;
207 rel2.relative: (7/16) 1.0;
213 part { name: "mins2"; type: RECT;
214 description { state: "default" 0.0;
215 rel1.relative: (7/16) 0.0;
216 rel2.relative: (9/16) 1.0;
222 part { name: "secs1"; type: RECT;
223 description { state: "default" 0.0;
224 rel1.relative: (10/16) 0.0;
225 rel2.relative: (12/16) 1.0;
231 part { name: "secs2"; type: RECT;
232 description { state: "default" 0.0;
233 rel1.relative: (12/16) 0.0;
234 rel2.relative: (14/16) 1.0;
240 part { name: "ampm"; type: RECT;
241 description { state: "default" 0.0;
242 rel1.relative: (14/16) 0.0;
243 rel2.relative: (16/16) 1.0;
250 description { state: "default" 0.0;
252 rel1.relative: 1.0 0.5;
255 rel2.relative: 0.0 0.5;
259 image.normal: "hole_tiny.png";
263 description { state: "default" 0.0;
265 rel1.relative: 1.0 0.5;
268 rel2.relative: 0.0 0.5;
272 image.normal: "hole_tiny.png";
277 description { state: "default" 0.0;
279 rel1.relative: 1.0 0.5;
282 rel2.relative: 0.0 0.5;
286 image.normal: "hole_tiny.png";
291 description { state: "default" 0.0;
293 rel1.relative: 1.0 0.5;
296 rel2.relative: 0.0 0.5;
300 image.normal: "hole_tiny.png";
303 #define ELEM(_NAME, _TO, _DIGIT) \
304 part { name: _NAME; \
305 description { state: "default" 0.0; \
306 rel1.to: _TO; rel2.to: _TO; \
307 aspect: (52/72) (52/72); aspect_preference: BOTH; \
308 image.normal: "digit_"_DIGIT".png"; \
310 color: 255 255 255 0; \
312 description { state: "active" 0.0; \
313 inherit: "default" 0.0; \
315 color: 255 255 255 255; \
318 #define DIGIT(_NAME, _TO) \
319 ELEM(_NAME"-0", _TO, "0") \
320 ELEM(_NAME"-1", _TO, "1") \
321 ELEM(_NAME"-2", _TO, "2") \
322 ELEM(_NAME"-3", _TO, "3") \
323 ELEM(_NAME"-4", _TO, "4") \
324 ELEM(_NAME"-5", _TO, "5") \
325 ELEM(_NAME"-6", _TO, "6") \
326 ELEM(_NAME"-7", _TO, "7") \
327 ELEM(_NAME"-8", _TO, "8") \
328 ELEM(_NAME"-9", _TO, "9")
329 #define ELEMC(_NAME, _TO, _DIGIT, _CLIP) \
330 part { name: _NAME; \
332 description { state: "default" 0.0; \
333 rel1.to: _TO; rel2.to: _TO; \
334 aspect: (52/72) (52/72); aspect_preference: BOTH; \
335 image.normal: "digit_"_DIGIT".png"; \
337 color: 255 255 255 0; \
339 description { state: "active" 0.0; \
340 inherit: "default" 0.0; \
342 color: 255 255 255 255; \
345 #define DIGITC(_NAME, _TO, _CLIP) \
346 ELEMC(_NAME"-0", _TO, "0", _CLIP) \
347 ELEMC(_NAME"-1", _TO, "1", _CLIP) \
348 ELEMC(_NAME"-2", _TO, "2", _CLIP) \
349 ELEMC(_NAME"-3", _TO, "3", _CLIP) \
350 ELEMC(_NAME"-4", _TO, "4", _CLIP) \
351 ELEMC(_NAME"-5", _TO, "5", _CLIP) \
352 ELEMC(_NAME"-6", _TO, "6", _CLIP) \
353 ELEMC(_NAME"-7", _TO, "7", _CLIP) \
354 ELEMC(_NAME"-8", _TO, "8", _CLIP) \
355 ELEMC(_NAME"-9", _TO, "9", _CLIP)
357 #define TAG(_NAME, _TO, _CLIP) \
358 part { name: _NAME; \
360 description { state: "default" 0.0; \
361 rel1.to: _TO; rel2.to: _TO; \
362 aspect: (48/31) (48/31); aspect_preference: BOTH; \
363 image.normal: "digit_am.png"; \
365 description { state: "active" 0.0; \
366 inherit: "default" 0.0; \
367 image.normal: "digit_pm.png"; \
370 #define BASE(_NAME, _BASE, _IMG) \
371 part { name: _NAME; \
372 description { state: "default" 0.0; \
375 image.normal: _IMG; \
376 color: 255 255 255 128; \
379 #define BASEC(_NAME, _CLIP, _BASE, _IMG) \
380 part { name: _NAME; \
382 description { state: "default" 0.0; \
385 image.normal: _IMG; \
386 color: 255 255 255 128; \
390 BASE ("ha", "h0-0", "digit_na.png")
391 BASE ("hb", "h1-0", "digit_na.png")
392 BASE ("ma", "m0-0", "digit_na.png")
393 BASE ("mb", "m1-0", "digit_na.png")
395 BASEC("sa", "secclip", "s0-0", "digit_na.png")
396 BASEC("sb", "secclip", "s1-0", "digit_na.png")
397 BASEC("aa", "ampmclip", "ap", "digit_nm.png")
399 DIGIT ("h0", "hours1")
400 DIGIT ("h1", "hours2")
401 DIGIT ("m0", "mins1")
402 DIGIT ("m1", "mins2")
403 DIGITC("s0", "secs1", "secclip")
404 DIGITC("s1", "secs2", "secclip")
405 TAG("ap", "ampm", "ampmclip")
415 part { name: "e.text.today"; type: TEXT;
418 description { state: "default" 0.0;
419 rel1.relative: 0.0 1.0;
423 color: FN_COL_HIGHLIGHT;
424 text { font: FN; size: 8;
425 text_class: "module_small";
432 description { state: "date" 0.0;
433 inherit: "default" 0.0;
441 part { name: "event"; type: RECT;
442 description { state: "default" 0.0;
449 signal: "load"; source: "";
455 signal: "e,state,date,on"; source: "e";
458 set_state(PART:"timearea", "date", 0.0);
459 set_state(PART:"e.text.today", "date", 0.0);
464 signal: "e,state,date,off"; source: "e";
467 set_state(PART:"timearea", "default", 0.0);
468 set_state(PART:"e.text.today", "default", 0.0);
473 signal: "e,state,seconds,on"; source: "e";
475 set_int(do_seconds, 1);
476 set_state(PART:"secclip", "default", 0.0);
481 signal: "e,state,seconds,off"; source: "e";
483 set_int(do_seconds, 0);
484 set_state(PART:"secclip", "hidden", 0.0);
489 signal: "e,state,24h,on"; source: "e";
492 set_state(PART:"ampmclip", "hidden", 0.0);
497 signal: "e,state,24h,off"; source: "e";
500 set_state(PART:"ampmclip", "default", 0.0);
504 #define DIGPRG(_NAME) \
506 signal: "show,"_NAME; source: "c"; \
507 action: STATE_SET "active" 0.0; \
508 transition: BOUNCE 0.3 0.5 2; \
512 signal: "hide,"_NAME; source: "c"; \
513 action: STATE_SET "default" 0.0; \
514 transition: DECELERATE 0.3; \
517 #define DIGPRGS(_NAME) \
540 group { name: "e/modules/clock/main";
541 images.image: "clock_base.png" COMP;
542 images.image: "inset_round_hilight.png" COMP;
543 images.image: "inset_round_shadow.png" COMP;
544 images.image: "inset_round_shading.png" COMP;
545 set { name: "tacho_hand_big";
546 image { image: "tacho_hand_big.png" COMP; size: 73 73 99999 99999; }
547 image { image: "tacho_hand_big2.png" COMP; size: 37 37 72 72; }
548 image { image: "tacho_hand_big3.png" COMP; size: 19 19 36 36; }
549 image { image: "tacho_hand_big4.png" COMP; size: 0 0 18 18; }
551 images.image: "tacho_hand_big_shadow.png" COMP;
552 set { name: "tacho_hand_small_min";
553 image { image: "tacho_hand_small_min.png" COMP; size: 73 73 99999 99999; }
554 image { image: "tacho_hand_small_min2.png" COMP; size: 37 37 72 72; }
555 image { image: "tacho_hand_small_min3.png" COMP; size: 19 19 36 36; }
556 image { image: "tacho_hand_small_min4.png" COMP; size: 0 0 18 18; }
559 image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; }
560 image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; }
561 image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; }
562 image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; }
563 image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; }
564 image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; }
565 image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; }
566 image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; }
567 image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; }
568 image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; }
569 image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; }
574 public do_seconds, tick_timer;
576 public clock_cb(val) {
577 new year, month, day, yearday, weekday, hour, minute;
581 date(year, month, day, yearday, weekday, hour, minute, second);
582 dosec = get_int(do_seconds);
585 tim = timer(1.0 - (second - v), "clock_cb", 1);
587 custom_state(PART:"seconds", "default", 0.0);
588 set_state_val(PART:"seconds", STATE_MAP_ROT_Z, (v * 360.0) / 60.0);
589 set_state(PART:"seconds", "custom", 0.0);
591 custom_state(PART:"seconds-sh", "default", 0.0);
592 set_state_val(PART:"seconds-sh", STATE_MAP_ROT_Z, (v * 360.0) / 60.0);
593 set_state(PART:"seconds-sh", "custom", 0.0);
596 tim = timer(60.0 - (second), "clock_cb", 1);
598 set_int(tick_timer, tim);
600 custom_state(PART:"minutes", "default", 0.0);
601 set_state_val(PART:"minutes", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0);
602 set_state(PART:"minutes", "custom", 0.0);
604 custom_state(PART:"minutes-sh", "default", 0.0);
605 set_state_val(PART:"minutes-sh", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0);
606 set_state(PART:"minutes-sh", "custom", 0.0);
608 custom_state(PART:"hours", "default", 0.0);
609 set_state_val(PART:"hours", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0);
610 set_state(PART:"hours", "custom", 0.0);
612 custom_state(PART:"hours-sh", "default", 0.0);
613 set_state_val(PART:"hours-sh", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0);
614 set_state(PART:"hours-sh", "custom", 0.0);
618 part { name: "event"; type: RECT;
619 description { state: "default" 0.0;
623 part { name: "base-sh";
624 description { state: "default" 0.0;
629 image.normal: "inset_round_shadow.png";
632 part { name: "base-hi";
633 description { state: "default" 0.0;
638 image.normal: "inset_round_hilight.png";
642 description { state: "default" 0.0;
643 rel1.relative: (25/380) (25/380);
644 rel2.relative: (365/380) (365/380);
645 aspect: 1.0 1.0; aspect_preference: BOTH;
646 image.normal: "clock_base.png";
649 part { name: "seconds-sh"; mouse_events: 0;
650 description { state: "default" 0.0;
651 image.normal: "tacho_hand_big_shadow.png";
656 rotation.center: "seconds-sh";
659 description { state: "hidden" 0.0;
660 inherit: "default" 0.0;
664 part { name: "seconds"; mouse_events: 0;
665 description { state: "default" 0.0;
666 image.normal: "tacho_hand_big";
672 rotation.center: "base";
675 description { state: "hidden" 0.0;
676 inherit: "default" 0.0;
680 part { name: "minutes-sh"; mouse_events: 0;
681 description { state: "default" 0.0;
682 image.normal: "tacho_hand_big_shadow.png";
687 rotation.center: "minutes-sh";
691 part { name: "minutes"; mouse_events: 0;
692 description { state: "default" 0.0000;
693 color: 255 255 255 255;
694 image.normal: "tacho_hand_big";
699 rotation.center: "base";
703 part { name: "hours-sh"; mouse_events: 0;
704 description { state: "default" 0.0;
705 image.normal: "tacho_hand_small_shadow.png";
707 rel1.relative: 0.0 (15/380);
710 rel2.relative: 1.0 (395/380);
714 rotation.center: "hours-sh";
718 part { name: "hours"; mouse_events: 0;
719 description { state: "default" 0.0;
720 image.normal: "tacho_hand_small_min";
721 color: 255 255 255 255;
726 rotation.center: "base";
730 part { name: "over"; mouse_events: 0;
731 description { state: "default" 0.0;
734 image.normal: "inset_round_shading.png";
737 part { name: "knob"; type: SPACER;
738 description { state: "default" 0.0;
739 rel1.relative: (140/340) (140/340);
741 rel2.relative: (205/340) (205/340);
748 part { name: "knob2";
749 description { state: "default" 0.0;
756 image.normal: "knob";
762 signal: "load"; source: "";
768 signal: "e,state,seconds,on"; source: "e";
769 action: STATE_SET "default" 0.0;
771 target: "seconds-sh";
774 program { name: "sec2";
778 set_int(do_seconds, 1);
779 tim = get_int(tick_timer);
782 set_int(tick_timer, 0);
788 signal: "e,state,seconds,off"; source: "e";
789 action: STATE_SET "hidden" 0.0;
791 target: "seconds-sh";
794 program { name: "sec3";
798 set_int(do_seconds, 0);
799 tim = get_int(tick_timer);
802 set_int(tick_timer, 0);
810 group { name: "e/modules/clock/calendar/dayname";
812 part { name: "e.text.label"; type: TEXT; mouse_events: 0;
813 effect: SHADOW BOTTOM;
815 description { state: "default" 0.0;
816 color: FN_COL_DISABLE;
817 text { font: FN; size: 8;
822 text_class: "module_small";
825 description { state: "weekend" 0.0;
826 inherit: "default" 0.0;
833 signal: "e,state,weekend"; source: "e";
834 action: STATE_SET "weekend" 0.0;
835 target: "e.text.label";
838 signal: "e,state,weekday"; source: "e";
839 action: STATE_SET "default" 0.0;
840 target: "e.text.label";
845 group { name: "e/modules/clock/calendar/day";
847 public day_state = 0;
849 new vv = get_int(day_state);
853 set_state(PART:"e.text.label", "today", 0.0);
854 set_state(PART:"label2", "today", 0.0);
858 set_state(PART:"e.text.label", "hidden", 0.0);
859 set_state(PART:"label2", "default", 0.0);
863 set_state(PART:"e.text.label", "weekend", 0.0);
864 set_state(PART:"label2", "default", 0.0);
868 set_state(PART:"e.text.label", "default", 0.0);
869 set_state(PART:"label2", "default", 0.0);
874 part { name: "e.text.label"; type: TEXT; mouse_events: 0;
875 effect: SHADOW BOTTOM;
877 description { state: "default" 0.0;
878 color: FN_COL_DEFAULT;
879 text { font: FN; size: 10;
886 description { state: "today" 0.0;
887 inherit: "default" 0.0;
890 description { state: "weekend" 0.0;
891 inherit: "default" 0.0;
892 color: FN_COL_MID_GREY;
894 description { state: "hidden" 0.0;
895 inherit: "default" 0.0;
896 color: FN_COL_DISABLE;
899 part { name: "label2"; type: TEXT; mouse_events: 0;
902 description { state: "default" 0.0;
904 rel1.to: "e.text.label";
906 rel2.to: "e.text.label";
907 color: FN_COL_HIGHLIGHT;
908 text { font: FN; size: 10;
909 text_source: "e.text.label";
916 description { state: "today" 0.0;
917 inherit: "default" 0.0;
924 signal: "e,state,weekend"; source: "e";
926 new vv = get_int(day_state);
927 set_int(day_state, vv | 1);
932 signal: "e,state,weekday"; source: "e";
934 new vv = get_int(day_state);
935 set_int(day_state, vv & (~1));
941 signal: "e,state,today"; source: "e";
943 new vv = get_int(day_state);
944 set_int(day_state, vv | 2);
949 signal: "e,state,someday"; source: "e";
951 new vv = get_int(day_state);
952 set_int(day_state, vv & (~2));
958 signal: "e,state,hidden"; source: "e";
960 new vv = get_int(day_state);
961 set_int(day_state, vv | 4);
966 signal: "e,state,visible"; source: "e";
968 new vv = get_int(day_state);
969 set_int(day_state, vv & (~4));
976 group { name: "e/modules/clock/calendar";
977 images.image: "separator_horiz.png" COMP;
978 images.image: "sym_left_light_normal.png" COMP;
979 images.image: "sym_right_light_normal.png" COMP;
980 images.image: "sym_left_glow_normal.png" COMP;
981 images.image: "sym_right_glow_normal.png" COMP;
983 part { name: "e.text.month"; type: TEXT;
984 effect: SHADOW BOTTOM;
987 description { state: "default" 0.0;
991 rel1.relative: 1.0 0.0;
992 rel2.relative: 1.0 0.0;
993 color: FN_COL_DEFAULT;
994 text { font: FNBD; size: 10;
995 text: "000000000000";
998 text_class: "module_normal";
1002 part { name: "e.text.year"; type: TEXT; mouse_events: 0;
1003 effect: SHADOW BOTTOM;
1005 description { state: "default" 0.0;
1008 rel1.relative: 0.0 0.0;
1010 rel2.relative: 0.0 0.0;
1011 color: FN_COL_DEFAULT;
1012 text { font: FNBD; size: 10;
1016 text_class: "module_normal";
1020 part { name: "previm"; mouse_events: 0;
1021 description { state: "default" 0.0;
1026 image.normal: "sym_left_light_normal.png";
1028 description { state: "pressed" 0.0;
1029 inherit: "default" 0.0;
1030 image.normal: "sym_left_glow_normal.png";
1033 part { name: "prev"; type: RECT;
1034 description { state: "default" 0.0;
1037 aspect: 1.0 1.0; aspect_preference: VERTICAL;
1038 rel1.to_y: "e.text.month";
1039 rel1.relative: 0.0 0.0;
1040 rel2.to_y: "e.text.month";
1041 rel2.relative: 0.0 1.0;
1043 program { name: "prev_down";
1044 signal: "mouse,down,1*"; source: "prev";
1045 action: STATE_SET "pressed" 0.0;
1048 program { name: "prev_up";
1049 signal: "mouse,up,1"; source: "prev";
1050 action: STATE_SET "default" 0.0;
1053 program { name: "prev_clicked";
1054 signal: "mouse,clicked,1*"; source: "prev";
1055 action: SIGNAL_EMIT "e,action,prev" "";
1058 part { name: "nextim"; mouse_events: 0;
1059 description { state: "default" 0.0;
1064 image.normal: "sym_right_light_normal.png";
1066 description { state: "pressed" 0.0;
1067 inherit: "default" 0.0;
1068 image.normal: "sym_right_glow_normal.png";
1071 part { name: "next"; type: RECT;
1072 description { state: "default" 0.0;
1075 aspect: 1.0 1.0; aspect_preference: VERTICAL;
1076 rel1.to_y: "e.text.month";
1077 rel1.relative: 1.0 0.0;
1078 rel2.to_y: "e.text.month";
1079 rel2.relative: 1.0 1.0;
1081 program { name: "next_down";
1082 signal: "mouse,down,1"; source: "next";
1083 action: STATE_SET "pressed" 0.0;
1086 program { name: "next_up";
1087 signal: "mouse,up,1"; source: "next";
1088 action: STATE_SET "default" 0.0;
1091 program { name: "next_clicked";
1092 signal: "mouse,clicked,1"; source: "next";
1093 action: SIGNAL_EMIT "e,action,next" "";
1097 description { state: "default" 0.0;
1098 image.normal: "separator_horiz.png";
1099 rel1.relative: 0.0 1.0;
1101 rel1.to: "e.table.daynames";
1103 rel2.to: "e.table.daynames";
1109 part { name: "e.table.daynames"; type: TABLE;
1110 description { state: "default" 0.0;
1113 rel1.to_y: "e.text.month";
1114 rel1.relative: 0.0 1.0;
1116 rel2.to_y: "e.text.month";
1117 rel2.relative: 1.0 1.0;
1120 table { homogeneous: TABLE;
1132 source: "e/modules/clock/calendar/dayname"; \
1136 D(0) D(1) D(2) D(3) D(4) D(5) D(6)
1141 part { name: "e.table.days"; type: TABLE;
1142 description { state: "default" 0.0;
1143 rel1.to_y: "e.table.daynames";
1144 rel1.relative: 0.0 1.0;
1148 table { homogeneous: TABLE;
1160 source: "e/modules/clock/calendar/day"; \
1164 D(0, 0) D(1, 0) D(2, 0) D(3, 0) D(4, 0) D(5, 0) D(6, 0)
1165 D(0, 1) D(1, 1) D(2, 1) D(3, 1) D(4, 1) D(5, 1) D(6, 1)
1166 D(0, 2) D(1, 2) D(2, 2) D(3, 2) D(4, 2) D(5, 2) D(6, 2)
1167 D(0, 3) D(1, 3) D(2, 3) D(3, 3) D(4, 3) D(5, 3) D(6, 3)
1168 D(0, 4) D(1, 4) D(2, 4) D(3, 4) D(4, 4) D(5, 4) D(6, 4)
1169 D(0, 5) D(1, 5) D(2, 5) D(3, 5) D(4, 5) D(5, 5) D(6, 5)