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