#endif
+/****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+/**
+ * @internal
+ * @brief These APIs are for communicating with edje_entry for not moving
+ * cursor position meanwhile.
+ *
+ * @remarks Tizen only feature (2015.07.16)
+ *
+ * @remarks Applications NEVER USE THESE APIs for private purporse.
+ *
+ * @see edje_object_part_text_thaw()
+ */
+EAPI void edje_object_part_text_freeze (Evas_Object *obj, const char *part);
+
+/**
+ * @internal
+ * @brief These APIs are for communicating with edje_entry for not moving
+ * cursor position meanwhile.
+ *
+ * @remarks Tizen only feature (2015.07.16)
+ *
+ * @remarks Applications NEVER USE THESE APIs for private purporse.
+ *
+ * @see edje_object_part_text_freeze()
+ */
+EAPI void edje_object_part_text_thaw (Evas_Object *obj, const char *part);
+/*******
+ * END *
+ *******/
+
/**
* @}
*/
Eina_Bool commit_cancel : 1; // For skipping useless commit
Ecore_IMF_Context *imf_context;
#endif
+
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+ Eina_Bool freeze : 1;
+ /*******
+ * END *
+ *******/
};
struct _Sel
_anchors_get(en->cursor, rp->object, en);
_edje_emit(en->ed, "entry,changed", rp->part->name);
+
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************
_edje_entry_imf_cursor_info_set(en);
_edje_entry_real_part_configure(en->ed, rp);
+ */
+ if (!en->freeze)
+ {
+ _edje_entry_imf_cursor_info_set(en);
+ _edje_entry_real_part_configure(en->ed, rp);
+ }
+ /*******
+ * END *
+ *******/
#if 0
/* Don't emit cursor changed cause it didn't. It's just init to 0. */
_edje_emit(en->ed, "cursor,changed", rp->part->name);
if (!en) return;
_curs_start(en->cursor, rp->object, en);
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************
_edje_entry_imf_cursor_info_set(en);
+ */
+ if (!en->freeze)
+ _edje_entry_imf_cursor_info_set(en);
+ /*******
+ * END *
+ *******/
}
void
evas_textblock_cursor_pos_set(c, pos);
_sel_update(en->ed, c, rp->object, rp->typedata.text->entry_data);
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************
_edje_entry_imf_cursor_info_set(en);
_edje_emit(en->ed, "cursor,changed", rp->part->name);
_edje_entry_real_part_configure(en->ed, rp);
+ */
+ _edje_emit(en->ed, "cursor,changed", rp->part->name);
+ if (!en->freeze)
+ {
+ _edje_entry_imf_cursor_info_set(en);
+ _edje_entry_real_part_configure(en->ed, rp);
+ }
+ /*******
+ * END *
+ *******/
}
void
return _cursor_get(rp, cur);
}
+/****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+void _edje_entry_freeze(Edje_Real_Part *rp)
+{
+ Entry *en = NULL;
+
+ if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+ (!rp->typedata.text)) return;
+
+ en = rp->typedata.text->entry_data;
+ if (!en) return;
+
+ en->freeze = EINA_TRUE;
+}
+
+void _edje_entry_thaw(Edje_Real_Part *rp)
+{
+ Entry *en = NULL;
+
+ if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+ (!rp->typedata.text)) return;
+
+ en = rp->typedata.text->entry_data;
+ if (!en) return;
+
+ en->freeze = EINA_FALSE;
+
+ _edje_entry_imf_cursor_info_set(en);
+ _edje_entry_real_part_configure(en->ed, rp);
+}
+/*******
+ * END *
+ *******/
+
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
* END *
*******/
+/****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+EAPI void
+edje_object_part_text_freeze(Evas_Object *obj, const char *part)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return;
+ rp = _edje_real_part_recursive_get(&ed, part);
+ if (!rp) return;
+ if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
+ if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return;
+
+ _edje_entry_freeze(rp);
+}
+
+EAPI void
+edje_object_part_text_thaw(Evas_Object *obj, const char *part)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return;
+ rp = _edje_real_part_recursive_get(&ed, part);
+ if (!rp) return;
+ if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
+ if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return;
+
+ _edje_entry_thaw(rp);
+}
+/*******
+ * END *
+ *******/
+
+
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
evas_event_freeze(evas_object_evas_get(obj));
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+ edje_object_part_text_freeze(sd->entry_edje, "elm.text");
+ /*******
+ * END *
+ *******/
+
edje_object_part_text_hide_visible_password(sd->entry_edje, "elm.text");
edje_object_mirrored_set
evas_event_thaw(evas_object_evas_get(obj));
evas_event_thaw_eval(evas_object_evas_get(obj));
+ /****************************************************************************************************
+ * TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. *
+ ****************************************************************************************************/
+ edje_object_part_text_thaw(sd->entry_edje, "elm.text");
+ /*******
+ * END *
+ *******/
+
efl_event_callback_legacy_call(obj, EFL_UI_LAYOUT_EVENT_THEME_CHANGED, NULL);
evas_object_unref(obj);