ecore_imf: add example code in doxygen
authorjihoon <jihoon@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 16 Mar 2012 06:44:05 +0000 (06:44 +0000)
committerjihoon <jihoon@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 16 Mar 2012 06:44:05 +0000 (06:44 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@69449 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_imf/ecore_imf_context.c

index 8cd76bd..947de61 100644 (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)