#define ODD(_NAME, _SRC) \ group { name: _NAME; \ inherit: _SRC; \ parts { \ part { name: "base"; \ description { state: "default" 0.0; \ color: 56 56 56 255; \ color_class: "list_item_base_odd"; \ } \ } \ } \ } #define COMPRESS(_NAME, _SRC) \ group { name: _NAME; \ inherit: _SRC; \ parts { \ part { name: "elm.text"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ part { name: "label2"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ part { name: "label3"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ } \ } #define COMPRESS_ODD(_NAME, _SRC) \ group { name: _NAME; \ inherit: _SRC; \ parts { \ part { name: "elm.text"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ part { name: "label2"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ part { name: "label3"; \ description { state: "default" 0.0; \ text.min: 0 1; \ } \ description { state: "selected" 0.0; \ text.min: 0 1; \ } \ description { state: "disabled" 0.0; \ text.min: 0 1; \ } \ } \ part { name: "base"; \ description { state: "default" 0.0; \ color: 56 56 56 255; \ color_class: "list_item_base_odd"; \ } \ } \ } \ } group { name: "elm/list/item/default"; data.item: "selectraise" "on"; data.item: "focusraise" "on"; images.image: "bevel_curved_horiz_out.png" COMP; images.image: "shadow_rounded_horiz.png" COMP; images.image: "vgrad_med_dark.png" COMP; images.image: "bevel_horiz_out.png" COMP; images.image: "shine.png" COMP; parts { part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 64 64 64 255; color_class: "list_item_base"; } description { state: "odd" 0.0; color: 56 56 56 255; color_class: "list_item_base_odd"; } } program { signal: "elm,state,odd"; source: "elm"; action: STATE_SET "odd" 1.0; target: "base"; } program { signal: "elm,state,even"; source: "elm"; action: STATE_SET "default" 0.0; target: "base"; } part { name: "bevel"; mouse_events: 0; description { state: "default" 0.0; image.normal: "bevel_curved_horiz_out.png"; image.border: 0 0 2 2; image.middle: 0; fill.smooth: 0; } } part { name: "sel_shadow"; mouse_events: 0; description { state: "default" 0.0; image.normal: "shadow_rounded_horiz.png"; image.border: 0 0 9 9; rel1.offset: 0 -4; rel2.offset: -1 5; fill.smooth: 0; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "sel_base"; mouse_events: 0; description { state: "default" 0.0; image.normal: "vgrad_med_dark.png"; fill.smooth: 0; visible: 0; TILED_HORIZ(120) } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "sel_bevel"; mouse_events: 0; description { state: "default" 0.0; image.normal: "bevel_horiz_out.png"; image.border: 0 0 2 2; image.middle: 0; fill.smooth: 0; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "sel_shadow"; target: "sel_base"; target: "sel_bevel"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "sel_shadow"; target: "sel_base"; target: "sel_bevel"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "event"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "event"; } //##// part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; rel1.offset: 2 3; rel1.relative: 1.0 0.0; rel1.to_x: "elm.swallow.icon"; rel2.offset: -3 -3; rel2.relative: 0.0 1.0; rel2.to_x: "elm.swallow.end"; color: FN_COL_DEFAULT; color_class: "list_item"; text { font: FN; size: 10; min: 1 1; ellipsis: -1; align: 0.0 0.5; text_class: "list_item"; } } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "label2"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; rel1.to: "elm.text"; rel2.to: "elm.text"; color: FN_COL_DISABLE; color_class: "list_item_disabled"; text { font: FN; size: 10; text_source: "elm.text"; align: 0.0 0.5; text_class: "list_item"; } visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "label3"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default" 0.0; rel1.offset: -2 -3; rel1.to: "elm.text"; rel2.offset: 1 1; rel2.to: "elm.text"; color: FN_COL_HIGHLIGHT; color_class: "list_item_selected"; text { font: FN; size: 10; text_source: "elm.text"; align: 0.0 0.5; text_class: "list_item"; } visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } //##// part { name: "elm.swallow.icon"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; align: 0.0 0.5; aspect: 1.0 1.0; rel1.offset: 2 2; rel2.relative: 0.0 1.0; rel2.offset: 2 -3; } } part { name: "elm.swallow.end"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; align: 1.0 0.5; aspect: 1.0 1.0; rel1.offset: -3 2; rel1.relative: 1.0 0.0; rel2.offset: -3 -3; } } //##// part { name: "sel_shine"; mouse_events: 0; description { state: "default" 0.0; image.normal: "shine.png"; rel1.offset: 0 -2; rel1.to: "sel_base"; rel2.relative: 1.0 0.0; rel2.offset: -1 2; rel2.to: "sel_base"; visible: 0; FIXED_SIZE(69, 5) } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "event_block"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "sel_shine"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "sel_shine"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "event_block"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "event_block"; } } } ODD("elm/list/item_odd/default", "elm/list/item/default") COMPRESS("elm/list/item_compress/default", "elm/list/item/default") COMPRESS_ODD("elm/list/item_compress_odd/default", "elm/list/item/default") // XXX: DO: // elm/list/h_item/default // elm/list/h_item_odd/default // elm/list/h_item_compress/default // elm/list/h_item_compress_odd/default group { name: "elm/list/h_item/default"; data.item: "selectraise" "on"; data.item: "focusraise" "on"; images.image: "bevel_curved_vert_out.png" COMP; images.image: "shadow_rounded_vert.png" COMP; images.image: "vgrad_med_dark.png" COMP; images.image: "bevel_out.png" COMP; images.image: "shine.png" COMP; parts { part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 64 64 64 255; color_class: "list_item_base"; } description { state: "odd" 0.0; color: 56 56 56 255; color_class: "list_item_base_odd"; } } program { signal: "elm,state,odd"; source: "elm"; action: STATE_SET "odd" 1.0; target: "base"; } program { signal: "elm,state,even"; source: "elm"; action: STATE_SET "default" 0.0; target: "base"; } part { name: "bevel"; mouse_events: 0; description { state: "default" 0.0; image.normal: "bevel_curved_vert_out.png"; image.border: 2 2 0 0; image.middle: 0; fill.smooth: 0; } } part { name: "sel_shadow"; mouse_events: 0; description { state: "default" 0.0; image.normal: "shadow_rounded_vert.png"; image.border: 9 9 0 0; rel1.offset: -6 0; rel2.offset: 5 -1; fill.smooth: 0; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "sel_base"; mouse_events: 0; description { state: "default" 0.0; image.normal: "vgrad_med_dark.png"; fill.smooth: 0; visible: 0; TILED_HORIZ(120) } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "sel_bevel"; mouse_events: 0; description { state: "default" 0.0; image.normal: "bevel_out.png"; image.border: 2 2 2 2; image.middle: 0; fill.smooth: 0; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "sel_shadow"; target: "sel_base"; target: "sel_bevel"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "sel_shadow"; target: "sel_base"; target: "sel_bevel"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "event"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "event"; } //##// part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; rel1.offset: 2 2; rel1.relative: 0.0 1.0; rel1.to_y: "elm.swallow.icon"; rel2.offset: -3 -3; rel2.relative: 1.0 0.0; rel2.to_y: "elm.swallow.end"; color: FN_COL_DEFAULT; color_class: "list_item"; text { font: FN; size: 10; min: 1 1; ellipsis: -1; align: 0.5 0.5; text_class: "list_item"; } } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "label2"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; rel1.to: "elm.text"; rel2.to: "elm.text"; color: FN_COL_DISABLE; color_class: "list_item_disabled"; text { font: FN; size: 10; text_source: "elm.text"; align: 0.5 0.5; text_class: "list_item"; } visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "label3"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default" 0.0; rel1.offset: -2 -3; rel1.to: "elm.text"; rel2.offset: 1 1; rel2.to: "elm.text"; color: FN_COL_HIGHLIGHT; color_class: "list_item_selected"; text { font: FN; size: 10; text_source: "elm.text"; align: 0.5 0.5; text_class: "list_item"; } visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.text"; target: "label2"; target: "label3"; } //##// part { name: "elm.swallow.icon"; type: SWALLOW; description { state: "default" 0.0; fixed: 0 1; aspect: 1.0 1.0; align: 0.5 0.0; rel1.offset: 2 2; rel2.relative: 1.0 0.0; rel2.offset: -3 2; } } part { name: "elm.swallow.end"; type: SWALLOW; description { state: "default" 0.0; fixed: 0 1; aspect: 1.0 1.0; align: 0.5 1.0; rel1.offset: 2 -3; rel1.relative: 0.0 1.0; rel2.offset: -3 -3; } } //##// part { name: "sel_shine"; mouse_events: 0; description { state: "default" 0.0; image.normal: "shine.png"; rel1.offset: 0 -2; rel1.to: "sel_base"; rel2.relative: 1.0 0.0; rel2.offset: -1 2; rel2.to: "sel_base"; visible: 0; FIXED_SIZE(69, 5) } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "event_block"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "sel_shine"; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "sel_shine"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "event_block"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "event_block"; } } } ODD("elm/list/h_item_odd/default", "elm/list/h_item/default") COMPRESS("elm/list/h_item_compress/default", "elm/list/h_item/default") COMPRESS_ODD("elm/list/h_item_compress_odd/default", "elm/list/h_item/default") #undef ODD #undef COMPRESS #undef COMPRESS_ODD