X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_scroller.h;h=b1ad8449cd1f062cb5b44ef1882c30498e171558;hb=01d0d3d0698d197d1f8445a85b198e9ed20999c9;hp=c4b92fd74720bdb75fa34f119326f2b97ddcf2be;hpb=4a29f19980f2f054b545a2ca4d04f023edb5b47a;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_scroller.h b/src/lib/elm_scroller.h index c4b92fd..b1ad844 100644 --- a/src/lib/elm_scroller.h +++ b/src/lib/elm_scroller.h @@ -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 @@ -18,16 +19,24 @@ * @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); /** * @}