ecore_imf: Add ecore_imf_context_input_panel_layout_variation_set/get API

This commit is contained in:
Jihoon Kim 2013-03-27 10:15:42 +09:00
parent 19561c6112
commit 6265365ddc
5 changed files with 62 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2013-03-27 Jihoon Kim
* Add ecore_imf_context_input_panel_variation_set/get API.
2013-03-25 Cedric Bail
* Eina: add portable eina_file_mkstemp().

1
NEWS
View File

@ -81,6 +81,7 @@ Additions:
* Eeze: Add a dummy libmount replacement for when libmount is not there.
* Ecore_Con: Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE).
* Ecore: notify systemd that we are ready as soon as the main loop is running.
* ecore_imf: Add ecore_imf_context_input_panel_layout_variation_set/get API
Deprecations:
* ecore_x:

View File

@ -299,6 +299,14 @@ typedef enum
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN /**< Sign-in @since 1.8 */
} Ecore_IMF_Input_Panel_Return_Key_Type;
enum
{
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL,
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED,
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL,
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL
};
struct _Ecore_IMF_Event_Preedit_Start
{
Ecore_IMF_Context *ctx;
@ -1255,6 +1263,27 @@ EAPI void ecore_imf_context_input_panel_layout_set(Ecor
*/
EAPI Ecore_IMF_Input_Panel_Layout ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx);
/**
* Set the layout variation of the current active input panel.
*
* @param ctx An #Ecore_IMF_Context.
* @param variation the layout variation
* @note Default layout variation type is NORMAL.
* @ingroup Ecore_IMF_Context_Group
* @since 1.8.0
*/
EAPI void ecore_imf_context_input_panel_layout_variation_set(Ecore_IMF_Context *ctx, int variation);
/**
* Get the layout variation of the current active input panel.
*
* @param ctx An #Ecore_IMF_Context.
* @return the layout variation
* @ingroup Ecore_IMF_Context_Group
* @since 1.8.0
*/
EAPI int ecore_imf_context_input_panel_layout_variation_get(Ecore_IMF_Context *ctx);
/**
* Set the language of the input panel.
* This API can be used when you want to show the English keyboard.

View File

@ -820,6 +820,32 @@ ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx)
return ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID;
}
EAPI void
ecore_imf_context_input_panel_layout_variation_set(Ecore_IMF_Context *ctx, int variation)
{
if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
{
ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
"ecore_imf_context_input_panel_layout_variation_set");
return;
}
ctx->input_panel_layout_variation = variation;
}
EAPI int
ecore_imf_context_input_panel_layout_variation_get(Ecore_IMF_Context *ctx)
{
if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
{
ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
"ecore_imf_context_input_panel_layout_variation_get");
return 0;
}
return ctx->input_panel_layout_variation;
}
EAPI void
ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang)
{

View File

@ -53,6 +53,7 @@ struct _Ecore_IMF_Context
Ecore_IMF_Input_Panel_Layout input_panel_layout;
Ecore_IMF_Input_Panel_Lang input_panel_lang;
Ecore_IMF_Input_Panel_Return_Key_Type input_panel_return_key_type;
int input_panel_layout_variation;
Eina_Bool allow_prediction : 1;
Eina_Bool input_panel_enabled : 1;
Eina_Bool input_panel_return_key_disabled : 1;