2012-02-07 Jihoon Kim (jihoon)
- * Support ecore_imf_context_input_panel_show/hide in XIM module.
+ * Support ecore_imf_context_input_panel_show/hide in XIM and SCIM module.
_panel_client.send();
}
+
+ if (ecore_imf_context_input_panel_enabled_get(ctx))
+ ecore_imf_context_input_panel_show(ctx);
}
/**
_panel_client.send();
_focused_ic = 0;
}
+
+ if (ecore_imf_context_input_panel_enabled_get(ctx))
+ ecore_imf_context_input_panel_hide(ctx);
}
/**
return ret;
}
+EAPI void
+isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx)
+{
+ SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n";
+
+ EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx);
+ if (ic == NULL || ic->impl == NULL)
+ return;
+
+ ecore_x_e_virtual_keyboard_state_set
+ (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON);
+}
+
+EAPI void
+isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx)
+{
+ SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n";
+
+ EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx);
+ if (ic == NULL || ic->impl == NULL)
+ return;
+
+ ecore_x_e_virtual_keyboard_state_set
+ (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF);
+}
+
/* Panel Slot functions */
static void
panel_slot_reload_config(int context __UNUSED__)
void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction);
void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type);
void isf_imf_context_input_panel_layout_set (Ecore_IMF_Context* ctx, Ecore_IMF_Input_Panel_Layout layout);
+void isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx);
+void isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx);
EcoreIMFContextISF* isf_imf_context_new (void);
void isf_imf_context_shutdown (void);
isf_imf_context_del, /* del */
isf_imf_context_client_window_set, /* client_window_set */
isf_imf_context_client_canvas_set, /* client_canvas_set */
- NULL, /* isf_imf_context_input_panel_show, - show */
- NULL, /* isf_imf_context_input_panel_hide, - hide */
+ isf_imf_context_input_panel_show, /* input_panel_show, - show */
+ isf_imf_context_input_panel_hide, /* input_panel_hide, - hide */
isf_imf_context_preedit_string_get, /* get_preedit_string */
isf_imf_context_focus_in, /* focus_in */
isf_imf_context_focus_out, /* focus_out */