[JungWooHyun] doing merge job ~
[framework/uifw/elementary.git] / src / lib / elm_focus.h
index e5a7c80..5afd697 100644 (file)
@@ -12,7 +12,7 @@
  * objects by input (tab key) or programmatically. The default
  * focus chain for an application is the one define by the order in
  * which the widgets where added in code. One will cycle through
- * top level widgets, and, for each one containg sub-objects, cycle
+ * top level widgets, and, for each one containing sub-objects, cycle
  * through them all, before returning to the level
  * above. Elementary also allows one to set @b custom focus chains
  * for their applications.
  */
 
 /**
- * Get the enable status of the focus highlight
- *
- * This gets whether the highlight on focused objects is enabled or not
- * @ingroup Focus
- */
-EAPI Eina_Bool            elm_focus_highlight_enabled_get(void);
-
-/**
- * Set the enable status of the focus highlight
- *
- * @param enable Enable highlight if EINA_TRUE, disable otherwise
- * 
- * Set whether to show or not the highlight on focused objects
- * @ingroup Focus
- */
-EAPI void                 elm_focus_highlight_enabled_set(Eina_Bool enable);
-
-/**
- * Get the enable status of the highlight animation
- *
- * @return The focus hilight mode set
- * 
- * Get whether the focus highlight, if enabled, will animate its switch from
- * one object to the next
- * 
- * @ingroup Focus
- */
-EAPI Eina_Bool            elm_focus_highlight_animate_get(void);
-
-/**
- * Set the enable status of the highlight animation
- *
- * @param animate Enable animation if EINA_TRUE, disable otherwise
- * 
- * Set whether the focus highlight, if enabled, will animate its switch from
- * one object to the next
- * 
- * @ingroup Focus
- */
-EAPI void                 elm_focus_highlight_animate_set(Eina_Bool animate);
-
-/**
  * Get the whether an Elementary object has the focus or not.
  *
  * @param obj The Elementary object to get the information from
@@ -85,7 +43,7 @@ EAPI void                 elm_focus_highlight_animate_set(Eina_Bool animate);
  *
  * @ingroup Focus
  */
-EAPI Eina_Bool            elm_object_focus_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool            elm_object_focus_get(const Evas_Object *obj);
 
 /**
  * Set/unset focus to a given Elementary object.
@@ -104,41 +62,10 @@ EAPI Eina_Bool            elm_object_focus_get(const Evas_Object *obj) EINA_ARG_
  *
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_set(Evas_Object *obj, Eina_Bool focus) EINA_ARG_NONNULL(1);
-
-/**
- * Make a given Elementary object the focused one.
- *
- * @param obj The Elementary object to make focused.
- *
- * @note This object, if it can handle focus, will take the focus
- * away from the one who had it previously and will, for now on, be
- * the one receiving input events.
- *
- * @see elm_object_focus_get()
- * @deprecated use elm_object_focus_set() instead.
- *
- * @ingroup Focus
- */
-EINA_DEPRECATED EAPI void elm_object_focus(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Remove the focus from an Elementary object
- *
- * @param obj The Elementary to take focus from
- *
- * This removes the focus from @p obj, passing it back to the
- * previous element in the focus chain list.
- *
- * @see elm_object_focus() and elm_object_focus_custom_chain_get()
- * @deprecated use elm_object_focus_set() instead.
- *
- * @ingroup Focus
- */
-EINA_DEPRECATED EAPI void elm_object_unfocus(Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_focus_set(Evas_Object *obj, Eina_Bool focus);
 
 /**
- * Set the ability for an Element object to be focused
+ * Set the ability for an Elementary object to be focused
  *
  * @param obj The Elementary object to operate on
  * @param enable @c EINA_TRUE if the object can be focused, @c
@@ -153,7 +80,7 @@ EINA_DEPRECATED EAPI void elm_object_unfocus(Evas_Object *obj) EINA_ARG_NONNULL(
  *
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_allow_set(Evas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_focus_allow_set(Evas_Object *obj, Eina_Bool enable);
 
 /**
  * Get whether an Elementary object is focusable or not
@@ -168,7 +95,7 @@ EAPI void                 elm_object_focus_allow_set(Evas_Object *obj, Eina_Bool
  *
  * @ingroup Focus
  */
-EAPI Eina_Bool            elm_object_focus_allow_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool            elm_object_focus_allow_get(const Evas_Object *obj);
 
 /**
  * Set custom focus chain.
@@ -183,7 +110,7 @@ EAPI Eina_Bool            elm_object_focus_allow_get(const Evas_Object *obj) EIN
  * @param objs Chain of objects to pass focus
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_custom_chain_set(Evas_Object *obj, Eina_List *objs) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_focus_custom_chain_set(Evas_Object *obj, Eina_List *objs);
 
 /**
  * Unset a custom focus chain on a given Elementary widget
@@ -195,7 +122,7 @@ EAPI void                 elm_object_focus_custom_chain_set(Evas_Object *obj, Ei
  *
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_custom_chain_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_focus_custom_chain_unset(Evas_Object *obj);
 
 /**
  * Get custom focus chain
@@ -203,7 +130,7 @@ EAPI void                 elm_object_focus_custom_chain_unset(Evas_Object *obj)
  * @param obj The container object
  * @ingroup Focus
  */
-EAPI const Eina_List     *elm_object_focus_custom_chain_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI const Eina_List     *elm_object_focus_custom_chain_get(const Evas_Object *obj);
 
 /**
  * Append object to custom focus chain.
@@ -218,7 +145,7 @@ EAPI const Eina_List     *elm_object_focus_custom_chain_get(const Evas_Object *o
  * @param relative_child The relative object to position the child
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_custom_chain_append(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child) EINA_ARG_NONNULL(1, 2);
+EAPI void                 elm_object_focus_custom_chain_append(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child);
 
 /**
  * Prepend object to custom focus chain.
@@ -233,7 +160,7 @@ EAPI void                 elm_object_focus_custom_chain_append(Evas_Object *obj,
  * @param relative_child The relative object to position the child
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_custom_chain_prepend(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child) EINA_ARG_NONNULL(1, 2);
+EAPI void                 elm_object_focus_custom_chain_prepend(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child);
 
 /**
  * Give focus to next object in object tree.
@@ -243,33 +170,19 @@ EAPI void                 elm_object_focus_custom_chain_prepend(Evas_Object *obj
  * first object of chain.
  *
  * @param obj The object root of sub-tree
- * @param dir Direction to cycle the focus
+ * @param dir Direction to move the focus
  *
  * @ingroup Focus
  */
-EAPI void                 elm_object_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_focus_next(Evas_Object *obj, Elm_Focus_Direction dir);
 
 /**
- * Give focus to near object in one direction.
- *
- * Give focus to near object in direction of one object.
- * If none focusable object in given direction, the focus will not change.
- *
- * @param obj The reference object
- * @param x Horizontal component of direction to focus
- * @param y Vertical component of direction to focus
- *
- * @ingroup Focus
- */
-EAPI void                 elm_object_focus_direction_go(Evas_Object *obj, int x, int y) EINA_ARG_NONNULL(1);
-
-/**
- * Make the elementary object and its children to be unfocusable
- * (or focusable).
+ * Make the elementary object and its children to be focusable
+ * (or unfocusable).
  *
  * @param obj The Elementary object to operate on
- * @param tree_unfocusable @c EINA_TRUE for unfocusable,
- *        @c EINA_FALSE for focusable.
+ * @param focusable @c EINA_TRUE for focusable,
+ *        @c EINA_FALSE for unfocusable.
  *
  * This sets whether the object @p obj and its children objects
  * are able to take focus or not. If the tree is set as unfocusable,
@@ -279,21 +192,22 @@ EAPI void                 elm_object_focus_direction_go(Evas_Object *obj, int x,
  * want to get focus (by focus reverting or by other focus controls).
  * Then, just use this API before deleting.
  *
- * @see elm_object_tree_unfocusable_get()
+ * @see elm_object_tree_focus_allow_get()
  *
  * @ingroup Focus
+ *
  */
-EAPI void                 elm_object_tree_unfocusable_set(Evas_Object *obj, Eina_Bool tree_unfocusable) EINA_ARG_NONNULL(1);
+EAPI void                 elm_object_tree_focus_allow_set(Evas_Object *obj, Eina_Bool focusable);
 
 /**
- * Get whether an Elementary object and its children are unfocusable or not.
+ * Get whether an Elementary object and its children are focusable or not.
  *
  * @param obj The Elementary object to get the information from
- * @return @c EINA_TRUE, if the tree is unfocussable,
+ * @return @c EINA_TRUE, if the tree is focusable,
  *         @c EINA_FALSE if not (and on errors).
  *
- * @see elm_object_tree_unfocusable_set()
+ * @see elm_object_tree_focus_allow_set()
  *
  * @ingroup Focus
  */
-EAPI Eina_Bool            elm_object_tree_unfocusable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool            elm_object_tree_focus_allow_get(const Evas_Object *obj);