[entry] fixed bug in non-editable entry selection handlers and fixed migration issue
[framework/uifw/elementary.git] / src / lib / elm_scroller.h
index dec925f..b1ad844 100644 (file)
@@ -1,5 +1,6 @@
 /**
  * @defgroup Scroller Scroller
+ * @ingroup Elementary
  *
  * A scroller holds a single object and "scrolls it around". This means that
  * it allows the user to use a scrollbar (or a finger) to drag the viewable
  * @li "scroll,drag,start" - dragging the contents around has started
  * @li "scroll,drag,stop" - dragging the contents around has stopped
  * @note The "scroll,anim,*" and "scroll,drag,*" signals are only emitted by
- * user intervetion.
+ * user intervention.
  *
- * @note When Elemementary is in embedded mode the scrollbars will not be
- * dragable, they appear merely as indicators of how much has been scrolled.
+ * @note When Elementary is in embedded mode the scrollbars will not be
+ * draggable, they appear merely as indicators of how much has been scrolled.
  * @note When Elementary is in desktop mode the thumbscroll(a.k.a.
  * fingerscroll) won't work.
  *
- * Default contents parts of the scroller widget that you can use for are:
+ * Default content parts of the scroller widget that you can use for are:
  * @li "default" - A content of the scroller
  *
+ * Supported elm_object common APIs.
+ * @li @ref elm_object_signal_emit
+ * @li @ref elm_object_signal_callback_add
+ * @li @ref elm_object_signal_callback_del
+ * @li @ref elm_object_part_content_set
+ * @li @ref elm_object_part_content_get
+ * @li @ref elm_object_part_content_unset
+ *
  * In @ref tutorial_scroller you'll find an example of how to use most of
  * this API.
  * @{
@@ -51,8 +60,10 @@ typedef enum
  *
  * @param parent The parent object
  * @return The new object or NULL if it cannot be created
+ *
+ * @ingroup Scroller
  */
-EAPI Evas_Object                 *elm_scroller_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+EAPI Evas_Object                 *elm_scroller_add(Evas_Object *parent);
 
 /**
  * @brief Set custom theme elements for the scroller
@@ -60,8 +71,10 @@ EAPI Evas_Object                 *elm_scroller_add(Evas_Object *parent) EINA_ARG
  * @param obj The scroller object
  * @param widget The widget name to use (default is "scroller")
  * @param base The base name to use (default is "base")
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_custom_widget_base_theme_set(Evas_Object *obj, const char *widget, const char *base) EINA_ARG_NONNULL(1, 2, 3);
+EAPI void                         elm_scroller_custom_widget_base_theme_set(Evas_Object *obj, const char *widget, const char *base);
 
 /**
  * @brief Make the scroller minimum size limited to the minimum size of the content
@@ -74,8 +87,10 @@ EAPI void                         elm_scroller_custom_widget_base_theme_set(Evas
  * irrespective of its content. This will make the scroller minimum size the
  * right size horizontally and/or vertically to perfectly fit its content in
  * that direction.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_content_min_limit(Evas_Object *obj, Eina_Bool w, Eina_Bool h) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_content_min_limit(Evas_Object *obj, Eina_Bool w, Eina_Bool h);
 
 /**
  * @brief Show a specific virtual region within the scroller content object
@@ -89,8 +104,10 @@ EAPI void                         elm_scroller_content_min_limit(Evas_Object *ob
  * This will ensure all (or part if it does not fit) of the designated
  * region in the virtual content object (0, 0 starting at the top-left of the
  * virtual content object) is shown within the scroller.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_region_show(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_region_show(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
 
 /**
  * @brief Set the scrollbar visibility policy
@@ -104,8 +121,10 @@ EAPI void                         elm_scroller_region_show(Evas_Object *obj, Eva
  * needed, and otherwise kept hidden. ELM_SCROLLER_POLICY_ON turns it on all
  * the time, and ELM_SCROLLER_POLICY_OFF always keeps it off. This applies
  * respectively for the horizontal and vertical scrollbars.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
 
 /**
  * @brief Gets scrollbar visibility policy
@@ -115,8 +134,10 @@ EAPI void                         elm_scroller_policy_set(Evas_Object *obj, Elm_
  * @param policy_v Vertical scrollbar policy
  *
  * @see elm_scroller_policy_set()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
 
 /**
  * @brief Get the currently visible content region
@@ -134,8 +155,10 @@ EAPI void                         elm_scroller_policy_get(const Evas_Object *obj
  * @note All coordinates are relative to the content.
  *
  * @see elm_scroller_region_show()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
 
 /**
  * @brief Get the size of the content object
@@ -145,8 +168,10 @@ EAPI void                         elm_scroller_region_get(const Evas_Object *obj
  * @param h Height of the content object.
  *
  * This gets the size of the content object of the scroller.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_child_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_child_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
 
 /**
  * @brief Set bouncing behavior
@@ -159,8 +184,10 @@ EAPI void                         elm_scroller_child_size_get(const Evas_Object
  * content object. This is a visual way to indicate the end has been reached.
  * This is enabled by default for both axis. This API will set if it is enabled
  * for the given axis with the boolean parameters for each axis.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
 
 /**
  * @brief Get the bounce behaviour
@@ -170,8 +197,10 @@ EAPI void                         elm_scroller_bounce_set(Evas_Object *obj, Eina
  * @param v_bounce Will the scroller bounce vertically or not
  *
  * @see elm_scroller_bounce_set()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
 
 /**
  * @brief Set scroll page size relative to viewport size.
@@ -190,8 +219,10 @@ EAPI void                         elm_scroller_bounce_get(const Evas_Object *obj
  * is "half a viewport". Sane usable values are normally between 0.0 and 1.0
  * including 1.0. If you only want 1 axis to be page "limited", use 0.0 for
  * the other axis.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
 
 /**
  * @brief Set scroll page size.
@@ -204,8 +235,10 @@ EAPI void                         elm_scroller_page_relative_set(Evas_Object *ob
  * for that axis.
  *
  * @see elm_scroller_page_relative_set()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
 
 /**
  * @brief Get scroll current page number.
@@ -221,9 +254,11 @@ EAPI void                         elm_scroller_page_size_set(Evas_Object *obj, E
  *
  * @see elm_scroller_last_page_get()
  * @see elm_scroller_page_show()
- * @see elm_scroller_page_brint_in()
+ * @see elm_scroller_page_bring_in()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
 
 /**
  * @brief Get scroll last page number.
@@ -237,9 +272,11 @@ EAPI void                         elm_scroller_current_page_get(const Evas_Objec
  *
  * @see elm_scroller_current_page_get()
  * @see elm_scroller_page_show()
- * @see elm_scroller_page_brint_in()
+ * @see elm_scroller_page_bring_in()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
 
 /**
  * Show a specific virtual region within the scroller content object by page number.
@@ -255,15 +292,17 @@ EAPI void                         elm_scroller_last_page_get(const Evas_Object *
  *
  * @code
  * sc = elm_scroller_add(win);
- * elm_scroller_content_set(sc, content);
+ * elm_object_content_set(sc, content);
  * elm_scroller_page_relative_set(sc, 1, 0);
  * elm_scroller_current_page_get(sc, &h_page, &v_page);
  * elm_scroller_page_show(sc, h_page + 1, v_page);
  * @endcode
  *
  * @see elm_scroller_page_bring_in()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_page_show(Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_page_show(Evas_Object *obj, int h_pagenumber, int v_pagenumber);
 
 /**
  * Show a specific virtual region within the scroller content object by page number.
@@ -279,15 +318,17 @@ EAPI void                         elm_scroller_page_show(Evas_Object *obj, int h
  *
  * @code
  * sc = elm_scroller_add(win);
- * elm_scroller_content_set(sc, content);
+ * elm_object_content_set(sc, content);
  * elm_scroller_page_relative_set(sc, 1, 0);
  * elm_scroller_last_page_get(sc, &h_page, &v_page);
  * elm_scroller_page_bring_in(sc, h_page, v_page);
  * @endcode
  *
  * @see elm_scroller_page_show()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_page_bring_in(Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_page_bring_in(Evas_Object *obj, int h_pagenumber, int v_pagenumber);
 
 /**
  * @brief Show a specific virtual region within the scroller content object.
@@ -307,8 +348,10 @@ EAPI void                         elm_scroller_page_bring_in(Evas_Object *obj, i
  * show other content along the way.
  *
  * @see elm_scroller_region_show()
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
 
 /**
  * @brief Set event propagation on a scroller
@@ -318,8 +361,10 @@ EAPI void                         elm_scroller_region_bring_in(Evas_Object *obj,
  *
  * This enables or disabled event propagation from the scroller content to
  * the scroller and its parent. By default event propagation is disabled.
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation);
 
 /**
  * @brief Get event propagation for a scroller
@@ -330,8 +375,10 @@ EAPI void                         elm_scroller_propagate_events_set(Evas_Object
  * This gets the event propagation for a scroller.
  *
  * @see elm_scroller_propagate_events_set()
+ *
+ * @ingroup Scroller
  */
-EAPI Eina_Bool                    elm_scroller_propagate_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_scroller_propagate_events_get(const Evas_Object *obj);
 
 /**
  * @brief Set scrolling gravity on a scroller
@@ -351,8 +398,10 @@ EAPI Eina_Bool                    elm_scroller_propagate_events_get(const Evas_O
  *  y=1.0, for showing the top most region of the content.
  *
  * Default values for x and y are 0.0
+ *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_gravity_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_gravity_set(Evas_Object *obj, double x, double y);
 
 /**
  * @brief Get scrolling gravity values for a scroller
@@ -365,8 +414,9 @@ EAPI void                         elm_scroller_gravity_set(Evas_Object *obj, dou
  *
  * @see elm_scroller_gravity_set()
  *
+ * @ingroup Scroller
  */
-EAPI void                         elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
+EAPI void                         elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y);
 
 /**
  * @}