static void _add_button(Evas_Object *obj, char *str);\r
static void _evas_key_up_cb(void *data, Evas *e , Evas_Object *obj , void *event_info );\r
static void _view_init(Evas_Object *obj);\r
+static void _set_vis_guidetext(Evas_Object *obj);\r
\r
static void\r
_del_hook(Evas_Object *obj)\r
}\r
\r
static void\r
+_set_vis_guidetext(Evas_Object *obj)\r
+{\r
+ Widget_Data *wd = elm_widget_data_get(obj);\r
+ if (wd && !eina_list_count(wd->items))\r
+ {\r
+ if (wd->guidetext && !elm_widget_focus_get(obj) && !wd->focused)\r
+ {\r
+ elm_box_unpack(wd->box, wd->guidetext);\r
+ elm_box_unpack(wd->box, wd->entry);\r
+ evas_object_hide(wd->entry);\r
+ elm_box_pack_end(wd->box, wd->guidetext);\r
+ evas_object_show(wd->guidetext);\r
+ }\r
+ else\r
+ {\r
+ elm_box_unpack(wd->box, wd->entry);\r
+ elm_box_unpack(wd->box, wd->guidetext);\r
+ evas_object_hide(wd->guidetext);\r
+ elm_box_pack_end(wd->box, wd->entry);\r
+ evas_object_show(wd->entry);\r
+\r
+ if(elm_widget_focus_get(obj) || wd->focused)\r
+ elm_object_focus(wd->entry);\r
+ }\r
+ }\r
+ return;\r
+}\r
+\r
+static void\r
_contracted_state_set(Evas_Object *obj, int contracted)\r
{\r
Widget_Data *wd = elm_widget_data_get(obj);\r
\r
if (wd->contracted == contracted) return;\r
\r
+ if (!eina_list_count(wd->items))\r
+ {\r
+ _set_vis_guidetext(obj);\r
+ wd->contracted = 0;\r
+ return;\r
+ }\r
+\r
elm_scrolled_entry_entry_set(wd->entry, "");\r
\r
if (contracted == 1)\r
}\r
\r
// update guidetext\r
- if (wd->contracted != 1)\r
- {\r
- if (wd->guidetext && !eina_list_count (wd->items) && !elm_widget_focus_get(obj) && !wd->focused)\r
- {\r
- elm_box_unpack(wd->box, wd->guidetext);\r
- elm_box_unpack(wd->box, wd->entry);\r
- evas_object_hide(wd->entry);\r
- elm_box_pack_end(wd->box, wd->guidetext);\r
- evas_object_show(wd->guidetext);\r
- }\r
- else\r
- {\r
- elm_box_unpack(wd->box, wd->entry);\r
- elm_box_unpack(wd->box, wd->guidetext);\r
- evas_object_hide(wd->guidetext);\r
- elm_box_pack_end(wd->box, wd->entry);\r
- evas_object_show(wd->entry);\r
-\r
- if(elm_widget_focus_get(obj) || wd->focused)\r
- elm_object_focus(wd->entry);\r
- }\r
- }\r
+ if (wd->contracted != 1) _set_vis_guidetext(obj);\r
}\r
\r
static void\r