#define POPUP_ITEM_STATE_ENABLED 0 #define POPUP_ITEM_STATE_DISABLED 1 /*popup widget specific notify style style*/ group { name: "elm/notify/block_events/popup"; parts { part { name: "block_events"; type: RECT; description { state: "default" 0.0; color: 61 59 56 180; } } } programs { program { name: "block_clicked"; signal: "mouse,clicked,1"; source: "block_events"; action: SIGNAL_EMIT "elm,action,click" "elm"; } } } group { name: "elm/notify/block_events/transparent"; parts { part { name: "block_events"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "clicked" 0.0; color: 0 0 0 50; } } } programs { program { name: "block_clicked"; signal: "mouse,clicked,1"; source: "block_events"; action: SIGNAL_EMIT "elm,action,click" "elm"; after: "deeper_block_color"; } program { name: "deeper_block_color"; action: STATE_SET "clicked" 0.0; target: "block_events"; transition: LINEAR 0.2; after: "default_block_color"; } program { name: "default_block_color"; action: STATE_SET "default" 0.0; target: "block_events"; transition: LINEAR 0.2; } } } group { name: "elm/label/base/popup/default"; styles { style { name: "popup_desc_style"; base: "font=Sans font_size=10 align=center color=#000000 text_class=label"; tag: "br" "\n"; tag: "ps" "ps"; tag: "whitecolor" "+ color=#ffffff"; tag: "tab" "\t"; } } parts { part { name: "left_top_padding"; type: RECT; scale: 1; description { state: "default" 0.0; fixed: 1 1; visible: 0; align: 0.0 0.0; min: 10 0; rel2.relative: 0 0; } } part { name: "right_bottom_padding"; type: RECT; scale: 1; description { state: "default" 0.0; fixed: 1 1; visible: 0; align: 1.0 1.0; min: 10 0; rel1.relative: 1 1; } } part { name: "elm.text"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 380 0; text { style: "popup_desc_style"; min: 0 1; max: 0 1; } rel1 { relative: 1.0 1.0; to: left_top_padding; } rel2 { relative: 0.0 0.0; to: right_bottom_padding; } } } } } group { name: "elm/popup/base/default"; styles { style { name: "popup_title_style"; base: "font=Sans font_size=15 align=center color=#ffffff wrap=mixed ellipsis=1.0"; tag: "br" "\n"; tag: "tab" "\t"; } } parts { part { name: "base"; type: RECT; scale : 1; description { state: "default" 0.0; min: 400 0; color: 237 237 237 255; align: 0.0 0.0; } } part { name: "elm.bg.title"; type: RECT; scale : 1; description { state: "default" 0.0; min: 400 50; fixed : 1 1; align: 0.5 0.0; visible: 0; color: 172 172 172 255; rel1 { relative: 0.5 0.0; to: "base"; } rel2 { relative: 0.5 0.0; to: "base"; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "left_pad"; type: RECT; scale: 1; description { state: "default" 0.0; min: 10 0; max: 10 0; fixed: 1 1; align: 0.0 0.0; visible: 0; rel1.to: "elm.bg.title"; } } part { name: "right_pad"; type: RECT; scale: 1; description { state: "default" 0.0; min: 10 0; max: 10 0; fixed: 1 1; align: 1.0 1.0; visible: 0; rel2.to: "elm.bg.title"; } } part { name: "elm.swallow.title.icon"; type: SWALLOW; scale: 1; description { state: "default" 0.0; min: 48 48; max: 48 48; fixed: 1 1; align: 0.0 0.5; rel1 { to: "left_pad"; relative: 1.0 0.0; } rel2 { to: "right_pad"; relative: 0.0 1.0; } visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.text.title"; type: TEXTBLOCK; scale:1; description { state: "default" 0.0; fixed: 1 1; text { style: "popup_title_style"; min: 0 0; max: 0 1; } color: 255 255 255 255; visible:0; rel1 { relative: 1.0 0.0; to: "left_pad"; } rel2 { relative: 0.0 1.0; to: "right_pad"; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.content"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 400 0; fixed: 1 0; rel1 { relative: 0.5 0.0; to: "base"; } rel2 { relative: 0.5 1.0; to: "base"; } } description { state: "show_title_area" 0.0; inherit: "default" 0.0; rel1 { relative: 0.5 1.0; to: "elm.bg.title"; } } description { state: "show_action_area" 0.0; inherit: "default" 0.0; rel2 { relative: 0.5 0.0; to: "elm.bg.action_area"; } } description { state: "show_action_title_area" 0.0; inherit: "default" 0.0; rel1 { relative: 0.5 1.0; to: "elm.bg.title"; } rel2 { relative: 0.5 0.0; to: "elm.bg.action_area"; } } } part { name: "elm.bg.action_area"; type: RECT; scale : 1; description { state: "default" 0.0; min: 400 60; fixed : 1 1; align: 0.5 1.0; visible: 0; color: 183 183 183 255; rel1 { relative: 0.0 1.0; to: "base"; } rel2.to: "base"; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.action_area"; type: SWALLOW; scale : 1; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.bg.action_area"; rel2.to: "elm.bg.action_area"; } } } programs { program { name: show_title_icon; signal: "elm,state,title,icon,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.swallow.title.icon"; } program { name: hide_title_icon; signal: "elm,state,title,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.title.icon"; } program { name: show_title_text; signal: "elm,state,title,text,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.text.title"; } program { name: hide_title_text; signal: "elm,state,title,text,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.text.title"; } program { name: show_title_area; signal: "elm,state,title_area,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.action_area", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.swallow.content", "show_action_title_area", 0.0); else set_state(PART:"elm.swallow.content", "show_title_area", 0.0); set_state(PART:"elm.bg.title", "visible", 0.0); } } program { name: hide_title_area; signal: "elm,state,title_area,hidden"; source: "elm"; action: STATE_SET "default" 0.0; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.action_area", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.swallow.content", "show_action_area", 0.0); else set_state(PART:"elm.swallow.content", "default", 0.0); set_state(PART:"elm.bg.title", "default", 0.0); } } program { name: show_action_area; signal: "elm,state,action_area,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.bg.title", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.swallow.content", "show_action_title_area", 0.0); else set_state(PART:"elm.swallow.content", "show_action_area", 0.0); set_state(PART:"elm.bg.action_area", "visible", 0.0); } } program { name: hide_action_area; signal: "elm,state,action_area,hidden"; source: "elm"; action: STATE_SET "default" 0.0; script { new st[31]; new Float:vl; get_state(PART:"elm.bg.title", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.swallow.content", "show_title_area", 0.0); else set_state(PART:"elm.swallow.content", "default", 0.0); set_state(PART:"elm.bg.action_area", "default", 0.0); } } } /* end of programs */ } group { name: "elm/popup/content/default"; parts{ part { name: "pad_t"; type: RECT; scale : 1; mouse_events: 0; description { state: "default" 0.0; align: 0.5 0.0; min: 0 14; fixed: 0 1; visible: 0; rel1 { relative: 1.0 0.0; to_x: "pad_l"; } rel2 { relative: 0.0 0.0; to_x: "pad_r"; } } } part { name: "pad_l"; type: RECT; scale: 1; description { state: "default" 0.0; min : 10 0; fixed: 1 0; rel2.relative: 0.0 1.0; visible: 0; align: 0.0 0.0; } } part { name: "pad_r"; type: RECT; scale: 1; description { state: "default" 0.0; min : 10 0; fixed: 1 0; rel1.relative: 1.0 0.0; visible: 0; align: 1.0 0.0; } } part{ name:"elm.swallow.content"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 380 0; fixed: 1 0; rel1 { relative: 0.5 1.0; to: "pad_t"; } rel2 { relative: 0.5 0.0; to: "pad_b"; } } } part { name: "pad_b"; type: RECT; scale : 1; mouse_events: 0; description { state: "default" 0.0; align: 0.5 1.0; min: 0 14; fixed: 0 1; visible: 0; rel1 { relative: 0.0 1.0; to_x: "pad_l"; } rel2.to_x: "pad_r"; } } } } group { name: "elm/popup/item/default"; script { public item_state = POPUP_ITEM_STATE_ENABLED; } parts { part { name: "event_blocker"; type: RECT; description { state: "default" 0.0; min: 380 0; } } part { name: "bg"; mouse_events: 0; type: RECT; description { state: "default" 0.0; color: 240 240 240 255; min: 0 71; align: 0.5 0.0; } description { state: "clicked" 0.0; color: 190 170 150 255; } } part { name: "padding_left_top"; type: RECT; scale: 1; mouse_events: 0; description { state: "default" 0.0; align: 0.0 0.0; rel2.relative: 0.0 0.0; min: 10 10; fixed: 1 1; visible: 0; } } part { name: "padding_right_bottom"; type: RECT; scale: 1; mouse_events: 0; description { state: "default" 0.0; align: 1.0 1.0; rel1.relative: 1.0 1.0; min: 10 10; fixed: 1 1; visible: 0; } } part { name: "separator"; mouse_events: 0; type: RECT; scale: 1; description { state: "dafault" 0.0; color: 180 180 180 255; align: 0.5 1.0; min: 0 1; max: 999999 1; } } part { name: "padding_icon_text"; type: RECT; scale: 1; mouse_events: 0; description { state: "default" 0.0; //when only icon or no icon is there align: 0.0 0.0; rel1 { relative: 1.0 0.0; to: "elm.swallow.content"; } rel2.to: "elm.swallow.content"; fixed: 1 0; min: 0 0; visible: 0; } description { state: "visible" 0.0; //when icon is visible inherit: "default" 0.0; min: 10 0; } description { state: "icononly" 0.0; inherit: "default" 0.0; } } part { name: "elm.swallow.content"; type: SWALLOW; scale: 1; description { state: "default" 0.0; visible: 0; align: 0.0 0.5; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 1.0 0.0; to_x: "padding_left_top"; to_y: "padding_right_bottom"; } fixed: 1 0; } description { state: "visible" 0.0; fixed: 1 0; min: 40 40; max: 40 40; align: 0.0 0.5; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 1.0 0.0; to_x: "padding_left_top"; to_y: "padding_right_bottom"; } aspect: 1.0 1.0; aspect_preference: VERTICAL; } description { state: "icononly" 0.0; min: 40 40; max: 40 40; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 0.0 0.0; to: "padding_right_bottom"; } aspect: 1.0 1.0; aspect_preference: VERTICAL; } } part { name: "elm.text"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1 { relative: 1.0 1.0; to_x: "padding_icon_text"; to_y: "padding_left_top"; } rel2 { relative: 0.0 0.0; to:"padding_right_bottom"; } align: 0.0 0.5; color: 0 0 0 255; text { font: "Sans:style=Bold"; size: 20; min: 0 0; align: 0.0 0.5; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; min: 90 40; } description { state: "clicked" 0.0; inherit: "default" 0.0; visible: 1; min: 0 0; color: 255 255 255 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 128 128 128 255; } description { state: "disabled_visible" 0.0; inherit: "default" 0.0; color: 128 128 128 255; visible: 1; min: 90 40; } } part { name: "over1"; type: RECT; repeat_events: 1; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "over2"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "disclip"; type: RECT; description { state: "default" 0.0; visible: 0; } description { state: "disabled" 0.0; color: 87 87 87 128; } } } programs { program { name: "item_unclick"; signal: "mouse,up,1"; source: "over1"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "disable"; signal: "elm,state,item,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "disclip"; after: "disable_text"; } program { name: "enable"; signal: "elm,state,item,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disclip"; after: "enable_text"; } program { name: "item_click2"; signal: "mouse,down,1"; source: "over2"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.text", "clicked", 0.0); set_state(PART:"bg", "clicked", 0.0); } } program { name: "item_unclick2"; signal: "mouse,up,1"; source: "over2"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "clicked")) set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"bg", "default", 0.0); } } program { name: "disable_text"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); set_int(item_state, POPUP_ITEM_STATE_DISABLED); } } program { name: "enable_text"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "visible", 0.0); else set_state(PART:"elm.text", "default", 0.0); set_int(item_state, POPUP_ITEM_STATE_ENABLED); } } program { name: "text_show"; signal: "elm,state,item,text,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "icononly")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"padding_icon_text", "visible", 0.0); } if(get_int(item_state) != POPUP_ITEM_STATE_DISABLED) set_state(PART:"elm.text", "visible", 0.0); else set_state(PART:"elm.text", "disabled_visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,item,text,hidden"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"padding_icon_text", "icononly", 0.0); } set_state(PART:"elm.text", "default", 0.0); } } program { name: "icon_show"; signal: "elm,state,item,icon,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"padding_icon_text", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"padding_icon_text", "icononly", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,item,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; } } } group { name: "elm/popup/buttons1/default"; data.item: "action_area_height" "140"; parts{ part{ name:"actionbtn1"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 252 46; max: 252 46; fixed : 1 1; rel1.relative: 0.5 0.0; rel2.relative: 0.5 1.0; } } } } group { name: "elm/popup/buttons2/default"; data.item: "action_area_height" "140"; parts{ part{ name:"actionbtn1"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 172 46; max: 172 46; fixed : 1 1; align: 1.0 0.5; rel1.to: "elm.rect.pad_btn"; rel2 { relative: 0.0 1.0; to: "elm.rect.pad_btn"; } } } part { name: "elm.rect.pad_btn"; type: RECT; scale : 1; description { state: "default" 0.0; min: 6 46; max: 6 46; fixed : 1 1; visible: 0; rel1.relative: 0.5 0.0; rel2.relative: 0.5 1.0; } } part{ name:"actionbtn2"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 172 46; max: 172 46; fixed : 1 1; align: 0.0 0.5; rel1 { relative: 1.0 0.0; to: "elm.rect.pad_btn"; } rel2.to: "elm.rect.pad_btn"; } } } } group { name: "elm/popup/buttons3/default"; data.item: "action_area_height" "140"; parts{ part{ name:"actionbtn1"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 120 46; max: 120 46; fixed : 1 1; align: 1.0 0.5; rel1.to: "elm.rect.pad_btn"; rel2 { relative: 0.0 1.0; to: "elm.rect.pad_btn"; } } } part { name: "elm.rect.pad_btn"; type: RECT; scale : 1; description { state: "default" 0.0; min: 6 46; max: 6 46; fixed : 1 1; visible: 0; rel1.to: "actionbtn2"; rel2 { relative: 0.0 1.0; to: "actionbtn2"; } } } part{ name:"actionbtn2"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 120 46; max: 120 46; fixed : 1 1; rel1.relative: 0.5 0.0; rel2.relative: 0.5 1.0; } } part { name: "elm.rect.pad_btn2"; type: RECT; scale : 1; description { state: "default" 0.0; min: 6 46; max: 6 46; fixed : 1 1; visible: 0; rel1 { relative: 1.0 0.0; to: "actionbtn2"; } rel2.to: "actionbtn2"; } } part{ name:"actionbtn3"; type: SWALLOW; scale : 1; description { state: "default" 0.0; min: 120 46; max: 120 46; fixed : 1 1; align: 0.0 0.5; rel1 { relative: 1.0 0.0; to: "elm.rect.pad_btn2"; } rel2.to: "elm.rect.pad_btn2"; } } } } #undef POPUP_ITEM_STATE_ENABLED #undef POPUP_ITEM_STATE_DISABLED