apply FSL(Flora Software License)
[apps/home/calculator.git] / edc / Inc.calculator.pannel.por.edc
1 /*
2   * Copyright 2012  Samsung Electronics Co., Ltd
3   * 
4   * Licensed under the Flora License, Version 1.0 (the "License");
5   * you may not use this file except in compliance with the License.
6   * You may obtain a copy of the License at
7   * 
8   *     http://www.tizenopensource.org/license
9   * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16
17 #define PANNEL_W_POR                    720
18 #define PANNEL_H_POR               (807+61)             //558
19 #define PANNEL_FULL_W_POR               720
20 //#define PANNEL_FULL_H_POR             584
21 #define PANNEL_FULL_H_POR               857
22
23 #define PANNEL_X_LOFF_POR               24
24 #define PANNEL_Y_LOFF_POR               50//???
25
26 #define PANNEL_KEY_W_PAD_POR    16
27 #define PANNEL_KEY_H_PAD_POR    18
28 #define PANNEL_KEY_W_POR                156
29 #define PANNEL_KEY_H_POR                147
30 #define PANNEL_KEY_FULL_W_POR   (PANNEL_KEY_W_POR+PANNEL_KEY_W_PAD_POR)
31 #define PANNEL_KEY_FULL_H_POR   (PANNEL_KEY_H_POR+PANNEL_KEY_H_PAD_POR)
32
33 #define PANNEL_COR_POR_REF1_X(X,Y)   ((PANNEL_X_LOFF_POR+PANNEL_KEY_FULL_W_POR*(Y))/PANNEL_W_POR)
34 #define PANNEL_COR_POR_REF1_Y(X,Y)   ((PANNEL_Y_LOFF_POR+PANNEL_KEY_FULL_H_POR*(X))/PANNEL_FULL_H_POR)
35 #define PANNEL_COR_POR_REF2_X(X,Y)   ((PANNEL_X_LOFF_POR+PANNEL_KEY_FULL_W_POR*(Y)+PANNEL_KEY_W_POR)/PANNEL_W_POR)
36 #define PANNEL_COR_POR_REF2_Y(X,Y)   ((PANNEL_Y_LOFF_POR+PANNEL_KEY_FULL_H_POR*(X)+PANNEL_KEY_H_POR)/PANNEL_FULL_H_POR)
37
38 #define KEYPAD_KEY_IMG(key_name, relx1, rely1, relx2, rely2, bg_img, bg_img_press, text_img, text_img_press, to_part) \
39     EDC_PART_RECT_RELATIVE(key_name, to_part, relx1, rely1, relx2, rely2)\
40     EDC_PART_BUTTON_IMG(key_name"_bg", key_name, EDC_IMAGE(bg_img), EDC_IMAGE(bg_img))\
41     EDC_PART_BUTTON_IMG(key_name"_txt", key_name, EDC_IMAGE(text_img), EDC_IMAGE(text_img_press))
42
43 #define KEYPAD_KEY_TXT(key_name, relx1, rely1, relx2, rely2, bg_img, bg_img_press, text_txt, text_txt_press, to_part) \
44     EDC_PART_RECT_RELATIVE(key_name, to_part, relx1, rely1, relx2, rely2)\
45     EDC_PART_BUTTON_IMG(key_name"_bg", key_name, EDC_IMAGE(bg_img), EDC_IMAGE(bg_img)))\
46     EDC_PART_TEXT(key_name"_txt", key_name, SHADOW, \
47     EDC_TEXT_SHADOW(text_txt, 67, "SLP:style=Medium", EDC_COLOR(255,255,255,255), EDC_COLOR(0,0,0,255)))\
48
49
50 #define KEYPAD_KEY_PROG(key_name) \
51     program { \
52         name: "mouse_down_"key_name; \
53         signal: "mouse,down,1"; \
54         source: key_name; \
55         action: STATE_SET "pressed" 0.0; \
56         target: key_name"_bg"; \
57         target: key_name"_txt"; \
58     } \
59     program { \
60         name: "mouse_up_"key_name; \
61         signal: "mouse,up,1"; \
62         source: key_name; \
63         action: STATE_SET "default" 0.0; \
64         target: key_name"_bg"; \
65         target: key_name"_txt"; \
66     }
67
68 ///////////////////// prtrait pannel ////////////////////////////////////////
69         group {
70                 name: "por_pannel";
71                 script {
72                         public pannel_state;
73                 }
74
75                 parts {
76                         part {
77                                 name: "por_pannel/in";
78                                 type: RECT;
79                                 mouse_events: 1;
80                                 description {
81                                         state: "default" 0.0;
82                                         visible: 0;
83                                         rel1 { relative: 0.0 (60+252)/(1280-50));}
84                                         rel2 { relative: 1.0 (1280-61)/1280; }
85                                 }
86                                 description {
87                                         state: "down" 0.0;
88                                         inherit: "default" 0.0;
89                                         rel1 { relative: 0.0 1.0; offset: 0 0;}
90                                         rel2 { relative: 1.0 1.0; offset: 0 PANNEL_H_POR;}
91                                 }
92                         }
93                         part {
94                                 name: "por_pannel/BG";
95                                 type: IMAGE;
96                                 mouse_events: 1;
97                                 description {
98                                         state: "default" 0.0;
99                                         visible: 1;
100                                         rel1 { relative: 0.0 (60+50+252)/(1280-50);}
101                                         rel2 { relative: 1.0 1.0; }
102                                         image { normal: "images/P04_calculator_keypad_bg.png"; }
103                                 }
104                                 description {
105                                         state: "down" 0.0;
106                                         inherit: "default" 0.0;
107                                         rel1 { relative: 0.0 1.0; offset: 0 0;}
108                                         rel2 { relative: 1.0 1.0; offset: 0 PANNEL_H_POR;}
109                                         image { normal: "images/P04_calculator_keypad_bg.png"; }
110                                 }
111                         }
112
113                         /* close&open icon */
114                         part {
115                                 name: "pannel/icon";
116                                 type: IMAGE;
117                                 mouse_events: 0;
118                                 description {
119                                         state: "default" 0.0;
120                                         rel1 { relative: (24+32+291)/720 (60+50+252-16-6-20)/1280;}
121                                         rel2 { relative: (24+32+291+26)/720 (60+50+252-6-20)/1280;}
122                                         image { normal: "images/P04_calculator_down_arrow.png"; }
123                                 }
124                                 description {
125                                         state: "open" 0.0;
126                                         inherit: "default" 0.0;
127                                         rel1 { relative: (24+32+291)/720 (1280-61-16-6-8)/1280;}
128                                         rel2 { relative: (24+32+291+26)/720 (1280-61-6-8)/1280;}
129                                         image { normal: "images/P04_calculator_up_arrow.png"; }
130                                 }
131                         }
132                         part {
133                                 name: "pannel/icon/rect";
134                                 type: RECT;
135                                 mouse_events: 0;
136                                 description {
137                                         state: "default" 0.0;
138                                         rel1 { relative: (24+32+291-50)/720 (60+50+252-16-6-75)/1280;}
139                                         rel2 { relative: (24+32+291+26+50)/720 (60+50+252-6+75)/1280;}
140                                         color: 0 0 0 0;
141                                 }
142                                 description {
143                                         state: "open" 0.0;
144                                         inherit: "default" 0.0;
145                                         rel1 { relative: (24+32+291-50)/720 (1280-61-6-16-75)/1280;}
146                                         rel2 { relative: (24+32+291+26+50)/720 (1280-61-6+75)/1280;}
147                                 }
148                         }
149
150
151                         /* create pannel keys */
152                         // c, /, *, <-
153                         KEYPAD_KEY_IMG("item_c",
154                                 PANNEL_COR_POR_REF1_X(0,0), PANNEL_COR_POR_REF1_Y(0,0),
155                 PANNEL_COR_POR_REF2_X(0,0), PANNEL_COR_POR_REF2_Y(0,0),
156                                 "images/P04_calculator_btn_01.png", "images/P04_calculator_btn_01_press.png",
157                                 "images/P04_calculator_btn_01.png", "images/P04_calculator_btn_01_press.png",
158                                 "por_pannel/in");
159                         KEYPAD_KEY_IMG("item_div",
160                                 PANNEL_COR_POR_REF1_X(0,1), PANNEL_COR_POR_REF1_Y(0,1),
161                 PANNEL_COR_POR_REF2_X(0,1), PANNEL_COR_POR_REF2_Y(0,1),
162                                 "images/P04_calculator_btn_02.png", "images/P04_calculator_btn_02_press.png",
163                                 "images/P04_calculator_btn_02.png", "images/P04_calculator_btn_02_press.png",
164                                 "por_pannel/in");
165                         KEYPAD_KEY_IMG("item_mul",
166                                 PANNEL_COR_POR_REF1_X(0,2), PANNEL_COR_POR_REF1_Y(0,2),
167                 PANNEL_COR_POR_REF2_X(0,2), PANNEL_COR_POR_REF2_Y(0,2),
168                                 "images/P04_calculator_btn_03.png", "images/P04_calculator_btn_03_press.png",
169                                 "images/P04_calculator_btn_03.png", "images/P04_calculator_btn_03_press.png",
170                                 "por_pannel/in");
171                         KEYPAD_KEY_IMG("item_del",
172                                 PANNEL_COR_POR_REF1_X(0,3), PANNEL_COR_POR_REF1_Y(0,3),
173                 PANNEL_COR_POR_REF2_X(0,3), PANNEL_COR_POR_REF2_Y(0,3),
174                                 "images/P04_calculator_btn_04.png", "images/P04_calculator_btn_04_press.png",
175                                 "images/P04_calculator_btn_04.png", "images/P04_calculator_btn_04_press.png",
176                                 "por_pannel/in");
177
178
179                         // 1, 2, 3, -
180                         KEYPAD_KEY_IMG("item_num1",
181                                 PANNEL_COR_POR_REF1_X(1,0), PANNEL_COR_POR_REF1_Y(1,0),
182                 PANNEL_COR_POR_REF2_X(1,0), PANNEL_COR_POR_REF2_Y(1,0),
183                 "images/P04_calculator_btn_n01.png", "images/P04_calculator_btn_n01_press.png",
184                                 "images/P04_calculator_btn_n01.png", "images/P04_calculator_btn_n01_press.png",
185                                 "por_pannel/in");
186                         KEYPAD_KEY_IMG("item_num2",
187                                 PANNEL_COR_POR_REF1_X(1,1), PANNEL_COR_POR_REF1_Y(1,1),
188                 PANNEL_COR_POR_REF2_X(1,1), PANNEL_COR_POR_REF2_Y(1,1),
189                 "images/P04_calculator_btn_n02.png", "images/P04_calculator_btn_n02_press.png",
190                                 "images/P04_calculator_btn_n02.png", "images/P04_calculator_btn_n02_press.png",
191                                 "por_pannel/in");
192                         KEYPAD_KEY_IMG("item_num3",
193                                 PANNEL_COR_POR_REF1_X(1,2), PANNEL_COR_POR_REF1_Y(1,2),
194                 PANNEL_COR_POR_REF2_X(1,2), PANNEL_COR_POR_REF2_Y(1,2),
195                 "images/P04_calculator_btn_n03.png", "images/P04_calculator_btn_n03_press.png",
196                                 "images/P04_calculator_btn_n03.png", "images/P04_calculator_btn_n03_press.png",
197                                 "por_pannel/in");
198                         KEYPAD_KEY_IMG("item_sub",
199                                 PANNEL_COR_POR_REF1_X(1,3), PANNEL_COR_POR_REF1_Y(1,3),
200                 PANNEL_COR_POR_REF2_X(1,3), PANNEL_COR_POR_REF2_Y(1,3),
201                                 "images/P04_calculator_btn_05.png", "images/P04_calculator_btn_05_press.png",
202                                 "images/P04_calculator_btn_05.png", "images/P04_calculator_btn_05_press.png",
203                                 "por_pannel/in");
204
205
206                         // 4, 5 ,6, +
207                         KEYPAD_KEY_IMG("item_num4",
208                                 PANNEL_COR_POR_REF1_X(2,0), PANNEL_COR_POR_REF1_Y(2,0),
209                 PANNEL_COR_POR_REF2_X(2,0), PANNEL_COR_POR_REF2_Y(2,0),
210                                 "images/P04_calculator_btn_n04.png", "images/P04_calculator_btn_n04_press.png",
211                                 "images/P04_calculator_btn_n04.png", "images/P04_calculator_btn_n04_press.png",
212                                 "por_pannel/in");
213                         KEYPAD_KEY_IMG("item_num5",
214                                 PANNEL_COR_POR_REF1_X(2,1), PANNEL_COR_POR_REF1_Y(2,1),
215                 PANNEL_COR_POR_REF2_X(2,1), PANNEL_COR_POR_REF2_Y(2,1),
216                                 "images/P04_calculator_btn_n05.png", "images/P04_calculator_btn_n05_press.png",
217                                 "images/P04_calculator_btn_n05.png", "images/P04_calculator_btn_n05_press.png",
218                                 "por_pannel/in");
219                         KEYPAD_KEY_IMG("item_num6",
220                                 PANNEL_COR_POR_REF1_X(2,2), PANNEL_COR_POR_REF1_Y(2,3),
221                 PANNEL_COR_POR_REF2_X(2,2), PANNEL_COR_POR_REF2_Y(2,3),
222                                 "images/P04_calculator_btn_n06.png", "images/P04_calculator_btn_n06_press.png",
223                                 "images/P04_calculator_btn_n06.png", "images/P04_calculator_btn_n06_press.png",
224                                 "por_pannel/in");
225                         KEYPAD_KEY_IMG("item_plus",
226                                 PANNEL_COR_POR_REF1_X(2,3), PANNEL_COR_POR_REF1_Y(2,3),
227                 PANNEL_COR_POR_REF2_X(2,3), PANNEL_COR_POR_REF2_Y(2,3),
228                                 "images/P04_calculator_btn_06.png", "images/P04_calculator_btn_06_press.png",
229                                 "images/P04_calculator_btn_06.png", "images/P04_calculator_btn_06_press.png",
230                                 "por_pannel/in");
231
232
233
234                         // 7, 8, 9, ()
235                         KEYPAD_KEY_IMG("item_num7",
236                                 PANNEL_COR_POR_REF1_X(3,0), PANNEL_COR_POR_REF1_Y(3,0),
237                 PANNEL_COR_POR_REF2_X(3,0), PANNEL_COR_POR_REF2_Y(3,0),
238                                 "images/P04_calculator_btn_n07.png", "images/P04_calculator_btn_n07_press.png",
239                                 "images/P04_calculator_btn_n07.png", "images/P04_calculator_btn_n07_press.png",
240                                 "por_pannel/in");
241                         KEYPAD_KEY_IMG("item_num8",
242                                 PANNEL_COR_POR_REF1_X(3,1), PANNEL_COR_POR_REF1_Y(3,1),
243                 PANNEL_COR_POR_REF2_X(3,1), PANNEL_COR_POR_REF2_Y(3,1),
244                                 "images/P04_calculator_btn_n08.png", "images/P04_calculator_btn_n08_press.png",
245                                 "images/P04_calculator_btn_n08.png", "images/P04_calculator_btn_n08_press.png",
246                                 "por_pannel/in");
247                         KEYPAD_KEY_IMG("item_num9",
248                                 PANNEL_COR_POR_REF1_X(3,2), PANNEL_COR_POR_REF1_Y(3,2),
249                 PANNEL_COR_POR_REF2_X(3,2), PANNEL_COR_POR_REF2_Y(3,2),
250                                 "images/P04_calculator_btn_n09.png", "images/P04_calculator_btn_n09_press.png",
251                                 "images/P04_calculator_btn_n09.png", "images/P04_calculator_btn_n09_press.png",
252                                 "por_pannel/in");
253                         KEYPAD_KEY_IMG("item_brack",
254                                 PANNEL_COR_POR_REF1_X(3,3), PANNEL_COR_POR_REF1_Y(3,3),
255                 PANNEL_COR_POR_REF2_X(3,3), PANNEL_COR_POR_REF2_Y(3,3),
256                                 "images/P04_calculator_btn_07.png", "images/P04_calculator_btn_07_press.png",
257                                 "images/P04_calculator_btn_07.png", "images/P04_calculator_btn_07_press.png",
258                                 "por_pannel/in");
259
260
261                         //0, ., +/-,  =
262                         KEYPAD_KEY_IMG("item_num0",
263                                 PANNEL_COR_POR_REF1_X(4,0), PANNEL_COR_POR_REF1_Y(4,0),
264                 PANNEL_COR_POR_REF2_X(4,0), PANNEL_COR_POR_REF2_Y(4,0),
265                                 "images/P04_calculator_btn_n00.png", "images/P04_calculator_btn_n00_press.png",
266                                 "images/P04_calculator_btn_n00.png", "images/P04_calculator_btn_n00_press.png",
267                                 "por_pannel/in");
268                         KEYPAD_KEY_IMG("item_dot",
269                                 PANNEL_COR_POR_REF1_X(4,1), PANNEL_COR_POR_REF1_Y(4,1),
270                 PANNEL_COR_POR_REF2_X(4,1), PANNEL_COR_POR_REF2_Y(4,1),
271                                 "images/P04_calculator_btn_10.png", "images/P04_calculator_btn_10_press.png",
272                                 "images/P04_calculator_btn_10.png", "images/P04_calculator_btn_10_press.png",
273                                 "por_pannel/in");
274                         KEYPAD_KEY_IMG("item_neg",
275                                 PANNEL_COR_POR_REF1_X(4,2), PANNEL_COR_POR_REF1_Y(4,2),
276                 PANNEL_COR_POR_REF2_X(4,2), PANNEL_COR_POR_REF2_Y(4,2),
277                                 "images/P04_calculator_btn_09.png", "images/P04_calculator_btn_09_press.png",
278                                 "images/P04_calculator_btn_09.png", "images/P04_calculator_btn_09_press.png",
279                                 "por_pannel/in");
280                         KEYPAD_KEY_IMG("item_eq",
281                                 PANNEL_COR_POR_REF1_X(4,3), PANNEL_COR_POR_REF1_Y(4,4),
282                 PANNEL_COR_POR_REF2_X(4,3), PANNEL_COR_POR_REF2_Y(4,4),
283                                 "images/P04_calculator_btn_08.png", "images/P04_calculator_btn_08_press.png",
284                                 "images/P04_calculator_btn_08.png", "images/P04_calculator_btn_08_press.png",
285                                 "por_pannel/in");
286                 }
287
288                 programs {
289                         program {
290                     name: "group_load";
291                     signal: "load";
292                     script {
293                         set_int(pannel_state, 1);
294                     }
295             }
296                         /* pannel open/close program */
297                         //press up/down
298                         program {
299                                 name: "icon_click2";
300                                 //signal: "mouse,down,1";
301                                 //source: "pannel/icon";
302                                 source: "pannel/icon/rect";
303
304                                 script {
305                                         if(get_int(pannel_state) == 1)
306                                         {
307                                                 emit("pannel,down", "por");
308                                                 set_state(PART:"pannel/icon", "open", 0.0);
309                                                 set_state(PART:"pannel/icon/rect", "open", 0.0);
310                                                 set_int(pannel_state, 0);
311                                         }
312                                         else
313                                         {
314                                                 emit("pannel,up", "por");
315                                                 set_state(PART:"pannel/icon", "default", 0.0);
316                                                 set_state(PART:"pannel/icon/rect", "default", 0.0);
317                                                 set_int(pannel_state, 1);
318                                         }
319                                 }
320                         }
321
322                         //flick up/down
323                         program {
324                                 name: "icon_click";
325                                 //signal: "pannel,flick";
326                                 source: "";
327                                 script {
328                                         if(get_int(pannel_state) == 1)
329                                         {
330                                                 emit("pannel,down", "por");
331                                                 set_state(PART:"pannel/icon", "open", 0.0);
332                                                 set_state(PART:"pannel/icon/rect", "open", 0.0);
333                                                 set_int(pannel_state, 0);
334                                         }
335                                         else
336                                         {
337                                                 emit("pannel,up", "por");
338                                                 set_state(PART:"pannel/icon", "default", 0.0);
339                                                 set_state(PART:"pannel/icon/rect", "default", 0.0);
340                                                 set_int(pannel_state, 1);
341                                         }
342                                 }
343                         }
344
345                         program {
346                                 name: "pannel/down";
347                                 signal: "pannel,down";
348                                 source: "*";
349                                 action: STATE_SET "down" 0.0;
350                                 target: "por_pannel/in";
351                                 target: "por_pannel/BG";
352                                 transition: ACCELERATE 0.4;
353                                 after: "check_icon_open";
354                         }
355                         program {
356                                 name: "pannel/up";
357                                 signal: "pannel,up";
358                                 source: "*";
359                                 action: STATE_SET "default" 0.0;
360                                 target: "por_pannel/in";
361                                 target: "por_pannel/BG";
362                                 transition: ACCELERATE 0.3;
363                                 after: "check_icon_default";
364                         }
365
366                         program {
367                                 name: "check_icon_open";
368                                 script {
369                                         if(get_int(pannel_state) == 1)
370                                         {
371                                                 set_state(PART:"pannel/icon", "open", 0.0);
372                                                 set_state(PART:"pannel/icon/rect", "open", 0.0);
373                                                 set_int(pannel_state, 0);
374                                         }
375                                 }
376                         }
377
378                         program {
379                                 name: "check_icon_default";
380                                 script {
381                                         if(get_int(pannel_state) == 0)
382                                         {
383                                                 set_state(PART:"pannel/icon", "default", 0.0);
384                                                 set_state(PART:"pannel/icon/rect", "default", 0.0);
385                                                 set_int(pannel_state, 1);
386                                         }
387                                 }
388                         }
389
390                         /* programs for pennel items */
391                         KEYPAD_KEY_PROG("item_c");
392                         KEYPAD_KEY_PROG("item_div");
393                         KEYPAD_KEY_PROG("item_mul");
394                         KEYPAD_KEY_PROG("item_del");
395
396                         KEYPAD_KEY_PROG("item_num7");
397                         KEYPAD_KEY_PROG("item_num8");
398                         KEYPAD_KEY_PROG("item_num9");
399                         KEYPAD_KEY_PROG("item_sub");
400
401                         KEYPAD_KEY_PROG("item_num4");
402                         KEYPAD_KEY_PROG("item_num5");
403                         KEYPAD_KEY_PROG("item_num6");
404                         KEYPAD_KEY_PROG("item_plus");
405
406                         KEYPAD_KEY_PROG("item_num1");
407                         KEYPAD_KEY_PROG("item_num2");
408                         KEYPAD_KEY_PROG("item_num3");
409                         KEYPAD_KEY_PROG("item_brack");
410
411                         KEYPAD_KEY_PROG("item_dot");
412                         KEYPAD_KEY_PROG("item_num0");
413                         KEYPAD_KEY_PROG("item_neg");
414                         KEYPAD_KEY_PROG("item_eq");
415                 }
416         }
417 ///////////////////// prtrait pannel  finish ////////////////////////////////////////
418