struct _Widget_Data {\r
Evas_Object *base;\r
Evas_Object *box;\r
+ Evas_Object *rect;\r
Evas_Object *entry;\r
Evas_Object *label;\r
Evas_Object *guidetext;\r
}\r
wd->current = NULL;\r
\r
+ if(wd->rect) evas_object_del(wd->rect);\r
if(wd->entry) evas_object_del(wd->entry);\r
if(wd->label) evas_object_del(wd->label);\r
if(wd->guidetext) evas_object_del(wd->guidetext);\r
{\r
Widget_Data *wd = elm_widget_data_get(obj);\r
Evas_Coord minw = -1, minh = -1;\r
+ Evas_Coord left, right, top, bottom;\r
if (!wd) return;\r
\r
evas_object_size_hint_min_get(wd->box, &minw, &minh);\r
+ edje_object_part_geometry_get(wd->base, "top.left.pad", NULL, NULL, &left, &top);\r
+ edje_object_part_geometry_get(wd->base, "bottom.right.pad", NULL, NULL, &right, &bottom); \r
+\r
+ minw += (left + right);\r
+ minh += (top + bottom);\r
+ \r
evas_object_size_hint_min_set(obj, minw, minh);\r
}\r
\r
elm_scrolled_entry_entry_set(wd->entry, "");\r
\r
if(contracted == 1){ \r
- Evas_Coord w=0, w_label=0;\r
+ Evas_Coord w=0, w_tmp=0;\r
\r
// unpack all items and entry\r
EINA_LIST_FOREACH(wd->items, l, item) {\r
// pack buttons only 1line\r
w = wd->w_box;\r
\r
+ // w -= w_rect\r
+ if(wd->rect) evas_object_geometry_get(wd->rect, NULL, NULL, &w_tmp, NULL);\r
+ w -= w_tmp;\r
+\r
// w -= w_label\r
- if(wd->label) \r
- evas_object_geometry_get(wd->label, NULL, NULL, &w_label, NULL);\r
- w -= w_label;\r
+ if(wd->label) evas_object_geometry_get(wd->label, NULL, NULL, &w_tmp, NULL);\r
+ w -= w_tmp;\r
\r
// w -= w_btns \r
item = NULL;\r
elm_label_text_align_set(wd->label, "left");\r
evas_object_size_hint_weight_set(wd->label, 0.0, EVAS_HINT_EXPAND);\r
evas_object_size_hint_align_set(wd->label, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- if(wd->box) elm_box_pack_start(wd->box, wd->label);\r
+ if(wd->box){\r
+ if(wd->rect) elm_box_pack_after(wd->box, wd->label, wd->rect);\r
+ else elm_box_pack_start(wd->box, wd->label);\r
+ }\r
evas_object_show(wd->label);\r
}\r
\r
edje_object_part_swallow(wd->base, "box.swallow", wd->box);\r
}\r
\r
+ if(!wd->rect){\r
+ Evas_Coord w, h;\r
+ if(!(wd->rect = edje_object_add(evas_object_evas_get(obj)))) return;\r
+ _elm_theme_object_set(obj, wd->rect, "multibuttonentry", "rect", elm_widget_style_get(obj));\r
+ elm_widget_sub_object_add(obj, wd->rect);\r
+ edje_object_part_geometry_get(wd->rect, "elm.base", NULL, NULL, &w, &h);\r
+ evas_object_size_hint_min_set(wd->rect, w, h); \r
+ evas_object_size_hint_weight_set(wd->rect, 0.0, EVAS_HINT_EXPAND);\r
+ evas_object_size_hint_align_set(wd->rect, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
+ if(wd->box) elm_box_pack_start(wd->box, wd->rect);\r
+ evas_object_show(wd->rect);\r
+ }\r
+ \r
if(!wd->entry){\r
if(!(wd->entry = elm_scrolled_entry_add(obj))) return;\r
elm_scrolled_entry_single_line_set(wd->entry, EINA_TRUE);\r
evas_object_event_callback_add(wd->entry, EVAS_CALLBACK_KEY_UP, _evas_key_up_cb, obj);\r
evas_object_size_hint_weight_set(wd->entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
evas_object_size_hint_align_set(wd->entry, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- elm_box_pack_end(wd->box, wd->entry);\r
+ if(wd->box) elm_box_pack_end(wd->box, wd->entry);\r
evas_object_show(wd->entry);\r
}\r
\r