Add edje_object_part_text_imf_context_get API.

This API can be used to get the input method context in entry.


SVN revision: 68385
This commit is contained in:
Jihoon Kim 2012-02-24 06:51:04 +00:00
parent 336b2878bc
commit 8c9ee103cb
5 changed files with 50 additions and 1 deletions

View File

@ -360,3 +360,7 @@
* Change API names from edje_object_markup_filter_callback_{add,del,del_full}.
to edje_object_text_markup_filter_callback_{add,del,del_full}.
2012-02-24 Jihoon Kim
* add edje_object_part_text_imf_context_get for getting Ecore_IMF_Context handle in edje text object

View File

@ -2873,6 +2873,20 @@ EAPI int edje_object_part_text_cursor_pos_get (const E
*/
EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part);
/**
* @brief Get the input method context in entry.
*
* If ecore_imf was not available when edje was compiled, this function returns NULL
* otherwise, the returned pointer is an Ecore_IMF *
*
* @param obj A valid Evas_Object handle
* @param part The part name
*
* @return The input method context (Ecore_IMF_Context *) in entry
* @since 1.2.0
*/
EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part);
/**
* @brief Set the layout of the input panel.
*

View File

@ -2553,6 +2553,19 @@ _edje_entry_select_abort(Edje_Real_Part *rp)
}
}
void *
_edje_entry_imf_context_get(Edje_Real_Part *rp)
{
Entry *en = rp->entry_data;
if (!en) return NULL;
#ifdef HAVE_ECORE_IMF
return en->imf_context;
#else
return NULL;
#endif
}
void
_edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type)
{

View File

@ -1940,7 +1940,7 @@ void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Co
void _edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow);
Eina_Bool _edje_entry_select_allow_get(const Edje_Real_Part *rp);
void _edje_entry_select_abort(Edje_Real_Part *rp);
void *_edje_entry_imf_context_get(Edje_Real_Part *rp);
Eina_Bool _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur);
Eina_Bool _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur);
Eina_Bool _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur);

View File

@ -1527,6 +1527,24 @@ edje_object_part_text_select_extend(const Evas_Object *obj, const char *part)
_edje_entry_select_extend(rp);
}
EAPI void *
edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part)
{
Edje *ed;
Edje_Real_Part *rp;
ed = _edje_fetch(obj);
if ((!ed) || (!part)) return NULL;
rp = _edje_real_part_recursive_get(ed, (char *)part);
if (!rp) return NULL;
if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
return _edje_entry_imf_context_get(rp);
else
return NULL;
}
EAPI Eina_Bool
edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur)
{