edje: Add edje_object_part_text_prediction_hint_set 83/135783/2
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 26 Jun 2017 10:58:08 +0000 (19:58 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Thu, 29 Jun 2017 11:43:10 +0000 (11:43 +0000)
Change-Id: I67d0c8fb55e0ffda5426355308668337794ee449
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/lib/edje/edje_entry.c
src/lib/edje/edje_object.eo
src/lib/edje/edje_private.h
src/lib/edje/edje_util.c

index c18111c..a130a1f 100644 (file)
@@ -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)
index ce15a74..6ddc590 100644 (file)
@@ -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 {
index 547067e..dd7cf7e 100644 (file)
@@ -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);
index 9176392..b054a85 100644 (file)
@@ -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)
 {