ecore_imf: add example code in doxygen

SVN revision: 69449
This commit is contained in:
Jihoon Kim 2012-03-16 06:44:05 +00:00
parent a15108fbd6
commit bb9620f3e0
1 changed files with 131 additions and 0 deletions

View File

@ -143,6 +143,32 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
* @return Return a #Ecore_IMF_Context_Info for the Input Method Context with @p id;
* on failure it returns NULL.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
*
* const char *ctx_id;
* const Ecore_IMF_Context_Info *ctx_info;
* Ecore_IMF_Context *imf_context;
* ctx_id = ecore_imf_context_default_id_get();
* if (ctx_id)
* {
* ctx_info = ecore_imf_context_info_by_id_get(ctx_id);
* if (!ctx_info->canvas_type ||
* strcmp(ctx_info->canvas_type, "evas") == 0)
* {
* imf_context = ecore_imf_context_add(ctx_id);
* }
* else
* {
* ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas");
* if (ctx_id)
* {
* imf_context = ecore_imf_context_add(ctx_id);
* }
* }
* }
* @endcode
*/
EAPI const Ecore_IMF_Context_Info *
ecore_imf_context_info_by_id_get(const char *id)
@ -417,6 +443,41 @@ ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cu
* @param cursor_pos Location to store position of cursor (in characters)
* within the preedit string.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
* char *preedit_string;
* int cursor_pos;
* Eina_List *attrs = NULL, *l = NULL;
* Ecore_IMF_Preedit_Attr *attr;
*
* ecore_imf_context_preedit_string_with_attributes_get(imf_context,
* &preedit_string,
* &attrs, &cursor_pos);
* if (!preedit_string) return;
*
* if (strlen(preedit_string) > 0)
* {
* if (attrs)
* {
* EINA_LIST_FOREACH(attrs, l, attr)
* {
* if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1)
* {
* // Something to do
* }
* else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2)
* {
* // Something to do
* }
* else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3)
* {
* // Something to do
* }
* }
* }
* }
* @endcode
* @since 1.1.0
*/
EAPI void
@ -444,6 +505,18 @@ ecore_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, cha
*
* @param ctx An #Ecore_IMF_Context.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
* static void
* _focus_in_cb(void *data, Evas_Object *o, const char *emission, const char *source)
* {
* ecore_imf_context_reset(imf_context);
* ecore_imf_context_focus_in(imf_context);
* }
*
* evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_IN, _focus_in_cb, ed);
* @endcode
*/
EAPI void
ecore_imf_context_focus_in(Ecore_IMF_Context *ctx)
@ -463,6 +536,18 @@ ecore_imf_context_focus_in(Ecore_IMF_Context *ctx)
*
* @param ctx An #Ecore_IMF_Context.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
* static void
* _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source)
* {
* ecore_imf_context_reset(imf_context);
* ecore_imf_context_focus_out(imf_context);
* }
*
* evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed);
* @endcode
*/
EAPI void
ecore_imf_context_focus_out(Ecore_IMF_Context *ctx)
@ -483,6 +568,18 @@ ecore_imf_context_focus_out(Ecore_IMF_Context *ctx)
*
* @param ctx An #Ecore_IMF_Context.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
* static void
* _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source)
* {
* ecore_imf_context_reset(imf_context);
* ecore_imf_context_focus_out(imf_context);
* }
*
* evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed);
* @endcode
*/
EAPI void
ecore_imf_context_reset(Ecore_IMF_Context *ctx)
@ -738,6 +835,28 @@ ecore_imf_context_input_mode_get(Ecore_IMF_Context *ctx)
* @param event The event itself.
* @return EINA_TRUE if the event was handled; otherwise EINA_FALSE.
* @ingroup Ecore_IMF_Context_Group
*
* Example
* @code
* static void
* _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
* {
* Evas_Event_Key_Down *ev = event_info;
* if (!ev->keyname) return;
*
* if (imf_context)
* {
* Ecore_IMF_Event_Key_Down ecore_ev;
* ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev);
* if (ecore_imf_context_filter_event(imf_context,
* ECORE_IMF_EVENT_KEY_DOWN,
* (Ecore_IMF_Event *)&ecore_ev))
* return;
* }
* }
*
* evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data);
* @endcode
*/
EAPI Eina_Bool
ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event)
@ -1062,6 +1181,18 @@ ecore_imf_context_delete_surrounding_event_add(Ecore_IMF_Context *ctx, int offse
* @param data The data pointer to be passed to @p func
* @ingroup Ecore_IMF_Context_Group
* @since 1.2.0
*
* Example
* @code
* static void
* _imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
* {
* char *commit_str = event_info;
* // something to do
* }
*
* ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, data);
* @endcode
*/
EAPI void
ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data)