Fixed the menu width to be flexible depending on the text length 33/43033/2
authorHyojung Jo <hj903.jo@samsung.com>
Tue, 7 Jul 2015 07:30:31 +0000 (16:30 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Tue, 7 Jul 2015 07:48:01 +0000 (16:48 +0900)
Change-Id: I615503c94eb46dc68742af3ee930ef83d32a4aa9
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
include/utils.h
res/widget/button.edc
src/grid/grid_myapps.c
src/utils.c
src/view/view_base.c

index e400d02062b53b3a3ab30042d4883be6302afdcf..19b1abb86c12730d5c70a98a23ca69898c7bcc7e 100644 (file)
 #define MENU_COUNT 2
 
 /* Size */
-#define SIZE_GRID_WIDTH (212+26)
-#define SIZE_GRID_HEIGHT (294+26)
+#define SIZE_GRID_WIDTH (212 + 26)
+#define SIZE_GRID_HEIGHT (294 + 26)
 #define SIZE_STR 1024
+#define SIZE_BOX_PAD_H (40 + 40)
+#define SIZE_BOX_PAD_V 0
 
 #endif /* __AIR_APPS_DEFINE_H__ */
index bc92948146b4e7397814e74fbf8da63f169ff7f6..c39e4b4b6df2d1433d9666c9dc6f65544f3aed3d 100644 (file)
@@ -20,7 +20,8 @@
 Evas_Object *add_window(const char *name);
 Evas_Object *add_layout(Evas_Object *parent, const char *group);
 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 762c828daec0a5a8cebd93a2fbde66d632a55cb6..161b0efadedc5e84339045060612a88a081c1e6b 100644 (file)
@@ -30,7 +30,7 @@ group {
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 240 82;
+                               min, 0 82;
                        }
                        description {
                                state, "selected" 0.0;
@@ -44,53 +44,90 @@ group {
                }
 
                part {
-                       name, "elm.text";
-                       type, TEXT;
+                       name, "bg.left";
+                       type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               color, 104 104 104 255;
-                               min, 0 82;
-                               align, 0.5 0.0;
-                               fixed, 0 1;
-                               text {
-                                       font, FONT_TIZENSANS_LIGHT;
-                                       size, 32;
-                                       align, 0.5 0.5;
+                               min, 40 82;
+                               rel1.to, "bg";
+                               rel2 {
+                                       relative, 0.0 0.0;
+                                       to, "bg";
                                }
+                               align, 1.0 0.0;
+                               fixed, 1 1;
                        }
                        description {
                                state, "selected" 0.0;
                                inherit, "default" 0.0;
-                               color, 64 136 211 255;
-                               text.font, FONT_TIZENSANS_REGULAR;
                        }
                        description {
                                state, "focused" 0.0;
                                inherit, "default" 0.0;
-                               color, 255 255 255 255;
-                               text.font, FONT_TIZENSANS_REGULAR;
+                               color, 0 119 246 255;
                        }
                }
 
                part {
-                       name, "padding.bottom.line";
-                       type, SPACER;
+                       name, "bg.right";
+                       type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 28 3;
+                               min, 40 82;
                                rel1 {
+                                       relative, 1.0 0.0;
                                        to, "bg";
-                                       relative, 0.0 1.0;
                                }
                                rel2 {
+                                       relative, 1.0 0.0;
                                        to, "bg";
-                                       relative, 0.0 1.0;
                                }
-                               align, 0.0 1.0;
+                               align, 0.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, "elm.text";
+                       type, TEXT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               color, 104 104 104 255;
+                               min, 0 82;
+                               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 {
+                               state, "selected" 0.0;
+                               inherit, "default" 0.0;
+                               color, 64 136 211 255;
+                               text.font, FONT_TIZENSANS_REGULAR;
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               color, 255 255 255 255;
+                               text.font, FONT_TIZENSANS_REGULAR;
+                       }
                }
 
                part {
@@ -100,17 +137,16 @@ group {
                        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;
+                                       to, "bg";
+                                       relative, 0.0 1.0;
                                }
                                rel2 {
-                                       to, "padding.bottom.line";
-                                       relative, 1.0 0.0;
+                                       to, "bg";
                                }
-                               align, 0.0 0.0;
-                               fixed, 1 1;
+                               align, 0.5 1.0;
+                               fixed, 0 1;
                                visible, 0;
                        }
                        description {
@@ -145,6 +181,8 @@ group {
                                state = get_int(cur_state);
                                if (state == STATE_SELECTED) {
                                        set_state(PART:"bg", "selected", 0.0);
+                                       set_state(PART:"bg.left", "selected", 0.0);
+                                       set_state(PART:"bg.right", "selected", 0.0);
                                        set_state(PART:"elm.text", "selected", 0.0);
                                        set_state(PART:"bottom.line", "selected", 0.0);
                                } else {
@@ -157,6 +195,8 @@ group {
                        name, "focused,anim";
                        action, STATE_SET "focused" 0.0;
                        target, "bg";
+                       target, "bg.left";
+                       target, "bg.right";
                        target, "elm.text";
                        target, "bottom.line";
                        transition, LINEAR 0.17;
@@ -166,6 +206,8 @@ group {
                        name, "unfocused,anim";
                        action, STATE_SET "default" 0.0;
                        target, "bg";
+                       target, "bg.left";
+                       target, "bg.right";
                        target, "elm.text";
                        target, "bottom.line";
                        transition, LINEAR 0.17;
@@ -178,6 +220,8 @@ group {
                        script {
                                set_int(cur_state, STATE_SELECTED);
                                set_state(PART:"bg", "selected", 0.0);
+                               set_state(PART:"bg.left", "selected", 0.0);
+                               set_state(PART:"bg.right", "selected", 0.0);
                                set_state(PART:"elm.text", "selected", 0.0);
                                set_state(PART:"bottom.line", "selected", 0.0);
                        }
index 252dfbca938dbb44d615b1e2366d1655e1f83bf2..53fe74cf361d00ca6c189f49d763140bb2d39c07 100644 (file)
@@ -31,7 +31,7 @@ static char *_text_get(void *data, Evas_Object *obj, const char *part)
        }
        adata = data;
 
-       return get_app_name(adata);
+       return strdup(get_app_name(adata));
 }
 
 static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
index 8cb0e1dcc382b4c1a3fca55f263812d95f3a0201..257e2103c7837c609af4d92220c238e0b3bc468a 100644 (file)
@@ -67,7 +67,8 @@ Evas_Object *add_layout(Evas_Object *parent, const char *group)
 }
 
 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;
 
@@ -83,6 +84,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 a9d15953d3633c724fa80c9dc51033a063a0211f..b3341023f812f35369b0175acc4bd66d8e48de7c 100644 (file)
@@ -268,7 +268,8 @@ static bool _draw_top_area(struct _priv *priv)
 
        elm_object_part_text_set(priv->base, PART_TOP_TITLE, STR_APPS);
 
-       box = add_box(priv->base, PART_MENU, EINA_TRUE);
+       box = add_box(priv->base, PART_MENU, EINA_TRUE,
+                       SIZE_BOX_PAD_H, SIZE_BOX_PAD_V);
        if (!box) {
                _ERR("Add box failed.");
                return false;