Fixed the menu width to be flexible depending on the text length 25/43425/1
authorHyojung Jo <hj903.jo@samsung.com>
Thu, 9 Jul 2015 05:34:00 +0000 (14:34 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Thu, 9 Jul 2015 05:34:00 +0000 (14:34 +0900)
Change-Id: I574a915b22999a6f112647db1d5ae2fa825050de
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
include/utils.h
res/widgets/button.edc
src/common/utils.c
src/view/view_base.c

index 2386f86..ddc3d9c 100644 (file)
 #define FONT_TIZENSANS_REGULAR "TizenSans"
 #define FONT_TIZENSANS_LIGHT "TizenSans:style=Light"
 
+/* Size */
+#define SIZE_BOX_PAD_H (40 + 40)
+#define SIZE_BOX_PAD_V 0
+
 /* Count */
 #define COUNT_MENU 6
 
index 9041d5f..b41e9a3 100644 (file)
@@ -21,7 +21,8 @@ Evas_Object *add_window(const char *name);
 Evas_Object *add_layout(Evas_Object *parent, const char *group);
 Evas_Object *add_gengrid(Evas_Object *parent, int item_size_x, int item_size_y);
 Evas_Object *add_box(Evas_Object *parent, const char *part,
-               Eina_Bool horizontal);
+               Eina_Bool horizontal, Evas_Coord padding_h,
+               Evas_Coord padding_v);
 Evas_Object *add_button(Evas_Object *parent, const char *part,
                const char *text, const char *style);
 
index 762c828..00449a6 100644 (file)
@@ -25,12 +25,67 @@ group {
        }
        parts {
                part {
-                       name, "bg";
+                       name, "part.bg";
                        type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 240 82;
+                               min, 0 82;
+                       }
+                       description {
+                               state, "selected" 0.0;
+                               inherit, "default" 0.0;
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               color, 0 119 246 255;
+                       }
+               }
+
+               part {
+                       name, "part.bg.left";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               min, 40 82;
+                               rel1.to, "part.bg";
+                               rel2 {
+                                       relative, 0.0 0.0;
+                                       to, "part.bg";
+                               }
+                               align, 1.0 0.0;
+                               fixed, 1 1;
+                       }
+                       description {
+                               state, "selected" 0.0;
+                               inherit, "default" 0.0;
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               color, 0 119 246 255;
+                       }
+               }
+
+               part {
+                       name, "part.bg.right";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               min, 40 82;
+                               rel1 {
+                                       relative, 1.0 0.0;
+                                       to, "part.bg";
+                               }
+                               rel2 {
+                                       relative, 1.0 0.0;
+                                       to, "part.bg";
+                               }
+                               align, 0.0 0.0;
+                               fixed, 1 1;
                        }
                        description {
                                state, "selected" 0.0;
@@ -54,9 +109,11 @@ group {
                                align, 0.5 0.0;
                                fixed, 0 1;
                                text {
+                                       min, 1 1;
                                        font, FONT_TIZENSANS_LIGHT;
                                        size, 32;
                                        align, 0.5 0.5;
+                                       ellipsis, -1;
                                }
                        }
                        description {
@@ -81,11 +138,11 @@ group {
                                state, "default" 0.0;
                                min, 28 3;
                                rel1 {
-                                       to, "bg";
+                                       to, "part.bg";
                                        relative, 0.0 1.0;
                                }
                                rel2 {
-                                       to, "bg";
+                                       to, "part.bg";
                                        relative, 0.0 1.0;
                                }
                                align, 0.0 1.0;
@@ -94,23 +151,20 @@ group {
                }
 
                part {
-                       name, "bottom.line";
+                       name, "part.bottom.line";
                        type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
                                color, 64 136 211 255;
-                               min, 184 3;
+                               min, 0 3;
                                rel1 {
-                                       to, "padding.bottom.line";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "padding.bottom.line";
-                                       relative, 1.0 0.0;
+                                       to, "part.bg";
+                                       relative, 0.0 1.0;
                                }
-                               align, 0.0 0.0;
-                               fixed, 1 1;
+                               rel2.to, "part.bg";
+                               align, 0.5 1.0;
+                               fixed, 0 1;
                                visible, 0;
                        }
                        description {
@@ -144,9 +198,11 @@ group {
                                new state;
                                state = get_int(cur_state);
                                if (state == STATE_SELECTED) {
-                                       set_state(PART:"bg", "selected", 0.0);
+                                       set_state(PART:"part.bg", "selected", 0.0);
+                                       set_state(PART:"part.bg.left", "selected", 0.0);
+                                       set_state(PART:"part.bg.right", "selected", 0.0);
                                        set_state(PART:"elm.text", "selected", 0.0);
-                                       set_state(PART:"bottom.line", "selected", 0.0);
+                                       set_state(PART:"part.bottom.line", "selected", 0.0);
                                } else {
                                        run_program(PROGRAM:"unfocused,anim");
                                }
@@ -156,18 +212,22 @@ group {
                program {
                        name, "focused,anim";
                        action, STATE_SET "focused" 0.0;
-                       target, "bg";
+                       target, "part.bg";
+                       target, "part.bg.left";
+                       target, "part.bg.right";
                        target, "elm.text";
-                       target, "bottom.line";
+                       target, "part.bottom.line";
                        transition, LINEAR 0.17;
                }
 
                program {
                        name, "unfocused,anim";
                        action, STATE_SET "default" 0.0;
-                       target, "bg";
+                       target, "part.bg";
+                       target, "part.bg.left";
+                       target, "part.bg.right";
                        target, "elm.text";
-                       target, "bottom.line";
+                       target, "part.bottom.line";
                        transition, LINEAR 0.17;
                }
 
@@ -177,9 +237,11 @@ group {
                        source, "";
                        script {
                                set_int(cur_state, STATE_SELECTED);
-                               set_state(PART:"bg", "selected", 0.0);
+                               set_state(PART:"part.bg", "selected", 0.0);
                                set_state(PART:"elm.text", "selected", 0.0);
-                               set_state(PART:"bottom.line", "selected", 0.0);
+                               set_state(PART:"part.bg.left", "selected", 0.0);
+                               set_state(PART:"part.bg.right", "selected", 0.0);
+                               set_state(PART:"part.bottom.line", "selected", 0.0);
                        }
                }
        }
index f7ee4d3..f7bd1fd 100644 (file)
@@ -93,7 +93,8 @@ Evas_Object *add_gengrid(Evas_Object *parent, int item_size_x, int item_size_y)
 }
 
 Evas_Object *add_box(Evas_Object *parent, const char *part,
-               Eina_Bool horizontal)
+               Eina_Bool horizontal, Evas_Coord padding_h,
+               Evas_Coord padding_v)
 {
        Evas_Object *box;
 
@@ -109,6 +110,7 @@ Evas_Object *add_box(Evas_Object *parent, const char *part,
        }
 
        elm_box_horizontal_set(box, horizontal);
+       elm_box_padding_set(box, padding_h, padding_v);
 
        evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
                        EVAS_HINT_EXPAND);
index 2f807aa..6a29010 100644 (file)
@@ -143,7 +143,8 @@ static bool _draw_top_area(struct _priv *priv)
 
        elm_object_part_text_set(priv->base, PART_TOP_TITLE, STR_FAVORITE);
 
-       priv->box = add_box(priv->base, PART_TOP_MENU, EINA_TRUE);
+       priv->box = add_box(priv->base, PART_TOP_MENU, EINA_TRUE,
+                       SIZE_BOX_PAD_H, SIZE_BOX_PAD_V);
        if (!priv->box) {
                _ERR("Add box failed.");
                return false;