Merge "[Button]Naviframe_control style macro's modified."
[profile/ivi/efl-theme-tizen.git] / themes / widgets / dayselector.edc
1 /*
2  * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved 
3  *
4  * PROPRIETARY/CONFIDENTIAL
5  *
6  * This software is the confidential and proprietary information of SAMSUNG
7  * ELECTRONICS ("Confidential Information"). You agree and acknowledge that this
8  * software is owned by Samsung and you shall not disclose such Confidential
9  * Information and shall use it only in accordance with the terms of the license
10  * agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no
11  * representations or warranties about the suitability of the software, either
12  * express or implied, including but not limited to the implied warranties of
13  * merchantability, fitness for a particular purpose, or non-infringement.
14  * SAMSUNG shall not be liable for any damages suffered by licensee arising out
15  * of or releated to this software.
16  *
17  */
18
19 #define DAYSELECOR_DAY_POS_LEFT 1
20 #define DAYSELECOR_DAY_POS_RIGHT 2
21 #define DAYSELECOR_DAY_POS_MIDDLE 3
22 #define DAYSELECOR_DAY_TYPE_WEEKDAY 1
23 #define DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT 2
24 #define DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1 3
25 #define DAYSELECOR_DAY_STATE_DEFAULT 1
26 #define DAYSELECOR_DAY_STATE_PRESSED 2
27 #define DAYSELECOR_DAY_STATE_SELECTED 3
28
29 #define DAYSELECTOR_DAY(_pos, _after)\
30    part {\
31       name: "day"#_pos;\
32       type: SWALLOW;\
33       scale: 1;\
34       clip_to: "clipper";\
35       description { state: "default" 0.0;\
36          visible: 0;\
37          min: 0 0;\
38          align: 0.0 0.5;\
39          fixed: 1 0;\
40          rel1 {\
41             relative: 1.0 0.0;\
42             to: "day"#_after;\
43             offset: 1 0;\
44          }\
45          rel2 {\
46             relative: 1.0 1.0;\
47             to: "day"#_after;\
48          }\
49       }\
50       description { state: "visible" 0.0;\
51          inherit: "default" 0.0;\
52          visible: 1;\
53          min: DAYSELECTOR_CHECK_WIDTH_INC DAYSELECTOR_CHECK_HEIGHT_INC;\
54       }\
55    }\
56    programs{\
57       program {\
58          name: "day"#_pos"visible";\
59          signal: "day"#_pos",visible";\
60          source: "elm";\
61          action: STATE_SET "visible" 0.0;\
62          target: "day"#_pos;\
63       }\
64       program {\
65          name: "day"#_pos"notvisible";\
66          signal: "day"#_pos",default";\
67          source: "elm";\
68          action: STATE_SET "default" 0.0;\
69          target: "day"#_pos;\
70       }\
71    }
72
73 group {
74    name: "elm/dayselector/base/default";
75    parts {
76       part {
77          name: "bg";
78          type: RECT;
79          mouse_events: 0;
80          clip_to: "clipper";
81          description {
82             state: "default" 0.0;
83             rel1 {
84                relative: 0.5 0.0;
85                to: "day0";
86             }
87             rel2 {
88                relative: 0.5 1.0;
89                to: "day6";
90             }
91             color: DAYSELECTOR_BACKGROUND_COLOR_INC;
92          }
93       }
94       part {
95          name: "day0";
96          type: SWALLOW;
97          scale: 1;
98          clip_to: "clipper";
99          description {
100             state: "default" 0.0;
101             visible: 0;
102             min: 0 0;
103             align: 0.0 0.5;
104             fixed: 1 0;
105             rel2.relative: 0.0 1.0;
106          }
107          description {
108             state: "visible" 0.0;
109             inherit: "default" 0.0;
110             visible: 1;
111             min: DAYSELECTOR_CHECK_WIDTH_INC DAYSELECTOR_CHECK_HEIGHT_INC;
112          }
113       }
114       DAYSELECTOR_DAY(1, 0)
115       DAYSELECTOR_DAY(2, 1)
116       DAYSELECTOR_DAY(3, 2)
117       DAYSELECTOR_DAY(4, 3)
118       DAYSELECTOR_DAY(5, 4)
119       DAYSELECTOR_DAY(6, 5)
120       part {
121          name: "clipper";
122          type: RECT;
123          description {
124             state: "default" 0.0;
125             rel1.to: "day0";
126             rel2.to: "day6";
127             color: 255 255 255 255;
128          }
129          description {
130             state: "visible" 0.0;
131             inherit: "default" 0.0;
132             color: 200 200 200 255;
133          }
134       }
135       part {
136          name: "disabler";
137          type: RECT;
138          description {
139             state: "default" 0.0;
140             color: 0 0 0 0;
141             visible: 0;
142          }
143          description {
144             state: "visible" 0.0;
145             inherit: "default" 0.0;
146             visible: 1;
147          }
148       }
149    }
150    programs {
151       program {
152          name: "disble_dayselector";
153          signal: "elm,state,disabled";
154          source: "elm";
155          action: STATE_SET "visible" 0.0;
156          target: "disabler";
157          target: "clipper";
158       }
159       program {
160          name: "enable_dayselector";
161          signal: "elm,state,enabled";
162          source: "elm";
163          action: STATE_SET "default" 0.0;
164          target: "disabler";
165          target: "clipper";
166       }
167       program {
168          name: "day0_visible";
169          signal: "day0,visible";
170          source: "elm";
171          action: STATE_SET "visible" 0.0;
172          target: "day0";
173       }
174       program {
175          name: "day0_default";
176          signal: "day0,default";
177          source: "elm";
178          action: STATE_SET "default" 0.0;
179          target: "day0";
180       }
181    }
182 }
183
184 group {
185    name: "elm/check/base/dayselector/default";
186    images {
187       image: "00_alarm_repeat_button_normal_01.png" COMP;
188       image: "00_alarm_repeat_button_press_01.png" COMP;
189       image: "00_alarm_repeat_button_normal_02.png" COMP;
190       image: "00_alarm_repeat_button_press_02.png" COMP;
191       image: "00_alarm_repeat_button_normal_03.png" COMP;
192       image: "00_alarm_repeat_button_press_03.png" COMP;
193    }
194    script {
195       public check_pos; // Left, Right, Middle.
196       public check_type; // Weekday, Weekend.
197       public check_state = DAYSELECOR_DAY_STATE_DEFAULT; // Default, Pressed, Selected.
198
199       public check_bg_show() {
200          if(get_int(check_pos) == DAYSELECOR_DAY_POS_LEFT) {
201            if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
202              set_state(PART:"bg", "default_left", 0.0);
203            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
204              set_state(PART:"bg", "pressed_left", 0.0);
205            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
206              set_state(PART:"bg", "selected_left", 0.0);
207          }
208          else if(get_int(check_pos) == DAYSELECOR_DAY_POS_RIGHT) {
209            if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
210              set_state(PART:"bg", "default_right", 0.0);
211            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
212              set_state(PART:"bg", "pressed_right", 0.0);
213            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
214              set_state(PART:"bg", "selected_right", 0.0);
215          }
216          else if(get_int(check_pos) == DAYSELECOR_DAY_POS_MIDDLE) {
217            if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
218              set_state(PART:"bg", "default_middle", 0.0);
219            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
220              set_state(PART:"bg", "pressed_middle", 0.0);
221            else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
222              set_state(PART:"bg", "selected_middle", 0.0);
223          }
224       }
225       public check_text_show() {
226         if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
227           set_state(PART:"elm.text", "selected", 0.0);
228         else {
229           if(get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKDAY)
230             set_state(PART:"elm.text", "default", 0.0);
231           else if (get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT)
232             set_state(PART:"elm.text", "weekend_default", 0.0);
233           else if (get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1)
234             set_state(PART:"elm.text", "weekend_style1", 0.0);
235         }
236       }
237    }
238    parts {
239       part {
240          name: "bg";
241          mouse_events: 0;
242          scale: 1;
243          description {
244             state: "default" 0.0;
245             //color: DAYSELECTOR_BACKGROUND_COLOR_INC;
246          }
247          description { state: "default_left" 0.0;
248             inherit: "default" 0.0;
249             image {
250                normal: "00_alarm_repeat_button_normal_01.png";
251                border: 4 0 4 4;
252                border_scale: 1;
253             }
254          }
255          description { state: "default_right" 0.0;
256             inherit: "default" 0.0;
257             image {
258                normal: "00_alarm_repeat_button_normal_03.png";
259                border: 0 4 4 4;
260                border_scale: 1;
261             }
262          }
263          description { state: "default_middle" 0.0;
264             inherit: "default" 0.0;
265             image {
266                normal: "00_alarm_repeat_button_normal_02.png";
267                border: 0 0 4 4;
268                border_scale: 1;
269             }
270          }
271          description { state: "pressed_left" 0.0;
272             inherit: "default" 0.0;
273             image {
274                normal: "00_alarm_repeat_button_press_01.png";
275                border: 4 0 4 4;
276                border_scale: 1;
277             }
278          }
279          description { state: "pressed_right" 0.0;
280             inherit: "default" 0.0;
281             image {
282                normal: "00_alarm_repeat_button_press_03.png";
283                border: 0 4 4 4;
284                border_scale: 1;
285             }
286          }
287          description { state: "pressed_middle" 0.0;
288             inherit: "default" 0.0;
289             image {
290                normal: "00_alarm_repeat_button_press_02.png";
291                border: 0 0 4 4;
292                border_scale: 1;
293             }
294          }
295          description { state: "selected_left" 0.0;
296             inherit: "default" 0.0;
297             image {
298                normal: "00_alarm_repeat_button_press_01.png";
299                border: 4 0 4 4;
300                border_scale: 1;
301             }
302          }
303          description { state: "selected_right" 0.0;
304             inherit: "default" 0.0;
305             image {
306                normal: "00_alarm_repeat_button_press_03.png";
307                border: 0 4 4 4;
308                border_scale: 1;
309             }
310          }
311          description { state: "selected_middle" 0.0;
312             inherit: "default" 0.0;
313             image {
314                normal: "00_alarm_repeat_button_press_02.png";
315                border: 0 0 4 4;
316                border_scale: 1;
317             }
318          }
319       }
320       part {
321          name: "elm.text";
322          type: TEXT;
323          mouse_events: 0;
324          scale: 1;
325          description {
326             state: "default" 0.0;
327             rel1.to: "bg";
328             rel2.to: "bg";
329             color: DAYSELECTOR_WEEKDAY_COLOR_INC;
330             text {
331                font: "SLP:style=Medium";
332                size: DAYSELECTOR_DAY_FONT_SIZE_INC;
333                min: 1 1;
334                align: 0.5 0.5;
335                text_class: "slp_medium";
336             }
337          }
338          description {
339             state: "weekend_default" 0.0;
340             inherit: "default" 0.0;
341             color: DAYSELECTOR_SATURDAY_COLOR_INC;
342          }
343          description {
344             state: "weekend_style1" 0.0;
345             inherit: "default" 0.0;
346             color: DAYSELECTOR_SUNDAY_COLOR_INC;
347          }
348          description {
349             state: "selected" 0.0;
350             inherit: "default" 0.0;
351             color: DAYSELECTOR_DAY_PRESSED_COLOR_INC;
352          }
353       }
354       part {
355          name: "events";
356          type: RECT;
357          ignore_flags: ON_HOLD;
358          description {
359             state: "default" 0.0;
360             rel1.to: "bg";
361             rel2.to: "bg";
362             color: 0 0 0 0;
363          }
364       }
365    }
366    programs {
367       program {
368          name: "check,pressed";
369          signal: "mouse,down,1";
370          source: "events";
371          script {
372             set_int(check_state, DAYSELECOR_DAY_STATE_PRESSED);
373             check_bg_show();
374          }
375       }
376       program {
377          name: "check,toggle";
378          signal: "mouse,up,1";
379          source: "events";
380          action: SIGNAL_EMIT "elm,action,check,toggle" "";
381       }
382       program {
383          name: "check,on";
384          signal: "elm,state,check,on";
385          source: "elm";
386          script {
387             set_int(check_state, DAYSELECOR_DAY_STATE_SELECTED);
388             check_bg_show();
389             check_text_show();
390          }
391       }
392       program {
393          name: "check,off";
394          signal: "elm,state,check,off";
395          source: "elm";
396          script {
397             set_int(check_state, DAYSELECOR_DAY_STATE_DEFAULT);
398             check_bg_show();
399             check_text_show();
400          }
401       }
402       program { name: "check,left";
403          signal: "elm,pos,check,left";
404          source: "elm";
405          script {
406             set_int(check_pos, DAYSELECOR_DAY_POS_LEFT);
407             check_bg_show();
408          }
409       }
410       program { name: "check,right";
411          signal: "elm,pos,check,right";
412          source: "elm";
413          script {
414             set_int(check_pos, DAYSELECOR_DAY_POS_RIGHT);
415             check_bg_show();
416          }
417       }
418       program { name: "check,middle";
419          signal: "elm,pos,check,middle";
420          source: "elm";
421          script {
422             set_int(check_pos, DAYSELECOR_DAY_POS_MIDDLE);
423             check_bg_show();
424          }
425       }
426       program { name: "check,weekday";
427          signal: "elm,type,weekday,default";
428          source: "";
429          script {
430             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKDAY);
431             check_text_show();
432          }
433       }
434       program { name: "check,weekend,default";
435          signal: "elm,type,weekend,default";
436          source: "";
437          script {
438             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT);
439             check_text_show();
440          }
441       }
442       program { name: "check,weekend,style1";
443          signal: "elm,type,weekend,style1";
444          source: "";
445          script {
446             set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1);
447             check_text_show();
448          }
449       }
450    }
451 }
452
453 #undef DAYSELECOR_DAY_POS_LEFT
454 #undef DAYSELECOR_DAY_POS_RIGHT
455 #undef DAYSELECOR_DAY_POS_MIDDLE
456 #undef DAYSELECOR_DAY_TYPE_WEEKDAY
457 #undef DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT
458 #undef DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1
459 #undef DAYSELECOR_DAY_STATE_DEFAULT
460 #undef DAYSELECOR_DAY_STATE_PRESSED
461 #undef DAYSELECOR_DAY_STATE_SELECTED
462 #undef DAYSELECTOR_DAY