02cf76cf884d31c1644b521b7b3422ec658be484
[framework/uifw/efl-theme-tizen.git] / themes / widgets / datetime.edc
1 /*
2  * efl-theme-tizen
3  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an AS IS BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18
19 ///////////////////////////////////////////////////////////////////////////////
20 // datetime
21 ///////////////////////////////////////////////////////////////////////////////
22
23 #define DATETIME_PADDING(_pos, prev_part) \
24    part {\
25       name: "picker.padding"#_pos; \
26       type: RECT; \
27       scale: 1;\
28       clip_to: "clipper";\
29       description { state: "default" 0.0; \
30          color: 0 0 0 0;\
31          min: 0 0;\
32          max: 0 -1;\
33          align: 0.0 0.5;\
34          fixed: 1 0;\
35          rel1 {\
36             relative: 1.0 0.0;\
37             to: prev_part;\
38          }\
39          rel2 {\
40             relative: 1.0 1.0;\
41             to: prev_part;\
42          }\
43       }\
44       description { state: "enable" 0.0;\
45          inherit: "default" 0.0;\
46          min: DATETIME_FIELD_PICKER_PADDING_SIZE_INC;\
47       }\
48    }\
49    part {\
50       name: "left.padding"#_pos; \
51       type: RECT; \
52       scale: 1;\
53       clip_to: "clipper";\
54       mouse_events: 0;\
55       description { state: "default" 0.0; \
56          color: 0 0 0 0;\
57          min: 0 0;\
58          max: 0 -1;\
59          visible: 0;\
60          align: 0.0 0.5;\
61          fixed: 1 0;\
62          rel1 {\
63             relative: 1.0 0.0;\
64             to: "picker.padding"#_pos;\
65          }\
66          rel2 {\
67             relative: 1.0 1.0;\
68             to: "picker.padding"#_pos;\
69          }\
70       }\
71       description { state: "enable" 0.0;\
72          inherit: "default" 0.0;\
73          min: DATETIME_FIELD_LEFT_PADDING_SIZE_INC;\
74       }\
75    }\
76    part {\
77       name: "right.padding"#_pos; \
78       type: RECT;\
79       scale: 1;\
80       clip_to: "clipper";\
81       mouse_events: 0;\
82       description {\
83          state: "default" 0.0;\
84          color: 0 0 0 0;\
85          visible: 0;\
86          min: 0 0;\
87          max: 0 -1;\
88          align: 0.0 0.5;\
89          fixed: 1 0;\
90          rel1 {\
91             relative: 1.0 0.0;\
92             to: "field"#_pos;\
93          }\
94          rel2 {\
95             relative: 1.0 1.0;\
96             to: "field"#_pos;\
97          }\
98       }\
99       description { state: "enable" 0.0;\
100          inherit: "default" 0.0;\
101          min: DATETIME_FIELD_RIGHT_PADDING_SIZE_INC;\
102       }\
103    }\
104    programs{\
105       program {\
106          name: "field_"#_pos"enabled";\
107          signal: "field"#_pos",enable";\
108          source: "elm";\
109          action: STATE_SET "enable" 0.0;\
110          target: "left.padding"#_pos;\
111          target: "right.padding"#_pos;\
112          target: "field"#_pos;\
113       }\
114       program {\
115          name: "field_"#_pos"disabled";\
116          signal: "field"#_pos",disable";\
117          source: "elm";\
118          action: STATE_SET "default" 0.0;\
119          target: "left.padding"#_pos;\
120          target: "right.padding"#_pos;\
121          target: "field"#_pos;\
122       }\
123    }
124
125 #define DATETIME_FIELD(_pos) \
126    part {\
127       name: "field"#_pos; \
128       type: SWALLOW; \
129       scale: 1;\
130       clip_to: "clipper";\
131       repeat_events: 1;\
132       description { state: "default" 0.0; \
133          visible: 0;\
134          min: 0 0;\
135          max: 0 -1;\
136          align: 0.0 0.5;\
137          fixed: 1 0;\
138          rel1 {\
139             relative: 1.0 0.0;\
140             to: "left.padding"#_pos;\
141          }\
142          rel2 {\
143             relative: 1.0 1.0;\
144             to: "left.padding"#_pos;\
145          }\
146       }\
147       description { state: "enable" 0.0;\
148          inherit: "default" 0.0;\
149          visible: 1;\
150          min: DATETIME_FIELD_MIN_SIZE_INC;\
151       }\
152    }\
153    part {\
154       name: "separator"#_pos; \
155       type: TEXT;\
156       scale: 1;\
157       clip_to: "clipper";\
158       mouse_events: 0;\
159       description {\
160          state: "default" 0.0;\
161          visible: 0;\
162          min: 0 0;\
163          max: 0 -1;\
164          align: 0.0 0.5;\
165          fixed: 1 0;\
166          rel1 {\
167             relative: 1.0 0.0;\
168             to: "right.padding"#_pos;\
169          }\
170          rel2 {\
171             relative: 1.0 1.0;\
172             to: "right.padding"#_pos;\
173          }\
174          color: DATETIME_SEPARATOR_TEXT_COLOR_INC;\
175          text {\
176             font: "Tizen:style=Regular";\
177             size: DATETIME_SEPARATOR_TEXT_FONT_SIZE_INC;\
178             min: 1 0; \
179             text_class: "tizen";\
180          }\
181       }\
182       description { state: "enable" 0.0;\
183          inherit: "default" 0.0;\
184          visible: 1;\
185          min: DATETIME_SEPARATOR_MIN_SIZE_INC;\
186       }\
187       description { state: "pressed" 0.0;\
188          inherit: "enable" 0.0;\
189          color: DATETIME_TEXT_SELECTED_COLOR_INC;\
190          text {\
191             size: DATETIME_SEPARATOR_TEXT_FONT_SIZE_INC;\
192             min: 1 0; \
193             text_class: "tizen";\
194          }\
195       }\
196    }\
197    programs{\
198       program {\
199          name: "separator"#_pos",enabled";\
200          signal: "field"#_pos",separator,enable";\
201          source: "elm";\
202          action: STATE_SET "enable" 0.0;\
203          target: "separator"#_pos;\
204       }\
205       program {\
206          name: "separator"#_pos",disabled";\
207          signal: "field"#_pos",separator,disable";\
208          source: "elm";\
209          action: STATE_SET "default" 0.0;\
210          target: "separator"#_pos;\
211       }\
212       program {\
213          name: "separator"#_pos",pressed";\
214          signal: "elm,action,press";\
215          source: "separator"#_pos;\
216          script {\
217             new st[31];\
218             new Float:vl;\
219             get_state(PART:"separator"#_pos, st, 30, vl);\
220             if (!strcmp(st, "enable")) {\
221               set_state(PART:"separator"#_pos, "pressed", 0.0);\
222             }\
223          }\
224       }\
225       program {\
226          name: "separator"#_pos",unpressed";\
227          signal: "elm,action,unpress";\
228          source: "separator"#_pos;\
229          script {\
230             new st[31];\
231             new Float:vl;\
232             get_state(PART:"separator"#_pos, st, 30, vl);\
233             if (!strcmp(st, "pressed")) {\
234               set_state(PART:"separator"#_pos, "enable", 0.0);\
235             }\
236          }\
237       }\
238    }
239
240 #define DATETIME_PICKER_PADDING_PROGRAMS \
241       program {\
242          name: "datepicker_starting_field2_padding";\
243          signal: "datepicker,starting,field2";\
244          source: "elm";\
245          script {\
246             set_state(PART:"picker.padding2", "enable", 0.0);\
247             set_state(PART:"picker.padding3", "default", 0.0);\
248          }\
249       }\
250       program {\
251          name: "datepicker_starting_field3_padding";\
252          signal: "datepicker,starting,field3";\
253          source: "elm";\
254          script {\
255             set_state(PART:"picker.padding3", "enable", 0.0);\
256             set_state(PART:"picker.padding2", "default", 0.0);\
257          }\
258       }\
259       program {\
260          name: "timepicker_starting_field3_padding";\
261          signal: "timepicker,starting,field3";\
262          source: "elm";\
263          script {\
264             set_state(PART:"picker.padding2", "default", 0.0);\
265             set_state(PART:"picker.padding3", "enable", 0.0);\
266          }\
267       }\
268       program {\
269          name: "timepicker_starting_field0_padding";\
270          signal: "timepicker,starting,field0";\
271          source: "elm";\
272          action: STATE_SET "default" 0.0;\
273          target: "picker.padding0";\
274       }\
275       program {\
276          name: "datepicker_starting_field1_padding";\
277          signal: "datepicker,starting,field1";\
278          source: "elm";\
279          action: STATE_SET "default" 0.0;\
280          target: "picker.padding0";\
281          target: "picker.padding2";\
282          target: "picker.padding3";\
283       }\
284       program {\
285          name: "datepicker_starting_field4_padding";\
286          signal: "datepicker,starting,field4";\
287          source: "elm";\
288          action: STATE_SET "default" 0.0;\
289          target: "picker.padding0";\
290          target: "picker.padding2";\
291          target: "picker.padding3";\
292       }
293
294
295 #define DATETIME_DATEPICKER_BG \
296    part {\
297       name: "date.picker.left.pad"; \
298       type: RECT;\
299       scale: 1;\
300       description { state: "default" 0.0; \
301          min: 0 0;\
302          visible: 0;\
303          align: 1.0 0.5; \
304          fixed: 1 0;\
305          rel1 {\
306             relative: 0.0 0.0;\
307             to: "left.padding0";\
308          }\
309          rel2 {\
310             relative: 0.0 1.0;\
311             to: "left.padding0";\
312          }\
313       }\
314       description { state: "datefirst" 0.0;\
315          inherit: "default" 0.0;\
316          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
317       }\
318       description { state: "timefirst" 0.0;\
319          inherit: "default" 0.0;\
320          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
321          rel1 {\
322             relative: 0.0 0.0;\
323             to: "left.padding3";\
324          }\
325          rel2 {\
326             relative: 0.0 1.0;\
327             to: "left.padding3";\
328          }\
329       }\
330       description { state: "timefirst24hr" 0.0;\
331          inherit: "default" 0.0;\
332          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
333          rel1 {\
334             relative: 0.0 0.0;\
335             to: "left.padding2";\
336          }\
337          rel2 {\
338             relative: 0.0 1.0;\
339             to: "left.padding2";\
340          }\
341       }\
342    }\
343    part {\
344       name: "date.picker.right.pad"; \
345       type: RECT;\
346       scale: 1;\
347       description { state: "default" 0.0; \
348          min: 0 0;\
349          visible: 0;\
350          align: 0.0 0.5; \
351          fixed: 1 0;\
352          rel1 {\
353             relative: 1.0 0.0;\
354             to: "separator2";\
355          }\
356          rel2 {\
357             relative: 1.0 1.0;\
358             to: "separator2";\
359          }\
360       }\
361       description { state: "datefirst" 0.0;\
362          inherit: "default" 0.0;\
363          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
364       }\
365       description { state: "timefirst" 0.0;\
366          inherit: "default" 0.0;\
367          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
368          rel1 {\
369             relative: 1.0 0.0;\
370             to: "separator5";\
371          }\
372          rel2 {\
373             relative: 1.0 1.0;\
374             to: "separator5";\
375          }\
376       }\
377       description { state: "timefirst24hr" 0.0;\
378          inherit: "default" 0.0;\
379          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
380          rel1 {\
381             relative: 1.0 0.0;\
382             to: "separator4";\
383          }\
384          rel2 {\
385             relative: 1.0 1.0;\
386             to: "separator4";\
387          }\
388       }\
389    }\
390    part {\
391       name: "date.picker.bg"; \
392       scale: 1;\
393       description { state: "default" 0.0; \
394          min: 0 0;\
395          visible: 0;\
396          fixed: 1 0;\
397          image {\
398             normal: "00_button_01.png";\
399             border: DATETIME_BG_IMAGE_BORDER_INC;\
400             border_scale: 1;\
401          }\
402          rel1 {\
403             relative: 0.0 0.0;\
404             to: "date.picker.left.pad";\
405          }\
406          rel2 {\
407             relative: 1.0 1.0;\
408             to: "date.picker.right.pad";\
409          }\
410       }\
411       description { state: "datefirst" 0.0;\
412          inherit: "default" 0.0;\
413          visible: 1;\
414       }\
415       description { state: "timefirst" 0.0;\
416          inherit: "default" 0.0;\
417          visible: 1;\
418       }\
419       description { state: "timefirst24hr" 0.0;\
420          inherit: "default" 0.0;\
421          visible: 1;\
422       }\
423       description { state: "datefirst_press" 0.0;\
424          inherit: "datefirst" 0.0;\
425          image {\
426             normal: "00_button_01_press.png";\
427             border: DATETIME_BG_IMAGE_BORDER_INC;\
428             border_scale: 1;\
429          }\
430       }\
431       description { state: "timefirst_press" 0.0;\
432          inherit: "timefirst" 0.0;\
433          image {\
434             normal: "00_button_01_press.png";\
435             border: DATETIME_BG_IMAGE_BORDER_INC;\
436             border_scale: 1;\
437          }\
438       }\
439       description { state: "timefirst24hr_press" 0.0;\
440          inherit: "timefirst24hr" 0.0;\
441          image {\
442             normal: "00_button_01_press.png";\
443             border: DATETIME_BG_IMAGE_BORDER_INC;\
444             border_scale: 1;\
445          }\
446       }\
447    }\
448    part {\
449       name: "datepicker.focus";\
450       scale: 1;\
451       description {\
452          state: "default" 0.0;\
453          visible: 0;\
454          rel1.to : "date.picker.bg";\
455          rel2.to : "date.picker.bg";\
456          image {\
457             normal: "00_button_01_focus.png";\
458             border: DATETIME_BG_IMAGE_BORDER_INC;\
459             border_scale: 1;\
460          }\
461       }\
462       description { state: "focus" 0.0;\
463          inherit: "default" 0.0;\
464          visible: 1;\
465       }\
466    }\
467    programs{\
468       program {\
469          name: "datepicker_starting_field0";\
470          signal: "datepicker,starting,field0";\
471          source: "elm";\
472          action: STATE_SET "datefirst" 0.0;\
473          target: "date.picker.bg";\
474          target: "date.picker.left.pad";\
475          target: "date.picker.right.pad";\
476       }\
477       program {\
478          name: "datepicker_starting_field3";\
479          signal: "datepicker,starting,field3";\
480          source: "elm";\
481          action: STATE_SET "timefirst" 0.0;\
482          target: "date.picker.bg";\
483          target: "date.picker.left.pad";\
484          target: "date.picker.right.pad";\
485       }\
486       program {\
487          name: "datepicker_starting_field2";\
488          signal: "datepicker,starting,field2";\
489          source: "elm";\
490          action: STATE_SET "timefirst24hr" 0.0;\
491          target: "date.picker.bg";\
492          target: "date.picker.left.pad";\
493          target: "date.picker.right.pad";\
494       }\
495       program {\
496          name: "datepicker_starting_field1";\
497          signal: "datepicker,starting,field1";\
498          source: "elm";\
499          action: STATE_SET "default" 0.0;\
500          target: "date.picker.bg";\
501          target: "date.picker.left.pad";\
502          target: "date.picker.right.pad";\
503       }\
504       program {\
505          name: "datepicker_starting_field4";\
506          signal: "datepicker,starting,field4";\
507          source: "elm";\
508          action: STATE_SET "default" 0.0;\
509          target: "date.picker.bg";\
510          target: "date.picker.left.pad";\
511          target: "date.picker.right.pad";\
512       }\
513       program {\
514          name: "datepicker_starting_field5";\
515          signal: "datepicker,starting,field5";\
516          source: "elm";\
517          action: STATE_SET "default" 0.0;\
518          target: "date.picker.bg";\
519          target: "date.picker.left.pad";\
520          target: "date.picker.right.pad";\
521       }\
522       program {\
523          name: "datepicker_mouse_down";\
524          signal: "mouse,down,1";\
525          source: "date.picker.bg";\
526          script {\
527             new st[31];\
528             new Float:vl;\
529             get_state(PART:"date.picker.bg", st, 30, vl);\
530             if (!strcmp(st, "datefirst")) {\
531               set_state(PART:"date.picker.bg", "datefirst_press", 0.0);\
532               emit("elm,action,press", "separator0");\
533               emit("elm,action,press", "separator1");\
534               emit("elm,action,press", "separator2");\
535             }\
536             else if (!strcmp(st, "timefirst")) {\
537               set_state(PART:"date.picker.bg", "timefirst_press", 0.0);\
538               emit("elm,action,press", "separator3");\
539               emit("elm,action,press", "separator4");\
540               emit("elm,action,press", "separator5");\
541             }\
542             else if (!strcmp(st, "timefirst24hr")) {\
543               set_state(PART:"date.picker.bg", "timefirst24hr_press", 0.0);\
544               emit("elm,action,press", "separator2");\
545               emit("elm,action,press", "separator3");\
546               emit("elm,action,press", "separator4");\
547             }\
548          }\
549          after: datepicker_press_signal;\
550       }\
551       program {\
552          name: "datepicker_mouse_up";\
553          signal: "mouse,up,1";\
554          source: "date.picker.bg";\
555          script {\
556             new st[31];\
557             new Float:vl;\
558             get_state(PART:"date.picker.bg", st, 30, vl);\
559             if (!strcmp(st, "datefirst_press")) {\
560               set_state(PART:"date.picker.bg", "datefirst", 0.0);\
561               emit("elm,action,unpress", "separator0");\
562               emit("elm,action,unpress", "separator1");\
563               emit("elm,action,unpress", "separator2");\
564             }\
565             else if (!strcmp(st, "timefirst_press")) {\
566               set_state(PART:"date.picker.bg", "timefirst", 0.0);\
567               emit("elm,action,unpress", "separator3");\
568               emit("elm,action,unpress", "separator4");\
569               emit("elm,action,unpress", "separator5");\
570             }\
571             else if (!strcmp(st, "timefirst24hr_press")) {\
572               set_state(PART:"date.picker.bg", "timefirst24hr", 0.0);\
573               emit("elm,action,unpress", "separator2");\
574               emit("elm,action,unpress", "separator3");\
575               emit("elm,action,unpress", "separator4");\
576             }\
577          }\
578          after: datepicker_unpress_signal;\
579       }\
580       program { name: "datepicker_press_signal";\
581          action: SIGNAL_EMIT "elm,action,press" "date.picker.bg";\
582       }\
583       program { name: "datepicker_unpress_signal";\
584          action: SIGNAL_EMIT "elm,action,unpress" "date.picker.bg";\
585       }\
586       program {\
587          name: "datepicker_bg_hide";\
588          signal: "datetime,datepicker,bg,hide";\
589          source: "elm";\
590          action: STATE_SET "default" 0.0;\
591          target: "date.picker.bg";\
592          target: "date.picker.left.pad";\
593          target: "date.picker.right.pad";\
594       }\
595       program {\
596          name: "datepicker_focus";\
597          signal: "elm,action,focus_highlight,show";\
598          source: "elm";\
599          action: STATE_SET "focus" 0.0;\
600          target: "datepicker.focus";\
601       }\
602       program {\
603          name: "datepicker_unfocus";\
604          signal: "elm,action,focus_highlight,hide";\
605          source: "elm";\
606          action: STATE_SET "default" 0.0;\
607          target: "datepicker.focus";\
608       }\
609       program { name: "datepicker_touch_snd";\
610          signal: "mouse,clicked,1";\
611          source: "date.picker.bg";\
612          action: PLAY_SAMPLE "touch_sound" 1.0;\
613          after: datepicker_show_signal;\
614       }\
615       program { name: "datepicker_show_signal";\
616          action: SIGNAL_EMIT "datepicker,show" "";\
617       }\
618    }
619
620 #define DATETIME_TIMEPICKER_BG \
621    part {\
622       name: "time.picker.left.pad"; \
623       type: RECT;\
624       scale: 1;\
625       description { state: "default" 0.0; \
626          min: 0 0;\
627          visible: 0;\
628          align: 1.0 0.5; \
629          fixed: 1 0;\
630          rel1 {\
631             relative: 0.0 0.0;\
632             to: "left.padding3";\
633          }\
634          rel2 {\
635             relative: 0.0 1.0;\
636             to: "left.padding3";\
637          }\
638       }\
639       description { state: "datefirst" 0.0;\
640          inherit: "default" 0.0;\
641          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
642       }\
643       description { state: "timefirst" 0.0;\
644          inherit: "default" 0.0;\
645          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
646          rel1 {\
647             relative: 0.0 0.0;\
648             to: "left.padding0";\
649          }\
650          rel2 {\
651             relative: 0.0 1.0;\
652             to: "left.padding0";\
653          }\
654       }\
655       description { state: "timefirst24hr" 0.0;\
656          inherit: "default" 0.0;\
657          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
658          rel1 {\
659             relative: 0.0 0.0;\
660             to: "left.padding0";\
661          }\
662          rel2 {\
663             relative: 0.0 1.0;\
664             to: "left.padding0";\
665          }\
666       }\
667    }\
668    part {\
669       name: "time.picker.right.pad"; \
670       type: RECT;\
671       scale: 1;\
672       description { state: "default" 0.0; \
673          min: 0 0;\
674          visible: 0;\
675          align: 0.0 0.5; \
676          fixed: 1 0;\
677          rel1 {\
678             relative: 1.0 0.0;\
679             to: "right.padding5";\
680          }\
681          rel2 {\
682             relative: 1.0 1.0;\
683             to: "right.padding5";\
684          }\
685       }\
686       description { state: "datefirst" 0.0;\
687          inherit: "default" 0.0;\
688          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
689       }\
690       description { state: "timefirst" 0.0;\
691          inherit: "default" 0.0;\
692          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
693          rel1 {\
694             relative: 1.0 0.0;\
695             to: "right.padding2";\
696          }\
697          rel2 {\
698             relative: 1.0 1.0;\
699             to: "right.padding2";\
700          }\
701       }\
702       description { state: "timefirst24hr" 0.0;\
703          inherit: "default" 0.0;\
704          min: DATETIME_PICKER_BG_PADDING_SIZE_INC;\
705          rel1 {\
706             relative: 1.0 0.0;\
707             to: "right.padding1";\
708          }\
709          rel2 {\
710             relative: 1.0 1.0;\
711             to: "right.padding1";\
712          }\
713       }\
714    }\
715    part {\
716       name: "time.picker.bg"; \
717       scale: 1;\
718       description { state: "default" 0.0; \
719          min: 0 0;\
720          visible: 0;\
721          fixed: 1 0;\
722          image {\
723             normal: "00_button_01.png";\
724             border: DATETIME_BG_IMAGE_BORDER_INC;\
725             border_scale: 1;\
726          }\
727          rel1 {\
728             relative: 0.0 0.0;\
729             to: "time.picker.left.pad";\
730          }\
731          rel2 {\
732             relative: 1.0 1.0;\
733             to: "time.picker.right.pad";\
734          }\
735       }\
736       description { state: "datefirst" 0.0;\
737          inherit: "default" 0.0;\
738          visible: 1;\
739       }\
740       description { state: "timefirst" 0.0;\
741          inherit: "default" 0.0;\
742          visible: 1;\
743       }\
744       description { state: "timefirst24hr" 0.0;\
745          inherit: "default" 0.0;\
746          visible: 1;\
747       }\
748       description { state: "datefirst_press" 0.0;\
749          inherit: "datefirst" 0.0;\
750          image {\
751             normal: "00_button_01_press.png";\
752             border: DATETIME_BG_IMAGE_BORDER_INC;\
753             border_scale: 1;\
754          }\
755       }\
756       description { state: "timefirst_press" 0.0;\
757          inherit: "timefirst" 0.0;\
758          image {\
759             normal: "00_button_01_press.png";\
760             border: DATETIME_BG_IMAGE_BORDER_INC;\
761             border_scale: 1;\
762          }\
763       }\
764       description { state: "timefirst24hr_press" 0.0;\
765          inherit: "timefirst24hr" 0.0;\
766          image {\
767             normal: "00_button_01_press.png";\
768             border: DATETIME_BG_IMAGE_BORDER_INC;\
769             border_scale: 1;\
770          }\
771       }\
772    }\
773    part {\
774       name: "timepicker.focus";\
775       scale: 1;\
776       description {\
777          state: "default" 0.0;\
778          visible: 0;\
779          rel1.to : "time.picker.bg";\
780          rel2.to : "time.picker.bg";\
781          image {\
782             normal: "00_button_01_focus.png";\
783             border: DATETIME_BG_IMAGE_BORDER_INC;\
784             border_scale: 1;\
785          }\
786       }\
787       description { state: "focus" 0.0;\
788          inherit: "default" 0.0;\
789          visible: 1;\
790       }\
791    }\
792    programs{\
793       program {\
794          name: "timepicker_starting_field3";\
795          signal: "timepicker,starting,field3";\
796          source: "elm";\
797          in: 0.001 0.0;\
798          script {\
799             new st[31];\
800             new Float:vl;\
801             get_state(PART:"field3", st, 30, vl);\
802             if (!strcmp(st, "enable")) {\
803               set_state(PART:"time.picker.bg", "datefirst", 0.0);\
804               set_state(PART:"time.picker.left.pad", "datefirst", 0.0);\
805               set_state(PART:"time.picker.right.pad", "datefirst", 0.0);\
806             }\
807          }\
808       }\
809       program {\
810          name: "timepicker_starting_field0";\
811          signal: "timepicker,starting,field0";\
812          source: "elm";\
813          in: 0.001 0.0;\
814          script {\
815             new st[31];\
816             new Float:vl;\
817             get_state(PART:"date.picker.bg", st, 30, vl);\
818             if (!strcmp(st, "timefirst24hr")) {\
819               set_state(PART:"time.picker.bg", "timefirst24hr", 0.0);\
820               set_state(PART:"time.picker.left.pad", "timefirst24hr", 0.0);\
821               set_state(PART:"time.picker.right.pad", "timefirst24hr", 0.0);\
822             }\
823             else {\
824               set_state(PART:"time.picker.bg", "timefirst", 0.0);\
825               set_state(PART:"time.picker.left.pad", "timefirst", 0.0);\
826               set_state(PART:"time.picker.right.pad", "timefirst", 0.0);\
827             }\
828          }\
829       }\
830       program {\
831          name: "timepicker_starting_field1";\
832          signal: "timepicker,starting,field1";\
833          source: "elm";\
834          action: STATE_SET "default" 0.0;\
835          target: "time.picker.bg";\
836          target: "time.picker.left.pad";\
837          target: "time.picker.right.pad";\
838       }\
839       program {\
840          name: "timepicker_starting_field2";\
841          signal: "timepicker,starting,field2";\
842          source: "elm";\
843          action: STATE_SET "default" 0.0;\
844          target: "time.picker.bg";\
845          target: "time.picker.left.pad";\
846          target: "time.picker.right.pad";\
847       }\
848       program {\
849          name: "timepicker_starting_field4";\
850          signal: "timepicker,starting,field4";\
851          source: "elm";\
852          action: STATE_SET "default" 0.0;\
853          target: "time.picker.bg";\
854          target: "time.picker.left.pad";\
855          target: "time.picker.right.pad";\
856       }\
857       program {\
858          name: "timepicker_starting_field5";\
859          signal: "timepicker,starting,field5";\
860          source: "elm";\
861          action: STATE_SET "default" 0.0;\
862          target: "time.picker.bg";\
863          target: "time.picker.left.pad";\
864          target: "time.picker.right.pad";\
865       }\
866       program {\
867          name: "timepicker_mouse_down";\
868          signal: "mouse,down,1";\
869          source: "time.picker.bg";\
870          script {\
871             new st[31];\
872             new Float:vl;\
873             get_state(PART:"time.picker.bg", st, 30, vl);\
874             if (!strcmp(st, "datefirst")) {\
875               set_state(PART:"time.picker.bg", "datefirst_press", 0.0);\
876               emit("elm,action,press", "separator3");\
877               emit("elm,action,press", "separator4");\
878               emit("elm,action,press", "separator5");\
879             }\
880             else if (!strcmp(st, "timefirst")) {\
881               set_state(PART:"time.picker.bg", "timefirst_press", 0.0);\
882               emit("elm,action,press", "separator0");\
883               emit("elm,action,press", "separator1");\
884               emit("elm,action,press", "separator2");\
885             }\
886             else if (!strcmp(st, "timefirst24hr")) {\
887               set_state(PART:"time.picker.bg", "timefirst24hr_press", 0.0);\
888               emit("elm,action,press", "separator0");\
889               emit("elm,action,press", "separator1");\
890             }\
891          }\
892          after: timepicker_press_signal;\
893       }\
894       program {\
895          name: "timepicker_mouse_up";\
896          signal: "mouse,up,1";\
897          source: "time.picker.bg";\
898          script {\
899             new st[31];\
900             new Float:vl;\
901             get_state(PART:"time.picker.bg", st, 30, vl);\
902             if (!strcmp(st, "datefirst_press")) {\
903               set_state(PART:"time.picker.bg", "datefirst", 0.0);\
904               emit("elm,action,unpress", "separator3");\
905               emit("elm,action,unpress", "separator4");\
906               emit("elm,action,unpress", "separator5");\
907             }\
908             else if (!strcmp(st, "timefirst_press")) {\
909               set_state(PART:"time.picker.bg", "timefirst", 0.0);\
910               emit("elm,action,unpress", "separator0");\
911               emit("elm,action,unpress", "separator1");\
912               emit("elm,action,unpress", "separator2");\
913             }\
914             else if (!strcmp(st, "timefirst24hr_press")) {\
915               set_state(PART:"time.picker.bg", "timefirst24hr", 0.0);\
916               emit("elm,action,unpress", "separator0");\
917               emit("elm,action,unpress", "separator1");\
918             }\
919          }\
920          after: timepicker_unpress_signal;\
921       }\
922       program { name: "timepicker_press_signal";\
923          action: SIGNAL_EMIT "elm,action,press" "time.picker.bg";\
924       }\
925       program { name: "timepicker_unpress_signal";\
926          action: SIGNAL_EMIT "elm,action,unpress" "time.picker.bg";\
927       }\
928       program {\
929          name: "timepicker_bg_hide";\
930          signal: "datetime,timepicker,bg,hide";\
931          source: "elm";\
932          action: STATE_SET "default" 0.0;\
933          target: "time.picker.bg";\
934          target: "time.picker.left.pad";\
935          target: "time.picker.right.pad";\
936       }\
937       program {\
938          name: "timepicker_focus";\
939          signal: "elm,action,focus_highlight,show";\
940          source: "elm";\
941          action: STATE_SET "focus" 0.0;\
942          target: "timepicker.focus";\
943       }\
944       program {\
945          name: "timepicker_unfocus";\
946          signal: "elm,action,focus_highlight,hide";\
947          source: "elm";\
948          action: STATE_SET "default" 0.0;\
949          target: "timepicker.focus";\
950       }\
951       program { name: "timepicker_touch_snd";\
952          signal: "mouse,clicked,1";\
953          source: "time.picker.bg";\
954          action: PLAY_SAMPLE "touch_sound" 1.0;\
955          after: timepicker_show_signal;\
956       }\
957       program { name: "timepicker_show_signal";\
958          action: SIGNAL_EMIT "timepicker,show" "";\
959       }\
960    }
961
962 group { name: "elm/datetime/base/default";
963    images {
964       image: "00_button_01.png" COMP;
965       image: "00_button_01_press.png" COMP;
966       image: "00_button_01_focus.png" COMP;
967    }
968    parts {
969       part {
970          name: "bg";
971          type: RECT;
972          scale: 1;
973          description {
974             state: "default" 0.0;
975             color: 0 0 0 0;
976             min: 0 DATETIME_WIDGET_HEIGHT;
977             max: -1 DATETIME_WIDGET_HEIGHT;
978          }
979       }
980       part {
981          name: "left.padding";
982          type: RECT;
983          scale: 1;
984          clip_to: "clipper";
985          mouse_events: 0;
986          description {
987             state: "default" 0.0;
988             visible: 0;
989             min: DATETIME_WIDGET_PADDING_SIZE_INC;
990             align: 0.0 0.5;
991             fixed: 1 0;
992             rel1.to: "bg";
993             rel2 {
994                relative: 0.0 1.0;
995                to: "bg";
996             }
997          }
998       }
999       part {
1000          name: "right.padding";
1001          type: RECT;
1002          scale: 1;
1003          clip_to: "clipper";
1004          mouse_events: 0;
1005          description {
1006             state: "default" 0.0;
1007             visible: 0;
1008             min: DATETIME_WIDGET_PADDING_SIZE_INC;
1009             align: 1.0 0.5;
1010             fixed: 1 0;
1011             rel1 {
1012                relative: 1.0 0.0;
1013                to: "bg";
1014             }
1015             rel2.to: "bg";
1016          }
1017       }
1018
1019       DATETIME_PADDING(0, "left.padding")
1020       DATETIME_PADDING(1, "separator0")
1021       DATETIME_PADDING(2, "separator1")
1022       DATETIME_PADDING(3, "separator2")
1023       DATETIME_PADDING(4, "separator3")
1024       DATETIME_PADDING(5, "separator4")
1025
1026       DATETIME_DATEPICKER_BG
1027       DATETIME_TIMEPICKER_BG
1028
1029       DATETIME_FIELD(0)
1030       DATETIME_FIELD(1)
1031       DATETIME_FIELD(2)
1032       DATETIME_FIELD(3)
1033       DATETIME_FIELD(4)
1034       DATETIME_FIELD(5)
1035
1036       part {
1037          name: "clipper";
1038          type: RECT;
1039          description { state: "default" 0.0;
1040             color: 255 255 255 255;
1041          }
1042          description { state: "visible" 0.0;
1043             inherit: "default" 0.0;
1044             color: 255 255 255 102;
1045          }
1046       }
1047       part {
1048          name: "disabler";
1049          type: RECT;
1050          description { state: "default" 0.0;
1051             color: 0 0 0 0;
1052             visible: 0;
1053             rel1.to: "bg";
1054             rel2.to: "bg";
1055          }
1056          description { state: "visible" 0.0;
1057             inherit: "default" 0.0;
1058             visible: 1;
1059          }
1060       }
1061       part { name: "access.date.picker";
1062          type: RECT;
1063          repeat_events: 1;
1064          description { state: "default" 0.0;
1065             fixed: 1 1;
1066             rel1.to: "date.picker.bg";
1067             rel2.to: "date.picker.bg";
1068             color: 0 0 0 0;
1069          }
1070       }
1071       part { name: "access.time.picker";
1072          type: RECT;
1073          repeat_events: 1;
1074          description { state: "default" 0.0;
1075             fixed: 1 1;
1076             rel1.to: "time.picker.bg";
1077             rel2.to: "time.picker.bg";
1078             color: 0 0 0 0;
1079          }
1080       }
1081       part { name: "access";
1082          type: RECT;
1083          repeat_events: 1;
1084          description { state: "default" 0.0;
1085             fixed: 1 1;
1086             rel1.to: "bg";
1087             rel2.to: "bg";
1088             color: 0 0 0 0;
1089          }
1090       }
1091    }
1092    programs {
1093       program {
1094          name: "disble_datetime";
1095          signal: "elm,state,disabled";
1096          source: "elm";
1097          action: STATE_SET "visible" 0.0;
1098          target: "disabler";
1099          target: "clipper";
1100       }
1101       program {
1102          name: "enable_datetime";
1103          signal: "elm,state,enabled";
1104          source: "elm";
1105          action: STATE_SET "default" 0.0;
1106          target: "disabler";
1107          target: "clipper";
1108       }
1109       DATETIME_PICKER_PADDING_PROGRAMS
1110    }
1111 }
1112
1113 group { name: "elm/datetime/base/pickerstyle";
1114 }
1115
1116 #define DATETIME_FIELD_STYLE1(_pos, _after) \
1117    part {\
1118       name: "field"#_pos; \
1119       type: SWALLOW; \
1120       scale: 1;\
1121       clip_to: "clipper";\
1122       repeat_events: 1;\
1123       description { state: "default" 0.0; \
1124          visible: 0;\
1125          min: 0 0;\
1126          align: 0.0 0.5;\
1127          fixed: 1 1;\
1128          rel1 {\
1129             relative: 1.0 0.0;\
1130             to: "separator"#_after;\
1131          }\
1132          rel2 {\
1133             relative: 1.0 1.0;\
1134             to: "separator"#_after;\
1135          }\
1136       }\
1137       description { state: "enable" 0.0;\
1138          inherit: "default" 0.0;\
1139          visible: 1;\
1140          min: DATETIME_FIELD_MIN_SIZE_INC;\
1141       }\
1142    }\
1143    programs{\
1144       program {\
1145          name: "field_"#_pos"enabled";\
1146          signal: "field"#_pos",enable";\
1147          source: "elm";\
1148          action: STATE_SET "enable" 0.0;\
1149          target: "field"#_pos;\
1150       }\
1151       program {\
1152          name: "field_"#_pos"disabled";\
1153          signal: "field"#_pos",disable";\
1154          source: "elm";\
1155          action: STATE_SET "default" 0.0;\
1156          target: "field"#_pos;\
1157       }\
1158     }
1159
1160 #define DATETIME_SEPARATOR_STYLE1(_pos) \
1161    part {\
1162       name: "separator"#_pos; \
1163       type: TEXT;\
1164       scale: 1;\
1165       clip_to: "clipper";\
1166       repeat_events: 1;\
1167       description {\
1168          state: "default" 0.0;\
1169          visible: 0;\
1170          min: DATETIME_SEPARATOR_MIN_SIZE_INC;\
1171          max: DATETIME_SEPARATOR_MIN_SIZE_INC;\
1172          align: 0.0 0.5;\
1173          fixed: 1 1;\
1174          rel1 {\
1175             relative: 1.0 0.0;\
1176             to: "field"#_pos;\
1177          }\
1178          rel2 {\
1179             relative: 1.0 1.0;\
1180             to: "field"#_pos;\
1181          }\
1182          color: DATETIME_SEPARATOR_TEXT_COLOR_INC;\
1183          text {\
1184             font: "Tizen:style=Regular";\
1185             size: DATETIME_SEPARATOR_TEXT_FONT_SIZE_INC;\
1186             min: 1 0; \
1187             text_class: "tizen";\
1188          }\
1189       }\
1190       description { state: "enable" 0.0;\
1191          inherit: "default" 0.0;\
1192          visible: 1;\
1193       }\
1194       description { state: "hide" 0.0;\
1195          inherit: "default" 0.0;\
1196          min: 0 0;\
1197          max: 0 0;\
1198       }\
1199    }\
1200    programs {\
1201       program {\
1202          name: "separator"#_pos",enabled";\
1203          signal: "field"#_pos",separator,enable";\
1204          source: "elm";\
1205          action: STATE_SET "enable" 0.0;\
1206          target: "separator"#_pos;\
1207       }\
1208       program {\
1209          name: "separator"#_pos",disabled";\
1210          signal: "field"#_pos",separator,disable";\
1211          source: "elm";\
1212          script {\
1213             new st[31];\
1214             new Float:vl;\
1215             get_state(PART:"separator"#_pos, st, 30, vl);\
1216             if (strcmp(st, "hide")) \
1217             {\
1218                set_state(PART:"separator"#_pos, "default", 0.0);\
1219             }\
1220          }\
1221       }\
1222       program {\
1223          name: "separator"#_pos",hide";\
1224          signal: "field"#_pos",disable";\
1225          source: "elm";\
1226          action: STATE_SET "hide" 0.0;\
1227          target: "separator"#_pos;\
1228       }\
1229    }
1230
1231
1232 group { name: "elm/datetime/base/style1";
1233    parts {
1234       part {
1235          name: "bg";
1236          type: RECT;
1237          scale: 1;
1238          description {
1239             state: "default" 0.0;
1240             color: 0 0 0 0;
1241          }
1242       }
1243       part {
1244          name: "left.padding";
1245          type: RECT;
1246          scale: 1;
1247          clip_to: "clipper";
1248          mouse_events: 0;
1249          description {
1250             state: "default" 0.0;
1251             visible: 0;
1252             min: DATETIME_LEFT_PADDING_SIZE_INC;
1253             max: DATETIME_LEFT_PADDING_SIZE_INC;
1254             align: 0.0 0.5;
1255             fixed: 1 1;
1256             rel1.to: "bg";
1257             rel2 {
1258                relative: 0.0 1.0;
1259                to: "bg";
1260             }
1261          }
1262       }
1263       part {
1264          name: "field0";
1265          type: SWALLOW;
1266          scale: 1;
1267          clip_to: "clipper";
1268          repeat_events: 1;
1269          description {
1270             state: "default" 0.0;
1271             visible: 0;
1272             min: 0 0;
1273             align: 0.0 0.5;
1274             fixed: 1 0;
1275             rel1 {
1276                relative: 0.5 0.0;
1277                to_x: "left.padding";
1278             }
1279             rel2 {
1280                relative: 0.5 1.0;
1281                to_x: "left.padding";
1282             }
1283          }
1284          description { state: "enable" 0.0;
1285             inherit: "default" 0.0;
1286             visible: 1;
1287             min: DATETIME_FIELD_MIN_SIZE_INC;
1288          }
1289       }
1290       DATETIME_SEPARATOR_STYLE1(0)
1291       DATETIME_FIELD_STYLE1(1, 0)
1292       DATETIME_SEPARATOR_STYLE1(1)
1293       DATETIME_FIELD_STYLE1(2, 1)
1294       DATETIME_SEPARATOR_STYLE1(2)
1295       DATETIME_FIELD_STYLE1(3, 2)
1296       DATETIME_SEPARATOR_STYLE1(3)
1297       DATETIME_FIELD_STYLE1(4, 3)
1298       DATETIME_SEPARATOR_STYLE1(4)
1299       DATETIME_FIELD_STYLE1(5, 4)
1300       DATETIME_SEPARATOR_STYLE1(5)
1301       part {
1302          name: "right.padding";
1303          type: RECT;
1304          scale: 1;
1305          clip_to: "clipper";
1306          mouse_events: 0;
1307          description {
1308             state: "default" 0.0;
1309             visible: 0;
1310             min: DATETIME_LEFT_PADDING_SIZE_INC;
1311             max: DATETIME_LEFT_PADDING_SIZE_INC;
1312             align: 1.0 0.5;
1313             fixed: 1 1;
1314             rel2 {
1315                relative: 1.0 0.0;
1316                to: "bg";
1317             }
1318             rel2.to: "bg";
1319          }
1320       }
1321       part {
1322          name: "clipper";
1323          type: RECT;
1324          description { state: "default" 0.0;
1325             color: 255 255 255 255;
1326          }
1327          description { state: "visible" 0.0;
1328             inherit: "default" 0.0;
1329             color: 255 255 255 102;
1330          }
1331       }
1332       part {
1333          name: "disabler";
1334          type: RECT;
1335          description { state: "default" 0.0;
1336             color: 0 0 0 0;
1337             visible: 0;
1338          }
1339          description { state: "visible" 0.0;
1340             inherit: "default" 0.0;
1341             visible: 1;
1342          }
1343       }
1344    }
1345    programs {
1346       program {
1347          name: "disble_datetime";
1348          signal: "elm,state,disabled";
1349          source: "elm";
1350          action: STATE_SET "visible" 0.0;
1351          target: "disabler";
1352          target: "clipper";
1353       }
1354       program {
1355          name: "enable_datetime";
1356          signal: "elm,state,enabled";
1357          source: "elm";
1358          action: STATE_SET "default" 0.0;
1359          target: "disabler";
1360          target: "clipper";
1361       }
1362       program {
1363          name: "field0,enabled";
1364          signal: "field0,enable";
1365          source: "elm";
1366          action: STATE_SET "enable" 0.0;
1367          target: "field0";
1368       }
1369       program {
1370          name: "field0,disabled";
1371          signal: "field0,disable";
1372          source: "elm";
1373          action: STATE_SET "default" 0.0;
1374          target: "field0";
1375       }
1376    }
1377 }
1378 group { name: "elm/spinner/base/default";
1379    alias: "elm/spinner/base/datetime_popup";
1380    alias: "elm/spinner/base/datetime_popup/year";
1381    alias: "elm/spinner/base/datetime_popup/month";
1382    alias: "elm/spinner/base/datetime_popup/date";
1383    alias: "elm/spinner/base/datetime_popup/hour";
1384    alias: "elm/spinner/base/datetime_popup/minute";
1385    images {
1386       image: "00_picker_arrow_down.png" COMP;
1387       image: "00_picker_arrow_up.png" COMP;
1388       image: "00_button_01.png" COMP;
1389       image: "00_button_01_press.png" COMP;
1390    }
1391    parts {
1392       part { name: "bg";
1393          type: RECT;
1394          scale: 1;
1395          description { state: "default" 0.0;
1396             color: 0 0 0 0;
1397          }
1398       }
1399       part { name: "up.image";
1400          scale: 1;
1401          description { state: "default" 0.0;
1402             align: 0.5 0.0;
1403             min: SPINNER_UP_DOWN_IMAGE_SIZE_INC;
1404             max: SPINNER_UP_DOWN_IMAGE_SIZE_INC;
1405             image {
1406                normal: "00_button_01.png";
1407                border: SPINNER_UP_DOWN_IMAGE_BORDER_SIZE_INC;
1408                border_scale: 1;
1409             }
1410          }
1411          description { state: "pressed" 0.0;
1412             inherit: "default" 0.0;
1413             image.normal: "00_button_01_press.png";
1414          }
1415       }
1416       part { name: "up.image.arrow";
1417          scale: 1;
1418          description { state: "default" 0.0;
1419             rel1.to: "up.image";
1420             rel2.to: "up.image";
1421             min: SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC;
1422             max: SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC;
1423             image.normal: "00_picker_arrow_up.png";
1424          }
1425       }
1426       part { name: "up.image.arrow.shadow.proxy";
1427          type: PROXY;
1428          scale: 1;
1429          clip_to: "up.image.arrow.shadow.clipper";
1430          description { state: "default" 0.0;
1431             source: "up.image.arrow";
1432             proxy.source_clip: 0;
1433             rel1 {
1434                to: "up.image.arrow";
1435                offset: SPINNER_UP_DOWN_ARROW_DEFAULT_TOP_OFFSET_INC;
1436             }
1437             rel2 {
1438                to: "up.image.arrow";
1439                offset: SPINNER_UP_DOWN_ARROW_DEFAULT_BOTTOM_OFFSET_INC;
1440             }
1441          }
1442          description { state: "pressed" 0.0;
1443             inherit: "default" 0.0;
1444             rel1 {
1445                to: "up.image.arrow";
1446                offset: SPINNER_UP_DOWN_ARROW_PRESSED_TOP_OFFSET_INC;
1447             }
1448             rel2 {
1449                to: "up.image.arrow";
1450                offset: SPINNER_UP_DOWN_ARROW_PRESSED_BOTTOM_OFFSET_INC;
1451             }
1452          }
1453       }
1454       part { name: "up.image.arrow.proxy";
1455          type: PROXY;
1456          scale: 1;
1457          clip_to: "up.image.arrow.clipper";
1458          description { state: "default" 0.0;
1459             source: "up.image.arrow";
1460             proxy.source_clip: 0;
1461             rel1.to: "up.image.arrow";
1462             rel2.to: "up.image.arrow";
1463          }
1464       }
1465       part { name: "up.image.arrow.shadow.clipper";
1466          type: RECT;
1467          scale: 1;
1468          description { state: "default" 0.0;
1469             rel1.to: "up.image.arrow";
1470             rel2.to: "up.image.arrow";
1471             color: SPINNER_UP_DOWN_ARROW_SHADOW_DEFAULT_COLOR_INC;
1472          }
1473          description { state: "pressed" 0.0;
1474             inherit: "default" 0.0;
1475             color: SPINNER_UP_DOWN_ARROW_SHADOW_PRESSED_COLOR_INC;
1476          }
1477       }
1478       part { name: "up.image.arrow.clipper";
1479          type: RECT;
1480          scale: 1;
1481          description { state: "default" 0.0;
1482             rel1.to: "up.image.arrow";
1483             rel2.to: "up.image.arrow";
1484             color: SPINNER_UP_DOWN_ARROW_DEFAULT_COLOR_INC;
1485          }
1486          description { state: "pressed" 0.0;
1487             inherit: "default" 0.0;
1488             color: SPINNER_UP_DOWN_ARROW_PRESSED_COLOR_INC;
1489          }
1490       }
1491       part { name: "down.image";
1492          scale: 1;
1493          description { state: "default" 0.0;
1494             align: 0.5 1.0;
1495             min: SPINNER_UP_DOWN_IMAGE_SIZE_INC;
1496             max: SPINNER_UP_DOWN_IMAGE_SIZE_INC;
1497             image {
1498                normal: "00_button_01.png";
1499                border: SPINNER_UP_DOWN_IMAGE_BORDER_SIZE_INC;
1500                border_scale: 1;
1501             }
1502          }
1503          description { state: "pressed" 0.0;
1504             inherit: "default" 0.0;
1505             image.normal: "00_button_01_press.png";
1506          }
1507       }
1508       part { name: "down.image.arrow";
1509          scale: 1;
1510          description { state: "default" 0.0;
1511             rel1.to: "down.image";
1512             rel2.to: "down.image";
1513             min: SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC;
1514             max: SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC;
1515             image.normal: "00_picker_arrow_down.png";
1516          }
1517       }
1518       part { name: "down.image.arrow.shadow.proxy";
1519          type: PROXY;
1520          scale: 1;
1521          clip_to: "down.image.arrow.shadow.clipper";
1522          description { state: "default" 0.0;
1523             source: "down.image.arrow";
1524             proxy.source_clip: 0;
1525             rel1 {
1526                to: "down.image.arrow";
1527                offset: SPINNER_UP_DOWN_ARROW_DEFAULT_TOP_OFFSET_INC;
1528             }
1529             rel2 {
1530                to: "down.image.arrow";
1531                offset: SPINNER_UP_DOWN_ARROW_DEFAULT_BOTTOM_OFFSET_INC;
1532             }
1533          }
1534          description { state: "pressed" 0.0;
1535             inherit: "default" 0.0;
1536             rel1 {
1537                to: "down.image.arrow";
1538                offset: SPINNER_UP_DOWN_ARROW_PRESSED_TOP_OFFSET_INC;
1539             }
1540             rel2 {
1541                to: "down.image.arrow";
1542                offset: SPINNER_UP_DOWN_ARROW_PRESSED_BOTTOM_OFFSET_INC;
1543             }
1544          }
1545       }
1546       part { name: "down.image.arrow.proxy";
1547          type: PROXY;
1548          scale: 1;
1549          clip_to: "down.image.arrow.clipper";
1550          description { state: "default" 0.0;
1551             source: "down.image.arrow";
1552             proxy.source_clip: 0;
1553             rel1.to: "down.image.arrow";
1554             rel2.to: "down.image.arrow";
1555          }
1556       }
1557       part { name: "down.image.arrow.shadow.clipper";
1558          type: RECT;
1559          scale: 1;
1560          description { state: "default" 0.0;
1561             rel1.to: "down.image.arrow";
1562             rel2.to: "down.image.arrow";
1563             color: SPINNER_UP_DOWN_ARROW_SHADOW_DEFAULT_COLOR_INC;
1564          }
1565          description { state: "pressed" 0.0;
1566             inherit: "default" 0.0;
1567             color: SPINNER_UP_DOWN_ARROW_SHADOW_PRESSED_COLOR_INC;
1568          }
1569       }
1570       part { name: "down.image.arrow.clipper";
1571          type: RECT;
1572          scale: 1;
1573          description { state: "default" 0.0;
1574             rel1.to: "down.image.arrow";
1575             rel2.to: "down.image.arrow";
1576             color: SPINNER_UP_DOWN_ARROW_DEFAULT_COLOR_INC;
1577          }
1578          description { state: "pressed" 0.0;
1579             inherit: "default" 0.0;
1580             color: SPINNER_UP_DOWN_ARROW_PRESSED_COLOR_INC;
1581          }
1582       }
1583       part { name: "elm.text";
1584          type: TEXT;
1585          scale: 1;
1586          description { state: "default" 0.0;
1587             visible: 1;
1588             color: SPINNER_ENTRY_TEXT_COLOR_INC;
1589             min: 0 SPINNER_TEXT_HEIGHT_INC;
1590             max: -1 SPINNER_TEXT_HEIGHT_INC;
1591             text {
1592                font: "Tizen:style=Regular";
1593                size: SPINNER_ENTRY_TEXT_SIZE_INC;
1594                min: 0 0;
1595                max: 1 0;
1596                text_class: "tizen";
1597             }
1598          }
1599          description { state: "active" 0.0;
1600             inherit: "default" 0.0;
1601             visible: 0;
1602          }
1603       }
1604       part { name: "button.events";
1605          type: RECT;
1606          mouse_events: 1;
1607          description { state: "default" 0.0;
1608             rel1.to: "elm.text";
1609             rel2.to: "elm.text";
1610             fixed: 1 1;
1611             color: 0 0 0 0;
1612          }
1613       }
1614       part { name: "elm.swallow.entry";
1615          type: SWALLOW;
1616          description { state: "default" 0.0;
1617             visible: 0;
1618             rel1.to: "elm.text";
1619             rel2.to: "elm.text";
1620             fixed: 1 1;
1621          }
1622          description { state: "active" 0.0;
1623             inherit: "default" 0.0;
1624             visible: 1;
1625          }
1626       }
1627       part { name: "up.btn";
1628          type: RECT;
1629          repeat_events: 1;
1630          scale: 1;
1631          description { state: "default" 0.0;
1632            rel1.to: "up.image";
1633            rel2.to: "up.image";
1634            color: 0 0 0 0;
1635          }
1636       }
1637       part { name: "down.btn";
1638          type: RECT;
1639          repeat_events: 1;
1640          scale: 1;
1641          description { state: "default" 0.0;
1642            rel1.to: "down.image";
1643            rel2.to: "down.image";
1644            color: 0 0 0 0;
1645          }
1646       }
1647       part { name: "disabler";
1648          type: RECT;
1649          description { state: "default" 0.0;
1650             color: 0 0 0 0;
1651             visible: 0;
1652          }
1653          description { state: "disabled" 0.0;
1654             inherit: "default" 0.0;
1655             visible: 1;
1656          }
1657       }
1658       part { name: "access";
1659          type: RECT;
1660          repeat_events: 1;
1661          description { state: "default" 0.0;
1662             fixed: 1 1;
1663             rel1.to: "bg";
1664             rel2.to: "bg";
1665             color: 0 0 0 0;
1666          }
1667       }
1668    }
1669    programs {
1670       program { name: "text_show";
1671          signal: "elm,state,text,visible";
1672          source: "elm";
1673          action:  STATE_SET "visible" 0.0;
1674          target: "elm.text";
1675       }
1676       program { name: "text_hide";
1677          signal: "elm,state,text,hidden";
1678          source: "elm";
1679          action:  STATE_SET "default" 0.0;
1680          target: "elm.text";
1681       }
1682       program { name: "dec_start_signal_emit";
1683          action: SIGNAL_EMIT "elm,action,decrement,start" "";
1684       }
1685       program { name: "dec_stop_signal_emit";
1686          action: SIGNAL_EMIT "elm,action,decrement,stop" "";
1687       }
1688       program { name: "inc_start_signal_emit";
1689          action: SIGNAL_EMIT "elm,action,increment,start" "";
1690       }
1691       program { name: "inc_stop_signal_emit";
1692          action: SIGNAL_EMIT "elm,action,increment,stop" "";
1693       }
1694       program { name: "dec";
1695          signal: "mouse,down,1*";
1696          source: "down.btn";
1697          action:  STATE_SET "pressed" 0.0;
1698          target: "down.image";
1699          target: "down.image.arrow.shadow.proxy";
1700          target: "down.image.arrow.shadow.clipper";
1701          target: "down.image.arrow.clipper";
1702          after: "dec_start_signal_emit";
1703       }
1704       program { name: "dec2";
1705          signal: "mouse,up,1";
1706          source: "down.btn";
1707          action:  STATE_SET "default" 0.0;
1708          target: "down.image";
1709          target: "down.image.arrow.shadow.proxy";
1710          target: "down.image.arrow.shadow.clipper";
1711          target: "down.image.arrow.clipper";
1712          after: "dec_stop_signal_emit";
1713       }
1714       program { name: "inc";
1715          signal: "mouse,down,1*";
1716          source: "up.btn";
1717          action:  STATE_SET "pressed" 0.0;
1718          target: "up.image";
1719          target: "up.image.arrow.shadow.proxy";
1720          target: "up.image.arrow.shadow.clipper";
1721          target: "up.image.arrow.clipper";
1722          after: "inc_start_signal_emit";
1723       }
1724       program { name: "inc2";
1725          signal: "mouse,up,1";
1726          source: "up.btn";
1727          action:  STATE_SET "default" 0.0;
1728          target: "up.image";
1729          target: "up.image.arrow";
1730          target: "up.image.arrow.shadow.proxy";
1731          target: "up.image.arrow.shadow.clipper";
1732          target: "up.image.arrow.clipper";
1733          after: "inc_stop_signal_emit";
1734       }
1735       program { name: "disable";
1736          signal: "elm,state,disabled";
1737          source: "elm";
1738          action: STATE_SET "disabled" 0.0;
1739          target: "disabler";
1740       }
1741       program { name: "enable";
1742          signal: "elm,state,enabled";
1743          source: "elm";
1744          action: STATE_SET "default" 0.0;
1745          target: "disabler";
1746       }
1747       program { name: "active";
1748          signal: "elm,state,active";
1749          source: "elm";
1750          action: STATE_SET "active" 0.0;
1751          target: "elm.text";
1752          target: "elm.swallow.entry";
1753       }
1754       program { name: "inactive";
1755          signal: "elm,state,inactive";
1756          source: "elm";
1757          action: STATE_SET "default" 0.0;
1758          target: "elm.text";
1759          target: "elm.swallow.entry";
1760       }
1761       program { name: "toggle_text";
1762          signal: "mouse,up,1";
1763          source: "button.events";
1764          action: SIGNAL_EMIT "elm,action,entry,toggle" "";
1765       }
1766       program { name: "up_touch_snd";
1767          signal: "mouse,clicked,1";
1768          source: "up.btn";
1769          action: PLAY_SAMPLE "touch_sound" 1.0;
1770       }
1771       program { name: "down_ouch_snd";
1772          signal: "mouse,clicked,1";
1773          source: "down.btn";
1774          action: PLAY_SAMPLE "touch_sound" 1.0;
1775       }
1776    }
1777 }
1778
1779 group { name: "elm/spinner/base/datetime_popup/ampm";
1780    inherit: "elm/spinner/base/default";
1781
1782    parts {
1783       part { name: "block.events";
1784          type: RECT;
1785          description { state: "default" 0.0;
1786             color: 0 0 0 0;
1787             rel1.to: "elm.text";
1788             rel2.to: "elm.text";
1789          }
1790       }
1791    }
1792 }
1793
1794 group { name: "elm/layout/datetime_popup/date_layout";
1795
1796    parts {
1797       part { name: "bg";
1798          type: RECT;
1799          scale: 1;
1800          description { state: "default" 0.0;
1801             color: 0 0 0 0;
1802             min: DATETIME_POPUP_CONTENT_SIZE_INC;
1803             max: DATETIME_POPUP_CONTENT_SIZE_INC;
1804          }
1805       }
1806       part { name: "top.padding";
1807          type: RECT;
1808          scale: 1;
1809          description { state: "default" 0.0;
1810             color: 0 0 0 0;
1811             min: 0 0;
1812             max: -1 0;
1813             rel1.to: "bg";
1814             rel2 {
1815                relative: 1.0 0.0;
1816                to: "bg";
1817             }
1818             align: 0.5 0.0;
1819          }
1820       }
1821       part { name: "bottom.padding";
1822          type: RECT;
1823          scale: 1;
1824          description { state: "default" 0.0;
1825             color: 0 0 0 0;
1826             min: 0 0;
1827             max: -1 0;
1828             rel1 {
1829                relative: 0.0 1.0;
1830                to: "bg";
1831             }
1832             rel2.to: "bg";
1833             align: 0.5 1.0;
1834          }
1835       }
1836       part { name: "left.padding";
1837          type: RECT;
1838          scale: 1;
1839          description { state: "default" 0.0;
1840             color: 0 0 0 0;
1841             min: DATETIME_POPUP_CONTENT_LEFT_PADDING_WIDTH_INC 0;
1842             max: DATETIME_POPUP_CONTENT_LEFT_PADDING_WIDTH_INC -1;
1843             rel1 {
1844                relative: 0.0 1.0;
1845                to_x: "bg";
1846                to_y: "top.padding";
1847             }
1848             rel2 {
1849                relative: 0.0 0.0;
1850                to_x: "bg";
1851                to_y: "bottom.padding";
1852             }
1853             align: 0.0 0.5;
1854          }
1855       }
1856       part { name: "right.padding";
1857          type: RECT;
1858          scale: 1;
1859          description { state: "default" 0.0;
1860             color: 0 0 0 0;
1861             min: DATETIME_POPUP_CONTENT_RIGHT_PADDING_WIDTH_INC 0;
1862             max: DATETIME_POPUP_CONTENT_RIGHT_PADDING_WIDTH_INC -1;
1863             rel2.to: "bg";
1864             rel1 {
1865                relative: 1.0 1.0;
1866                to_x: "bg";
1867                to_y: "top.padding";
1868             }
1869             rel2 {
1870                relative: 1.0 0.0;
1871                to_x: "bg";
1872                to_y: "bottom.padding";
1873             }
1874             align: 1.0 0.5;
1875          }
1876       }
1877       part { name: "field0";
1878          type: SWALLOW;
1879          scale: 1;
1880          description { state: "default" 0.0;
1881             min: DATETIME_POPUP_CONTENT_FIELD_WIDTH_INC 0;
1882             rel1 {
1883                relative: 1.0 0.0;
1884                to: "left.padding";
1885             }
1886             rel2.to: "left.padding";
1887             align: 0.0 0.5;
1888          }
1889       }
1890       part { name: "center.padding1";
1891          type: RECT;
1892          scale: 1;
1893          description { state: "default" 0.0;
1894             color: 0 0 0 0;
1895             min: DATETIME_POPUP_CONTENT_CENTER_PADDING_WIDTH_INC 0;
1896             max: DATETIME_POPUP_CONTENT_CENTER_PADDING_WIDTH_INC -1;
1897             rel1 {
1898                relative: 1.0 0.0;
1899                to: "field0";
1900             }
1901             rel2.to: "field0";
1902             align: 0.0 0.5;
1903          }
1904       }
1905       part { name: "field1";
1906          type: SWALLOW;
1907          scale: 1;
1908          description { state: "default" 0.0;
1909             min: DATETIME_POPUP_CONTENT_FIELD_WIDTH_INC 0;
1910             rel1 {
1911                relative: 1.0 0.0;
1912                to: "center.padding1";
1913             }
1914             rel2 {
1915                relative: 0.0 1.0;
1916                to: "center.padding2";
1917             }
1918          }
1919       }
1920       part { name: "center.padding2";
1921          type: RECT;
1922          scale: 1;
1923          description { state: "default" 0.0;
1924             color: 0 0 0 0;
1925             min: DATETIME_POPUP_CONTENT_CENTER_PADDING_WIDTH_INC 0;
1926             max: DATETIME_POPUP_CONTENT_CENTER_PADDING_WIDTH_INC -1;
1927             rel1.to: "field2";
1928             rel2 {
1929                relative: 0.0 1.0;
1930                to_x: "field2";
1931             }
1932             align: 1.0 0.5;
1933          }
1934       }
1935       part { name: "field2";
1936          type: SWALLOW;
1937          scale: 1;
1938          description { state: "default" 0.0;
1939             min: DATETIME_POPUP_CONTENT_FIELD_WIDTH_INC 0;
1940             rel1.to: "right.padding";
1941             rel2 {
1942                relative: 0.0 1.0;
1943                to: "right.padding";
1944             }
1945             align: 1.0 0.5;
1946          }
1947       }
1948       part {
1949          name: "event_area";
1950          type: RECT;
1951          description { state: "default" 0.0;
1952             color: 0 0 0 0;
1953             visible: 0;
1954          }
1955          description { state: "visible" 0.0;
1956             inherit: "default" 0.0;
1957             visible: 1;
1958          }
1959       }
1960       part { name: "access";
1961          type: RECT;
1962          repeat_events: 1;
1963          description { state: "default" 0.0;
1964             fixed: 1 1;
1965             rel1.to: "bg";
1966             rel2.to: "bg";
1967             color: 0 0 0 0;
1968          }
1969       }
1970    }
1971 }
1972
1973 group { name: "elm/layout/datetime_popup/time_layout";
1974    inherit: "elm/layout/datetime_popup/date_layout";
1975
1976    parts {
1977       part { name: "hour.minute.color";
1978          type: TEXT;
1979          scale: 1;
1980          description { state: "default" 0.0;
1981             rel1.to: "center.padding1";
1982             rel2.to: "center.padding1";
1983             color: DATETIME_POPUP_CONTENT_FIELD_TEXT_COLOR_INC;
1984             text {
1985                font: "Tizen:style=Regular";
1986                size: DATETIME_POPUP_CONTENT_FIELD_TEXT_SIZE_INC;
1987                min: 0 0;
1988                text_class: "tizen";
1989                text: ":";
1990             }
1991          }
1992       }
1993    }
1994 }
1995
1996 group { name: "elm/layout/datetime_popup/time_layout_24hr";
1997    inherit: "elm/layout/datetime_popup/date_layout";
1998
1999    parts {
2000       part { name: "field0";
2001          type: SWALLOW;
2002          scale: 1;
2003          description { state: "default" 0.0;
2004             min: DATETIME_POPUP_CONTENT_TIME_24HR_FIELD_WIDTH_INC 0;
2005             rel1 {
2006                relative: 1.0 0.0;
2007                to: "left.padding";
2008             }
2009             rel2.to: "left.padding";
2010             align: 0.0 0.5;
2011          }
2012       }
2013       part { name: "hour.minute.color";
2014          type: TEXT;
2015          scale: 1;
2016          description { state: "default" 0.0;
2017             rel1.to: "center.padding1";
2018             rel2.to: "center.padding1";
2019             color: DATETIME_POPUP_CONTENT_FIELD_TEXT_COLOR_INC;
2020             text {
2021                font: "Tizen:style=Regular";
2022                size: DATETIME_POPUP_CONTENT_FIELD_TEXT_SIZE_INC;
2023                min: 0 0;
2024                text_class: "tizen";
2025                text: ":";
2026             }
2027          }
2028       }
2029       part { name: "field1";
2030          type: SWALLOW;
2031          scale: 1;
2032          description { state: "default" 0.0;
2033             min: DATETIME_POPUP_CONTENT_TIME_24HR_FIELD_WIDTH_INC 0;
2034             rel1 {
2035                relative: 1.0 0.0;
2036                to: "center.padding1";
2037             }
2038             rel2 {
2039                relative: 0.0 1.0;
2040                to: "center.padding2";
2041             }
2042          }
2043       }
2044       part { name: "center.padding2";
2045          type: RECT;
2046          scale: 1;
2047          description { state: "default" 0.0;
2048             visible: 0;
2049             min: 0 0;
2050             max: 0 -1;
2051             rel1.to: "right.padding";
2052             rel2.to: "right.padding";
2053          }
2054       }
2055       part { name: "field2";
2056          type: SWALLOW;
2057          scale: 1;
2058          description { state: "default" 0.0;
2059             min: 0 0;
2060             max: 0 -1;
2061             visible: 0;
2062             rel1.to: "right.padding";
2063             rel2.to: "right.padding";
2064          }
2065       }
2066       part { name: "access";
2067          type: RECT;
2068          repeat_events: 1;
2069          description { state: "default" 0.0;
2070             fixed: 1 1;
2071             rel1.to: "bg";
2072             rel2.to: "bg";
2073             color: 0 0 0 0;
2074          }
2075       }
2076    }
2077 }