[entry] fixed bug in non-editable entry selection handlers and fixed migration issue
[framework/uifw/elementary.git] / src / lib / elm_scroller.h
index c4b92fd..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.
  * @{
@@ -38,7 +47,7 @@
  *
  * @see elm_scroller_policy_set()
  */
-typedef enum _Elm_Scroller_Policy
+typedef enum
 {
    ELM_SCROLLER_POLICY_AUTO = 0, /**< Show scrollbars as needed */
    ELM_SCROLLER_POLICY_ON, /**< Always show scrollbars */
@@ -51,49 +60,10 @@ typedef enum _Elm_Scroller_Policy
  *
  * @param parent The parent object
  * @return The new object or NULL if it cannot be created
- */
-EAPI Evas_Object *
-                                  elm_scroller_add(Evas_Object *parent)
-EINA_ARG_NONNULL(1);
-
-/**
- * @brief Set the content of the scroller widget (the object to be scrolled around).
- *
- * @param obj The scroller object
- * @param content The new content object
- *
- * Once the content object is set, a previously set one will be deleted.
- * If you want to keep that old content object, use the
- * elm_scroller_content_unset() function.
- * @deprecated use elm_object_content_set() instead
- */
-EINA_DEPRECATED EAPI void         elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
-
-/**
- * @brief Get the content of the scroller widget
  *
- * @param obj The slider object
- * @return The content that is being used
- *
- * Return the content object which is set for this widget
- *
- * @see elm_scroller_content_set()
- * @deprecated use elm_object_content_get() instead.
- */
-EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * @brief Unset the content of the scroller widget
- *
- * @param obj The slider object
- * @return The content that was being used
- *
- * Unparent and return the content object which was set for this widget
- *
- * @see elm_scroller_content_set()
- * @deprecated use elm_object_content_unset() instead.
+ * @ingroup Scroller
  */
-EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Evas_Object                 *elm_scroller_add(Evas_Object *parent);
 
 /**
  * @brief Set custom theme elements for the scroller
@@ -101,8 +71,10 @@ EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) E
  * @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
@@ -115,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
@@ -130,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
@@ -145,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
@@ -156,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
@@ -175,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
@@ -186,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
@@ -200,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
@@ -211,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.
@@ -231,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.
@@ -245,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.
@@ -262,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.
@@ -278,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.
@@ -296,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.
@@ -320,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.
@@ -348,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
@@ -359,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
@@ -371,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
@@ -392,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
@@ -406,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);
 
 /**
  * @}