/* * Copyright 2012 Samsung Electronics Co., Ltd * * Licensed under the Flora License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.tizenopensource.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define PART_KEYPAD_CUSTOM_TWO_LABLE(txt, offx, offy, label_left_text, label_left_size, label_right_text, label_right_size, right_txt_lpad) \ part { \ name: txt; \ type: IMAGE; \ scale: 1; \ mouse_events: 1; \ description { \ state: "default" 0.0; \ visible: 0; \ rel1 { relative: REL_KEYPAD_W(offx) REL_KEYPAD_H(offy); to:"keypad/area";} \ rel2 { relative: REL_KEYPAD_W(offx+KEYPAD_EACH_BTN_WIDTH) REL_KEYPAD_H(offy+KEYPAD_EACH_BTN_HEIGHT); to:"keypad/area"; } \ } \ description { \ state: "pressed" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ image.normal: IMG_SRC_DIR/"vc_keypad_btn_press.png"; \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { \ name: txt"_left"; \ type: TEXT; \ scale: 1; \ mouse_events: 0; \ repeat_events: 1; \ description { \ state: "default" 0.0; \ rel1 { relative: KEYPAD_BTN_LEFT_TXT_L 0.0; to: txt;} \ rel2 { relative: KEYPAD_BTN_LEFT_TXT_R 1.0; to: txt;} \ fixed: 1 1; \ align: 0.5 0.5; \ color: 221 210 202 255; \ text { \ font: FONT_SLP_Light; \ text: label_left_text; \ size: label_left_size; \ min: 1 1; \ align: 0.5 0.5; \ text_class: TEXT_CLASS_SLP_LIGHT; \ } \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { \ name: txt"_right"; \ type: TEXT; \ scale: 1; \ mouse_events: 0; \ repeat_events: 1; \ description { \ state: "default" 0.0; \ rel1 { relative: right_txt_lpad 0.0; to: txt;} \ rel2 { relative: 1.0 1.0; to: txt;} \ fixed: 1 1; \ align: 0.5 0.5; \ color: 221 210 202 255; \ text { \ font: FONT_SLP_Roman; \ text: label_right_text; \ size: label_right_size; \ min: 1 1; \ align: 0.0 0.5; \ text_class: TEXT_CLASS_SLP_ROMAN; \ } \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { name: "over_"txt; \ mouse_events: 1; \ repeat_events: 1; \ ignore_flags: ON_HOLD; \ description { state: "default" 0.0; \ rel1 { relative: 0 0; to: txt; } \ rel2 { relative: 1 1; to: txt; } \ } \ } #define PART_KEYPAD_CUSTOM_ONELABEL_ONEICON(txt, offx, offy, icon_right, icon_right_sizex, icon_right_sizey, label_left_text, label_left_size) \ part { \ name: txt; \ type: IMAGE; \ scale: 1; \ mouse_events: 0; \ description { \ state: "default" 0.0; \ visible: 0; \ rel1 { relative: REL_KEYPAD_W(offx) REL_KEYPAD_H(offy); to:"keypad/area";} \ rel2 { relative: REL_KEYPAD_W(offx+KEYPAD_EACH_BTN_WIDTH) REL_KEYPAD_H(offy+KEYPAD_EACH_BTN_HEIGHT); to:"keypad/area"; } \ } \ description { \ state: "pressed" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ image.normal: IMG_SRC_DIR/"vc_keypad_btn_press.png"; \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { \ name: txt"_left"; \ type: TEXT; \ scale: 1; \ mouse_events: 0; \ repeat_events: 1; \ description { \ state: "default" 0.0; \ rel1 { relative: KEYPAD_BTN_LEFT_TXT_L 0.0; to: txt;} \ rel2 { relative: KEYPAD_BTN_LEFT_TXT_R 1.0; to: txt;} \ fixed: 1 1; \ align: 0.5 0.5; \ color: 221 210 202 255; \ text { \ font: FONT_SLP_Light; \ text: label_left_text; \ size: label_left_size; \ min: 1 1; \ align: 0.5 0.5; \ text_class: TEXT_CLASS_SLP_LIGHT; \ } \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { \ name: txt"_right"; \ type: IMAGE; \ scale: 1; \ mouse_events: 0; \ repeat_events: 1; \ description { \ state: "default" 0.0; \ min: icon_right_sizex icon_right_sizey; \ fixed: 1 1; \ rel1 { relative: KEYPAD_BTN_RIGHT_ICON_L 0.5; to: txt;} \ rel2 { relative: KEYPAD_BTN_RIGHT_ICON_R 0.5; to: txt;} \ align: 0.5 0.5; \ image.normal: icon_right; \ } \ description { \ state: "hide" 0.0; \ inherit: "default" 0.0; \ visible: 0; \ } \ } \ part { name: "over_"txt; \ mouse_events: 1; \ repeat_events: 1; \ ignore_flags: ON_HOLD; \ description { state: "default" 0.0; \ rel1 { relative: 0 0; to: txt; } \ rel2 { relative: 1 1; to: txt; } \ } \ } #define PROG_KEYPAD(txt) \ program { \ name: "down_"txt; \ signal: "mouse,down,*"; \ source: "over_"txt; \ script { \ set_state(PART:txt, "pressed", 0.0); \ emit("pad_down", txt); \ } \ } \ program { \ name: "ani_"txt; \ signal: "ani"; \ source: "over_"txt; \ action: STATE_SET "default" 0.0; \ transition: SINUSOIDAL 0.1; \ target: txt; \ } \ program { \ name: "up_"txt; \ signal: "mouse,up,1"; \ source: "over_"txt; \ script { \ set_state(PART:txt, "default", 0.0); \ emit("pad_up", txt); \ emit("ani", "over_"txt); \ } \ } \ program { \ name: "clicked_"txt; \ signal: "mouse,clicked,1"; \ source: "over_"txt; \ script { \ emit("pad_clicked", txt); \ } \ } #define TARGET_KEYPAD(txt) \ target: txt; \ target: txt"_left"; \ target: txt"_right"; \ target: "over_"txt; #define SEPARATOR_LINE_1(part_name, left, right, top, bottom) \ part { name: part_name; \ type: RECT; \ scale: 1; \ description { \ state: "default" 0.0; \ min: 1 1; \ rel1 { relative: left top; to: "background"; } \ rel2 { relative: right bottom; to: "background"; } \ color: 140 136 137 255; \ } \ } #define SEPARATOR_LINE_2(part_name, left, right, top, bottom) \ part { name: part_name; \ type: RECT; \ scale: 1; \ description { \ state: "default" 0.0; \ min: 1 1; \ rel1 { relative: left top; to: "background"; } \ rel2 { relative: right bottom; to: "background"; } \ color: 91 91 91 255; \ } \ } group { name: "keypad-separator"; parts { part { name: "background"; type: RECT; description { state: "default" 0.0; color: COLOR_BG_ALPHA; } } SEPARATOR_LINE_1("row1_left_vert_1", KEYPAD_ROW1_LVERT_SEP1_L, KEYPAD_ROW1_LVERT_SEP1_R, KEYPAD_ROW1_LVERT_SEP1_T, KEYPAD_ROW1_LVERT_SEP1_B) SEPARATOR_LINE_2("row1_left_vert_2", KEYPAD_ROW1_LVERT_SEP2_L, KEYPAD_ROW1_LVERT_SEP2_R, KEYPAD_ROW1_LVERT_SEP2_T, KEYPAD_ROW1_LVERT_SEP2_B) SEPARATOR_LINE_1("row1_right_vert_1", KEYPAD_ROW1_RVERT_SEP1_L, KEYPAD_ROW1_RVERT_SEP1_R, KEYPAD_ROW1_RVERT_SEP1_T, KEYPAD_ROW1_RVERT_SEP1_B) SEPARATOR_LINE_2("row1_right_vert_2", KEYPAD_ROW1_RVERT_SEP2_L, KEYPAD_ROW1_RVERT_SEP2_R, KEYPAD_ROW1_RVERT_SEP2_T, KEYPAD_ROW1_RVERT_SEP2_B) SEPARATOR_LINE_1("row1_horiz_1", KEYPAD_ROW1_HORIZ_SEP1_L, KEYPAD_ROW1_HORIZ_SEP1_R, KEYPAD_ROW1_HORIZ_SEP1_T, KEYPAD_ROW1_HORIZ_SEP1_B) SEPARATOR_LINE_2("row1_horiz_2", KEYPAD_ROW1_HORIZ_SEP2_L, KEYPAD_ROW1_HORIZ_SEP2_R, KEYPAD_ROW1_HORIZ_SEP2_T, KEYPAD_ROW1_HORIZ_SEP2_B) SEPARATOR_LINE_1("row2_left_vert_1", KEYPAD_ROW2_LVERT_SEP1_L, KEYPAD_ROW2_LVERT_SEP1_R, KEYPAD_ROW2_LVERT_SEP1_T, KEYPAD_ROW2_LVERT_SEP1_B) SEPARATOR_LINE_2("row2_left_vert_2", KEYPAD_ROW2_LVERT_SEP2_L, KEYPAD_ROW2_LVERT_SEP2_R, KEYPAD_ROW2_LVERT_SEP2_T, KEYPAD_ROW2_LVERT_SEP2_B) SEPARATOR_LINE_1("row2_right_vert_1", KEYPAD_ROW2_RVERT_SEP1_L, KEYPAD_ROW2_RVERT_SEP1_R, KEYPAD_ROW2_RVERT_SEP1_T, KEYPAD_ROW2_RVERT_SEP1_B) SEPARATOR_LINE_2("row2_right_vert_2", KEYPAD_ROW2_RVERT_SEP2_L, KEYPAD_ROW2_RVERT_SEP2_R, KEYPAD_ROW2_RVERT_SEP2_T, KEYPAD_ROW2_RVERT_SEP2_B) SEPARATOR_LINE_1("row2_horiz_1", KEYPAD_ROW2_HORIZ_SEP1_L, KEYPAD_ROW2_HORIZ_SEP1_R, KEYPAD_ROW2_HORIZ_SEP1_T, KEYPAD_ROW2_HORIZ_SEP1_B) SEPARATOR_LINE_2("row2_horiz_2", KEYPAD_ROW2_HORIZ_SEP2_L, KEYPAD_ROW2_HORIZ_SEP2_R, KEYPAD_ROW2_HORIZ_SEP2_T, KEYPAD_ROW2_HORIZ_SEP2_B) SEPARATOR_LINE_1("row3_left_vert_1", KEYPAD_ROW3_LVERT_SEP1_L, KEYPAD_ROW3_LVERT_SEP1_R, KEYPAD_ROW3_LVERT_SEP1_T, KEYPAD_ROW3_LVERT_SEP1_B) SEPARATOR_LINE_2("row3_left_vert_2", KEYPAD_ROW3_LVERT_SEP2_L, KEYPAD_ROW3_LVERT_SEP2_R, KEYPAD_ROW3_LVERT_SEP2_T, KEYPAD_ROW3_LVERT_SEP2_B) SEPARATOR_LINE_1("row3_right_vert_1", KEYPAD_ROW3_RVERT_SEP1_L, KEYPAD_ROW3_RVERT_SEP1_R, KEYPAD_ROW3_RVERT_SEP1_T, KEYPAD_ROW3_RVERT_SEP1_B) SEPARATOR_LINE_2("row3_right_vert_2", KEYPAD_ROW3_RVERT_SEP2_L, KEYPAD_ROW3_RVERT_SEP2_R, KEYPAD_ROW3_RVERT_SEP2_T, KEYPAD_ROW3_RVERT_SEP2_B) SEPARATOR_LINE_1("row3_horiz_1", KEYPAD_ROW3_HORIZ_SEP1_L, KEYPAD_ROW3_HORIZ_SEP1_R, KEYPAD_ROW3_HORIZ_SEP1_T, KEYPAD_ROW3_HORIZ_SEP1_B) SEPARATOR_LINE_2("row3_horiz_2", KEYPAD_ROW3_HORIZ_SEP2_L, KEYPAD_ROW3_HORIZ_SEP2_R, KEYPAD_ROW3_HORIZ_SEP2_T, KEYPAD_ROW3_HORIZ_SEP2_B) SEPARATOR_LINE_1("row4_left_vert_1", KEYPAD_ROW4_LVERT_SEP1_L, KEYPAD_ROW4_LVERT_SEP1_R, KEYPAD_ROW4_LVERT_SEP1_T, KEYPAD_ROW4_LVERT_SEP1_B) SEPARATOR_LINE_2("row4_left_vert_2", KEYPAD_ROW4_LVERT_SEP2_L, KEYPAD_ROW4_LVERT_SEP2_R, KEYPAD_ROW4_LVERT_SEP2_T, KEYPAD_ROW4_LVERT_SEP2_B) SEPARATOR_LINE_1("row4_right_vert_1", KEYPAD_ROW4_RVERT_SEP1_L, KEYPAD_ROW4_RVERT_SEP1_R, KEYPAD_ROW4_RVERT_SEP1_T, KEYPAD_ROW4_RVERT_SEP1_B) SEPARATOR_LINE_2("row4_right_vert_2", KEYPAD_ROW4_RVERT_SEP2_L, KEYPAD_ROW4_RVERT_SEP2_R, KEYPAD_ROW4_RVERT_SEP2_T, KEYPAD_ROW4_RVERT_SEP2_B) } } group{ name: "keypad"; parts { part { name: "background"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; } } part { name: "keypad/area"; type: SWALLOW; scale: 1; description { state: "default" 0.0; visible: 0; rel1 { relative: 0 1; to: "background"; } rel2 { relative: 1 1; to: "background"; } } description { state: "show" 0.0; visible: 1; rel1 { relative: 0 0; to: "background"; } rel2 { relative: 1 1; to: "background"; } } description { state: "hide" 0.0; inherit: "default" 0.0; } } part { name: "textblock/bg"; type: IMAGE; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1 { relative: KEYPAD_ENTRY_TEXT_L KEYPAD_ENTRY_TEXT_T; to: "keypad/area"; } rel2 { relative: KEYPAD_ENTRY_TEXT_R KEYPAD_ENTRY_TEXT_B; to: "keypad/area"; } color: 255 255 255 179; image { normal: IMG_SRC_DIR/"vc_keypad_btn_normal.png"; border: 9 9 9 9; border_scale: 1; } } } part { name: "textblock/textarea"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; align: 0.5 0.5; rel1 { relative: 0.04 0.0; to: "textblock/bg"; } rel2 { relative: 1.0 1.0; to: "textblock/bg"; } } description { state: "show" 0.0; inherit: "default" 0.0; } description { state: "hide" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "keypad_btns/bg"; type: IMAGE; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1 { relative: KEYPAD_BTNS_BG_L KEYPAD_BTNS_BG_T; to: "keypad/area"; } rel2 { relative: KEYPAD_BTNS_BG_R KEYPAD_BTNS_BG_B; to: "keypad/area"; } color: 255 255 255 179; image { normal: IMG_SRC_DIR/"vc_keypad_btn_normal.png"; border: 9 9 9 9; border_scale: 1; } } } part { name: "separator/bg"; type: SWALLOW; scale: 1; description { state: "default" 0.0; visible: 0; rel1 { relative: 0 0; to: "keypad_btns/bg"; } rel2 { relative: 1 1; to: "keypad_btns/bg"; } } description { state: "show" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "hide" 0.0; inherit: "default" 0.0; visible: 0; } } PART_KEYPAD_CUSTOM_ONELABEL_ONEICON("1", KEYPAD_COL1_BTN_L_PAD, KEYPAD_ROW1_BTN_T_PAD, IMG_SRC_DIR/"vc_keypad_btn_icon.png", RIGHT_ICON_WIDTH, RIGHT_ICON_HEIGHT, "1", KEYPAD_BTN_TXT_REGION_HEIGHT) PART_KEYPAD_CUSTOM_TWO_LABLE("2", KEYPAD_COL2_BTN_L_PAD, KEYPAD_ROW1_BTN_T_PAD, "2", KEYPAD_BTN_TXT_REGION_HEIGHT, "ABC", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("3", KEYPAD_COL3_BTN_L_PAD, KEYPAD_ROW1_BTN_T_PAD, "3", KEYPAD_BTN_TXT_REGION_HEIGHT, "DEF", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("4", KEYPAD_COL1_BTN_L_PAD, KEYPAD_ROW2_BTN_T_PAD, "4", KEYPAD_BTN_TXT_REGION_HEIGHT, "GHI", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("5", KEYPAD_COL2_BTN_L_PAD, KEYPAD_ROW2_BTN_T_PAD, "5", KEYPAD_BTN_TXT_REGION_HEIGHT, "JKL", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("6", KEYPAD_COL3_BTN_L_PAD, KEYPAD_ROW2_BTN_T_PAD, "6", KEYPAD_BTN_TXT_REGION_HEIGHT, "MNO", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("7", KEYPAD_COL1_BTN_L_PAD, KEYPAD_ROW3_BTN_T_PAD, "7", KEYPAD_BTN_TXT_REGION_HEIGHT, "PQRS", 32, KEYPAD_BTN_RIGHT_TXT_TYPE2_L) PART_KEYPAD_CUSTOM_TWO_LABLE("8", KEYPAD_COL2_BTN_L_PAD, KEYPAD_ROW3_BTN_T_PAD, "8", KEYPAD_BTN_TXT_REGION_HEIGHT, "TUV", 32, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("9", KEYPAD_COL3_BTN_L_PAD, KEYPAD_ROW3_BTN_T_PAD, "9", KEYPAD_BTN_TXT_REGION_HEIGHT, "WXYZ", 32, KEYPAD_BTN_RIGHT_TXT_TYPE2_L) PART_KEYPAD_CUSTOM_TWO_LABLE("star", KEYPAD_COL1_BTN_L_PAD, KEYPAD_ROW4_BTN_T_PAD, "*", KEYPAD_BTN_TXT_REGION_HEIGHT, "", 64, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("0", KEYPAD_COL2_BTN_L_PAD, KEYPAD_ROW4_BTN_T_PAD, "0", KEYPAD_BTN_TXT_REGION_HEIGHT, "", 64, KEYPAD_BTN_RIGHT_TXT_TYPE1_L) PART_KEYPAD_CUSTOM_TWO_LABLE("sharp", KEYPAD_COL3_BTN_L_PAD, KEYPAD_ROW4_BTN_T_PAD, "#", KEYPAD_BTN_TXT_REGION_HEIGHT, "", 64, KEYPAD_BTN_RIGHT_TXT_TYPE2_L) } programs{ program { name: "show_keypadbtn"; signal: "SHOW"; source: "KEYPADBTN"; action: STATE_SET "show" 0.0; transition: LINEAR 0.5; target: "keypad/area"; after: "show_keypadbtn_next"; } program { name: "show_keypadbtn_next"; action: STATE_SET "show" 0.0; target: "textblock/textarea"; target: "separator/bg"; } program { name: "hide_keypadbtn"; signal: "HIDE"; source: "KEYPADBTN"; action: STATE_SET "hide" 0.0; target: "textblock/textarea"; target: "separator/bg"; after: "hide_keypadbtn_next"; } program { name: "hide_keypadbtn_next"; action: STATE_SET "hide" 0.0; transition: ACCELERATE 0.5; target: "keypad/area"; after: "hide_keypadbtn_done"; } program { name: "hide_keypadbtn_done"; action: SIGNAL_EMIT "DONE" "HIDEKEYPAD"; } PROG_KEYPAD("1") PROG_KEYPAD("2") PROG_KEYPAD("3") PROG_KEYPAD("4") PROG_KEYPAD("5") PROG_KEYPAD("6") PROG_KEYPAD("7") PROG_KEYPAD("8") PROG_KEYPAD("9") PROG_KEYPAD("star") PROG_KEYPAD("0") PROG_KEYPAD("sharp") } }