elementary/dayselector - oooops crazy hermet
[framework/uifw/elementary.git] / data / themes / widgets / dayselector.edc
1 #define DAYSELECOR_DAY_POS_LEFT 1
2 #define DAYSELECOR_DAY_POS_RIGHT 2
3 #define DAYSELECOR_DAY_POS_MIDDLE 3
4 #define DAYSELECOR_DAY_TYPE_WEEKDAY 1
5 #define DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT 2
6 #define DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1 3
7 #define DAYSELECOR_DAY_STATE_DEFAULT 1
8 #define DAYSELECOR_DAY_STATE_PRESSED 2
9 #define DAYSELECOR_DAY_STATE_SELECTED 3
10
11 #define DAYSELECTOR_DAY(_pos, _after)\
12    part {\
13       name: "day"#_pos;\
14       type: SWALLOW;\
15       scale: 1;\
16       clip_to: "clipper";\
17       description { state: "default" 0.0;\
18          visible: 0;\
19          min: 0 0;\
20          align: 0.0 0.5;\
21          fixed: 1 0;\
22          rel1 {\
23             relative: 1.0 0.0;\
24             to: "day"#_after;\
25             offset: 1 0;\
26          }\
27          rel2 {\
28             relative: 1.0 1.0;\
29             to: "day"#_after;\
30          }\
31       }\
32       description { state: "visible" 0.0;\
33          inherit: "default" 0.0;\
34          visible: 1;\
35          min: 40 25;\
36       }\
37    }\
38    programs{\
39       program {\
40          name: "day"#_pos"visible";\
41          signal: "day"#_pos",visible";\
42          source: "elm";\
43          action: STATE_SET "visible" 0.0;\
44          target: "day"#_pos;\
45       }\
46       program {\
47          name: "day"#_pos"notvisible";\
48          signal: "day"#_pos",default";\
49          source: "elm";\
50          action: STATE_SET "default" 0.0;\
51          target: "day"#_pos;\
52       }\
53    }
54
55 group {
56    name: "elm/dayselector/base/default";
57    parts {
58       part {
59          name: "bg";
60          type: RECT;
61          mouse_events: 0;
62          scale: 1;
63          clip_to: "clipper";
64          description { state: "default" 0.0;
65             rel1 {
66                relative: 0.5 0.0;
67                to: "day0";
68             }
69             rel2 {
70                relative: 0.5 1.0;
71                to: "day6";
72             }
73             color: 199 199 199 255;
74          }
75       }
76       part {
77          name: "day0";
78          type: SWALLOW;
79          scale: 1;
80          clip_to: "clipper";
81          description { state: "default" 0.0;
82             visible: 0;
83             min: 0 0;
84             align: 0.0 0.5;
85             fixed: 1 0;
86             rel2 {
87                relative: 0.0 1.0;
88             }
89          }
90          description { state: "visible" 0.0;
91             inherit: "default" 0.0;
92             visible: 1;
93             min: 40 25;
94          }
95       }
96       DAYSELECTOR_DAY(1, 0)
97       DAYSELECTOR_DAY(2, 1)
98       DAYSELECTOR_DAY(3, 2)
99       DAYSELECTOR_DAY(4, 3)
100       DAYSELECTOR_DAY(5, 4)
101       DAYSELECTOR_DAY(6, 5)
102       part {
103          name: "clipper";
104          type: RECT;
105          description { state: "default" 0.0;
106             rel1 {
107                relative: 0.0 0.0;
108                to: "day0";
109             }
110             rel2 {
111                relative: 1.0 1.0;
112                to: "day6";
113             }
114             color: 255 255 255 255;
115          }
116          description { state: "visible" 0.0;
117             inherit: "default" 0.0;
118             color: 200 200 200 255;
119          }
120       }
121       part {
122          name: "disabler";
123          type: RECT;
124          description { state: "default" 0.0;
125             color: 0 0 0 0;
126             visible: 0;
127          }
128          description { state: "visible" 0.0;
129             inherit: "default" 0.0;
130             visible: 1;
131          }
132       }
133    }
134    programs {
135       program {
136          name: "disble_dayselector";
137          signal: "elm,state,disabled";
138          source: "elm";
139          action: STATE_SET "visible" 0.0;
140          target: "disabler";
141          target: "clipper";
142       }
143       program {
144          name: "enable_dayselector";
145          signal: "elm,state,enabled";
146          source: "elm";
147          action: STATE_SET "default" 0.0;
148          target: "disabler";
149          target: "clipper";
150       }
151       program {
152          name: "day0_visible";
153          signal: "day0,visible";
154          source: "elm";
155          action: STATE_SET "visible" 0.0;
156          target: "day0";
157       }
158       program {
159          name: "day0_default";
160          signal: "day0,default";
161          source: "elm";
162          action: STATE_SET "default" 0.0;
163          target: "day0";
164       }
165    }
166 }
167
168 group {
169    name: "elm/check/base/dayselector/default";
170    images {
171       image: "seg_single_normal.png" COMP;
172       image: "seg_left_normal.png" COMP;
173       image: "seg_left_pressed.png" COMP;
174       image: "seg_left_selected.png" COMP;
175       image: "seg_right_normal.png" COMP;
176       image: "seg_right_pressed.png" COMP;
177       image: "seg_right_selected.png" COMP;
178       image: "seg_middle_normal.png" COMP;
179       image: "seg_middle_pressed.png" COMP;
180       image: "seg_middle_selected.png" COMP;
181    }
182    script {
183       public check_pos; // Left, Right, Middle.
184       public check_type; // Weekday, Weekend.
185       public check_state = DAYSELECOR_DAY_STATE_DEFAULT; // Default, Pressed, Selected.
186
187       public check_bg_show() {
188          if(get_int(check_pos) == DAYSELECOR_DAY_POS_LEFT)
189          {
190             if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
191             set_state(PART:"bg", "default_left", 0.0);
192             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
193             set_state(PART:"bg", "pressed_left", 0.0);
194             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
195             set_state(PART:"bg", "selected_left", 0.0);
196          }
197          else if(get_int(check_pos) == DAYSELECOR_DAY_POS_RIGHT)
198          {
199             if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
200             set_state(PART:"bg", "default_right", 0.0);
201             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
202             set_state(PART:"bg", "pressed_right", 0.0);
203             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
204             set_state(PART:"bg", "selected_right", 0.0);
205          }
206          else if(get_int(check_pos) == DAYSELECOR_DAY_POS_MIDDLE)
207          {
208             if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
209             set_state(PART:"bg", "default_middle", 0.0);
210             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
211             set_state(PART:"bg", "pressed_middle", 0.0);
212             else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
213             set_state(PART:"bg", "selected_middle", 0.0);
214          }
215       }
216       public check_text_show() {
217          if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
218          set_state(PART:"elm.text", "selected", 0.0);
219          else
220          {
221             if(get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKDAY)
222             set_state(PART:"elm.text", "default", 0.0);
223             else if (get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT)
224             set_state(PART:"elm.text", "weekend_default", 0.0);
225             else if (get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1)
226             set_state(PART:"elm.text", "weekend_style1", 0.0);
227          }
228       }
229    }
230    parts {
231       part {
232          name: "bg";
233          mouse_events: 0;
234          scale: 1;
235          description {
236             state: "default" 0.0;
237             image {
238                normal: "seg_single_normal.png";
239                border: 7 7 7 7;
240                border_scale: 1;
241                middle: 1;
242             }
243          }
244          description { state: "default_left" 0.0;
245             inherit: "default" 0.0;
246             image {
247                normal: "seg_left_normal.png";
248                border:  6 1 7 7;
249             }
250          }
251          description { state: "default_right" 0.0;
252             inherit: "default" 0.0;
253             image {
254                normal: "seg_right_normal.png";
255                border: 1 6 7 7;
256             }
257          }
258          description { state: "default_middle" 0.0;
259             inherit: "default" 0.0;
260             image {
261                normal: "seg_middle_normal.png";
262                border: 2 2 2 2;
263             }
264          }
265          description { state: "pressed_left" 0.0;
266             inherit: "default" 0.0;
267             image {
268                normal: "seg_left_pressed.png";
269                border:  6 1 7 7;
270             }
271          }
272          description { state: "pressed_right" 0.0;
273             inherit: "default" 0.0;
274             image {
275                normal: "seg_right_pressed.png";
276                border: 1 6 7 7;
277             }
278          }
279          description { state: "pressed_middle" 0.0;
280             inherit: "default" 0.0;
281             image {
282                normal: "seg_middle_pressed.png";
283                border: 1 1 2 2;
284             }
285          }
286          description { state: "selected_left" 0.0;
287             inherit: "default" 0.0;
288             image {
289                normal: "seg_left_selected.png";
290                border:  6 3 7 7;
291             }
292          }
293          description { state: "selected_right" 0.0;
294             inherit: "default" 0.0;
295             image {
296                normal: "seg_right_selected.png";
297                border: 3 6 7 7;
298             }
299          }
300          description { state: "selected_middle" 0.0;
301             inherit: "default" 0.0;
302             image {
303                normal: "seg_middle_selected.png";
304                border: 3 3 3 3;
305             }
306          }
307       }
308       part {
309          name: "left_padding";
310          type: RECT;
311          mouse_events: 0;
312          scale: 1;
313          description { state: "default" 0.0;
314             min: 5 0;
315             visible: 0;
316             fixed: 1 0;
317             align: 0.0 0.5;
318             rel2 {
319                relative: 0.0 1.0;
320             }
321          }
322       }
323       part {
324          name: "right_padding";
325          type: RECT;
326          mouse_events: 0;
327          scale: 1;
328          description { state: "default" 0.0;
329             visible: 0;
330             min: 5 0;
331             fixed: 1 0;
332             align: 1.0 0.5;
333             rel1 {
334                relative: 1.0 0.0;
335             }
336          }
337       }
338       part {
339          name: "elm.text";
340          type: TEXT;
341          mouse_events: 0;
342          scale: 1;
343          description {
344             state: "default" 0.0;
345             rel1 {
346                to: "left_padding";
347                relative: 1.0 0.0;
348             }
349             rel2 {
350                to: "right_padding";
351                relative: 0.0 1.0;
352             }
353             color: 224 224 224 255;
354             text {
355                font: "Sans,Edje-Vera";
356                size: 20;
357                min: 1 1;
358             }
359          }
360          description {
361             state: "weekend_default" 0.0;
362             inherit: "default" 0.0;
363             color: 8 96 170 255;
364          }
365          description {
366             state: "weekend_style1" 0.0;
367             inherit: "default" 0.0;
368             color: 225 49 8 255;
369          }
370          description {
371             state: "selected" 0.0;
372             inherit: "default" 0.0;
373             color: 50 50 50 255;
374          }
375       }
376       part {
377          name: "events";
378          type: RECT;
379          ignore_flags: ON_HOLD;
380          description {
381             state: "default" 0.0;
382             rel1 {
383                to: "bg";
384             }
385             rel2 {
386                to: "bg";
387             }
388             color: 0 0 0 0;
389          }
390       }
391    }
392    programs {
393       program {
394          name: "check,pressed";
395          signal: "mouse,down,1";
396          source: "events";
397          script {
398             set_int(check_state, DAYSELECOR_DAY_STATE_PRESSED);
399             check_bg_show();
400          }
401       }
402       program {
403          name: "check,toggle";
404          signal: "mouse,up,1";
405          source: "events";
406          action: SIGNAL_EMIT "elm,action,check,toggle" "";
407       }
408       program {
409          name: "check,on";
410          signal: "elm,state,check,on";
411          source: "elm";
412          script {
413             set_int(check_state, DAYSELECOR_DAY_STATE_SELECTED);
414             check_bg_show();
415             check_text_show();
416          }
417       }
418       program {
419          name: "check,off";
420          signal: "elm,state,check,off";
421          source: "elm";
422          script {
423             set_int(check_state, DAYSELECOR_DAY_STATE_DEFAULT);
424             check_bg_show();
425             check_text_show();
426          }
427       }
428       program { name: "check,left";
429          signal: "elm,pos,check,left";
430          source: "elm";
431          script {
432             set_int(check_pos, DAYSELECOR_DAY_POS_LEFT);
433             check_bg_show();
434          }
435       }
436       program { name: "check,right";
437          signal: "elm,pos,check,right";
438          source: "elm";
439          script {
440             set_int(check_pos, DAYSELECOR_DAY_POS_RIGHT);
441             check_bg_show();
442          }
443       }
444       program { name: "check,middle";
445          signal: "elm,pos,check,middle";
446          source: "elm";
447          script {
448             set_int(check_pos, DAYSELECOR_DAY_POS_MIDDLE);
449             check_bg_show();
450          }
451       }
452       program { name: "check,weekday";
453          signal: "elm,type,weekday,default";
454          source: "";
455          script {
456             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKDAY);
457             check_text_show();
458          }
459       }
460       program { name: "check,weekend,default";
461          signal: "elm,type,weekend,default";
462          source: "";
463          script {
464             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT);
465             check_text_show();
466          }
467       }
468       program { name: "check,weekend,style1";
469          signal: "elm,type,weekend,style1";
470          source: "";
471          script {
472             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1);
473             check_text_show();
474          }
475       }
476    }
477 }
478
479 #undef DAYSELECOR_DAY_POS_LEFT
480 #undef DAYSELECOR_DAY_POS_RIGHT
481 #undef DAYSELECOR_DAY_POS_MIDDLE
482 #undef DAYSELECOR_DAY_TYPE_WEEKDAY
483 #undef DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT
484 #undef DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1
485 #undef DAYSELECOR_DAY_STATE_DEFAULT
486 #undef DAYSELECOR_DAY_STATE_PRESSED
487 #undef DAYSELECOR_DAY_STATE_SELECTED
488 #undef DAYSELECTOR_DAY