Hello, This looks ok to me. 1. Can you attach the diff file to this mail instead of pasting diff into the email contents? 2. Can you add any sample code either elementary test or src/examples?
Thanks. Daniel Juyung Seo (SeoZ) On Wed, Aug 31, 2011 at 1:52 PM, Benjamin Drucker <[email protected]> wrote: > Earlier this month, there was a svn commit > (http://trac.enlightenment.org/e/changeset/62496) which added a few > page-related APIs to the elm scroller. These should probably also be > added to gengrid, genlist and maybe even grid and list. Right now, > though, I need them for gengrid. So I propose this patch, based > entirely on the change that went in before. I've built it and I'm > using these new gengrid APIs in my code now. > > ------------------------ > > diff -x '*.svn*' -rupN elementary-orig/src/lib/Elementary.h.in > elementary/src/lib/Elementary.h.in > --- elementary-orig/src/lib/Elementary.h.in 2011-08-29 > 21:32:41.018459430 -0700 > +++ elementary/src/lib/Elementary.h.in 2011-08-29 20:17:09.326458551 -0700 > @@ -8350,6 +8350,87 @@ extern "C" { > EAPI void elm_gengrid_page_size_set(Evas_Object > *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) > EINA_ARG_NONNULL(1); > > /** > + * @brief Get gengrid current page number. > + * > + * @param obj The gengrid object > + * @param h_pagenumber The horizontal page number > + * @param v_pagenumber The vertical page number > + * > + * The page number starts from 0. 0 is the first page. > + * Current page means the page which meet the top-left of the viewport. > + * If there are two or more pages in the viewport, it returns the > number of page > + * which meet the top-left of the viewport. > + * > + * @see elm_gengrid_last_page_get() > + * @see elm_gengrid_page_show() > + * @see elm_gengrid_page_brint_in() > + */ > + EAPI void elm_gengrid_current_page_get(Evas_Object *obj, > int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); > + > + /** > + * @brief Get scroll last page number. > + * > + * @param obj The gengrid object > + * @param h_pagenumber The horizoptal page number > + * @param v_pagenumber The vertical page number > + * > + * The page number starts from 0. 0 is the first page. > + * This returns the last page number among the pages. > + * > + * @see elm_gengrid_current_page_get() > + * @see elm_gengrid_page_show() > + * @see elm_gengrid_page_brint_in() > + */ > + EAPI void elm_gengrid_last_page_get(Evas_Object *obj, int > *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); > + /** > + * Show a specific virtual region within the gengrid content > object by page number. > + * > + * @param obj The gengrid object > + * @param h_pagenumber The horizoptal page number > + * @param v_pagenumber The vertical page number > + * > + * 0, 0 of the indicated page is located at the top-left of the viewport. > + * This will jump to the page directly without animation. > + * > + * Example of usage: > + * > + * @code > + * sc = elm_gengrid_add(win); > + * elm_gengrid_content_set(sc, content); > + * elm_gengrid_page_relative_set(sc, 1, 0); > + * elm_gengrid_current_page_get(sc, &h_page, &v_page); > + * elm_gengrid_page_show(sc, h_page + 1, v_page); > + * @endcode > + * > + * @see elm_gengrid_page_bring_in() > + */ > + EAPI void elm_gengrid_page_show(Evas_Object *obj, int > h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1); > + > + /** > + * Show a specific virtual region within the gengrid content > object by page number. > + * > + * @param obj The gengrid object > + * @param h_pagenumber The horizoptal page number > + * @param v_pagenumber The vertical page number > + * > + * 0, 0 of the indicated page is located at the top-left of the viewport. > + * This will slide to the page with animation. > + * > + * Example of usage: > + * > + * @code > + * sc = elm_gengrid_add(win); > + * elm_gengrid_content_set(sc, content); > + * elm_gengrid_page_relative_set(sc, 1, 0); > + * elm_gengrid_last_page_get(sc, &h_page, &v_page); > + * elm_gengrid_page_bring_in(sc, h_page, v_page); > + * @endcode > + * > + * @see elm_gengrid_page_show() > + */ > + EAPI void elm_gengrid_page_bring_in(Evas_Object *obj, int > h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1); > + > + /** > * Set for what direction a given gengrid widget will expand while > * placing its items. > * > diff -x '*.svn*' -rupN elementary-orig/src/lib/elm_gengrid.c > elementary/src/lib/elm_gengrid.c > --- elementary-orig/src/lib/elm_gengrid.c 2011-08-29 > 21:32:41.014459430 -0700 > +++ elementary/src/lib/elm_gengrid.c 2011-08-29 20:17:53.646458559 -0700 > @@ -2471,6 +2471,46 @@ elm_gengrid_page_size_set(Evas_Object *o > v_pagesize); > } > > +EAPI void > +elm_gengrid_current_page_get(Evas_Object *obj, int *h_pagenumber, int > *v_pagenumber) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return; > + if (wd->scr) > + elm_smart_scroller_current_page_get(wd->scr, h_pagenumber, > v_pagenumber); > +} > + > +EAPI void > +elm_gengrid_last_page_get(Evas_Object *obj, int *h_pagenumber, int > *v_pagenumber) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return; > + if (wd->scr) > + elm_smart_scroller_last_page_get(wd->scr, h_pagenumber, v_pagenumber); > +} > + > +EAPI void > +elm_gengrid_page_show(Evas_Object *obj, int h_pagenumber, int v_pagenumber) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return; > + if (wd->scr) > + elm_smart_scroller_page_show(wd->scr, h_pagenumber, v_pagenumber); > +} > + > +EAPI void > +elm_gengrid_page_bring_in(Evas_Object *obj, int h_pagenumber, int > v_pagenumber) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return; > + if (wd->scr) > + elm_smart_scroller_page_bring_in(wd->scr, h_pagenumber, v_pagenumber); > +} > + > EAPI Elm_Gengrid_Item * > elm_gengrid_first_item_get(const Evas_Object *obj) > { > > ------------------------------------------------------------------------------ > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
