From 5eb88b4c8220c3c0b96a3c5eb587a5775da244d4 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 26 Jun 2017 19:58:08 +0900 Subject: [PATCH] edje: Add edje_object_part_text_prediction_hint_set Change-Id: I67d0c8fb55e0ffda5426355308668337794ee449 Signed-off-by: Jihoon Kim --- src/lib/edje/edje_entry.c | 17 +++++++++++++++++ src/lib/edje/edje_object.eo | 9 +++++++++ src/lib/edje/edje_private.h | 1 + src/lib/edje/edje_util.c | 14 ++++++++++++++ 4 files changed, 41 insertions(+) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index c18111c..a130a1f 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -4272,6 +4272,23 @@ _edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp) #endif } +void +_edje_entry_prediction_hint_set(Edje_Real_Part *rp, const char *prediction_hint) +{ + Entry *en; + + if ((rp->type != EDJE_RP_TYPE_TEXT) || + (!rp->typedata.text)) return; + en = rp->typedata.text->entry_data; + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_prediction_hint_set(en->imf_context, prediction_hint); +#else + (void)prediction_hint; +#endif +} + #ifdef HAVE_ECORE_IMF void _edje_entry_input_panel_show_on_demand_set(Edje_Real_Part *rp, Eina_Bool ondemand) diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo index ce15a74..6ddc590 100644 --- a/src/lib/edje/edje_object.eo +++ b/src/lib/edje/edje_object.eo @@ -3003,6 +3003,15 @@ class Edje.Object (Evas.Smart_Clipped, Efl.File) } return: bool; [[$true if the visible character is hidden. $false if there is no visible character or the object is not set for password mode.]] } + part_text_prediction_hint_set { + [[Sets the prediction hint to use an intelligent reply suggestion service + + @since 1.20.0]] + params { + @in part: const(char)*; [[The part name]] + @in prediction_hint: const(char)*; [[Prediction hint]] + } + } /* TIZEN_ONLY(20161130): add part_text_min_policy property for internal usage */ @property part_text_min_policy @internal { set { diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h index 547067e..dd7cf7e 100644 --- a/src/lib/edje/edje_private.h +++ b/src/lib/edje/edje_private.h @@ -2807,6 +2807,7 @@ void _edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bo Eina_Bool _edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp); void _edje_entry_input_panel_show_on_demand_set(Edje_Real_Part *rp, Eina_Bool ondemand); Eina_Bool _edje_entry_input_panel_show_on_demand_get(Edje_Real_Part *rp); +void _edje_entry_prediction_hint_set(Edje_Real_Part *rp, const char *prediction_hint); Eina_Bool _edje_entry_hide_visible_password(Edje *edje, Edje_Real_Part *rp); // TIZEN_ONLY(20150716): Add edje_object_part_text_freeze, thaw APIs for freezing cursor movements. void _edje_entry_freeze(Edje_Real_Part *rp); diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index 9176392..b054a85 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -2112,6 +2112,20 @@ _edje_object_part_text_raw_set(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, c return EINA_TRUE; } +EOLIAN void +_edje_object_part_text_prediction_hint_set(Eo *obj EINA_UNUSED, Edje *ed, const char *part, const char *prediction_hint) +{ + Edje_Real_Part *rp; + + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(&ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_prediction_hint_set(rp, prediction_hint); + } +} + Eina_Bool _edje_object_part_text_raw_append(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text) { -- 2.7.4