EAPI void elm_gen_clear(Evas_Object *obj);
EAPI void elm_gen_item_selected_set(Elm_Gen_Item *it, Eina_Bool selected);
EAPI Eina_Bool elm_gen_item_selected_get(const Elm_Gen_Item *it);
+ EAPI void elm_gen_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
+ EAPI Eina_Bool elm_gen_always_select_mode_get(const Evas_Object *obj);
+ EAPI void elm_gen_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
+ EAPI Eina_Bool elm_gen_no_select_mode_get(const Evas_Object *obj);
+ EAPI void elm_gen_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
+ EAPI void elm_gen_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
+ EAPI void elm_gen_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
+ EAPI void elm_gen_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
+ EAPI void elm_gen_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
+ EAPI void elm_gen_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
+ EAPI void elm_gen_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
+ EAPI void elm_gen_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
+ EAPI void elm_gen_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
+ EAPI Elm_Gen_Item *elm_gen_first_item_get(const Evas_Object *obj);
+ EAPI Elm_Gen_Item *elm_gen_last_item_get(const Evas_Object *obj);
+ EAPI Elm_Gen_Item *elm_gen_item_next_get(const Elm_Gen_Item *it);
+ EAPI Elm_Gen_Item *elm_gen_item_prev_get(const Elm_Gen_Item *it);
+ EAPI Evas_Object *elm_gen_item_gen_get(const Elm_Gen_Item *it);
/**
* @defgroup Gengrid Gengrid (Generic grid)
Eina_Bool wasselected : 1;
Eina_Bool always_select : 1;
Eina_Bool clear_me : 1;
+ Eina_Bool h_bounce : 1;
+ Eina_Bool v_bounce : 1;
Ecore_Cb del_cb, calc_cb, sizing_cb;
Ecore_Cb clear_cb;
};
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, EINA_FALSE);
return it->selected;
}
+
+EAPI void
+elm_gen_always_select_mode_set(Evas_Object *obj,
+ Eina_Bool always_select)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ wd->always_select = always_select;
+}
+
+EAPI Eina_Bool
+elm_gen_always_select_mode_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return EINA_FALSE;
+ return wd->always_select;
+}
+
+EAPI void
+elm_gen_no_select_mode_set(Evas_Object *obj,
+ Eina_Bool no_select)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ wd->no_select = no_select;
+}
+
+EAPI Eina_Bool
+elm_gen_no_select_mode_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return EINA_FALSE;
+ return wd->no_select;
+}
+
+EAPI void
+elm_gen_bounce_set(Evas_Object *obj,
+ Eina_Bool h_bounce,
+ Eina_Bool v_bounce)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_smart_scroller_bounce_allow_set(wd->scr, h_bounce, v_bounce);
+ wd->h_bounce = h_bounce;
+ wd->v_bounce = v_bounce;
+}
+
+EAPI void
+elm_gen_bounce_get(const Evas_Object *obj,
+ Eina_Bool *h_bounce,
+ Eina_Bool *v_bounce)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ if (h_bounce) *h_bounce = wd->h_bounce;
+ if (v_bounce) *v_bounce = wd->v_bounce;
+}
+
+EAPI void
+elm_gen_page_relative_set(Evas_Object *obj,
+ double h_pagerel,
+ double v_pagerel)
+{
+ Evas_Coord pagesize_h;
+ Evas_Coord pagesize_v;
+
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+
+ elm_smart_scroller_paging_get(wd->scr, NULL, NULL, &pagesize_h, &pagesize_v);
+ elm_smart_scroller_paging_set(wd->scr, h_pagerel, v_pagerel, pagesize_h,
+ pagesize_v);
+}
+
+EAPI void
+elm_gen_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+
+ elm_smart_scroller_paging_get(wd->scr, h_pagerel, v_pagerel, NULL, NULL);
+}
+
+EAPI void
+elm_gen_page_size_set(Evas_Object *obj,
+ Evas_Coord h_pagesize,
+ Evas_Coord v_pagesize)
+{
+ double pagerel_h;
+ double pagerel_v;
+
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_smart_scroller_paging_get(wd->scr, &pagerel_h, &pagerel_v, NULL, NULL);
+ elm_smart_scroller_paging_set(wd->scr, pagerel_h, pagerel_v, h_pagesize,
+ v_pagesize);
+}
+
+EAPI void
+elm_gen_current_page_get(const 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_gen_last_page_get(const 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_gen_page_show(const 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_gen_page_bring_in(const 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_Gen_Item *
+elm_gen_first_item_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return NULL;
+ if (!wd->items) return NULL;
+ Elm_Gen_Item *it = ELM_GEN_ITEM_FROM_INLIST(wd->items);
+ while ((it) && (it->delete_me))
+ it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->next);
+ return it;
+}
+
+EAPI Elm_Gen_Item *
+elm_gen_last_item_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return NULL;
+ if (!wd->items) return NULL;
+ Elm_Gen_Item *it = ELM_GEN_ITEM_FROM_INLIST(wd->items->last);
+ while ((it) && (it->delete_me))
+ it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
+ return it;
+}
+
+EAPI Elm_Gen_Item *
+elm_gen_item_next_get(const Elm_Gen_Item *it)
+{
+ ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
+ while (it)
+ {
+ it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->next);
+ if ((it) && (!it->delete_me)) break;
+ }
+ return (Elm_Gen_Item *)it;
+}
+
+EAPI Elm_Gen_Item *
+elm_gen_item_prev_get(const Elm_Gen_Item *it)
+{
+ ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
+ while (it)
+ {
+ it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
+ if ((it) && (!it->delete_me)) break;
+ }
+ return (Elm_Gen_Item *)it;
+}
+
+EAPI Evas_Object *
+elm_gen_item_gen_get(const Elm_Gen_Item *it)
+{
+ ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
+ return WIDGET(it);
+}