#define CAL_SPIN(_sufix, _signal_sufix, _text, _relative)\ part { name: "left_bt"#_sufix;\ mouse_events: 1;\ description { state: "default" 0.0;\ rel1 { to: #_relative;\ offset: 2 2;\ }\ rel2 { to: #_relative;\ offset: -3 -3;\ }\ align: 0.0 0.5;\ min: 24 24;\ max: 24 24;\ fixed: 1 1;\ image {\ normal: "bt_base1.png";\ border: 6 6 6 6;\ }\ fill.smooth : 0;\ }\ description { state: "clicked" 0.0;\ inherit: "default" 0.0;\ image.normal: "bt_base1.png";\ image.middle: SOLID;\ }\ }\ part { name: "left_bt"#_sufix"_over1";\ mouse_events: 0;\ description { state: "default" 0.0;\ rel1.to: "left_bt"#_sufix;\ rel2 { to: "left_bt"#_sufix;\ relative: 1.0 0.5;\ }\ image {\ normal: "bt_hilight.png";\ border: 7 7 7 0;\ }\ }\ }\ part { name: "left_bt"#_sufix"_over2";\ mouse_events: 1;\ repeat_events: 1;\ description { state: "default" 0.0;\ rel1.to: "left_bt"#_sufix;\ rel2.to: "left_bt"#_sufix;\ image {\ normal: "bt_shine.png";\ border: 7 7 7 7;\ }\ }\ }\ part { name: "left_bt"#_sufix"_over3";\ mouse_events: 1;\ repeat_events: 1;\ description { state: "default" 0.0;\ color: 255 255 255 0;\ rel1.to: "left_bt"#_sufix;\ rel2.to: "left_bt"#_sufix;\ image {\ normal: "bt_glow.png";\ border: 12 12 12 12;\ }\ fill.smooth : 0;\ }\ description { state: "clicked" 0.0;\ inherit: "default" 0.0;\ visible: 1;\ color: 255 255 255 255;\ }\ } \ part { name: "left_bt"#_sufix"_icon";\ repeat_events: 1;\ description { state: "default" 0.0;\ rel1.to: "left_bt"#_sufix;\ rel2.to: "left_bt"#_sufix;\ align: 0.5 0.5;\ min: 16 16;\ max: 16 16;\ image.normal: "sp_bt_l.png";\ }\ description { state: "rtl" 0.0;\ inherit: "default" 0.0;\ image.normal: "sp_bt_r.png";\ }\ }\ part { name: "right_bt"#_sufix;\ mouse_events: 1;\ description { state: "default" 0.0;\ rel1 { to: #_relative;\ offset: -27 2;\ }\ rel2 { to: #_relative;\ offset: -3 -3;\ }\ align: 1.0 0.5;\ min: 24 24;\ max: 24 24;\ fixed: 1 1;\ image {\ normal: "bt_base1.png";\ border: 5 5 4 12;\ }\ fill.smooth : 0;\ }\ description { state: "clicked" 0.0;\ inherit: "default" 0.0;\ image.normal: "bt_base1.png";\ image.middle: SOLID;\ }\ }\ part { name: "right_bt"#_sufix"_over1";\ mouse_events: 0;\ description { state: "default" 0.0;\ rel1.to: "right_bt"#_sufix;\ rel2 { to: "right_bt"#_sufix;\ relative: 1.0 0.5;\ }\ image {\ normal: "bt_hilight.png";\ border: 7 7 7 0;\ }\ }\ }\ part { name: "right_bt"#_sufix"_over2";\ mouse_events: 1;\ repeat_events: 1;\ description { state: "default" 0.0;\ rel1.to: "right_bt"#_sufix;\ rel2.to: "right_bt"#_sufix;\ image {\ normal: "bt_shine.png";\ border: 7 7 7 7;\ }\ }\ }\ part { name: "right_bt"#_sufix"_over3";\ mouse_events: 1;\ repeat_events: 1;\ description { state: "default" 0.0;\ color: 255 255 255 0;\ rel1.to: "right_bt"#_sufix;\ rel2.to: "right_bt"#_sufix;\ image {\ normal: "bt_glow.png";\ border: 12 12 12 12;\ }\ fill.smooth : 0;\ }\ description { state: "clicked" 0.0;\ inherit: "default" 0.0;\ visible: 1;\ color: 255 255 255 255;\ }\ }\ part { name: "right_bt"#_sufix"_icon";\ repeat_events: 1;\ description { state: "default" 0.0;\ rel1.to: "right_bt"#_sufix;\ rel2.to: "right_bt"#_sufix;\ align: 0.5 0.5;\ min: 16 16;\ max: 16 16;\ image.normal: "sp_bt_r.png";\ }\ description { state: "rtl" 0.0;\ inherit: "default" 0.0;\ image.normal: "sp_bt_l.png";\ }\ }\ part { name: #_text;\ type: TEXT;\ mouse_events: 0;\ scale: 1;\ description { state: "default" 0.0;\ align: 0 0.5;\ fixed: 1 1;\ rel1 { relative: 1.0 0.0;\ offset: 3 2;\ to: "left_bt"#_sufix;\ to_y: #_relative;\ }\ rel2 { relative: 0.0 1.0;\ offset: -3 -2;\ to_x: "right_bt"#_sufix;\ to_y: #_relative;\ }\ color: 0 0 0 255;\ text {\ font: "Sans,Edje-Vera";\ size: 12;\ min: 1 1;\ align: 0.5 0.5;\ }\ }\ }\ programs {\ program { name: "dec_"#_sufix"_start";\ signal: "mouse,down,1";\ source: "left_bt"#_sufix;\ action: SIGNAL_EMIT "elm,action,decrement,start"#_signal_sufix "";\ }\ program { name: "dec_"#_sufix"_stop";\ signal: "mouse,up,1";\ source: "left_bt"#_sufix;\ action: SIGNAL_EMIT "elm,action,stop"#_signal_sufix ""; \ }\ program {\ name: "left_bt"#_sufix"_click";\ signal: "mouse,down,1";\ source: "left_bt"#_sufix"_over2";\ action: STATE_SET "clicked" 0.0;\ target: "left_bt"#_sufix;\ }\ program {\ name: "left_bt"#_sufix"_unclick";\ signal: "mouse,up,1";\ source: "left_bt"#_sufix"over2";\ action: STATE_SET "default" 0.0;\ target: "left_bt"#_sufix;\ }\ program {\ name: "left_bt"#_sufix"_click2";\ signal: "mouse,down,1";\ source: "left_bt"#_sufix"_over3";\ action: STATE_SET "clicked" 0.0;\ target: "left_bt"#_sufix"_over3";\ }\ program {\ name: "left_bt"#_sufix"_unclick2";\ signal: "mouse,up,1";\ source: "left_bt"#_sufix"_over3";\ action: STATE_SET "default" 0.0;\ transition: DECELERATE 0.5;\ target: "left_bt"#_sufix"_over3";\ }\ program { name: "inc_"#_sufix"_start";\ signal: "mouse,down,1";\ source: "right_bt"#_sufix;\ action: SIGNAL_EMIT "elm,action,increment,start"#_signal_sufix "";\ }\ program { name: "inc_"#_sufix"_stop";\ signal: "mouse,up,1";\ source: "right_bt"#_sufix;\ action: SIGNAL_EMIT "elm,action,stop"#_signal_sufix ""; \ }\ program {\ name: "right_bt"#_sufix"_click";\ signal: "mouse,down,1";\ source: "right_bt"#_sufix"_over2";\ action: STATE_SET "clicked" 0.0;\ target: "right_bt"#_sufix;\ }\ program {\ name: "right_bt"#_sufix"_unclick";\ signal: "mouse,up,1";\ source: "right_bt"#_sufix"_over2";\ action: STATE_SET "default" 0.0;\ target: "right_bt"#_sufix;\ }\ program {\ name: "right_bt"#_sufix"_click2";\ signal: "mouse,down,1";\ source: "right_bt"#_sufix"_over3";\ action: STATE_SET "clicked" 0.0;\ target: "right_bt"#_sufix"_over3";\ }\ program {\ name: "right_bt"#_sufix"_unclick2";\ signal: "mouse,up,1";\ source: "right_bt"#_sufix"_over3";\ action: STATE_SET "default" 0.0;\ transition: DECELERATE 0.5;\ target: "right_bt"#_sufix"_over3";\ }\ program { name: "to_rtl_"#_sufix;\ signal: "edje,state,rtl";\ source: "edje";\ action: STATE_SET "rtl" 0.0;\ target: "left_bt"#_sufix"_icon";\ target: "right_bt"#_sufix"_icon";\ }\ program { name: "to_ltr_"#_sufix;\ signal: "edje,state,ltr";\ source: "edje";\ action: STATE_SET "default" 0.0;\ target: "left_bt"#_sufix"_icon";\ target: "right_bt"#_sufix"_icon";\ }\ } #define CH(_pos) \ part { name: "ch_"#_pos".base"; \ type: RECT; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 * 7 / 8 / 6) 0; \ to: "header"; \ } \ rel2 { \ relative: (_pos % 7 * 7 / 8 / 6 + 1 / 8) 1; \ to: "header"; \ } \ color: 0 0 0 0; \ visible: 0; \ } \ } \ part { name: "ch_"#_pos".text"; \ type: TEXT; \ effect: SOFT_SHADOW; \ mouse_events: 0; \ scale: 1; \ clip_to: "ch_"#_pos".clipper"; \ description { \ state: "default" 0.0; \ rel1.to: "ch_"#_pos".base"; \ rel2.to: "ch_"#_pos".base"; \ color: 0 0 0 255; \ color3: 0 0 0 0; \ text { \ font: "Sans"; \ size: 10; \ min: 1 1; \ align: 0.5 0.5; \ } \ } \ } \ part { name: "ch_"#_pos".clipper"; \ type: RECT; \ description { state: "default" 0.0; \ rel1.to: "ch_"#_pos".base"; \ rel2.to: "ch_"#_pos".base"; \ } \ } #define CIT(_pos) \ part { name: "cit_"#_pos".rect"; \ type: RECT; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 * 7 / 8 / 6) \ (_pos / 8 / 5 - _pos % 7 / 8 / 5); \ to: "base"; \ } \ rel2 { \ relative: (_pos % 7 * 7 / 8 / 6 + 1 / 8) \ (_pos / 8 / 5 - _pos % 7 / 8 / 5 + 1 / 8); \ to: "base"; \ } \ color: 0 0 0 0; \ visible: 0; \ } \ } \ part { \ name: "cit_"#_pos".event"; \ type: RECT; \ repeat_events: 1; \ description { \ rel1.to: "cit_"#_pos".rect"; \ rel2.to: "cit_"#_pos".rect"; \ state: "default" 0.0; \ color: 0 0 0 0; \ } \ } \ part { name: "cit_"#_pos".shelf"; \ type: RECT; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1 { \ to: "cit_"#_pos".bg"; \ offset: -1 -1; \ } \ rel2 { \ to: "cit_"#_pos".bg"; \ } \ color: 200 200 200 255; \ } \ } \ part { name: "cit_"#_pos".hd"; \ type: RECT; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1 { \ to: "cit_"#_pos".bg"; \ offset: -1 -1; \ } \ rel2 { \ to: "cit_"#_pos".bg"; \ } \ visible: 0; \ color: 160 0 0 255; \ } \ description { state: "visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ part { \ name: "cit_"#_pos".base_sh"; \ mouse_events: 0; \ description { \ state: "default" 0.0; \ align: 0.0 0.0; \ min: 0 1; \ rel1 { \ to: "cit_"#_pos".base"; \ relative: 0.0 1.0; \ offset: 0 0; \ } \ rel2 { \ to: "cit_"#_pos".base"; \ relative: 1.0 1.05; \ offset: -1 0; \ } \ image { \ normal: "ilist_item_shadow.png"; \ } \ fill.smooth: 0; \ } \ } \ part { \ name: "cit_"#_pos".base"; \ mouse_events: 0; \ description { \ state: "default" 0.0; \ rel1.to: "cit_"#_pos".rect"; \ rel2.to: "cit_"#_pos".rect"; \ rel2.offset: -1 -1; \ image { \ normal: "ilist_1.png"; \ border: 2 2 2 2; \ } \ fill.smooth: 0; \ } \ description { \ state: "today" 0.0; \ inherit: "default" 0.0; \ image.normal: "ilist_2.png"; \ color: 240 240 240 255; \ } \ } \ part { name: "cit_"#_pos".bg"; \ mouse_events: 0; \ description { state: "default" 0.0; \ visible: 0; \ color: 255 255 255 0; \ rel1 { \ to: "cit_"#_pos".rect"; \ relative: 0.0 0.0; \ } \ rel2 { \ to: "cit_"#_pos".rect"; \ relative: 1.0 1.0; \ offset: -1 -1; \ } \ image { \ normal: "bt_sm_base1.png"; \ border: 6 6 6 6; \ } \ image.middle: SOLID; \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ color: 255 255 255 255; \ } \ } \ part { name: "cit_"#_pos".text"; \ type: TEXT; \ effect: SOFT_SHADOW; \ mouse_events: 0; \ scale: 1; \ description { \ state: "default" 0.0; \ rel1.to: "cit_"#_pos".bg"; \ rel2.to: "cit_"#_pos".bg"; \ color: 0 0 0 255; \ color3: 0 0 0 0; \ text { \ font: "Sans"; \ size: 10; \ min: 1 1; \ align: 0.5 0.5; \ } \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ color: 224 224 224 255; \ color3: 0 0 0 64; \ } \ } \ part { name: "cit_"#_pos".fg1"; \ mouse_events: 0; \ description { state: "default" 0.0; \ visible: 0; \ color: 255 255 255 0; \ rel1.to: "cit_"#_pos".bg"; \ rel2.relative: 1.0 0.5; \ rel2.to: "cit_"#_pos".bg"; \ image { \ normal: "bt_sm_hilight.png"; \ border: 6 6 6 0; \ } \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ color: 255 255 255 255; \ } \ } \ part { name: "cit_"#_pos".fg2"; \ mouse_events: 0; \ description { state: "default" 0.0; \ visible: 0; \ color: 255 255 255 0; \ rel1.to: "cit_"#_pos".bg"; \ rel2.to: "cit_"#_pos".bg"; \ image { \ normal: "bt_sm_shine.png"; \ border: 6 6 6 0; \ } \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ color: 255 255 255 255; \ } \ } \ part { name: "cit_"#_pos".check"; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1 { \ to: "cit_"#_pos".bg"; \ relative: 0.7 0.6; \ offset: 1 1; \ } \ rel2 { \ to: "cit_"#_pos".bg"; \ relative: 1.1 1.2; \ offset: -2 -2; \ } \ aspect: 1 1; \ visible: 0; \ color: 255 0 0 255; \ image.normal: "check.png"; \ } \ description { state: "visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ part { name: "cit_"#_pos".access"; \ type: RECT; \ repeat_events: 1; \ description { state: "default" 0.0; \ rel1.to: "cit_"#_pos".event"; \ rel2.to: "cit_"#_pos".event"; \ visible: 1; \ color: 0 0 0 0; \ } \ } \ programs { \ program { \ name: "cit_"#_pos".go_active"; \ signal: "cit_"#_pos",selected"; \ source: "elm"; \ action: STATE_SET "selected" 0.0; \ target: "cit_"#_pos".bg"; \ target: "cit_"#_pos".fg1"; \ target: "cit_"#_pos".fg2"; \ target: "cit_"#_pos".text"; \ } \ program { \ name: "cit_"#_pos".go_passive"; \ signal: "cit_"#_pos",unselected"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "cit_"#_pos".bg"; \ target: "cit_"#_pos".fg1"; \ target: "cit_"#_pos".fg2"; \ target: "cit_"#_pos".text"; \ } \ program { \ name: "cit_"#_pos".is_today"; \ signal: "cit_"#_pos",today"; \ source: "elm"; \ action: STATE_SET "today" 0.0; \ target: "cit_"#_pos".base"; \ } \ program { \ name: "cit_"#_pos".not_today"; \ signal: "cit_"#_pos",not_today"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "cit_"#_pos".base"; \ } \ program { \ source: "cit_"#_pos".clicked"; \ signal: "mouse,clicked,1"; \ source: "cit_"#_pos".event"; \ action: SIGNAL_EMIT "elm,action,selected" #_pos; \ } \ program { \ name: "cit_"#_pos".clear"; \ signal: "cit_"#_pos",clear"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "cit_"#_pos".check"; \ target: "cit_"#_pos".hd"; \ } \ program { \ name: "cit_"#_pos".checked"; \ signal: "cit_"#_pos",checked"; \ source: "elm"; \ action: STATE_SET "visible" 0.0; \ target: "cit_"#_pos".check"; \ } \ program { \ name: "cit_"#_pos".holiday"; \ signal: "cit_"#_pos",holiday"; \ source: "elm"; \ action: STATE_SET "visible" 0.0; \ target: "cit_"#_pos".hd"; \ } \ } group { name: "elm/calendar/base/default"; images { image: "shelf_inset.png" COMP; image: "bt_base1.png" COMP; image: "bt_hilight.png" COMP; image: "bt_shine.png" COMP; image: "bt_glow.png" COMP; image: "bt_dis_base.png" COMP; image: "bt_dis_hilight.png" COMP; image: "sp_bt_l.png" COMP; image: "sp_bt_r.png" COMP; image: "bt_sm_base1.png" COMP; image: "bt_sm_shine.png" COMP; image: "bt_sm_hilight.png" COMP; image: "ilist_1.png" COMP; image: "ilist_2.png" COMP; image: "ilist_item_shadow.png" COMP; image: "check.png" COMP; } parts { part { name: "bg"; type: RECT; description { state: "default" 0.0; min: 0 30; rel1.offset: 1 1; rel2.offset: -2 -2; color: 255 255 255 0; align: 0.0 0.5; } } part { name: "spinner-base1"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 24 24; max: 999999 24; rel1.to: "bg"; rel1.offset: 6 6; rel2.to: "bg"; rel2.relative: 1.0 1.0; rel2.offset: -7 -7; color: 255 255 255 0; align: 0.0 0.0; } } part { name: "conf_over_spinner1"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "spinner-base1"; rel1.offset: -3 -3; rel2.to: "spinner-base1"; rel2.offset: 2 2; image { normal: "shelf_inset.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; } } part { name: "table-base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 256 220; rel1.to_x: "bg"; rel1.to_y: "spinner-base1"; rel1.offset: 6 6; rel1.relative: 0 1; rel2.to: "bg"; rel2.offset: -7 -7; color: 255 255 255 0; } } part { name: "conf_over_table"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "table-base"; rel1.offset: -3 -3; rel2.to: "table-base"; rel2.offset: 2 2; image { normal: "shelf_inset.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; } } part { name: "header"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "table-base"; rel1.relative: 0 0; rel2.to: "table-base"; rel2.relative: 1 0.1; color: 255 255 255 0; } } part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to_x: "table-base"; rel1.to_y: "header"; rel1.relative: 0 1; rel1.offset: 3 0; rel2.to: "table-base"; rel2.offset: -3 0; color: 255 255 255 0; } } CAL_SPIN(,,month_text, spinner-base1) CH(0) CH(1) CH(2) CH(3) CH(4) CH(5) CH(6) CIT(0) CIT(1) CIT(2) CIT(3) CIT(4) CIT(5) CIT(6) CIT(7) CIT(8) CIT(9) CIT(10) CIT(11) CIT(12) CIT(13) CIT(14) CIT(15) CIT(16) CIT(17) CIT(18) CIT(19) CIT(20) CIT(21) CIT(22) CIT(23) CIT(24) CIT(25) CIT(26) CIT(27) CIT(28) CIT(29) CIT(30) CIT(31) CIT(32) CIT(33) CIT(34) CIT(35) CIT(36) CIT(37) CIT(38) CIT(39) CIT(40) CIT(41) } } group { name: "elm/calendar/base/double_spinners"; inherit: "elm/calendar/base/default"; parts { part { name: "spinner-base1"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 24 24; max: 999999 24; rel1.to: "bg"; rel1.offset: 6 6; rel2.to: "bg"; rel2.relative: 0.5 1.0; rel2.offset: -7 -7; color: 255 255 255 0; align: 0.0 0.0; } } part { name: "conf_over_spinner1"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "spinner-base1"; rel1.offset: -3 -3; rel2.to: "spinner-base1"; rel2.offset: 2 2; image { normal: "shelf_inset.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; } } part { name: "spinner-base2"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 24 24; max: 999999 24; rel1.to_x: "spinner-base1"; rel1.to_y: "bg"; rel1.relative: 1.0 0; rel1.offset: 6 6; rel2.to: "bg"; rel2.offset: -7 -7; color: 255 255 255 0; align: 0.0 0.0; } } part { name: "conf_over_spinner2"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "spinner-base2"; rel1.offset: -2 -2; rel2.to: "spinner-base2"; rel2.offset: 2 2; image { normal: "shelf_inset.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; } } CAL_SPIN(,,month_text, spinner-base1) CAL_SPIN(_year, year, year_text, spinner-base2) } } #undef CAL_SPIN #undef CIT #undef CH