#define DATETIME_FIELD(_pos) \ part { \ name: "field"#_pos; type: SWALLOW; \ scale: 1; \ clip_to: "clip"; \ description { state: "default" 0.0; \ visible: 0; \ min: 0 0; \ align: 0.0 0.5; \ fixed: 1 1; \ rel1.relative: 1.0 0.0; \ rel1.to: "separator"#_pos; \ rel2.relative: 1.0 1.0; \ rel2.to: "separator"#_pos; \ } \ description { state: "enable" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ min: 8 10; \ } \ } \ programs{ \ program { name: "field_"#_pos"enabled"; \ signal: "field"#_pos",enable"; source: "elm"; \ action: STATE_SET "enable" 0.0; \ target: "field"#_pos; \ } \ program { name: "field_"#_pos"disabled"; \ signal: "field"#_pos",disable"; source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "field"#_pos; \ } \ } #define DATETIME_SEPARATOR(_pos, _after) \ part { \ name: "separator"#_pos; type: TEXT; \ scale: 1; \ effect: SHADOW BOTTOM; \ clip_to: "disclip"; \ description { state: "default" 0.0; \ visible: 0; \ min: 0 0; \ align: 0.0 0.5; \ fixed: 1 0; \ rel1 { \ relative: 1.0 0.0; \ to: "field"#_after; \ } \ rel2 { \ relative: 1.0 1.0; \ to: "field"#_after; \ } \ color: FN_COL_DEFAULT; \ color_class: "datetime_text"; \ text { \ font: "Sans"; size: 10; \ min: 1 0; \ ellipsis: -1; \ align: 0.5 0.5; \ text_class: "datetime_text"; \ } \ } \ description { state: "enable" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ min: 8 10; \ } \ } \ part { \ name: "separator"#_pos"d"; type: TEXT; \ scale: 1; \ effect: SHADOW BOTTOM; \ clip_to: "disclip2"; \ description { state: "default" 0.0; \ visible: 0; \ rel1.to: "separator"#_pos; \ rel2.to: "separator"#_pos; \ color: FN_COL_DISABLE; \ color_class: "datetime_text"; \ text { \ text_source: "separator"#_pos; \ font: "Sans"; size: 10; \ text_class: "datetime_text"; \ } \ } \ description { state: "enable" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ programs { \ program { \ signal: "field"#_after",enable"; source: "elm"; \ action: STATE_SET "enable" 0.0; \ target: "separator"#_pos; \ target: "separator"#_pos"d"; \ } \ program { \ signal: "field"#_after",disable"; source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "separator"#_pos; \ target: "separator"#_pos"d"; \ } \ } group { name: "elm/datetime/base/default"; parts { part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "separator0"; rel2.to: "separator7"; } } part { name: "disclip"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "separator0"; rel2.to: "separator7"; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "disclip2"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "separator0"; rel2.to: "separator7"; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "separator0"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 8 10; align: 0.0 0.5; fixed: 1 0; rel2.relative: 0.0 1.0; } } DATETIME_FIELD(0) DATETIME_SEPARATOR(1,0) DATETIME_FIELD(1) DATETIME_SEPARATOR(2,1) DATETIME_FIELD(2) DATETIME_SEPARATOR(3,2) DATETIME_FIELD(3) DATETIME_SEPARATOR(4,3) DATETIME_FIELD(4) DATETIME_SEPARATOR(5,4) DATETIME_FIELD(5) DATETIME_SEPARATOR(6,5) part { name: "separator7"; type: SPACER; description { state: "default" 0.0; rel1.to: "separator6"; rel1.relative: 1.0 0.0; min: 8 10; } } part { name: "discover"; type: RECT; description { state: "default" 0.0; rel1.to: "separator0"; rel2.to: "separator7"; visible: 0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.access"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } } programs { program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "disclip"; target: "disclip2"; target: "discover"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disclip"; target: "disclip2"; target: "discover"; } } } #undef DATETIME_SEPARATOR #undef DATETIME_FIELD