[elm] Gengrid now a scrollable layout.
SVN revision: 73541
This commit is contained in:
parent
ce361dca42
commit
363cdf94c3
|
@ -74,16 +74,16 @@ set_api_state(api_data *api)
|
|||
break;
|
||||
|
||||
case GRID_NO_BOUNCE: /* 3 */
|
||||
elm_gengrid_bounce_set(grid, EINA_TRUE, EINA_FALSE);
|
||||
elm_scroller_bounce_set(grid, EINA_TRUE, EINA_FALSE);
|
||||
break;
|
||||
|
||||
case GRID_PAGE_RELATIVE: /* 4 */
|
||||
elm_gengrid_bounce_set(grid, EINA_TRUE, EINA_TRUE);
|
||||
elm_gengrid_page_relative_set(grid, 0.5, 0.5);
|
||||
elm_scroller_bounce_set(grid, EINA_TRUE, EINA_TRUE);
|
||||
elm_scroller_page_relative_set(grid, 0.5, 0.5);
|
||||
break;
|
||||
|
||||
case GRID_PAGE_SIZE: /* 5 */
|
||||
elm_gengrid_page_size_set(grid, 50, 25);
|
||||
elm_scroller_page_size_set(grid, 50, 25);
|
||||
break;
|
||||
|
||||
case GRID_TOOLTIP_SET_TEXT: /* 6 */
|
||||
|
|
|
@ -59,26 +59,26 @@ external_gengrid_state_set(void *data __UNUSED__, Evas_Object *obj, const void *
|
|||
if (p->h_bounce_exists)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_gengrid_bounce_set(obj, p->h_bounce, v_bounce);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_set(obj, p->h_bounce, v_bounce);
|
||||
}
|
||||
if (p->v_bounce_exists)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_gengrid_bounce_set(obj, h_bounce, p->v_bounce);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_set(obj, h_bounce, p->v_bounce);
|
||||
}
|
||||
if (p->h_pagerel_exists)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_gengrid_page_relative_set(obj, h_pagerel, p->v_pagerel);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_set(obj, h_pagerel, p->v_pagerel);
|
||||
}
|
||||
if (p->v_pagerel_exists)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_gengrid_page_relative_set(obj, p->h_pagerel, v_pagerel);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_set(obj, p->h_pagerel, v_pagerel);
|
||||
}
|
||||
if (p->h_itemsize_exists)
|
||||
{
|
||||
|
@ -145,8 +145,8 @@ external_gengrid_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_gengrid_bounce_set(obj, param->i, v_bounce);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_set(obj, param->i, v_bounce);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -155,8 +155,8 @@ external_gengrid_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_gengrid_bounce_set(obj, h_bounce, param->i);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_set(obj, h_bounce, param->i);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -165,8 +165,8 @@ external_gengrid_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_gengrid_page_relative_set(obj, param->d, v_pagerel);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_set(obj, param->d, v_pagerel);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -175,8 +175,8 @@ external_gengrid_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_gengrid_page_relative_set(obj, h_pagerel, param->d);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_set(obj, h_pagerel, param->d);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ external_gengrid_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
param->i = h_bounce;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -280,7 +280,7 @@ external_gengrid_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
|
||||
{
|
||||
Eina_Bool h_bounce, v_bounce;
|
||||
elm_gengrid_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
elm_scroller_bounce_get(obj, &h_bounce, &v_bounce);
|
||||
param->i = v_bounce;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -290,7 +290,7 @@ external_gengrid_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
param->d = h_pagerel;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -300,7 +300,7 @@ external_gengrid_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_E
|
|||
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
|
||||
{
|
||||
double h_pagerel, v_pagerel;
|
||||
elm_gengrid_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
elm_scroller_page_relative_get(obj, &h_pagerel, &v_pagerel);
|
||||
param->d = v_pagerel;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@ struct Elm_Gen_Item
|
|||
{
|
||||
ELM_WIDGET_ITEM;
|
||||
EINA_INLIST;
|
||||
|
||||
//FIXME: remove it
|
||||
Widget_Data *wd;
|
||||
Elm_Gen_Item_Type *item;
|
||||
const Elm_Gen_Item_Class *itc;
|
||||
|
@ -66,6 +68,7 @@ struct Elm_Gen_Item
|
|||
Eina_Bool flipped : 1; /**< a flag that shows the flip status of the item. */
|
||||
};
|
||||
|
||||
//FIXME: remove it
|
||||
typedef struct _Pan Pan;
|
||||
struct _Pan
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,6 +2,9 @@
|
|||
* @defgroup Gengrid Gengrid (Generic grid)
|
||||
* @ingroup Elementary
|
||||
*
|
||||
* @image html gengrid_inheritance_tree.png
|
||||
* @image latex gengrid_inheritance_tree.eps
|
||||
*
|
||||
* This widget aims to position objects in a grid layout while
|
||||
* actually creating and rendering only the visible ones, using the
|
||||
* same idea as the @ref Genlist "genlist": the user defines a @b
|
||||
|
@ -13,6 +16,16 @@
|
|||
* view) or via the keyboard, navigating through item with the
|
||||
* arrow keys.
|
||||
*
|
||||
* This widget implements the @b @ref elm-scrollable-interface
|
||||
* interface, so that all (non-deprecated) functions for the base @ref
|
||||
* Scroller widget also work for gengrids.
|
||||
*
|
||||
* Some calls on the gengrid's API are marked as @b deprecated, as
|
||||
* they just wrap the scrollable widgets counterpart functions. Use
|
||||
* the ones we point you to, for each case of deprecation here,
|
||||
* instead -- eventually the deprecated ones will be discarded (next
|
||||
* major release).
|
||||
*
|
||||
* @section Gengrid_Layouts Gengrid layouts
|
||||
*
|
||||
* Gengrid may layout its items in one of two possible layouts:
|
||||
|
@ -386,11 +399,13 @@ EAPI Eina_Bool elm_gengrid_horizontal_get(const Evas_Object
|
|||
*
|
||||
* @note By default, gengrids have bouncing enabled on both axis
|
||||
*
|
||||
* @see elm_gengrid_bounce_get()
|
||||
* @deprecated Use elm_scroller_bounce_set() instead.
|
||||
*
|
||||
* @see elm_scroller_bounce_set()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
|
||||
|
||||
/**
|
||||
* Get whether bouncing effects are enabled or disabled, for a
|
||||
|
@ -402,11 +417,13 @@ EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina
|
|||
* @param v_bounce Pointer to a variable where to store the
|
||||
* vertical bouncing flag.
|
||||
*
|
||||
* @see elm_gengrid_bounce_set() for more details
|
||||
* @deprecated Use elm_scroller_bounce_get() instead.
|
||||
*
|
||||
* @see elm_scroller_bounce_get()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
|
||||
|
||||
/**
|
||||
* Append a new item in a given gengrid widget.
|
||||
|
@ -634,17 +651,22 @@ EAPI Elm_Object_Item *elm_gengrid_last_item_get(const Evas_Object *o
|
|||
* @param policy_v Vertical scrollbar policy.
|
||||
*
|
||||
* This sets the scrollbar visibility policy for the given gengrid
|
||||
* scroller. #ELM_SCROLLER_POLICY_AUTO means the scrollbar is
|
||||
* made visible if it is 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.
|
||||
* Default is #ELM_SCROLLER_POLICY_AUTO
|
||||
* scroller. #ELM_SCROLLER_POLICY_AUTO means the scrollbar is made
|
||||
* visible if it is 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. Default
|
||||
* is #ELM_SCROLLER_POLICY_AUTO.
|
||||
*
|
||||
* @deprecated Use elm_scroller_policy_set() instead.
|
||||
*
|
||||
* @see elm_scroller_policy_set()
|
||||
*
|
||||
* @see elm_gengrid_scroller_policy_get()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
|
||||
|
||||
/**
|
||||
* Get the scrollbar policy
|
||||
|
@ -653,11 +675,15 @@ EAPI void elm_gengrid_scroller_policy_set(Evas_Object *
|
|||
* @param policy_h Pointer to store the horizontal scrollbar policy.
|
||||
* @param policy_v Pointer to store the vertical scrollbar policy.
|
||||
*
|
||||
* @deprecated Use elm_scroller_policy_get() instead.
|
||||
*
|
||||
* @see elm_scroller_policy_get()
|
||||
*
|
||||
* @see elm_gengrid_scroller_policy_set()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
|
||||
|
||||
/**
|
||||
* Get the @b next item in a gengrid widget's internal list of items,
|
||||
|
@ -1317,11 +1343,13 @@ EAPI Eina_Bool elm_gengrid_reorder_mode_get(const Evas_Objec
|
|||
* values, too -- elm_gengrid_page_size_set(). Naturally, its use
|
||||
* is mutually exclusive to this one.
|
||||
*
|
||||
* @see elm_gengrid_page_relative_get()
|
||||
* @deprecated Use elm_scroller_page_relative_set() instead.
|
||||
*
|
||||
* @see elm_scroller_page_relative_set()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
|
||||
|
||||
/**
|
||||
* Get a given gengrid widget's scrolling page size, relative to
|
||||
|
@ -1333,11 +1361,13 @@ EAPI void elm_gengrid_page_relative_set(Evas_Object *ob
|
|||
* @param v_pagerel Pointer to a variable where to store the
|
||||
* vertical page (relative) size
|
||||
*
|
||||
* @see elm_gengrid_page_relative_set() for more details
|
||||
* @deprecated Use elm_scroller_page_relative_get() instead.
|
||||
*
|
||||
* @see elm_scroller_page_relative_get()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
|
||||
|
||||
/**
|
||||
* Set a given gengrid widget's scrolling page size
|
||||
|
@ -1363,9 +1393,13 @@ EAPI void elm_gengrid_page_relative_get(const Evas_Obje
|
|||
* values, too -- elm_gengrid_page_relative_set(). Naturally, its
|
||||
* use is mutually exclusive to this one.
|
||||
*
|
||||
* @deprecated Use elm_scroller_page_size_set() instead.
|
||||
*
|
||||
* @see elm_scroller_page_size_set()
|
||||
*
|
||||
* @ingroup Gengrid
|
||||
*/
|
||||
EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
|
||||
|
||||
/**
|
||||
* @brief Get gengrid current page number.
|
||||
|
@ -1379,11 +1413,15 @@ EAPI void elm_gengrid_page_size_set(Evas_Object *obj, E
|
|||
* If there are two or more pages in the viewport, it returns the number of page
|
||||
* which meet the top-left of the viewport.
|
||||
*
|
||||
* @deprecated Use elm_scroller_current_page_set() instead.
|
||||
*
|
||||
* @see elm_scroller_current_page_set()
|
||||
*
|
||||
* @see elm_gengrid_last_page_get()
|
||||
* @see elm_gengrid_page_show()
|
||||
* @see elm_gengrid_page_bring_in()
|
||||
*/
|
||||
EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
|
||||
/**
|
||||
* @brief Get gengrid last page number.
|
||||
|
@ -1395,11 +1433,15 @@ EAPI void elm_gengrid_current_page_get(const Evas_Objec
|
|||
* The page number starts from 0. 0 is the first page.
|
||||
* This returns the last page number among the pages.
|
||||
*
|
||||
* @deprecated Use elm_scroller_last_page_set() instead.
|
||||
*
|
||||
* @see elm_scroller_last_page_set()
|
||||
*
|
||||
* @see elm_gengrid_current_page_get()
|
||||
* @see elm_gengrid_page_show()
|
||||
* @see elm_gengrid_page_bring_in()
|
||||
*/
|
||||
EAPI void elm_gengrid_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
|
||||
/**
|
||||
* Show a specific virtual region within the gengrid content object by page number.
|
||||
|
@ -1445,9 +1487,13 @@ EAPI void elm_gengrid_page_show(const Evas_Object *obj,
|
|||
* elm_gengrid_page_bring_in(sc, h_page, v_page);
|
||||
* @endcode
|
||||
*
|
||||
* @deprecated Use elm_scroller_page_bring_in() instead.
|
||||
*
|
||||
* @see elm_scroller_page_bring_in()
|
||||
*
|
||||
* @see elm_gengrid_page_show()
|
||||
*/
|
||||
EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||
EINA_DEPRECATED EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||
|
||||
/**
|
||||
* Get a given gengrid item's position, relative to the whole
|
||||
|
|
Loading…
Reference in New Issue