Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info)
{
	Evas_Object *layout = elm_layout_add(parent);
	Evas_Object *entry = NULL;
	elm_layout_theme_set(layout, "layout", "editfield", "title");
	evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
	elm_object_part_text_set(layout, "elm.text", entry_info->title);
	elm_object_part_text_set(layout, "elm.guidetext", entry_info->guide_txt); // Set guidetext.

	entry = elm_entry_add(layout);
	elm_object_part_content_set(layout, "elm.swallow.content", entry);
	elm_entry_single_line_set(entry, EINA_TRUE);
	elm_entry_scrollable_set(entry, EINA_TRUE);
	elm_entry_entry_set(entry, entry_info->entry_txt);
	elm_entry_input_panel_layout_set(entry, entry_info->panel_type);
	if (!elm_entry_is_empty(entry)) {
		INFO_LOG(UG_NAME_NORMAL, "entry is not empty");
		elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm");
		if (!entry_info->guide_txt || strlen(entry_info->guide_txt) <= 0)
			evas_object_data_set(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY, g_strdup(entry_info->entry_txt));
	}

	evas_object_smart_callback_add(entry, "changed", __common_utils_entry_changed_cb, layout);
	evas_object_smart_callback_add(entry, "focused", __common_utils_entry_focused_cb, layout);
	evas_object_smart_callback_add(entry, "unfocused", __common_utils_entry_unfocused_cb, layout);
	elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __common_utils_eraser_clicked_cb, entry);
	evas_object_show(entry);

	return layout;
}
Example #2
0
static void _entry_unfocused_cb(void *data, Evas_Object * obj, void *event_info)
{

	if (elm_entry_is_empty(obj))
		elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
	elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
}
static void __common_utils_entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
{
	if (obj == NULL)
		return;

	if (elm_object_focus_get(data)) {
		if (elm_entry_is_empty(obj))
			elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
		else
			elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
	}
}
static void __common_utils_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
{
	INFO_LOG(UG_NAME_NORMAL, "__common_utils_entry_unfocused_cb entered");

	if (elm_entry_is_empty(obj)) {
		const char *guide_txt = elm_object_part_text_get(data, "elm.guidetext");
		INFO_LOG(UG_NAME_NORMAL, "entry is empty");
		if (guide_txt && strlen(guide_txt)) { /* If guide text exists then show it */
			elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
		} else {	/* If default entry text exists then show it */
			char *default_entry_txt = NULL;
			default_entry_txt = evas_object_data_get(data, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY);
			if (default_entry_txt && strlen(default_entry_txt)) {
				elm_entry_entry_set(obj, default_entry_txt);
			}
		}
	}
	elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
}
Example #5
0
EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_is_empty(const Evas_Object *obj)
{return elm_entry_is_empty(obj);}