efl/src/lib/elementary/efl_ui_view_list_private.h

77 lines
2.2 KiB
C
Raw Normal View History

#ifndef EFL_UI_VIEW_LIST_PRIVATE_H
#define EFL_UI_VIEW_LIST_PRIVATE_H
2017-12-12 16:59:48 -08:00
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Elementary.h>
#include "elm_priv.h"
typedef struct _Efl_Ui_View_List_Data Efl_Ui_View_List_Data;
int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem *item);
2017-12-12 16:59:48 -08:00
#include "efl_ui_view_list_segarray.h"
2017-12-12 16:59:48 -08:00
struct _Efl_Ui_View_List_Data
2017-12-12 16:59:48 -08:00
{
Eo *obj;
Eo *scrl_mgr;
Efl_Ui_View_List_Pan *pan_obj;
2017-12-12 16:59:48 -08:00
Efl_Model *model;
Eina_Stringshare *style;
2017-12-12 16:59:48 -08:00
struct {
Eina_Future *future;
2017-12-12 16:59:48 -08:00
int start;
int count;
} slice;
Efl_Ui_Layout_Factory *factory;
Eina_List *selected_items;
Efl_Ui_Focus_Manager *manager;
Efl_Ui_View_List_Relayout *relayout;
Efl_Ui_View_List_SegArray *segarray;
int segarray_first;
2017-12-12 16:59:48 -08:00
Elm_Object_Select_Mode select_mode;
Eina_Size2D min;
Eina_Bool homogeneous : 1;
Eina_Bool scrl_freeze : 1;
2017-12-12 16:59:48 -08:00
};
typedef struct _Efl_Ui_View_List_Pan_Data Efl_Ui_View_List_Pan_Data;
2017-12-12 16:59:48 -08:00
struct _Efl_Ui_View_List_Pan_Data
2017-12-12 16:59:48 -08:00
{
Eo *wobj;
Eina_Rect gmt;
2017-12-12 16:59:48 -08:00
};
#define EFL_UI_VIEW_LIST_DATA_GET(o, ptr) \
Efl_Ui_View_List_Data * ptr = efl_data_scope_get(o, EFL_UI_VIEW_LIST_CLASS)
2017-12-12 16:59:48 -08:00
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN(o, ptr) \
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \
2017-12-12 16:59:48 -08:00
if (EINA_UNLIKELY(!ptr)) \
{ \
ERR("No widget data for object %p (%s)", \
2017-12-12 16:59:48 -08:00
o, evas_object_type_get(o)); \
return; \
}
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \
2017-12-12 16:59:48 -08:00
if (EINA_UNLIKELY(!ptr)) \
{ \
ERR("No widget data for object %p (%s)", \
2017-12-12 16:59:48 -08:00
o, evas_object_type_get(o)); \
return val; \
}
#endif