From ac0d7edb9bbdeec9749ce8a84368f157faf493d3 Mon Sep 17 00:00:00 2001 From: JinYong Park Date: Wed, 7 Jun 2017 14:55:08 +0900 Subject: ctxpopup: add match_min/max_width data and change size flexible Requirement platform/upstream/elementary https://review.tizen.org/gerrit/132286 more detail in above patch This patch require elementary patch : https://review.tizen.org/gerrit/132105 Change-Id: I5bbe51b631b88b8ff05024a7edfc40d5a4ded464 Signed-off-by: Jinyong Park --- mobile/HD-inc.edc | 13 -- mobile/widgets/ctxpopup.edc | 323 ++------------------------------------------ 2 files changed, 12 insertions(+), 324 deletions(-) diff --git a/mobile/HD-inc.edc b/mobile/HD-inc.edc index 77a85fad..6a46d61f 100644 --- a/mobile/HD-inc.edc +++ b/mobile/HD-inc.edc @@ -145,27 +145,17 @@ //****************************************************************************// #define CTXPOPUP_MOVE_PAD 40 #define CTXPOPUP_OUTLINE_SIZE 2 -#define CTXPOPUP_WIDTH_INC 720 -#define CTXPOPUP_ITEM_MAX_INC 656 #define CTXPOPUP_ITEM_HEIGHT_MAX_INC 80 #define CTXPOPUP_ITEM_TEXT_STYLE_TEXT_LR_PADDING_INC 24 -#define CTXPOPUP_ITEM_TEXT_STYLE_TEXT_MAX_INC 608 -#define CTXPOPUP_ITEM_TEXT_LR_PADDING 22 #define CTXPOPUP_ITEM_TEXT_HEIGHT_MIN_INC 41 #define CTXPOPUP_ITEM_ICON_STYLE_LR_PADDING_INC 20 -#define CTXPOPUP_ITEM_ICON_TEXT_STYLE_TEXT_MAX_INC 574 #define CTXPOPUP_ITEM_ICON_TEXT_STYLE_TEXT_RIGHT_PADDING_INC 12 #define CTXPOPUP_ITEM_ICON_TEXT_STYLE_ICON_RIGHT_PADDING_INC 10 #define CTXPOPUP_ITEM_ICON_TEXT_STYLE_ICON_LEFT_PADDING_INC 20 -#define CTXPOPUP_MORE_ITEM_TEXT_MAX_INC 656 -#define CTXPOPUP_MORE_ITEM_TEXT_SIZE_INC 36 #define CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC 120 #define CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC 120 -#define CTXPOPUP_MORE_ITEM_TEXT_TB_PADDING_INC 17 #define CTXPOPUP_MORE_ITEM_TEXT_LR_PADDING_INC 32 #define CTXPOPUP_MORE_ITEM_TEXT_HEIGHT_MIN_INC 38 -#define CTXPOPUP_DROPDOWN_WIDTH 656 -#define CTXPOPUP_DROPDOWN_TEXT_MAX 592 #define CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE 40 #define CTXPOPUP_DROPDOWN_ITEM_TEXT_MAX_SIZE (CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE*2) #define CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN 96 @@ -208,14 +198,11 @@ #define CTXPOPUP_ARROW_PADDING_INC 0 #define CTXPOPUP_ARROW_SIZE_INC 1 1 #define CTXPOPUP_COPYPASTE_ITEM_HORIZONTAL_WIDTH_MIN_INC 128 -#define CTXPOPUP_COPYPASTE_ITEM_HORIZONTAL_WIDTH_MAX_INC 192 #define CTXPOPUP_COPYPASTE_TEXT_STYLE_TEXT_SIZE_INC 37 #define CTXPOPUP_COPYPASTE_TEXT_MAX_SIZE_INC (CTXPOPUP_COPYPASTE_TEXT_SIZE_INC * 2) -#define CTXPOPUP_COPYPASTE_WIDTH_MAX_INC 504 #define CTXPOPUP_COPYPASTE_ITEM_TEXT_STYLE_HEIGHT_MIN_INC 64 #define CTXPOPUP_COPYPASTE_ITEM_TEXT_STYLE_TEXT_TOP_PADDING_INC 13 #define CTXPOPUP_COPYPASTE_ITEM_TEXT_BOTTOM_PADDING_INC 14 -#define CTXPOPUP_COPYPASTE_SEPARATOR_TEXT_STYLE_MIN_SIZE_INC 2 CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC #define CTXPOPUP_COPYPASTE_ARROW_SIZE_INC 1 1 //****************************************************************************// diff --git a/mobile/widgets/ctxpopup.edc b/mobile/widgets/ctxpopup.edc index 1958a2a7..04694284 100644 --- a/mobile/widgets/ctxpopup.edc +++ b/mobile/widgets/ctxpopup.edc @@ -524,11 +524,13 @@ group { "elm/ctxpopup/item/template"; /* ctxpopup/layout */ group { "elm/ctxpopup/layout/default"; + alias: "elm/ctxpopup/layout/landscape/default"; alias: "elm/ctxpopup/layout/copypaste"; + alias: "elm/ctxpopup/layout/landscape/copypaste"; inherit: "elm/ctxpopup/layout/event/default"; nomouse; - data.item: "visible_maxw" CTXPOPUP_WIDTH_INC; + data.item: "match_max_width" "portrait_width"; parts { spacer { "base"; @@ -858,19 +860,12 @@ group { "elm/ctxpopup/layout/default"; } } - -group { "elm/ctxpopup/layout/landscape/default"; - alias: "elm/ctxpopup/layout/landscape/copypaste"; - inherit: "elm/ctxpopup/layout/default"; - - data.item: "visible_maxw" CTXPOPUP_WIDTH_INC; -} - group { "elm/ctxpopup/layout/more/default"; inherit: "elm/ctxpopup/layout/event/default"; nomouse; - data.item: "visible_maxw" CTXPOPUP_WIDTH_INC; + data.item: "match_min_width" "portrait_width"; + data.item: "match_max_width" "portrait_width"; data.item: "visible_maxh" ((CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC+1)*7); // +1 is buffer for scaling feature. parts { @@ -1015,7 +1010,6 @@ group { "elm/ctxpopup/layout/more/default"; group { "elm/ctxpopup/layout/landscape/more/default"; inherit: "elm/ctxpopup/layout/more/default"; - data.item: "visible_maxw" CTXPOPUP_WIDTH_INC; data.item: "visible_maxh" ((CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC+1)*5); // +1 is buffer for scaling feature. } @@ -1025,7 +1019,8 @@ group { "elm/ctxpopup/layout/dropdown/list"; inherit: "elm/ctxpopup/layout/event/default"; nomouse; - data.item: "visible_maxw" CTXPOPUP_DROPDOWN_WIDTH; + data.item: "match_min_width" "portrait_width"; + data.item: "match_max_width" "portrait_width"; data.item: "visible_maxh" ((CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN+1)*5+(CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT+1)*4); // +1 is buffer for scaling feature. parts { @@ -1226,7 +1221,6 @@ group { "elm/ctxpopup/layout/landscape/dropdown/list"; alias: "elm/ctxpopup/layout/landscape/dropdown/label"; inherit: "elm/ctxpopup/layout/dropdown/list"; - data.item: "visible_maxw" CTXPOPUP_DROPDOWN_WIDTH; data.item: "visible_maxh" ((CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN+1)*5+(CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT+1)*4); // +1 is buffer for scaling feature. } @@ -1905,9 +1899,6 @@ group { "elm/ctxpopup/base/more/default"; inherit: "elm/ctxpopup/base/event/default"; nomouse; - data.item: "visible_maxh" ((LIST_PADDING_TOP_SIZE+LIST_PADDING_BOTTOM_SIZE+LIST_TEXT_MAIN_HEIGHT-3)*7); - data.item: "visible_landscape_maxh" ((LIST_PADDING_TOP_SIZE+LIST_PADDING_BOTTOM_SIZE+LIST_TEXT_MAIN_HEIGHT-3)*5); - parts { spacer { "base"; desc { "default"; @@ -1918,7 +1909,6 @@ group { "elm/ctxpopup/base/more/default"; desc { "default"; rel.to: "base"; color: 255 255 255 255; - min: CTXPOPUP_WIDTH_INC 0; } } rect { "access.outline"; @@ -2074,8 +2064,6 @@ group { "elm/ctxpopup/text_style_item/default"; inherit: "elm/ctxpopup/item/event/default"; nomouse; - data.item: "item_max_size" CTXPOPUP_ITEM_TEXT_STYLE_TEXT_MAX_INC; - parts { spacer { "base"; desc { "default"; @@ -2098,7 +2086,6 @@ group { "elm/ctxpopup/text_style_item/default"; } rel2.to: "base"; min: (CTXPOPUP_ITEM_TEXT_STYLE_TEXT_LR_PADDING_INC*2) CTXPOPUP_ITEM_HEIGHT_MAX_INC; - max: CTXPOPUP_ITEM_MAX_INC CTXPOPUP_ITEM_HEIGHT_MAX_INC; hid; } desc { "clicked"; @@ -2180,7 +2167,6 @@ group { "elm/ctxpopup/text_style_item/default"; } desc { "ellipsis"; inherit: "default"; - min: CTXPOPUP_ITEM_TEXT_STYLE_TEXT_MAX_INC CTXPOPUP_ITEM_TEXT_HEIGHT_MIN_INC; text.min: 0 1; } desc { "ellipsis_clicked"; @@ -2338,8 +2324,6 @@ group { "elm/ctxpopup/text_style_item/more/default"; inherit: "elm/ctxpopup/item/event/default"; nomouse; - data.item: "item_max_size" CTXPOPUP_MORE_ITEM_TEXT_MAX_INC; - parts { spacer { "base"; desc { "default"; @@ -2356,8 +2340,7 @@ group { "elm/ctxpopup/text_style_item/more/default"; scale; desc { "default"; rel.to: "base"; - min: CTXPOPUP_WIDTH_INC CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC; - max: CTXPOPUP_WIDTH_INC CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC; + min: 0 CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC; color_class: "ctxpopup_item/more/default/bg"; } desc { "clicked"; @@ -2405,7 +2388,7 @@ group { "elm/ctxpopup/text_style_item/more/default"; font: "Tizen:weight=Light"; size: "40"; text_class: "list_item"; align: -1.0 0.5; - min: 0 1; + min: 1 1; } } desc { "clicked"; @@ -2422,7 +2405,7 @@ group { "elm/ctxpopup/text_style_item/more/default"; } desc { "ellipsis"; inherit: "default"; - min: CTXPOPUP_MORE_ITEM_TEXT_MAX_INC CTXPOPUP_MORE_ITEM_TEXT_HEIGHT_MIN_INC; + text.min: 0 1; } desc { "ellipsis_clicked"; inherit: "ellipsis"; @@ -2572,284 +2555,10 @@ group { "elm/ctxpopup/text_style_item/more/default"; } group { "elm/ctxpopup/text_style_item/dropdown/list"; + alias: "elm/ctxpopup/text_style_item/dropdown/label"; inherit: "elm/ctxpopup/item/event/default"; nomouse; - data.item: "item_max_size" CTXPOPUP_DROPDOWN_TEXT_MAX; - - parts { - spacer { "base"; - desc { "default"; - } - } - rect { "event_blocker"; - mouse; - desc { "default"; - rel.to: "base"; - color: 0 0 0 0; - } - } - rect { "bg"; - scale; - desc { "default"; - rel.to: "base"; - min: (CTXPOPUP_DROPDOWN_WIDTH-CTXPOPUP_DROPDOWN_CONTENT_LR_PADDING*2) 1; - max: (CTXPOPUP_DROPDOWN_WIDTH-CTXPOPUP_DROPDOWN_CONTENT_LR_PADDING*2) CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX; - color: 2 61 132 76; /*(Changeable UI) color_class: "B0733P";*/ - hid; - } - desc { "clicked"; - inherit: "default"; - vis; - } - desc { "clicked_separator"; - inherit: "default"; - rel1.to_y: "separator"; - rel1.relative: 0.0 1.0; - vis; - } - } - spacer { "padding_top_left"; - desc { "default"; - rel.to: "base"; - align: 0.0 0.0; - min: CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 0; - max: CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 0; - fixed: 1 1; - } - } - spacer { "padding_bottom_right"; - desc { "default"; - rel.to: "base"; - align: 1.0 1.0; - min: CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 0; - max: CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 0; - fixed: 1 1; - } - } - rect { "separator"; - scale; - desc { "default"; - rel1 { - to: "padding_top_left"; - relative: 1.0 0.0; - } - rel2 { - to: "padding_bottom_right"; - relative: 0.0 0.0; - } - align: 0.5 0.0; - min: 0 CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT; - max: -1 CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT; - color: 2 61 132 63; /*(Changeable UI) color_class: "B0733L2";*/ - hid; - } - desc { "visible"; - inherit: "default"; - vis; - } - } - text { "elm.text"; - scale; - desc { "default"; - rel1 { - to: "padding_top_left"; - relative: 1.0 1.0; - } - rel2 { - to: "padding_bottom_right"; - relative: 0.0 0.0; - } - align: 0.5 0.5; - min: 1 CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN; - max: CTXPOPUP_DROPDOWN_TEXT_MAX CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX; - color: 7 7 7 255; /*(Changeable UI) color_class: "T12351";*/ - text { - font: "Tizen:weight=Regular"; size: "34"; /*(Changeable UI) text_class: "T12351";*/ - text_class: "list_item"; - size_range: CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE CTXPOPUP_DROPDOWN_ITEM_TEXT_MAX_SIZE; - align: -1.0 0.5; - min: 1 1; - } - } - desc { "clicked"; - inherit: "default"; - text.font: "Tizen:weight=Regular"; text.size: "34"; /*(Changeable UI) text.text_class: "T12351P";*/ - text.text_class: "list_item"; - color: 7 7 7 255; /*(Changeable UI) color_class: "T12351P";*/ - } - desc { "disabled"; - inherit: "default"; - text.font: "Tizen:weight=Regular"; text.size: "34"; /*(Changeable UI) text.text_class: "T12351D";*/ - text.text_class: "list_item"; - color: 7 7 7 76; /*(Changeable UI) color_class: "T12351D";*/ - } - desc { "ellipsis"; - inherit: "default"; - min: CTXPOPUP_DROPDOWN_TEXT_MAX CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN; - text.min: 0 1; - } - desc { "ellipsis_clicked"; - inherit: "ellipsis"; - text.font: "Tizen:weight=Regular"; text.size: "34"; /*(Changeable UI) text.text_class: "T12351P";*/ - text.text_class: "list_item"; - color: 7 7 7 255; /*(Changeable UI) color_class: "T12351P";*/ - } - desc { "ellipsis_disabled"; - inherit: "ellipsis"; - text.font: "Tizen:weight=Regular"; text.size: "34"; /*(Changeable UI) text.text_class: "T12351D";*/ - text.text_class: "list_item"; - color: 7 7 7 76; /*(Changeable UI) color_class: "T12351D";*/ - } - } - rect { "event"; - mouse; - repeat; - after: "elm.text"; - desc { "default"; - rel.to: "base"; - color: 0 0 0 0; - } - } - rect { "disclip"; - mouse; - norepeat; - desc { "default"; - rel.to: "base"; - color: 0 0 0 0; - hid; - } - desc { "disabled"; - inherit: "default"; - vis; - } - } - } - - script { - public mouse_down = 0; - public multi_down = 0; - } - - programs { - program { "on_text_default"; - script { - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "disabled") || !strcmp(st, "ellipsis_disabled")) - set_state(PART:"elm.text", "disabled", 0.0); - else - set_state(PART:"elm.text", "default", 0.0); - } - } - program { "on_text_ellipsis"; - script { - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "disabled") || !strcmp(st, "elipsis_disabled")) - set_state(PART:"elm.text", "ellipsis_disabled", 0.0); - else - set_state(PART:"elm.text", "ellipsis", 0.0); - } - } - program { "on_default"; - action: STATE_SET "default"; - target: "separator"; - } - program { "on_separator"; - action: STATE_SET "visible"; - target: "separator"; - } - program { "on_clicked"; - script { - if (get_int(multi_down) == 0) { - emit("elm,action,click", ""); - run_program(PROGRAM:"touch_sound"); - } - } - } - program { "touch_sound"; - action: RUN_PLUGIN "touch_sound"; - } - program { "on_disabled"; - script { - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if ((!strcmp(st, "ellipsis")) || (!strcmp(st, "ellipsis_disabled"))) - set_state(PART:"elm.text", "ellipsis_disabled", 0.0); - else - set_state(PART:"elm.text", "disabled", 0.0); - set_state(PART:"disclip", "disabled", 0.0); - } - } - program { "on_enabled"; - script { - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if ((!strcmp(st, "ellipsis")) || (!strcmp(st, "ellipsis_disabled"))) - set_state(PART:"elm.text", "ellipsis", 0.0); - else - set_state(PART:"elm.text", "default", 0.0); - set_state(PART:"disclip", "default", 0.0); - } - } - program { "on_pressed"; - script { - new st[31]; - new Float:vl; - if (get_int(multi_down) == 0 && get_int(mouse_down) == 0) { - set_int(mouse_down, 1); - get_state(PART:"separator", st, 30, vl); - if (!strcmp(st, "visible")) - set_state(PART:"bg", "clicked_separator", 0.0); - else - set_state(PART:"bg", "clicked", 0.0); - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "default")) - set_state(PART:"elm.text", "clicked", 0.0); - else - set_state(PART:"elm.text", "ellipsis_clicked", 0.0); - } - } - } - program { "on_unpressed"; - script { - if (get_int(mouse_down) == 1) { - set_int(mouse_down, 0); - set_state(PART:"bg", "default", 0.0); - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "default") || !strcmp(st, "clicked")) - set_state(PART:"elm.text", "default", 0.0); - else - set_state(PART:"elm.text", "ellipsis", 0.0); - } - } - } - program { "on_multi_down"; - script { - set_int(multi_down, 1); - } - } - program { "on_multi_up"; - script { - set_int(multi_down, 0); - } - } - } -} - -group { "elm/ctxpopup/text_style_item/dropdown/label"; - inherit: "elm/ctxpopup/item/event/default"; - nomouse; - - data.item: "item_max_size" CTXPOPUP_DROPDOWN_TEXT_MAX; - parts { spacer { "base"; desc { "default"; @@ -2866,8 +2575,7 @@ group { "elm/ctxpopup/text_style_item/dropdown/label"; scale; desc { "default"; rel.to: "base"; - min: 0 1; - max: CTXPOPUP_DROPDOWN_WIDTH CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX; + min: (CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING*2) CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN; color: 2 61 132 76; /*(Changeable UI) color_class: "B0733P";*/ hid; } @@ -2937,7 +2645,6 @@ group { "elm/ctxpopup/text_style_item/dropdown/label"; } align: 0.5 0.5; min: 1 CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN; - max: CTXPOPUP_DROPDOWN_TEXT_MAX CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX; color: 7 7 7 255; /*(Changeable UI) color_class: "T12351";*/ text { font: "Tizen:weight=Regular"; size: "34"; /*(Changeable UI) text_class: "T12351";*/ @@ -2961,7 +2668,6 @@ group { "elm/ctxpopup/text_style_item/dropdown/label"; } desc { "ellipsis"; inherit: "default"; - min: CTXPOPUP_DROPDOWN_TEXT_MAX CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN; text.min: 0 1; } desc { "ellipsis_clicked"; @@ -3682,8 +3388,6 @@ group { "elm/ctxpopup/icon_text_style_item/default"; inherit: "elm/ctxpopup/item/event/default"; nomouse; - data.item: "item_max_size" CTXPOPUP_ITEM_ICON_TEXT_STYLE_TEXT_MAX_INC; - parts { spacer { "base"; desc { "default"; @@ -3698,7 +3402,6 @@ group { "elm/ctxpopup/icon_text_style_item/default"; relative: 0.0 1.0; } min: (CTXPOPUP_ITEM_ICON_TEXT_STYLE_ICON_LEFT_PADDING_INC+CTXPOPUP_ICON_WIDTH_INC+CTXPOPUP_ITEM_ICON_TEXT_STYLE_ICON_RIGHT_PADDING_INC+CTXPOPUP_ITEM_ICON_TEXT_STYLE_TEXT_RIGHT_PADDING_INC) CTXPOPUP_ITEM_HEIGHT_MAX_INC; - max: CTXPOPUP_ITEM_MAX_INC CTXPOPUP_ITEM_HEIGHT_MAX_INC; color_class: "ctxpopup_item/default/effect"; hid; } @@ -3816,7 +3519,6 @@ group { "elm/ctxpopup/icon_text_style_item/default"; } desc { "ellipsis"; inherit: "default"; - min: CTXPOPUP_ITEM_ICON_TEXT_STYLE_TEXT_MAX_INC CTXPOPUP_ITEM_TEXT_HEIGHT_MIN_INC; text.min: 0 1; } desc { "ellipsis_clicked"; @@ -4373,7 +4075,6 @@ group { "elm/ctxpopup/text_style_item_horizontal/copypaste"; spacer { "padding_bottom_text"; scale; desc { "default"; - rel.to: "base"; align: 0.5 1.0; min: 1 CTXPOPUP_COPYPASTE_ITEM_TEXT_BOTTOM_PADDING_INC; max: 1 CTXPOPUP_COPYPASTE_ITEM_TEXT_BOTTOM_PADDING_INC; -- cgit v1.2.3