[elm_multibuttonentry]Changed edc's TEXT part to TEXTBLOCK to support ellipsis
authorGoun Lee <gouni.lee@samsung.com>
Tue, 6 Sep 2011 09:47:41 +0000 (18:47 +0900)
committerGoun Lee <gouni.lee@samsung.com>
Tue, 6 Sep 2011 09:47:41 +0000 (18:47 +0900)
src/lib/elm_multibuttonentry.c

index b4c38cb..0c1b989 100644 (file)
@@ -737,10 +737,13 @@ _resize_button(Evas_Object *btn, Evas_Coord *realw, Evas_Coord *vieww)
    Evas_Coord w_text, h_btn, padding_outer, padding_inner;
    Evas_Coord w_btn = 0, button_max_width = 0;
    const char *size_str;
+   const char *ellipsis = "<ellipsis=1.0>";
 
    size_str = edje_object_data_get(btn, "button_max_size");
    if (size_str) button_max_width = (Evas_Coord)atoi(size_str);
 
+   const char *button_text = edje_object_part_text_get(btn, "elm.btn.text");
+
    // decide the size of button
    edje_object_part_geometry_get(btn, "elm.base", NULL, NULL, NULL, &h_btn);
    edje_object_part_geometry_get(btn, "elm.btn.text", NULL, NULL, &w_text, NULL);
@@ -749,7 +752,15 @@ _resize_button(Evas_Object *btn, Evas_Coord *realw, Evas_Coord *vieww)
    w_btn = w_text + 2*padding_outer + 2*padding_inner;
 
    rw = w_btn;
-   vw = (button_max_width < w_btn) ? button_max_width : w_btn;
+
+   if (button_max_width < w_btn)
+     {
+        vw = button_max_width;
+        edje_object_part_text_set(btn, "elm.btn.text", ellipsis);
+        edje_object_part_text_append(btn, "elm.btn.text", button_text);
+     }
+   else
+     vw = w_btn;
 
    //resize btn
    evas_object_resize(btn, vw, h_btn);