static void _ecore_imf_context_xim_focus_in(Ecore_IMF_Context *ctx) { EINA_LOG_DBG("in"); #ifdef ENABLE_XIM XIC ic; Ecore_IMF_Context_Data *imf_context_data; imf_context_data = ecore_imf_context_data_get(ctx); EINA_SAFETY_ON_NULL_RETURN(imf_context_data); ic = imf_context_data->ic; imf_context_data->has_focus = EINA_TRUE; if (ecore_imf_context_input_panel_enabled_get(ctx)) ecore_imf_context_input_panel_show(ctx); if (ic) { char *str; #ifdef X_HAVE_UTF8_STRING if ((str = Xutf8ResetIC(ic))) #else if ((str = XmbResetIC(ic))) #endif XFree(str); XSetICFocus(ic); } #else (void)ctx; #endif }
void test_input_panel_show (void *data, Evas_Object *obj, void *event_info) { if (imf_context != NULL) { ecore_imf_context_focus_in (imf_context); ecore_imf_context_input_panel_show (imf_context); } }