wl_text: support to set input panel data 28/48528/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 22 Sep 2015 11:34:38 +0000 (20:34 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 22 Sep 2015 11:34:38 +0000 (20:34 +0900)
Change-Id: I8400b5ae714f66649b13be1c3f29e0ecbd7ff53b

ism/extras/efl_wsc/isf_wsc_control_ui.cpp
ism/extras/efl_wsc/isf_wsc_control_ui.h
ism/extras/efl_wsc/isf_wsc_efl.cpp

index 975f6d7222931cf431a309fb5bcb433c3b7b5aad..32a032bf17e47027a44b47190148e110d51bfe32 100644 (file)
@@ -272,3 +272,11 @@ void isf_wsc_context_input_panel_return_key_disabled_set (WSCContextISF *ctx, Ei
     LOGD ("ctx : %p, disabled : %d\n", ctx, disabled);
     _isf_wsc_context_input_panel_return_key_disabled_set (_get_context_id (ctx), disabled);
 }
+
+void isf_wsc_context_input_panel_imdata_set (WSCContextISF *ctx, const void *imdata, int len)
+{
+   if (!IfInitContext)
+        _isf_wsc_context_init ();
+
+    _isf_wsc_context_input_panel_imdata_set (_get_context_id (ctx), imdata, len);
+}
index ba02ff5fbd56dbf5984a268244dbf5361bec06e1..8720ee66203e68c1607847167aed618d41e08797 100644 (file)
@@ -51,6 +51,7 @@ extern "C"
     void isf_wsc_context_input_panel_caps_lock_mode_set (WSCContextISF *ctx, Eina_Bool mode);
     void isf_wsc_context_set_keyboard_mode (WSCContextISF *ctx, scim::TOOLBAR_MODE_T mode);
     void isf_wsc_context_input_panel_return_key_disabled_set (WSCContextISF *ctx, Eina_Bool disabled);
+    void isf_wsc_context_input_panel_imdata_set (WSCContextISF *ctx, const void *imdata, int len);
 
 #ifdef __cplusplus
 }
index a0db72e9b152db0f672d850f25d6e4368c1eb284..5a544bd9bdd9d6a2d0098dc0ffa90657764b4816 100644 (file)
@@ -228,6 +228,16 @@ _wsc_im_ctx_return_key_disabled(void *data, struct wl_input_method_context *im_c
     }
 }
 
+static void
+_wsc_im_ctx_input_panel_data(void *data, struct wl_input_method_context *im_ctx, const char *input_panel_data, uint32_t input_panel_data_length)
+{
+    struct weescim *wsc = (weescim*)data;
+    LOGD ("im_context = %p input panel data = %s len = %d", im_ctx, input_panel_data, input_panel_data_length);
+    if (!wsc || !wsc->wsc_ctx) return;
+
+    isf_wsc_context_input_panel_imdata_set (wsc->wsc_ctx, (void *)input_panel_data, input_panel_data_length);
+}
+
 static const struct wl_input_method_context_listener wsc_im_context_listener = {
      _wsc_im_ctx_surrounding_text,
      _wsc_im_ctx_reset,
@@ -236,7 +246,8 @@ static const struct wl_input_method_context_listener wsc_im_context_listener = {
      _wsc_im_ctx_commit_state,
      _wsc_im_ctx_preferred_language,
      _wsc_im_ctx_return_key_type,
-     _wsc_im_ctx_return_key_disabled
+     _wsc_im_ctx_return_key_disabled,
+     _wsc_im_ctx_input_panel_data
 };
 
 static void