rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=9087025ef052136eb3e5e8f460a2cb5c4881ac32
commit 9087025ef052136eb3e5e8f460a2cb5c4881ac32 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Jun 30 10:22:02 2016 +0300 Tizen theme: create style for entry context menu. --- data/themes/tizen/widgets/button.edc | 361 +++++++++++++++++++++++++++++++++++ data/themes/tizen/widgets/hover.edc | 348 +++++++++++++++++++++++++++++++++ 2 files changed, 709 insertions(+) diff --git a/data/themes/tizen/widgets/button.edc b/data/themes/tizen/widgets/button.edc index 1756cfb..accce4f 100644 --- a/data/themes/tizen/widgets/button.edc +++ b/data/themes/tizen/widgets/button.edc @@ -10,6 +10,7 @@ group { name: "elm/button/base/default"; alias: "elm/button/base/fileselector/actions/default"; alias: "elm/button/base/hoversel_vertical/fileselector/actions/default"; alias: "elm/button/base/colorselector/default"; + alias: "elm/button/base/hoversel_vertical_entry/default"; data { item: "focus_highlight" "on"; } @@ -398,6 +399,366 @@ group { name: "elm/button/base/default"; } } } +group { name: "elm/button/base/hoversel_vertical/entry"; + parts { + part { name: "base"; + type: RECT; + description {state: "default" 0.0; + color: 0 0 0 0; + } + } + } +} + +group { name: "elm/button/base/hoversel_vertical_entry/entry"; + data { + item: "focus_highlight" "on"; + } + parts { + part { name: "button_image"; + type: RECT; + description { state: "default" 0.0; + min: 84 22; + max: 84 22; + } + description { state: "focused" 0.0; + inherit: "default" 0.00; + color: 238 238 238 255; + } + description { state: "hovered" 0.0; + inherit: "default" 0.00; + color_class: "over"; + } + description { state: "clicked" 0.0; + inherit: "default" 0.00; + color_class: "text_tabs_selected"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.00; + color: 204 204 204 255; + } + description { state: "visible" 0.0; + inherit: "default" 0.00; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + align: 0.0 0.5; + fixed: 1 0; + rel1.offset: 4 4; + rel2 { + relative: 0.0 1.0; + offset: 3 -5; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.00; + visible: 1; + aspect: 1.0 1.0; + rel2.offset: 4 -5; + } + description { state: "icononly" 0.0; + inherit: "visible" 0.00; + align: 0.5 0.5; + fixed: 0 0; + aspect: 0.0 0.0; + rel2 { + relative: 1.0 1.0; + offset: -5 -5; + } + } + } + part { name: "elm.text"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + color_class: "genlist_text_tree"; + text { + font: FN; + size: 12; + align: 0 0.5; + } + rel1 { + relative: 1.0 0.0; + offset: 0 0; + to_x: "elm.swallow.content"; + } + rel2.offset: -5 -1; + } + description { state: "visible" 0.0; + inherit: "default" 0.00; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled" 0.0; + inherit: "default" 0.00; + color_class: "main_disabled"; + visible: 0; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.00; + color: 128 128 128 255; + text.ellipsis: -1; + } + } + part { name: "over2"; + type: RECT; + repeat_events: 1; + ignore_flags: "ON_HOLD"; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.00; + } + description { state: "disabled" 0.0; + inherit: "default" 0.00; + visible: 0; + } + } + part { name: "over3"; + type: RECT; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.00; + } + } + part { name: "disabler"; + type: RECT; + description { state: "default" 0.0; + visible: 0; + color: 0 0 0 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.00; + visible: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.00; + visible: 1; + } + } + part { name: "sizer.content"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + text { + font: FN; + size: 11; + text_class: "button"; + } + } + description { state: "visible" 0.0; + visible: 0; + text { + text: "M"; + font: FN; + size: 11; + text_class: "button"; + min: 1 1; + ellipsis: -1; + } + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + } + description { state: "icononly" 0.0; + inherit: "visible" 0.00; + visible: 0; + } + } + } + programs { + program { name: "button_mouse_in"; + signal: "mouse,in"; + source: "over2"; + action: STATE_SET "hovered" 0.00; + target: "button_image"; + } + program { name: "button_mouse_out"; + signal: "mouse,out"; + source: "over2"; + action: STATE_SET "default" 0.00; + target: "button_image"; + } + program { name: "button_click"; + signal: "mouse,down,1"; + source: "over2"; + action: SIGNAL_EMIT "elm,action,press" ""; + after: "button_click_anim"; + } + program { name: "button_unclick"; + signal: "mouse,up,1"; + source: "over3"; + action: SIGNAL_EMIT "elm,action,unpress" ""; + after: "button_unclick_anim"; + } + program { name: "button_pressed_anim"; + signal: "elm,anim,activate"; + source: "elm"; + action: STATE_SET "clicked" 0.00; + target: "button_image"; + target: "over3"; + after: "button_unpressed_anim"; + } + program { name: "button_click2"; + signal: "mouse,down,1"; + source: "over3"; + action: STATE_SET "clicked" 0.00; + target: "over3"; + } + program { name: "button_unclick2"; + signal: "mouse,up,1"; + source: "over3"; + action: STATE_SET "default" 0.00; + transition: DECELERATE 0.50000; + target: "over3"; + } + program { name: "button_unclick3"; + signal: "mouse,clicked,1"; + source: "over2"; + action: SIGNAL_EMIT "elm,action,click" ""; + } + program { name: "text_show"; + signal: "elm,state,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:"sizer.content", "visible", 0.0); + } + get_state(PART:"elm.text", st, 30, vl); + if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible"))) + set_state(PART:"elm.text", "disabled_visible", 0.0); + else + set_state(PART:"elm.text", "visible", 0.0); + } + } + program { name: "text_hide"; + signal: "elm,state,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:"sizer.content", "icononly", 0.0); + } + set_state(PART:"elm.text", "default", 0.0); + get_state(PART:"elm.text", st, 30, vl); + if (!strcmp(st, "default") || (!strcmp(st, "visible"))) + set_state(PART:"elm.text", "default", 0.0); + else + set_state(PART:"elm.text", "disabled", 0.0); + } + } + program { name: "icon_show"; + signal: "elm,state,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:"sizer.content", "visible", 0.0); + } + else { + set_state(PART:"elm.swallow.content", "icononly", 0.0); + set_state(PART:"sizer.content", "icononly", 0.0); + } + } + } + program { name: "icon_hide"; + signal: "elm,state,icon,hidden"; + source: "elm"; + action: STATE_SET "default" 0.00; + target: "elm.swallow.content"; + target: "sizer.content"; + } + program { name: "disable"; + signal: "elm,state,disabled"; + source: "elm"; + script { + + + new st[31]; + new Float:vl; + set_state(PART:"button_image", "disabled", 0.0); + set_state(PART:"over2", "disabled", 0.0); + set_state(PART:"disabler", "disabled", 0.0); + get_state(PART:"elm.text", st, 30, vl); + if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) + set_state(PART:"elm.text", "disabled_visible", 0.0); + else + set_state(PART:"elm.text", "disabled", 0.0); + } + } + program { name: "enable"; + signal: "elm,state,enabled"; + source: "elm"; + script { + + + new st[31]; + new Float:vl; + set_state(PART:"button_image", "visible", 0.0); + set_state(PART:"over2", "visible", 0.0); + set_state(PART:"disabler", "visible", 0.0); + get_state(PART:"elm.text", st, 30, vl); + if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) + set_state(PART:"elm.text", "visible", 0.0); + else + set_state(PART:"elm.text", "default", 0.0); + } + } + program { name: "focused"; + signal: "elm,state,focused"; + source: "elm"; + action: STATE_SET "focused" 0.00; + target: "button_image"; + } + program { name: "unfocused"; + signal: "elm,state,unfocused"; + source: "elm"; + action: STATE_SET "default" 0.00; + target: "button_image"; + } + program { name: "button_click_anim"; + action: STATE_SET "clicked" 0.00; + target: "button_image"; + } + program { name: "button_unpressed_anim"; + action: STATE_SET "default" 0.00; + transition: DECELERATE 0.50000; + target: "button_image"; + target: "over3"; + } + program { name: "button_unclick_anim"; + action: STATE_SET "default" 0.00; + target: "button_image"; + } + } +} group { name: "elm/button/base/anchor"; images { diff --git a/data/themes/tizen/widgets/hover.edc b/data/themes/tizen/widgets/hover.edc index dfc6625..babd05f 100644 --- a/data/themes/tizen/widgets/hover.edc +++ b/data/themes/tizen/widgets/hover.edc @@ -1,3 +1,351 @@ +group { name: "elm/hover/base/hoversel_vertical/default"; + alias: "elm/hover/base/hoversel_vertical/entry"; + data.item: "dismiss" "on"; + // max_size limits the maximum size of expanded hoversel + // when it's scrollable. + //data.item: "max_size" "60"; + images.image: "shadow.png" COMP; + script { + public visible = 0; + public right = 0; + public on_dismiss = 0; + public topshow2() { + if (get_int(right) == 0) + run_program(PROGRAM:"topshow_default"); + else + run_program(PROGRAM:"topshow_right"); + set_int(visible, 1); + set_int(on_dismiss, 0); + } + public bottomshow2() { + if (get_int(right) == 0) + run_program(PROGRAM:"bottomshow_default"); + else + run_program(PROGRAM:"bottomshow_right"); + set_int(visible, 1); + set_int(on_dismiss, 0); + } + } + parts { + part { name: "elm.swallow.offset"; type: SWALLOW; + description { state: "default" 0.0; + align: 0.0 0.0; + fixed: 1 1; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + part { name: "elm.swallow.size"; type: SWALLOW; + description { state: "default" 0.0; + align: 0.0 0.0; + fixed: 1 1; + rel1.to: "elm.swallow.offset"; + rel1.relative: 1.0 1.0; + rel2.to: "elm.swallow.offset"; + rel2.relative: 1.0 1.0; + } + } + part { name: "shadow"; + type: IMAGE; + description {state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + rel1.offset: -7 7-; + rel2.offset: 9 9; + image { + normal: "shadow.png"; + border: 20 20 20 20; + } + } + } + part { name: "button_image"; mouse_events: 1; + type: RECT; + description { state: "default" 0.0; + min: 86 0; + rel1.to_x: "limit0"; + rel1.to_y: "elm.swallow.slot.top"; + rel1.offset: 0 0; + rel2.to_x: "limit1"; + rel2.to_y: "elm.swallow.slot.middle"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 -1; + color_class: scrollbar_line_sel; + } + description { state: "bottom" 0.0; + rel1.to_x: "limit0"; + min: 86 0; + rel1.to_y: "elm.swallow.slot.middle"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 0; + rel2.to_x: "limit1"; + rel2.to_y: "elm.swallow.slot.bottom"; + rel2.offset: -1 -1; + color_class: scrollbar_line_sel; + } + } + part { name: "limit0"; type: SPACER; + description { state: "default" 0.0; + rel1.to_x: "elm.swallow.slot.top"; + rel1.offset: 1 0; + rel2.to_x: "elm.swallow.slot.middle"; + rel2.offset: 0 0; + rel2.relative: 0.0 1.0; + align: 0.0 0.5; + min: 1 1; + max: 1 99999; + } + description { state: "bottom" 0.0; + inherit: "default" 0.0; + rel1.to_x: "elm.swallow.slot.bottom"; + } + } + part { name: "limit1"; type: SPACER; + description { state: "default" 0.0; + rel1.to_x: "elm.swallow.slot.middle"; + rel1.offset: -1 0; + rel1.relative: 1.0 0.0; + rel2.to_x: "elm.swallow.slot.top"; + rel2.offset: -2 0; + align: 1.0 0.5; + min: 1 1; + max: 1 99999; + } + description { state: "bottom" 0.0; + inherit: "default" 0.0; + rel2.to_x: "elm.swallow.slot.bottom"; + } + } + part { name: "base"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "topclip"; type: RECT; + description { state: "default" 0.0; + rel2.to_y: "button_image"; + } + } + part { name: "elm.swallow.slot.top"; type: SWALLOW; + clip_to: "topclip"; + description { state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + fixed: 0 1; + rel1.to: "elm.swallow.slot.middle"; + rel1.relative: 0.0 0.0; + rel1.offset: 0 -1; + rel2.to: "elm.swallow.slot.middle"; + rel2.relative: 1.0 0.0; + /* set negative offset along x axis not to make + "select_line" part exceed parent's width */ + rel2.offset: -9 -1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + align: 0.0 1.0; + } + description { state: "right" 0.0; + inherit: "default" 0.0; + align: 1.0 0.0; + rel2.offset: -9 0; + } + description { state: "right_visible" 0.0; + inherit: "default" 0.0; + align: 1.0 1.0; + rel2.offset: -9 0; + } + } + part { name: "bottomclip"; type: RECT; + description { state: "default" 0.0; + rel1.to_y: "button_image"; + } + } + part { name: "elm.swallow.slot.bottom"; type: SWALLOW; + clip_to: "bottomclip"; + description { state: "default" 0.0; + align: 0.0 1.0; + fixed: 0 1; + rel1.to: "elm.swallow.slot.middle"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 0; + rel2.to: "elm.swallow.slot.middle"; + rel2.relative: 1.0 1.0; + /* set negative offset along x axis not to make + "select_line" part exceed parent's width */ + rel2.offset: -9 -1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + align: 0.0 0.0; + } + description { state: "right" 0.0; + inherit: "default" 0.0; + align: 1.0 1.0; + rel2.offset: -9 0; + } + description { state: "right_visible" 0.0; + inherit: "default" 0.0; + align: 1.0 0.0; + rel2.offset: -9 0; + } + } + part { name: "elm.swallow.slot.middle"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "elm.swallow.size"; + rel2.to: "elm.swallow.size"; + } + } + } + programs { + program { name: "end"; + signal: "mouse,up,*"; source: "base"; + script { + if (get_int(on_dismiss) == 0) { + emit("elm,action,dismiss", "elm"); + set_int(on_dismiss, 1); + } + } + } + program { name: "show"; + signal: "elm,action,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "base"; + } + program { name: "hide"; + signal: "elm,action,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.2; + target: "base"; + after: "hidefinished"; + } + program { name: "hide_no_animate"; + signal: "elm,action,hide,no_animate"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; + after: "hidefinished"; + } + program { name: "hidefinished"; + script { + set_int(on_dismiss, 0); + emit("elm,action,hide,finished", "elm"); + } + } + program { name: "topshow"; + signal: "elm,action,slot,top,show"; source: "elm"; + script { + set_state(PART:"limit0", "default", 0.0); + set_state(PART:"limit1", "default", 0.0); + set_state(PART:"button_image", "default", 0.0); + topshow2(); + } + } + program { name: "topshow_default"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.slot.top"; + transition: LINEAR 0.1; + } + program { name: "topshow_right"; + action: STATE_SET "right_visible" 0.0; + target: "elm.swallow.slot.top"; + transition: LINEAR 0.1; + } + program { name: "tophide"; + signal: "elm,action,slot,top,hide"; + source: "elm"; + script { + if (get_int(right) == 0) + run_program(PROGRAM:"tophide_default"); + else + run_program(PROGRAM:"tophide_right"); + set_int(visible, 0); + } + } + program { name: "tophide_default"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.slot.top"; + transition: LINEAR 0.1; + } + program { name: "tophide_right"; + action: STATE_SET "right" 0.0; + target: "elm.swallow.slot.top"; + transition: LINEAR 0.1; + } + program { name: "bottomshow"; + signal: "elm,action,slot,bottom,show"; source: "elm"; + script { + set_state(PART:"limit0", "bottom", 0.0); + set_state(PART:"limit1", "bottom", 0.0); + set_state(PART:"button_image", "bottom", 0.0); + bottomshow2(); + } + } + program { name: "bottomshow_default"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.slot.bottom"; + transition: LINEAR 0.1; + } + program { name: "bottomshow_right"; + action: STATE_SET "right_visible" 0.0; + target: "elm.swallow.slot.bottom"; + transition: LINEAR 0.1; + } + program { name: "bottomhide"; + signal: "elm,action,slot,bottom,hide"; source: "elm"; + script { + if (get_int(right) == 0) { + run_program(PROGRAM:"bottomhide_default"); + } + else { + run_program(PROGRAM:"bottomhide_right"); + } + set_int(visible, 0); + } + } + program { name: "bottomhide_default"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.slot.bottom"; + transition: LINEAR 0.1; + } + program { name: "bottomhide_right"; + action: STATE_SET "right" 0.0; + target: "elm.swallow.slot.bottom"; + transition: LINEAR 0.1; + } + program { name: "align_right"; + signal: "elm,state,align,right"; source: "elm"; + script { + set_int(right, 1); + if (get_int(visible) == 0) { + set_state(PART:"elm.swallow.slot.top", "right", 0.0); + set_state(PART:"elm.swallow.slot.bottom", "right", 0.0); + } + else { + set_state(PART:"elm.swallow.slot.top", "right_visible", 0.0); + set_state(PART:"elm.swallow.slot.bottom", "right_visible", 0.0); + } + } + } + program { name: "align_default"; + signal: "elm,state,align,default"; source: "elm"; + script { + set_int(right, 0); + if (get_int(visible) == 0) { + set_state(PART:"elm.swallow.slot.top", "default", 0.0); + set_state(PART:"elm.swallow.slot.bottom", "default", 0.0); + } + else { + set_state(PART:"elm.swallow.slot.top", "visible", 0.0); + set_state(PART:"elm.swallow.slot.bottom", "visible", 0.0); + } + } + } + } +} group { name: "elm/hover/base/default"; data.item: "dismiss" "on"; script { --