#define BEAT_GENLIST_PART_BASE( param_item_height ) \ part { name: "base"; \ type: RECT; \ repeat_events: 1; \ scale: 1; \ description { state: "default" 0.0; \ min: 0 param_item_height; \ color: 0 0 0 0; \ } \ } #define BEAT_GENLIST_PART_BG_IMAGE \ part { name: "bg_image"; \ clip_to: "disclip"; \ mouse_events: 0; \ description { state: "default" 0.0; \ visible: 0; \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } #define BEAT_GENLIST_PART_BOTTOM_LINE \ part { name: "bottom_line"; \ type: RECT; \ clip_to: "disclip"; \ mouse_events: 0; \ description { state: "default" 0.0; \ min: 0 1; \ fixed: 0 1; \ visible: 1; \ color: 212 212 212 255; \ rel1 { \ relative: 0.0 1.0; \ offset: 0 -1; \ } \ } \ } #define BEAT_GENLIST_PART_PADDING_TOP( param_padding_size ) \ part { name: "elm.padding.top"; \ type: RECT; \ scale: 1; \ description { \ state: "default" 0.0; \ min: 0 param_padding_size; \ fixed: 0 1; \ visible: 0; \ rel2.relative: 1.0 0.0; \ align: 0.0 0.0; \ } \ } #define BEAT_GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \ part { name: "elm.padding.bottom"; \ type: RECT; \ scale: 1; \ description { \ state: "default" 0.0; \ min: 0 param_padding_size; \ fixed: 0 1; \ visible: 0; \ rel1.relative: 0.0 1.0; \ align: 0.0 1.0; \ } \ } #define BEAT_GENLIST_PART_PADDING_LEFT( param_padding_size ) \ part { name: "elm.padding.left"; \ type: RECT; \ scale: 1; \ description { \ state: "default" 0.0; \ min: param_padding_size 0; \ fixed: 1 0; \ visible: 0; \ rel2.relative: 0.0 1.0; \ align: 0.0 0.0; \ } \ } #define BEAT_GENLIST_PART_PADDING_RIGHT( param_padding_size ) \ part { name: "elm.padding.right"; \ type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ min: param_padding_size 0; \ fixed: 1 0; \ visible: 0; \ rel1.relative: 1.0 0.0; \ align: 1.0 0.0; \ } \ } #define BEAT_GENLIST_PART_DISCLIP \ part { name: "disclip"; \ type: RECT; \ description { state: "default" 0.0; \ rel1.to: "base"; \ rel2.to: "base"; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 64; \ } \ } collections { styles { style { name: "textblock_style_variable_height"; base: "font=SLP:style=Roman font_size=35 align=left color=#FFFFFF wrap=word text_class=list_item ellipsis=1.0"; tag: "br" "\n"; tag: "hilight" "+ font=SLP:style=Bold"; tag: "b" "+ font=SLP:style=Bold"; tag: "tab" "\t"; } } group { name: "elm/genlist/item/setting/variable_height/default"; alias: "elm/genlist/item_odd/setting/variable_height/default"; data.item: "stacking" "above"; data.item: "selectraise" "on"; data.item: "texts" "elm.text"; data.item: "contents" "elm.icon elm.label"; data.item: "treesize" "20"; parts { BEAT_GENLIST_PART_BASE( 0 ) BEAT_GENLIST_PART_BG_IMAGE BEAT_GENLIST_PART_PADDING_LEFT( 15 ) BEAT_GENLIST_PART_PADDING_RIGHT( 15 ) BEAT_GENLIST_PART_PADDING_TOP( 10 ) BEAT_GENLIST_PART_PADDING_BOTTOM( 10 ) part { name: "elm.text"; clip_to: "disclip"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; min: 0 0; fixed: 1 1; rel1 { relative: 1 1.0; to_x: "elm.padding.left"; to_y: "elm.padding.top"; } rel2 { relative: 1 0.0; to_x: "elm.padding.left"; to_y: "elm.padding.bottom"; } text { style: textblock_style_variable_height; min: 1 1; align: 0 0.5; } } } part { name: "elm.icon"; clip_to: "disclip"; type: SWALLOW; mouse_events: 1; scale: 1; description { state: "default" 0.0; align: 0.5 0.5; rel1 { relative: 1 1; to_x: "elm.padding.left"; to_y: "elm.padding.top"; } rel2 { relative: 0 0; to_x: "elm.padding.right"; to_y: "elm.padding.bottom"; } } } part { name: "elm.label"; clip_to: "disclip"; type: SWALLOW; mouse_events: 1; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; rel1 { relative: 1 1; to_x: "elm.padding.left"; to_y: "elm.padding.top"; } rel2 { relative: 1 0; to_x: "elm.padding.left"; to_y: "elm.padding.bottom"; } } } BEAT_GENLIST_PART_DISCLIP } programs { program { name: "go_active"; signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "bg_image"; } program { name: "go_passive"; signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "bg_image"; transition: LINEAR 0.1; } program { name: "go_disabled"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "disclip"; } program { name: "go_enabled"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disclip"; } } } }