Add ecore_imf_context_input_panel_on_demand_set/get API

This commit is contained in:
Jihoon Kim 2013-08-13 15:27:29 +09:00
parent 3e5bd813d3
commit fe05d358ea
5 changed files with 53 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2013-08-13 Jihoon Kim
* Ecore_IMF: add ecore_imf_context_input_panel_on_demand_set/get()
2013-08-09 Cedric Bail
* Edje: add edje_object_mmap_set().

1
NEWS
View File

@ -141,6 +141,7 @@ Additions:
- Add ecore_imf_input_panel_hide API
- Add ecore_imf_context_input_panel_event_callback_call, clear API
- Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
- Add ecore_imf_context_input_panel_on_demand_set/get API
* Eio:
- Add eio_eet_sync symbols.

View File

@ -1523,6 +1523,27 @@ EAPI void ecore_imf_context_input_panel_language_locale
*/
EAPI void ecore_imf_context_candidate_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h);
/**
* Set whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
* It doesn't request to show the input panel even though the Input Method Context has focus.
*
* @param ctx An #Ecore_IMF_Context.
* @param ondemand If true, the input panel will be shown in case of only Mouse up event. (Focus event will be ignored.)
* @ingroup Ecore_IMF_Context_Group
* @since 1.8.0
*/
EAPI void ecore_imf_context_input_panel_show_on_demand_set(Ecore_IMF_Context *ctx, Eina_Bool ondemand);
/**
* Get whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
*
* @param ctx An #Ecore_IMF_Context.
* @return @c EINA_TRUE if the input panel will be shown in case of only Mouse up event.
* @ingroup Ecore_IMF_Context_Group
* @since 1.8.0
*/
EAPI Eina_Bool ecore_imf_context_input_panel_show_on_demand_get(Ecore_IMF_Context *ctx);
/* The following entry points must be exported by each input method module
*/

View File

@ -1207,3 +1207,29 @@ ecore_imf_context_candidate_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, i
ctx->klass->candidate_panel_geometry_get(ctx, x, y, w, h);
}
EAPI void
ecore_imf_context_input_panel_show_on_demand_set(Ecore_IMF_Context *ctx, Eina_Bool ondemand)
{
if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
{
ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
"ecore_imf_context_input_panel_show_on_demand_set");
return;
}
ctx->input_panel_show_on_demand = ondemand;
}
EAPI Eina_Bool
ecore_imf_context_input_panel_show_on_demand_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_show_on_demand_get");
return EINA_FALSE;
}
return ctx->input_panel_show_on_demand;
}

View File

@ -60,6 +60,7 @@ struct _Ecore_IMF_Context
Eina_Bool input_panel_enabled : 1;
Eina_Bool input_panel_return_key_disabled : 1;
Eina_Bool input_panel_caps_lock_mode : 1;
Eina_Bool input_panel_show_on_demand : 1;
};
struct _Ecore_IMF_Module