forked from enlightenment/efl
efl_ui : change efl_ui_view_list to efl_ui_list_view.
Summary: View is not a namespace, but an interface, So, View_List cannot be under the view namespace for now. it looks more suite to be end as View than List on this widget name. Firstly, it follows our common naming rules of class. Also, List_View is commonly presentable name on most UI frameworks, so it is very easy to understand what this widget can do for the user. Test Plan: Make works. Example is not works for now til stable model interface. Reviewers: felipealmeida, woohyun, cedric, Hermet Reviewed By: Hermet Subscribers: larryolj, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7234
This commit is contained in:
parent
c4e0d3f69d
commit
e97b6b72be
|
@ -2,7 +2,7 @@ group { "efl/list";
|
|||
inherit: "efl/scroller";
|
||||
}
|
||||
|
||||
group { "efl/view_list";
|
||||
group { "efl/list_view";
|
||||
inherit: "efl/list";
|
||||
}
|
||||
|
||||
|
|
|
@ -78,11 +78,11 @@ elm_public_eolian_files = \
|
|||
lib/elementary/efl_ui_layout_part_table.eo \
|
||||
lib/elementary/efl_ui_layout_part_bg.eo \
|
||||
lib/elementary/efl_ui_layout_part_legacy.eo \
|
||||
lib/elementary/efl_ui_view_list.eo \
|
||||
lib/elementary/efl_ui_view_list_model.eo \
|
||||
lib/elementary/efl_ui_view_list_pan.eo \
|
||||
lib/elementary/efl_ui_view_list_segarray.eo \
|
||||
lib/elementary/efl_ui_view_list_relayout.eo \
|
||||
lib/elementary/efl_ui_list_view.eo \
|
||||
lib/elementary/efl_ui_list_view_model.eo \
|
||||
lib/elementary/efl_ui_list_view_pan.eo \
|
||||
lib/elementary/efl_ui_list_view_seg_array.eo \
|
||||
lib/elementary/efl_ui_list_view_relayout.eo \
|
||||
lib/elementary/efl_ui_item.eo \
|
||||
lib/elementary/efl_ui_list_item.eo \
|
||||
lib/elementary/efl_ui_list_default_item_part_icon.eo \
|
||||
|
@ -276,13 +276,13 @@ elm_legacy_eolian_files = \
|
|||
lib/elementary/elm_slideshow_item.eo \
|
||||
lib/elementary/elm_table.eo \
|
||||
lib/elementary/elm_thumb.eo \
|
||||
lib/elementary/efl_ui_view_list_precise_layouter.eo \
|
||||
lib/elementary/efl_ui_list_view_precise_layouter.eo \
|
||||
$(NULL)
|
||||
|
||||
elm_eolian_type_files = \
|
||||
lib/elementary/elm_general.eot \
|
||||
lib/elementary/efl_ui.eot \
|
||||
lib/elementary/efl_ui_view_list_types.eot \
|
||||
lib/elementary/efl_ui_list_view_types.eot \
|
||||
lib/elementary/efl_selection_types.eot \
|
||||
lib/elementary/efl_ui_dnd_types.eot
|
||||
|
||||
|
@ -414,8 +414,8 @@ includesunstable_HEADERS = \
|
|||
lib/elementary/efl_ui_item_private.h \
|
||||
lib/elementary/efl_ui_list_item_private.h \
|
||||
lib/elementary/efl_ui_list_private.h \
|
||||
lib/elementary/efl_ui_view_list_private.h \
|
||||
lib/elementary/efl_ui_view_list_segarray.h \
|
||||
lib/elementary/efl_ui_list_view_private.h \
|
||||
lib/elementary/efl_ui_list_view_seg_array.h \
|
||||
lib/elementary/elm_widget_web.h \
|
||||
lib/elementary/efl_ui_clock.h \
|
||||
lib/elementary/elm_code.h \
|
||||
|
@ -842,9 +842,9 @@ lib_elementary_libelementary_la_SOURCES = \
|
|||
lib/elementary/efl_ui_list_default_item.c \
|
||||
lib/elementary/efl_ui_list_empty_item.c \
|
||||
lib/elementary/efl_ui_list.c \
|
||||
lib/elementary/efl_ui_view_list.c \
|
||||
lib/elementary/efl_ui_view_list_precise_layouter.c \
|
||||
lib/elementary/efl_ui_view_list_segarray.c \
|
||||
lib/elementary/efl_ui_list_view.c \
|
||||
lib/elementary/efl_ui_list_view_precise_layouter.c \
|
||||
lib/elementary/efl_ui_list_view_seg_array.c \
|
||||
lib/elementary/efl_ui_layout_factory.c \
|
||||
lib/elementary/efl_ui_scroller.c \
|
||||
lib/elementary/efl_ui_scroll_manager.c \
|
||||
|
|
|
@ -120,9 +120,9 @@ elementary/efl_thread_4.c \
|
|||
elementary/efl_thread_5.c \
|
||||
elementary/efl_thread_6.c \
|
||||
elementary/efl_ui_list_example_1.c \
|
||||
elementary/efl_ui_view_list_example_1.c \
|
||||
elementary/efl_ui_view_list_example_2.c \
|
||||
elementary/efl_ui_view_list_example_3.c
|
||||
elementary/efl_ui_list_view_example_1.c \
|
||||
elementary/efl_ui_list_view_example_2.c \
|
||||
elementary/efl_ui_list_view_example_3.c
|
||||
|
||||
ELM_SRCS += \
|
||||
elementary/bg_cxx_example_01.cc \
|
||||
|
@ -153,7 +153,7 @@ elementary/evas3d_map_example.edc \
|
|||
elementary/theme_example.edc \
|
||||
elementary/layout_example.edc \
|
||||
elementary/codegen_example.edc \
|
||||
elementary/efl_ui_view_list_example.edc \
|
||||
elementary/efl_ui_list_view_example.edc \
|
||||
elementary/prefs_example_03.edc
|
||||
|
||||
ELM_EPCS = \
|
||||
|
@ -334,9 +334,9 @@ elementary/efl_thread_4 \
|
|||
elementary/efl_thread_5 \
|
||||
elementary/efl_thread_6 \
|
||||
elementary/efl_ui_list_example_1 \
|
||||
elementary/efl_ui_view_list_example_1 \
|
||||
elementary/efl_ui_view_list_example_2 \
|
||||
elementary/efl_ui_view_list_example_3
|
||||
elementary/efl_ui_list_view_example_1 \
|
||||
elementary/efl_ui_list_view_example_2 \
|
||||
elementary/efl_ui_list_view_example_3
|
||||
#benchmark3d
|
||||
#sphere-hunter
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// gcc -o efl_ui_view_list_example_1 efl_ui_view_list_example_1.c `pkg-config --cflags --libs elementary`
|
||||
// gcc -o efl_ui_list_view_example_1 efl_ui_list_view_example_1.c `pkg-config --cflags --libs elementary`
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "elementary_config.h"
|
||||
|
@ -24,7 +24,7 @@ char edj_path[PATH_MAX];
|
|||
static void
|
||||
_realized_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event *ie = event->info;
|
||||
Efl_Ui_List_View_Item_Event *ie = event->info;
|
||||
if (!ie->layout) return;
|
||||
|
||||
Efl_Ui_Layout_Object *layout = ie->layout;
|
||||
|
@ -35,7 +35,7 @@ _realized_cb(void *data, const Efl_Event *event)
|
|||
static void
|
||||
_unrealized_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event *ie = event->info;
|
||||
Efl_Ui_List_View_Item_Event *ie = event->info;
|
||||
|
||||
efl_ui_view_model_set(ie->layout, NULL);
|
||||
efl_del(ie->layout);
|
||||
|
@ -75,7 +75,7 @@ elm_main(int argc, char **argv)
|
|||
Evas_Object *win, *li;
|
||||
Eo *model;
|
||||
|
||||
win = elm_win_util_standard_add("viewlist", "Viewlist");
|
||||
win = elm_win_util_standard_add("list_view", "List_View");
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
|
@ -87,12 +87,12 @@ elm_main(int argc, char **argv)
|
|||
efl_ui_model_connect(factory, "efl.text", "name");
|
||||
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
|
||||
|
||||
li = efl_add(EFL_UI_VIEW_LIST_CLASS, win);
|
||||
efl_ui_view_list_layout_factory_set(li, factory);
|
||||
li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
|
||||
efl_ui_list_view_layout_factory_set(li, factory);
|
||||
efl_ui_view_model_set(li, model);
|
||||
|
||||
efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_cb, NULL);
|
||||
// efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL);
|
||||
efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_cb, NULL);
|
||||
// efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL);
|
||||
|
||||
elm_win_resize_object_add(win, li);
|
||||
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
@ -1,4 +1,4 @@
|
|||
// gcc -o efl_ui_view_list_example_2 efl_ui_view_list_example_2.c `pkg-config --cflags --libs elementary`
|
||||
// gcc -o efl_ui_list_view_example_2 efl_ui_list_view_example_2.c `pkg-config --cflags --libs elementary`
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
|
@ -23,7 +23,7 @@ elm_main(int argc, char **argv)
|
|||
Eo *model, *li;
|
||||
char *dirname;
|
||||
|
||||
win = elm_win_util_standard_add("viewlist", "Viewlist");
|
||||
win = elm_win_util_standard_add("list_view2", "List_View2");
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
|
@ -36,8 +36,8 @@ elm_main(int argc, char **argv)
|
|||
efl_ui_model_connect(factory, "efl.text", "filename");
|
||||
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
|
||||
|
||||
li = efl_add(EFL_UI_VIEW_LIST_CLASS, win);
|
||||
efl_ui_view_list_layout_factory_set(li, factory);
|
||||
li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
|
||||
efl_ui_list_view_layout_factory_set(li, factory);
|
||||
efl_ui_view_model_set(li, model);
|
||||
|
||||
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
@ -1,4 +1,4 @@
|
|||
// gcc -o efl_ui_view_list_example_3 efl_ui_view_list_example_3.c `pkg-config --cflags --libs elementary`
|
||||
// gcc -o efl_ui_list_view_example_3 efl_ui_list_view_example_3.c `pkg-config --cflags --libs elementary`
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
|
@ -113,21 +113,21 @@ static void
|
|||
_bt_none_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *li = data;
|
||||
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE);
|
||||
efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE);
|
||||
}
|
||||
|
||||
static void
|
||||
_bt_donly_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *li = data;
|
||||
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
|
||||
efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
|
||||
}
|
||||
|
||||
static void
|
||||
_bt_default_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *li = data;
|
||||
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT);
|
||||
efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -146,7 +146,7 @@ _bt_unset_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|||
static void
|
||||
_realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event *ie = event->info;
|
||||
Efl_Ui_List_View_Item_Event *ie = event->info;
|
||||
|
||||
evas_object_size_hint_weight_set(ie->layout, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_size_hint_align_set(ie->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
|
@ -157,7 +157,7 @@ _realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
|||
static void
|
||||
_realized_2_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event *ie = event->info;
|
||||
Efl_Ui_List_View_Item_Event *ie = event->info;
|
||||
printf("relized 2\n");
|
||||
|
||||
elm_object_focus_allow_set(ie->layout, EINA_TRUE);
|
||||
|
@ -210,7 +210,7 @@ elm_main(int argc, char **argv)
|
|||
priv = alloca(sizeof(Priv_Data));
|
||||
memset(priv, 0, sizeof(Priv_Data));
|
||||
|
||||
win = elm_win_util_standard_add("viewlist", "Viewlist");
|
||||
win = elm_win_util_standard_add("list_view3", "List_View3");
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
|
||||
|
@ -225,22 +225,22 @@ elm_main(int argc, char **argv)
|
|||
efl_ui_model_connect(factory, "efl.text", "filename");
|
||||
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
|
||||
|
||||
priv->list1 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
|
||||
efl_event_callback_add(priv->list1, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_1_cb, priv);
|
||||
priv->list1 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
|
||||
efl_event_callback_add(priv->list1, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_1_cb, priv);
|
||||
evas_object_size_hint_weight_set(priv->list1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(priv->list1, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_box_pack_end(bx, priv->list1);
|
||||
efl_ui_view_list_layout_factory_set(priv->list1, factory);
|
||||
efl_ui_list_view_layout_factory_set(priv->list1, factory);
|
||||
|
||||
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
|
||||
efl_ui_model_connect(factory, "efl.text", "filename");
|
||||
efl_ui_model_connect(factory, "signal/efl,state,%v", "selected");
|
||||
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
|
||||
priv->list2 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
|
||||
efl_event_callback_add(priv->list2, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2);
|
||||
priv->list2 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
|
||||
efl_event_callback_add(priv->list2, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2);
|
||||
evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(priv->list2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
efl_ui_view_list_layout_factory_set(priv->list2, factory);
|
||||
efl_ui_list_view_layout_factory_set(priv->list2, factory);
|
||||
|
||||
vbx = elm_box_add(win);
|
||||
elm_box_pack_end(bx, vbx);
|
|
@ -334,13 +334,13 @@ typedef Eo Efl_Ui_Focus_Manager;
|
|||
# include <efl_ui_list_default_item.eo.h>
|
||||
# include <efl_ui_list_empty_item.eo.h>
|
||||
# include <efl_ui_list.eo.h>
|
||||
# include <efl_ui_view_list_types.eot.h>
|
||||
# include <efl_ui_view_list_segarray.h>
|
||||
# include <efl_ui_view_list_segarray.eo.h>
|
||||
# include <efl_ui_view_list_model.eo.h>
|
||||
# include <efl_ui_view_list_relayout.eo.h>
|
||||
# include <efl_ui_view_list.eo.h>
|
||||
# include <efl_ui_view_list_pan.eo.h>
|
||||
# include <efl_ui_list_view_types.eot.h>
|
||||
# include <efl_ui_list_view_seg_array.h>
|
||||
# include <efl_ui_list_view_seg_array.eo.h>
|
||||
# include <efl_ui_list_view_model.eo.h>
|
||||
# include <efl_ui_list_view_relayout.eo.h>
|
||||
# include <efl_ui_list_view.eo.h>
|
||||
# include <efl_ui_list_view_pan.eo.h>
|
||||
# include <efl_ui_pan.eo.h>
|
||||
# include <efl_ui_scroll_manager.eo.h>
|
||||
# include <efl_ui_scroller.eo.h>
|
||||
|
|
|
@ -10,15 +10,15 @@
|
|||
#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED
|
||||
|
||||
#include <Elementary.h>
|
||||
#include "efl_ui_view_list_private.h"
|
||||
#include "efl_ui_view_list_precise_layouter.eo.h"
|
||||
#include "efl_ui_list_view_private.h"
|
||||
#include "efl_ui_list_view_precise_layouter.eo.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#define MY_CLASS EFL_UI_VIEW_LIST_CLASS
|
||||
#define MY_CLASS_NAME "Efl.Ui.View.List"
|
||||
#define MY_CLASS EFL_UI_LIST_VIEW_CLASS
|
||||
#define MY_CLASS_NAME "Efl.Ui.List_View"
|
||||
|
||||
#define MY_PAN_CLASS EFL_UI_VIEW_LIST_PAN_CLASS
|
||||
#define MY_PAN_CLASS EFL_UI_LIST_VIEW_PAN_CLASS
|
||||
|
||||
#define SIG_CHILD_ADDED "child,added"
|
||||
#define SIG_CHILD_REMOVED "child,removed"
|
||||
|
@ -30,9 +30,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
|
|||
{NULL, NULL}
|
||||
};
|
||||
|
||||
void _efl_ui_view_list_custom_layout(Efl_Ui_View_List *);
|
||||
void _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem*, Eina_Bool);
|
||||
static void _layout(Efl_Ui_View_List_Data* pd);
|
||||
void _efl_ui_list_view_custom_layout(Efl_Ui_List_View *);
|
||||
void _efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item*, Eina_Bool);
|
||||
static void _layout(Efl_Ui_List_View_Data* pd);
|
||||
|
||||
static Eina_Bool _key_action_move(Evas_Object *obj, const char *params);
|
||||
static Eina_Bool _key_action_select(Evas_Object *obj, const char *params);
|
||||
|
@ -46,14 +46,14 @@ static const Elm_Action key_actions[] = {
|
|||
};
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd)
|
||||
_efl_ui_list_view_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
|
||||
{
|
||||
evas_object_smart_changed(psd->wobj);
|
||||
}
|
||||
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd, Eina_Position2D pos)
|
||||
_efl_ui_list_view_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd, Eina_Position2D pos)
|
||||
{
|
||||
if ((pos.x == psd->gmt.x) && (pos.y == psd->gmt.y)) return;
|
||||
|
||||
|
@ -65,20 +65,20 @@ _efl_ui_view_list_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_Vi
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_view_list_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd)
|
||||
_efl_ui_list_view_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
|
||||
{
|
||||
return psd->gmt.pos;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_view_list_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd)
|
||||
_efl_ui_list_view_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
|
||||
{
|
||||
EFL_UI_VIEW_LIST_DATA_GET(psd->wobj, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(psd->wobj, pd);
|
||||
Eina_Rect vgmt = {};
|
||||
Eina_Size2D min = {};
|
||||
|
||||
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->scrl_mgr);
|
||||
min = efl_ui_view_list_model_min_size_get(psd->wobj);
|
||||
min = efl_ui_list_view_model_min_size_get(psd->wobj);
|
||||
|
||||
min.w = min.w - vgmt.w;
|
||||
if (min.w < 0) min.w = 0;
|
||||
|
@ -89,50 +89,50 @@ _efl_ui_view_list_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_view_list_pan_efl_ui_pan_pan_position_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd EINA_UNUSED)
|
||||
_efl_ui_list_view_pan_efl_ui_pan_pan_position_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd EINA_UNUSED)
|
||||
{
|
||||
return EINA_POSITION2D(0, 0);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Size2D
|
||||
_efl_ui_view_list_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd)
|
||||
_efl_ui_list_view_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
|
||||
{
|
||||
Eina_Size2D min = {};
|
||||
min = efl_ui_view_list_model_min_size_get(psd->wobj);
|
||||
min = efl_ui_list_view_model_min_size_get(psd->wobj);
|
||||
|
||||
return min;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_pan_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Pan_Data *psd EINA_UNUSED)
|
||||
_efl_ui_list_view_pan_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Pan_Data *psd EINA_UNUSED)
|
||||
{
|
||||
efl_destructor(efl_super(obj, MY_PAN_CLASS));
|
||||
}
|
||||
|
||||
#include "efl_ui_view_list_pan.eo.c"
|
||||
#include "efl_ui_list_view_pan.eo.c"
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd, Eina_Position2D pos)
|
||||
_efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd, Eina_Position2D pos)
|
||||
{
|
||||
efl_ui_scrollable_content_pos_set(psd->scrl_mgr, pos);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd)
|
||||
_efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
|
||||
{
|
||||
Eina_Position2D pos = efl_ui_scrollable_content_pos_get(psd->scrl_mgr);
|
||||
return pos;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Size2D
|
||||
_efl_ui_view_list_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd)
|
||||
_efl_ui_list_view_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
|
||||
{
|
||||
Eina_Size2D size = efl_ui_scrollable_content_size_get(psd->scrl_mgr);
|
||||
return size;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Rect
|
||||
_efl_ui_view_list_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd)
|
||||
_efl_ui_list_view_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
|
||||
{
|
||||
Eina_Rect gmt = efl_ui_scrollable_viewport_geometry_get(psd->scrl_mgr);
|
||||
return gmt;
|
||||
|
@ -172,7 +172,7 @@ _list_element_focused(void *data EINA_UNUSED, const Efl_Event *ev)
|
|||
|
||||
if (!focused) return;
|
||||
|
||||
EFL_UI_VIEW_LIST_DATA_GET(ev->object, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(ev->object, pd);
|
||||
geom = efl_ui_focus_object_focus_geometry_get(focused);
|
||||
pos = efl_ui_scrollable_content_pos_get(pd->scrl_mgr);
|
||||
|
||||
|
@ -185,16 +185,16 @@ static void
|
|||
_on_item_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Down *ev = event_info;
|
||||
Efl_Ui_View_List_LayoutItem *item = data;
|
||||
Efl_Ui_List_View_Layout_Item *item = data;
|
||||
|
||||
if (ev->button != 1) return;
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
|
||||
|
||||
_efl_ui_view_list_item_select_set(item, EINA_TRUE);
|
||||
_efl_ui_list_view_item_select_set(item, EINA_TRUE);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Elm_Object_Select_Mode mode)
|
||||
_efl_ui_list_view_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Elm_Object_Select_Mode mode)
|
||||
{
|
||||
if (pd->select_mode == mode)
|
||||
return;
|
||||
|
@ -203,37 +203,37 @@ _efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd
|
|||
}
|
||||
|
||||
EOLIAN static Elm_Object_Select_Mode
|
||||
_efl_ui_view_list_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return pd->select_mode;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Stringshare *style)
|
||||
_efl_ui_list_view_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Stringshare *style)
|
||||
{
|
||||
eina_stringshare_replace(&pd->style, style);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Stringshare *
|
||||
_efl_ui_view_list_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return pd->style;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Bool homogeneous)
|
||||
_efl_ui_list_view_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Bool homogeneous)
|
||||
{
|
||||
pd->homogeneous = homogeneous;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_view_list_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return pd->homogeneous;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Position2D pos)
|
||||
_efl_ui_list_view_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Position2D pos)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
|
||||
return;
|
||||
|
@ -243,7 +243,7 @@ _efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D size)
|
||||
_efl_ui_list_view_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D size)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, size.w, size.h))
|
||||
return;
|
||||
|
@ -254,22 +254,22 @@ _efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Ei
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
_layout(pd);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_View_List_Data *pd EINA_UNUSED, Evas_Object *member)
|
||||
_efl_ui_list_view_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_List_View_Data *pd EINA_UNUSED, Evas_Object *member)
|
||||
{
|
||||
efl_canvas_group_member_add(efl_super(obj, MY_CLASS), member);
|
||||
}
|
||||
|
||||
//Scrollable Implement
|
||||
static void
|
||||
_efl_ui_view_list_bar_read_and_update(Eo *obj)
|
||||
_efl_ui_list_view_bar_read_and_update(Eo *obj)
|
||||
{
|
||||
EFL_UI_VIEW_LIST_DATA_GET(obj, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
double vx, vy;
|
||||
|
||||
|
@ -284,30 +284,30 @@ _efl_ui_view_list_bar_read_and_update(Eo *obj)
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_reload_cb(void *data,
|
||||
_efl_ui_list_view_reload_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
EFL_UI_VIEW_LIST_DATA_GET(data, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(data, pd);
|
||||
|
||||
efl_ui_scrollbar_bar_visibility_update(pd->scrl_mgr);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_vbar_drag_cb(void *data,
|
||||
_efl_ui_list_view_vbar_drag_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
_efl_ui_view_list_bar_read_and_update(data);
|
||||
_efl_ui_list_view_bar_read_and_update(data);
|
||||
|
||||
Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_VERTICAL;
|
||||
efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_vbar_press_cb(void *data,
|
||||
_efl_ui_list_view_vbar_press_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
|
@ -317,7 +317,7 @@ _efl_ui_view_list_vbar_press_cb(void *data,
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_vbar_unpress_cb(void *data,
|
||||
_efl_ui_list_view_vbar_unpress_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
|
@ -327,14 +327,14 @@ _efl_ui_view_list_vbar_unpress_cb(void *data,
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_edje_drag_start_cb(void *data,
|
||||
_efl_ui_list_view_edje_drag_start_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
EFL_UI_VIEW_LIST_DATA_GET(data, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(data, pd);
|
||||
|
||||
_efl_ui_view_list_bar_read_and_update(data);
|
||||
_efl_ui_list_view_bar_read_and_update(data);
|
||||
|
||||
pd->scrl_freeze = efl_ui_scrollable_scroll_freeze_get(pd->scrl_mgr);
|
||||
efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, EINA_TRUE);
|
||||
|
@ -342,42 +342,42 @@ _efl_ui_view_list_edje_drag_start_cb(void *data,
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_edje_drag_stop_cb(void *data,
|
||||
_efl_ui_list_view_edje_drag_stop_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
EFL_UI_VIEW_LIST_DATA_GET(data, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(data, pd);
|
||||
|
||||
_efl_ui_view_list_bar_read_and_update(data);
|
||||
_efl_ui_list_view_bar_read_and_update(data);
|
||||
|
||||
efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, pd->scrl_freeze);
|
||||
efl_event_callback_call(data, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_edje_drag_cb(void *data,
|
||||
_efl_ui_list_view_edje_drag_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
_efl_ui_view_list_bar_read_and_update(data);
|
||||
_efl_ui_list_view_bar_read_and_update(data);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_hbar_drag_cb(void *data,
|
||||
_efl_ui_list_view_hbar_drag_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
_efl_ui_view_list_bar_read_and_update(data);
|
||||
_efl_ui_list_view_bar_read_and_update(data);
|
||||
|
||||
Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_HORIZONTAL;
|
||||
efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_hbar_press_cb(void *data,
|
||||
_efl_ui_list_view_hbar_press_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
|
@ -387,7 +387,7 @@ _efl_ui_view_list_hbar_press_cb(void *data,
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_hbar_unpress_cb(void *data,
|
||||
_efl_ui_list_view_hbar_unpress_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
|
@ -397,10 +397,10 @@ _efl_ui_view_list_hbar_unpress_cb(void *data,
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
|
||||
_efl_ui_list_view_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
|
||||
{
|
||||
Eo *obj = data;
|
||||
EFL_UI_VIEW_LIST_DATA_GET(obj, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
double width = 0.0, height = 0.0;
|
||||
|
@ -412,10 +412,10 @@ _efl_ui_view_list_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UN
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
|
||||
_efl_ui_list_view_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
|
||||
{
|
||||
Eo *obj = data;
|
||||
EFL_UI_VIEW_LIST_DATA_GET(obj, pd);
|
||||
EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
double posx = 0.0, posy = 0.0;
|
||||
|
@ -427,7 +427,7 @@ _efl_ui_view_list_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNU
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_bar_show_cb(void *data, const Efl_Event *event)
|
||||
_efl_ui_list_view_bar_show_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Eo *obj = data;
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
@ -440,7 +440,7 @@ _efl_ui_view_list_bar_show_cb(void *data, const Efl_Event *event)
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_bar_hide_cb(void *data, const Efl_Event *event)
|
||||
_efl_ui_list_view_bar_hide_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Eo *obj = data;
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
@ -453,7 +453,7 @@ _efl_ui_view_list_bar_hide_cb(void *data, const Efl_Event *event)
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_view_list_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_efl_ui_list_view_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
Eina_Bool ok;
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
|
||||
|
@ -464,7 +464,7 @@ _efl_ui_view_list_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_view_list_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_efl_ui_list_view_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
Eina_Bool ok;
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
|
||||
|
@ -475,125 +475,125 @@ _efl_ui_view_list_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_edje_object_attach(Eo *obj)
|
||||
_efl_ui_list_view_edje_object_attach(Eo *obj)
|
||||
{
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj);
|
||||
(obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
|
||||
//Vertical bar
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_vbar_drag_cb, obj);
|
||||
_efl_ui_list_view_vbar_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,set", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,start", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_start_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_start_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,stop", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_stop_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_stop_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,step", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,page", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "efl,vbar,press", "efl",
|
||||
_efl_ui_view_list_vbar_press_cb, obj);
|
||||
_efl_ui_list_view_vbar_press_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "efl,vbar,unpress", "efl",
|
||||
_efl_ui_view_list_vbar_unpress_cb, obj);
|
||||
_efl_ui_list_view_vbar_unpress_cb, obj);
|
||||
|
||||
//Horizontal bar
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_hbar_drag_cb, obj);
|
||||
_efl_ui_list_view_hbar_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,set", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,start", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_start_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_start_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,stop", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_stop_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_stop_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,step", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "drag,page", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "efl,hbar,press", "efl",
|
||||
_efl_ui_view_list_hbar_press_cb, obj);
|
||||
_efl_ui_list_view_hbar_press_cb, obj);
|
||||
efl_layout_signal_callback_add
|
||||
(obj, "efl,hbar,unpress", "efl",
|
||||
_efl_ui_view_list_hbar_unpress_cb, obj);
|
||||
_efl_ui_list_view_hbar_unpress_cb, obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_edje_object_detach(Evas_Object *obj)
|
||||
_efl_ui_list_view_edje_object_detach(Evas_Object *obj)
|
||||
{
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj);
|
||||
(obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
|
||||
//Vertical bar
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag", "efl.dragable.vbar", _efl_ui_view_list_vbar_drag_cb,
|
||||
(obj, "drag", "efl.dragable.vbar", _efl_ui_list_view_vbar_drag_cb,
|
||||
obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,set", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,start", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_start_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_start_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,stop", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_stop_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_stop_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,step", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,page", "efl.dragable.vbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "efl,vbar,press", "efl",
|
||||
_efl_ui_view_list_vbar_press_cb, obj);
|
||||
_efl_ui_list_view_vbar_press_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "efl,vbar,unpress", "efl",
|
||||
_efl_ui_view_list_vbar_unpress_cb, obj);
|
||||
_efl_ui_list_view_vbar_unpress_cb, obj);
|
||||
|
||||
//Horizontal bar
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_hbar_drag_cb, obj);
|
||||
_efl_ui_list_view_hbar_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,set", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,start", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_start_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_start_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,stop", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_stop_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_stop_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,step", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "drag,page", "efl.dragable.hbar",
|
||||
_efl_ui_view_list_edje_drag_cb, obj);
|
||||
_efl_ui_list_view_edje_drag_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "efl,hbar,press", "efl",
|
||||
_efl_ui_view_list_hbar_press_cb, obj);
|
||||
_efl_ui_list_view_hbar_press_cb, obj);
|
||||
efl_layout_signal_callback_del
|
||||
(obj, "efl,hbar,unpress", "efl",
|
||||
_efl_ui_view_list_hbar_unpress_cb, obj);
|
||||
_efl_ui_list_view_hbar_unpress_cb, obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_canvas_group_group_add(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
Efl_Ui_View_List_Pan_Data *pan_data;
|
||||
Efl_Ui_List_View_Pan_Data *pan_data;
|
||||
Eina_Size2D min = {};
|
||||
Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
|
||||
Evas_Object *o;
|
||||
|
@ -605,7 +605,7 @@ _efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
|
||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||
|
||||
if (!elm_layout_theme_set(obj, "view_list", "base", elm_widget_style_get(obj)))
|
||||
if (!elm_layout_theme_set(obj, "list_view", "base", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
||||
pd->scrl_mgr = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj,
|
||||
|
@ -630,28 +630,28 @@ _efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
efl_gfx_size_hint_restricted_min_set(obj, min);
|
||||
|
||||
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED,
|
||||
_efl_ui_view_list_bar_size_changed_cb, obj);
|
||||
_efl_ui_list_view_bar_size_changed_cb, obj);
|
||||
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED,
|
||||
_efl_ui_view_list_bar_pos_changed_cb, obj);
|
||||
_efl_ui_list_view_bar_pos_changed_cb, obj);
|
||||
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SHOW,
|
||||
_efl_ui_view_list_bar_show_cb, obj);
|
||||
_efl_ui_list_view_bar_show_cb, obj);
|
||||
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE,
|
||||
_efl_ui_view_list_bar_hide_cb, obj);
|
||||
_efl_ui_list_view_bar_hide_cb, obj);
|
||||
|
||||
_efl_ui_view_list_edje_object_attach(obj);
|
||||
_efl_ui_list_view_edje_object_attach(obj);
|
||||
|
||||
elm_layout_sizing_eval(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_canvas_group_group_del(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_canvas_group_group_del(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
|
||||
efl_canvas_group_del(efl_super(obj, MY_CLASS));
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Ui_Focus_Manager*
|
||||
_efl_ui_view_list_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root)
|
||||
_efl_ui_list_view_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root)
|
||||
{
|
||||
if (!pd->manager)
|
||||
pd->manager = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, obj,
|
||||
|
@ -661,7 +661,7 @@ _efl_ui_view_list_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_
|
|||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_object_finalize(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
|
||||
if (!pd->factory)
|
||||
|
@ -669,15 +669,15 @@ _efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
|
||||
if(!pd->relayout)
|
||||
{
|
||||
pd->relayout = efl_add(EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS, obj);
|
||||
pd->relayout = efl_add(EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS, obj);
|
||||
if (pd->model)
|
||||
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model);
|
||||
efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||
pd->obj = obj;
|
||||
|
@ -685,7 +685,7 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
||||
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST);
|
||||
|
||||
pd->segarray = efl_add(EFL_UI_VIEW_LIST_SEGARRAY_CLASS, obj, efl_ui_view_list_segarray_setup(efl_added, 32));
|
||||
pd->seg_array = efl_add(EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS, obj, efl_ui_list_view_seg_array_setup(efl_added, 32));
|
||||
|
||||
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL);
|
||||
|
||||
|
@ -702,14 +702,14 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
efl_ui_view_list_relayout_model_set(pd->relayout, NULL);
|
||||
efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
|
||||
|
||||
efl_unref(pd->model);
|
||||
eina_stringshare_del(pd->style);
|
||||
|
||||
_efl_ui_view_list_edje_object_detach(obj);
|
||||
_efl_ui_list_view_edje_object_detach(obj);
|
||||
|
||||
ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
|
||||
efl_canvas_group_del(efl_super(obj, MY_CLASS));
|
||||
|
@ -718,7 +718,7 @@ _efl_ui_view_list_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Ui_Factory *factory)
|
||||
_efl_ui_list_view_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Ui_Factory *factory)
|
||||
{
|
||||
if (pd->factory)
|
||||
efl_unref(pd->factory);
|
||||
|
@ -728,7 +728,7 @@ _efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Model *model)
|
||||
_efl_ui_list_view_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Model *model)
|
||||
{
|
||||
if (pd->model == model)
|
||||
return;
|
||||
|
@ -736,36 +736,36 @@ _efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Da
|
|||
if (pd->model)
|
||||
{
|
||||
if (pd->relayout)
|
||||
efl_ui_view_list_relayout_model_set(pd->relayout, NULL);
|
||||
efl_ui_view_list_segarray_flush(pd->segarray);
|
||||
efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
|
||||
efl_ui_list_view_seg_array_flush(pd->seg_array);
|
||||
}
|
||||
|
||||
efl_replace(&pd->model, model);
|
||||
|
||||
if (pd->model && pd->relayout)
|
||||
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model);
|
||||
efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
|
||||
|
||||
evas_object_smart_changed(pd->obj);
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Model *
|
||||
_efl_ui_view_list_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return pd->model;
|
||||
}
|
||||
|
||||
EOLIAN int
|
||||
_efl_ui_view_list_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return eina_list_count(pd->selected_items);
|
||||
}
|
||||
|
||||
EOLIAN Eo*
|
||||
_efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, int child_index)
|
||||
_efl_ui_list_view_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, int child_index)
|
||||
{
|
||||
if(child_index < (int) eina_list_count(pd->selected_items))
|
||||
{
|
||||
Efl_Ui_View_List_LayoutItem* items = eina_list_nth(pd->selected_items, child_index);
|
||||
Efl_Ui_List_View_Layout_Item* items = eina_list_nth(pd->selected_items, child_index);
|
||||
return items[child_index].layout;
|
||||
}
|
||||
else
|
||||
|
@ -773,37 +773,37 @@ _efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNU
|
|||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_child_select(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_child_select(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_selected_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_selected_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_is_child_selected(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_is_child_selected(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
|
||||
{
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
|
||||
{
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_ui_view_list_efl_access_selection_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_access_selection_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
@ -828,7 +828,7 @@ _key_action_escape(Evas_Object *obj, const char *params EINA_UNUSED)
|
|||
}
|
||||
|
||||
void
|
||||
_efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool selected)
|
||||
_efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item *item, Eina_Bool selected)
|
||||
{
|
||||
Eina_Stringshare *sprop;
|
||||
assert(item != NULL);
|
||||
|
@ -850,56 +850,56 @@ _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool s
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_View_List_Relayout *object)
|
||||
_efl_ui_list_view_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_List_View_Relayout *object)
|
||||
{
|
||||
efl_replace(&pd->relayout, object);
|
||||
if (pd->model && pd->relayout)
|
||||
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model);
|
||||
efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
|
||||
}
|
||||
|
||||
static Efl_Ui_View_List_Relayout *
|
||||
_efl_ui_view_list_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED)
|
||||
static Efl_Ui_List_View_Relayout *
|
||||
_efl_ui_list_view_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
|
||||
{
|
||||
return pd->relayout;
|
||||
}
|
||||
|
||||
static void
|
||||
_layout(Efl_Ui_View_List_Data *pd)
|
||||
_layout(Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
if (!pd->model)
|
||||
return;
|
||||
|
||||
efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray);
|
||||
efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
|
||||
}
|
||||
|
||||
static Eina_Value
|
||||
_children_slice_then(void * data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_Data *pd = data;
|
||||
Efl_Ui_List_View_Data *pd = data;
|
||||
|
||||
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
|
||||
goto on_error;
|
||||
|
||||
efl_ui_view_list_segarray_insert_value(pd->segarray, pd->slice.start, v);
|
||||
efl_ui_list_view_seg_array_insert_value(pd->seg_array, pd->slice.start, v);
|
||||
|
||||
pd->segarray_first = pd->slice.start;
|
||||
pd->seg_array_first = pd->slice.start;
|
||||
pd->slice.start = pd->slice.count = 0;
|
||||
pd->slice.future = NULL;
|
||||
|
||||
efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray);
|
||||
efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
|
||||
on_error:
|
||||
return v;
|
||||
}
|
||||
|
||||
/* EFL UI LIST MODEL INTERFACE */
|
||||
EOLIAN static Eina_Size2D
|
||||
_efl_ui_view_list_efl_ui_view_list_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_ui_list_view_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return pd->min;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D min)
|
||||
_efl_ui_list_view_efl_ui_list_view_model_min_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D min)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
|
@ -911,33 +911,33 @@ _efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
Eina_List *order = efl_ui_view_list_relayout_elements_get(pd->relayout);
|
||||
Eina_List *order = efl_ui_list_view_relayout_elements_get(pd->relayout);
|
||||
efl_ui_focus_composition_elements_set(obj, order);
|
||||
}
|
||||
|
||||
EOLIAN Eina_List*
|
||||
_efl_ui_view_list_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
Eina_List *ret = NULL, *ret2 = NULL;
|
||||
|
||||
ret = efl_ui_view_list_relayout_elements_get(pd->relayout);
|
||||
ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_VIEW_LIST_CLASS));
|
||||
ret = efl_ui_list_view_relayout_elements_get(pd->relayout);
|
||||
ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_LIST_VIEW_CLASS));
|
||||
|
||||
return eina_list_merge(ret, ret2);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_view_list_efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect EINA_UNUSED)
|
||||
_efl_ui_list_view_efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect EINA_UNUSED)
|
||||
{
|
||||
return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj);
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Ui_View_List_LayoutItem *
|
||||
_efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item)
|
||||
EOLIAN static Efl_Ui_List_View_Layout_Item *
|
||||
_efl_ui_list_view_efl_ui_list_view_model_realize(Eo *obj, Efl_Ui_List_View_Data *pd, Efl_Ui_List_View_Layout_Item *item)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event evt;
|
||||
Efl_Ui_List_View_Item_Event evt;
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(item->children, item);
|
||||
|
||||
item->layout = efl_ui_factory_create(pd->factory, item->children, obj);
|
||||
|
@ -952,8 +952,8 @@ _efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data
|
|||
|
||||
evt.child = item->children;
|
||||
evt.layout = item->layout;
|
||||
evt.index = efl_ui_view_list_item_index_get(item);
|
||||
efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, &evt);
|
||||
evt.index = efl_ui_list_view_item_index_get(item);
|
||||
efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, &evt);
|
||||
efl_ui_focus_composition_dirty(obj);
|
||||
|
||||
evas_object_show(item->layout);
|
||||
|
@ -961,9 +961,9 @@ _efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item)
|
||||
_efl_ui_list_view_efl_ui_list_view_model_unrealize(Eo *obj, Efl_Ui_List_View_Data *pd, Efl_Ui_List_View_Layout_Item *item)
|
||||
{
|
||||
Efl_Ui_View_List_Item_Event evt;
|
||||
Efl_Ui_List_View_Item_Event evt;
|
||||
EINA_SAFETY_ON_NULL_RETURN(item->layout);
|
||||
|
||||
evas_object_event_callback_del_full(item->layout, EVAS_CALLBACK_MOUSE_UP, _on_item_mouse_up, item);
|
||||
|
@ -978,8 +978,8 @@ _efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Dat
|
|||
|
||||
evt.child = item->children;
|
||||
evt.layout = item->layout;
|
||||
evt.index = efl_ui_view_list_item_index_get(item);
|
||||
efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, &evt);
|
||||
evt.index = efl_ui_list_view_item_index_get(item);
|
||||
efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, &evt);
|
||||
|
||||
evas_object_smart_member_del(item->layout);
|
||||
efl_ui_factory_release(pd->factory, item->layout);
|
||||
|
@ -987,7 +987,7 @@ _efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Dat
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_List_Data* pd, int first, int count)
|
||||
_efl_ui_list_view_efl_ui_list_view_model_load_range_set(Eo* obj, Efl_Ui_List_View_Data* pd, int first, int count)
|
||||
{
|
||||
if (pd->slice.future) return ;
|
||||
|
||||
|
@ -1003,18 +1003,18 @@ _efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_Lis
|
|||
}
|
||||
|
||||
EOLIAN static int
|
||||
_efl_ui_view_list_efl_ui_view_list_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd)
|
||||
_efl_ui_list_view_efl_ui_list_view_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
|
||||
{
|
||||
return efl_model_children_count_get(pd->model);
|
||||
}
|
||||
|
||||
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_view_list, Efl_Ui_View_List_Data)
|
||||
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_list_view, Efl_Ui_List_View_Data)
|
||||
|
||||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define EFL_UI_VIEW_LIST_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_view_list)
|
||||
#define EFL_UI_LIST_VIEW_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_list_view)
|
||||
|
||||
#include "efl_ui_view_list.eo.c"
|
||||
#include "efl_ui_view_list_relayout.eo.c"
|
||||
#include "efl_ui_view_list_model.eo.c"
|
||||
#include "efl_ui_list_view.eo.c"
|
||||
#include "efl_ui_list_view_relayout.eo.c"
|
||||
#include "efl_ui_list_view_model.eo.c"
|
|
@ -1,19 +1,19 @@
|
|||
import elm_general;
|
||||
|
||||
struct Efl.Ui.View_List_Item_Event
|
||||
struct Efl.Ui.List_View_Item_Event
|
||||
{
|
||||
layout: Efl.Ui.Layout.Object;
|
||||
child: Efl.Model;
|
||||
index: int;
|
||||
}
|
||||
class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
|
||||
class Efl.Ui.List_View (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
|
||||
Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
|
||||
Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.View_List_Model, Efl.Ui.Widget_Focus_Manager)
|
||||
Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager)
|
||||
{
|
||||
methods {
|
||||
@property relayout {
|
||||
values {
|
||||
object: Efl.Ui.View_List_Relayout;
|
||||
object: Efl.Ui.List_View_Relayout;
|
||||
}
|
||||
}
|
||||
@property homogeneous {
|
||||
|
@ -50,14 +50,14 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
|
|||
}
|
||||
}
|
||||
events {
|
||||
item,realized : Efl.Ui.View_List_Item_Event;
|
||||
item,unrealized : Efl.Ui.View_List_Item_Event;
|
||||
item,focused : Efl.Ui.View_List_Item_Event;
|
||||
item,unfocused : Efl.Ui.View_List_Item_Event;
|
||||
item,highlighted : Efl.Ui.View_List_Item_Event;
|
||||
item,unhighlighted : Efl.Ui.View_List_Item_Event;
|
||||
item,selected : Efl.Ui.View_List_Item_Event;
|
||||
item,unselected : Efl.Ui.View_List_Item_Event;
|
||||
item,realized : Efl.Ui.List_View_Item_Event;
|
||||
item,unrealized : Efl.Ui.List_View_Item_Event;
|
||||
item,focused : Efl.Ui.List_View_Item_Event;
|
||||
item,unfocused : Efl.Ui.List_View_Item_Event;
|
||||
item,highlighted : Efl.Ui.List_View_Item_Event;
|
||||
item,unhighlighted : Efl.Ui.List_View_Item_Event;
|
||||
item,selected : Efl.Ui.List_View_Item_Event;
|
||||
item,unselected : Efl.Ui.List_View_Item_Event;
|
||||
}
|
||||
|
||||
implements {
|
||||
|
@ -70,11 +70,11 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
|
|||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
|
||||
Efl.Ui.View_List_Model.load_range { set;}
|
||||
Efl.Ui.View_List_Model.realize;
|
||||
Efl.Ui.View_List_Model.unrealize;
|
||||
Efl.Ui.View_List_Model.model_size { get; }
|
||||
Efl.Ui.View_List_Model.min_size { get; set; }
|
||||
Efl.Ui.List_View_Model.load_range { set;}
|
||||
Efl.Ui.List_View_Model.realize;
|
||||
Efl.Ui.List_View_Model.unrealize;
|
||||
Efl.Ui.List_View_Model.model_size { get; }
|
||||
Efl.Ui.List_View_Model.min_size { get; set; }
|
||||
|
||||
// Widget
|
||||
Efl.Ui.Widget_Focus_Manager.focus_manager_create;
|
|
@ -1,6 +1,6 @@
|
|||
import efl_ui_view_list_types;
|
||||
import efl_ui_list_view_types;
|
||||
|
||||
interface Efl.Ui.View_List_Model (Efl.Interface)
|
||||
interface Efl.Ui.List_View_Model (Efl.Interface)
|
||||
{
|
||||
methods {
|
||||
@property load_range {
|
||||
|
@ -12,13 +12,13 @@ interface Efl.Ui.View_List_Model (Efl.Interface)
|
|||
}
|
||||
realize {
|
||||
params {
|
||||
item: ptr(Efl.Ui.View.List.LayoutItem);
|
||||
item: ptr(Efl.Ui.List_View_Layout_Item);
|
||||
}
|
||||
return: ptr(Efl.Ui.View.List.LayoutItem);
|
||||
return: ptr(Efl.Ui.List_View_Layout_Item);
|
||||
}
|
||||
unrealize {
|
||||
params {
|
||||
item: ptr(Efl.Ui.View.List.LayoutItem);
|
||||
item: ptr(Efl.Ui.List_View_Layout_Item);
|
||||
}
|
||||
}
|
||||
// @property visible_range {
|
|
@ -1,6 +1,6 @@
|
|||
class Efl.Ui.View_List_Pan (Efl.Ui.Pan)
|
||||
class Efl.Ui.List_View_Pan (Efl.Ui.Pan)
|
||||
{
|
||||
[[Elementary Efl_Ui_View_List pan class]]
|
||||
[[Elementary Efl_Ui_List_View pan class]]
|
||||
implements {
|
||||
Efl.Object.destructor;
|
||||
Efl.Ui.Pan.content_size { get; }
|
|
@ -7,16 +7,16 @@
|
|||
#include <assert.h>
|
||||
|
||||
#include "elm_priv.h"
|
||||
#include "efl_ui_view_list_segarray.h"
|
||||
#include "efl_ui_list_view_seg_array.h"
|
||||
|
||||
#define MY_CLASS EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS
|
||||
#define MY_CLASS EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Precise_Layouter_Data
|
||||
typedef struct _Efl_Ui_List_View_Precise_Layouter_Data
|
||||
{
|
||||
Efl_Model* model;
|
||||
Efl_Ui_View_List_Model *modeler;
|
||||
Efl_Ui_List_View_Model *modeler;
|
||||
Ecore_Job *calc_job;
|
||||
Efl_Ui_View_List_SegArray *segarray;
|
||||
Efl_Ui_List_View_Seg_Array *seg_array;
|
||||
|
||||
Eina_Size2D min;
|
||||
|
||||
|
@ -28,32 +28,32 @@ typedef struct _Efl_Ui_View_List_Precise_Layouter_Data
|
|||
Eina_Bool initialized : 1;
|
||||
Eina_Bool recalc : 1;
|
||||
Eina_Bool resize : 1;
|
||||
} Efl_Ui_View_List_Precise_Layouter_Data;
|
||||
} Efl_Ui_List_View_Precise_Layouter_Data;
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Precise_Layouter_Node_Data
|
||||
typedef struct _Efl_Ui_List_View_Precise_Layouter_Node_Data
|
||||
{
|
||||
Eina_Size2D min;
|
||||
Eina_Size2D size;
|
||||
|
||||
Eina_Bool realized;
|
||||
} Efl_Ui_View_List_Precise_Layouter_Node_Data;
|
||||
} Efl_Ui_List_View_Precise_Layouter_Node_Data;
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Precise_Layouter_Callback_Data
|
||||
typedef struct _Efl_Ui_List_View_Precise_Layouter_Callback_Data
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd;
|
||||
Efl_Ui_View_List_LayoutItem *item;
|
||||
} Efl_Ui_View_List_Precise_Layouter_Callback_Data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd;
|
||||
Efl_Ui_List_View_Layout_Item *item;
|
||||
} Efl_Ui_List_View_Precise_Layouter_Callback_Data;
|
||||
|
||||
#include "efl_ui_view_list_precise_layouter.eo.h"
|
||||
#include "efl_ui_list_view_precise_layouter.eo.h"
|
||||
|
||||
static void _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *);
|
||||
static Eina_Bool _initilize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_Model*, Efl_Ui_View_List_SegArray*);
|
||||
static void _finalize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*);
|
||||
static void _node_realize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*);
|
||||
static void _node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*);
|
||||
static void _efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *);
|
||||
static Eina_Bool _initilize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Model*, Efl_Ui_List_View_Seg_Array*);
|
||||
static void _finalize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*);
|
||||
static void _node_realize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
|
||||
static void _node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
|
||||
|
||||
static void
|
||||
_item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item)
|
||||
_item_size_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item)
|
||||
{
|
||||
int boxx, boxy, boxw, boxh, boxl, boxr, boxt, boxb, pad[4];
|
||||
double align[2];
|
||||
|
@ -119,11 +119,11 @@ _item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Lay
|
|||
}
|
||||
|
||||
static void
|
||||
_item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item
|
||||
, Eina_Size2D min, Efl_Ui_View_List_SegArray_Node *itemnode)
|
||||
_item_min_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item
|
||||
, Eina_Size2D min, Efl_Ui_List_View_Seg_Array_Node *itemnode)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data;
|
||||
Efl_Ui_View_List_LayoutItem *layout_item;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data;
|
||||
Efl_Ui_List_View_Layout_Item *layout_item;
|
||||
int i, pad[4];
|
||||
|
||||
efl_gfx_size_hint_margin_get(item->layout, &pad[0], &pad[1], &pad[2], &pad[3]);
|
||||
|
@ -144,7 +144,7 @@ _item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Layo
|
|||
nodedata->min.w = 0;
|
||||
for (i = 0; i != itemnode->length; ++i)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
|
||||
if (nodedata->min.w < layout_item->min.w)
|
||||
nodedata->min.w = layout_item->min.w;
|
||||
|
||||
|
@ -157,13 +157,13 @@ _item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Layo
|
|||
pd->min.w = min.w;
|
||||
else if (pd->min.w == item->min.w)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *node2;
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Efl_Ui_List_View_Seg_Array_Node *node2;
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
pd->min.w = min.w;
|
||||
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, node2)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
|
||||
if (pd->min.w < nodedata2->min.w)
|
||||
pd->min.w = nodedata2->min.w;
|
||||
|
||||
|
@ -183,18 +183,18 @@ static void
|
|||
_on_item_size_hint_change(void *data, Evas *e EINA_UNUSED,
|
||||
Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = data;
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd = cb_data->pd;
|
||||
Efl_Ui_View_List_LayoutItem *item = cb_data->item;;
|
||||
Efl_Ui_View_List_SegArray_Node *node = item->tree_node;
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd = cb_data->pd;
|
||||
Efl_Ui_List_View_Layout_Item *item = cb_data->item;;
|
||||
Efl_Ui_List_View_Seg_Array_Node *node = item->tree_node;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
|
||||
Eina_Size2D min = efl_gfx_size_hint_combined_min_get(obj);
|
||||
_item_min_calc(pd, item, min, node);
|
||||
if (!nodedata->realized)
|
||||
{
|
||||
free(evas_object_event_callback_del(item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change));
|
||||
efl_ui_view_list_model_unrealize(pd->modeler, item);
|
||||
efl_ui_list_view_model_unrealize(pd->modeler, item);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -202,14 +202,14 @@ static void
|
|||
_on_modeler_resize(void *data, Evas *e EINA_UNUSED,
|
||||
Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd = data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
|
||||
pd->resize = EINA_TRUE;
|
||||
}
|
||||
|
||||
typedef struct _Request Request;
|
||||
struct _Request
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd;
|
||||
unsigned int index;
|
||||
};
|
||||
|
||||
|
@ -221,7 +221,7 @@ _children_get(void *data, const Eina_Value v, const Eina_Future *dead_future EIN
|
|||
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
|
||||
goto on_error;
|
||||
|
||||
efl_ui_view_list_segarray_insert_value(r->pd->segarray, r->index, v);
|
||||
efl_ui_list_view_seg_array_insert_value(r->pd->seg_array, r->index, v);
|
||||
r->pd->recalc = EINA_TRUE;
|
||||
evas_object_smart_changed(r->pd->modeler);
|
||||
|
||||
|
@ -234,7 +234,7 @@ static void
|
|||
_child_added_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Efl_Model_Children_Event* evt = event->info;
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd = data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
|
||||
Eina_Future *f;
|
||||
Request *r;
|
||||
|
||||
|
@ -252,13 +252,13 @@ static void
|
|||
_child_removed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Efl_Model_Children_Event* evt = event->info;
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd = data;
|
||||
Efl_Ui_View_List_LayoutItem *layout_item, *litem;
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata;
|
||||
Efl_Ui_View_List_SegArray_Node *itemnode;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
|
||||
Efl_Ui_List_View_Layout_Item *layout_item, *litem;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
|
||||
Efl_Ui_List_View_Seg_Array_Node *itemnode;
|
||||
int i;
|
||||
|
||||
litem = efl_ui_view_list_segarray_remove(pd->segarray, evt->index);
|
||||
litem = efl_ui_list_view_seg_array_remove(pd->seg_array, evt->index);
|
||||
if (!litem) return;
|
||||
|
||||
itemnode = litem->tree_node;
|
||||
|
@ -274,7 +274,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
|
|||
|
||||
for (i = 0; i != itemnode->length; ++i)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
|
||||
if (nodedata->min.w < layout_item->min.w)
|
||||
nodedata->min.w = layout_item->min.w;
|
||||
|
||||
|
@ -287,13 +287,13 @@ _child_removed_cb(void *data, const Efl_Event *event)
|
|||
|
||||
if (pd->min.w == litem->min.w)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *node2;
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Efl_Ui_List_View_Seg_Array_Node *node2;
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
pd->min.w = 0;
|
||||
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, node2)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
|
||||
if (pd->min.w < nodedata2->min.w)
|
||||
pd->min.w = nodedata2->min.w;
|
||||
|
||||
|
@ -303,7 +303,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
|
|||
eina_accessor_free(nodes);
|
||||
}
|
||||
|
||||
efl_ui_view_list_model_unrealize(pd->modeler, litem);
|
||||
efl_ui_list_view_model_unrealize(pd->modeler, litem);
|
||||
|
||||
free(litem);
|
||||
pd->recalc = EINA_TRUE;
|
||||
|
@ -313,14 +313,14 @@ _child_removed_cb(void *data, const Efl_Event *event)
|
|||
static void
|
||||
_child_count_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd = data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
|
||||
pd->count_total = efl_model_children_count_get(pd->model);
|
||||
if (pd->count_total)
|
||||
efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Model *modeler, Efl_Ui_View_List_SegArray *segarray)
|
||||
_initilize(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Model *modeler, Efl_Ui_List_View_Seg_Array *seg_array)
|
||||
{
|
||||
if(pd->initialized)
|
||||
return EINA_TRUE;
|
||||
|
@ -332,9 +332,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
|
|||
pd->initialized = EINA_TRUE;
|
||||
|
||||
pd->modeler = modeler;
|
||||
pd->segarray = segarray;
|
||||
pd->seg_array = seg_array;
|
||||
|
||||
efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
|
||||
efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
|
||||
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_ADDED, _child_added_cb, pd);
|
||||
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
|
||||
|
||||
|
@ -346,9 +346,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
|
|||
}
|
||||
|
||||
static void
|
||||
_finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
||||
_finalize(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node* node;
|
||||
Efl_Ui_List_View_Seg_Array_Node* node;
|
||||
int i = 0;
|
||||
|
||||
evas_object_event_callback_del_full(pd->modeler, EVAS_CALLBACK_RESIZE, _on_modeler_resize, pd);
|
||||
|
@ -356,7 +356,7 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
|
||||
pd->count_total = 0;
|
||||
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, node)
|
||||
{
|
||||
_node_unrealize(pd, node);
|
||||
|
@ -368,9 +368,9 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
pd->min.w = 0;
|
||||
pd->min.h = 0;
|
||||
|
||||
efl_ui_view_list_model_min_size_set(pd->modeler, pd->min);
|
||||
efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
|
||||
|
||||
pd->segarray = NULL;
|
||||
pd->seg_array = NULL;
|
||||
pd->modeler = NULL;
|
||||
|
||||
pd->initialized = EINA_FALSE;
|
||||
|
@ -378,11 +378,11 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
}
|
||||
|
||||
static void
|
||||
_node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node)
|
||||
_node_realize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
|
||||
{
|
||||
Efl_Ui_View_List_LayoutItem* layout_item;
|
||||
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data;
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
Efl_Ui_List_View_Layout_Item* layout_item;
|
||||
Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
int i;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(nodedata);
|
||||
|
@ -393,12 +393,12 @@ _node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegAr
|
|||
|
||||
for (i = 0; i != node->length; ++i)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i];
|
||||
efl_ui_view_list_model_realize(pd->modeler, layout_item);
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
|
||||
efl_ui_list_view_model_realize(pd->modeler, layout_item);
|
||||
|
||||
if (layout_item->layout)
|
||||
{
|
||||
cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data));
|
||||
cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
|
||||
cb_data->pd = pd;
|
||||
cb_data->item = layout_item;
|
||||
evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data);
|
||||
|
@ -408,11 +408,11 @@ _node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegAr
|
|||
}
|
||||
|
||||
static void
|
||||
_node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node)
|
||||
_node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
|
||||
{
|
||||
Efl_Ui_View_List_LayoutItem* layout_item;
|
||||
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data;
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
Efl_Ui_List_View_Layout_Item* layout_item;
|
||||
Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
|
||||
int i;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(nodedata);
|
||||
|
@ -423,24 +423,24 @@ _node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Seg
|
|||
|
||||
for (i = 0; i != node->length; ++i)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
|
||||
if (layout_item->layout)
|
||||
{
|
||||
cb_data = evas_object_event_callback_del(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change);
|
||||
free(cb_data);
|
||||
}
|
||||
efl_ui_view_list_model_unrealize(pd->modeler, layout_item);
|
||||
efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
||||
_calc_range(Efl_Ui_List_View_Precise_Layouter_Data *pd)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *node;
|
||||
Efl_Ui_List_View_Seg_Array_Node *node;
|
||||
Evas_Coord ch, ny;
|
||||
Eina_Rect vgmt;
|
||||
Eina_Position2D spos;
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
|
||||
int i;
|
||||
|
||||
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
|
||||
|
@ -452,7 +452,7 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
vgmt.h *= 2;
|
||||
|
||||
ch = 0;
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, node)
|
||||
{
|
||||
nodedata = node->layout_data;
|
||||
|
@ -472,9 +472,9 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
static void
|
||||
_calc_size_job(void *data)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Data *pd;
|
||||
Efl_Ui_View_List_SegArray_Node *node;
|
||||
Efl_Ui_View_List_LayoutItem *layout_item;
|
||||
Efl_Ui_List_View_Precise_Layouter_Data *pd;
|
||||
Efl_Ui_List_View_Seg_Array_Node *node;
|
||||
Efl_Ui_List_View_Layout_Item *layout_item;
|
||||
Eo *obj = data;
|
||||
Eina_Size2D min;
|
||||
int i;
|
||||
|
@ -484,16 +484,16 @@ _calc_size_job(void *data)
|
|||
pd = efl_data_scope_get(obj, MY_CLASS);
|
||||
if (EINA_UNLIKELY(!pd)) return;
|
||||
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
while (eina_accessor_data_get(nodes, pd->calc_progress, (void **)&node))
|
||||
{
|
||||
pd->calc_progress++;
|
||||
if (!node->layout_data)
|
||||
node->layout_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Node_Data));
|
||||
node->layout_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Node_Data));
|
||||
|
||||
for (i = 0; i != node->length; ++i)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
|
||||
EINA_SAFETY_ON_NULL_RETURN(layout_item);
|
||||
|
||||
// cache size of new items
|
||||
|
@ -501,18 +501,18 @@ _calc_size_job(void *data)
|
|||
{
|
||||
if (!layout_item->layout)
|
||||
{
|
||||
efl_ui_view_list_model_realize(pd->modeler, layout_item);
|
||||
efl_ui_list_view_model_realize(pd->modeler, layout_item);
|
||||
}
|
||||
|
||||
min = efl_gfx_size_hint_combined_min_get(layout_item->layout);
|
||||
if (min.w && min.h)
|
||||
{
|
||||
_item_min_calc(pd, layout_item, min, node);
|
||||
efl_ui_view_list_model_unrealize(pd->modeler, layout_item);
|
||||
efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
|
||||
}
|
||||
else
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data));
|
||||
Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
|
||||
cb_data->pd = pd;
|
||||
cb_data->item = layout_item;
|
||||
evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data);
|
||||
|
@ -536,7 +536,7 @@ _calc_size_job(void *data)
|
|||
}
|
||||
|
||||
EOLIAN static Efl_Object *
|
||||
_efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
||||
_efl_ui_list_view_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
|
||||
{
|
||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||
pd->initialized = EINA_FALSE;
|
||||
|
@ -545,23 +545,23 @@ _efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, E
|
|||
}
|
||||
|
||||
EOLIAN static Eina_List *
|
||||
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_elements_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
||||
_efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_elements_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
|
||||
{
|
||||
Eina_List *elements_order = NULL;
|
||||
Efl_Ui_View_List_LayoutItem* layout_item;
|
||||
Efl_Ui_View_List_SegArray_Node *items_node;
|
||||
Efl_Ui_List_View_Layout_Item* layout_item;
|
||||
Efl_Ui_List_View_Seg_Array_Node *items_node;
|
||||
int i, j = 0;
|
||||
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, items_node)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
|
||||
if (!nodedata || !nodedata->realized)
|
||||
continue;
|
||||
|
||||
for(j = 0; j != items_node->length;++j)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
|
||||
if (layout_item->layout)
|
||||
elements_order = eina_list_append(elements_order, layout_item->layout);
|
||||
}
|
||||
|
@ -571,7 +571,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_elements_get(const
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Model *model)
|
||||
_efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_model_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Model *model)
|
||||
{
|
||||
_finalize(obj, pd);
|
||||
|
||||
|
@ -581,20 +581,20 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_model_set(Eo *obj E
|
|||
{
|
||||
pd->count_total = efl_model_children_count_get(pd->model);
|
||||
if (pd->count_total && pd->modeler)
|
||||
efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
|
||||
efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
|
||||
else
|
||||
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
||||
_efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *pd)
|
||||
{
|
||||
Eina_Rect vgmt;
|
||||
Eina_Position2D spos;
|
||||
double cur_pos = 0;
|
||||
Efl_Ui_View_List_LayoutItem* layout_item;
|
||||
Efl_Ui_View_List_SegArray_Node *items_node;
|
||||
Efl_Ui_List_View_Layout_Item* layout_item;
|
||||
Efl_Ui_List_View_Seg_Array_Node *items_node;
|
||||
int i, j = 0;
|
||||
|
||||
_calc_range(pd);
|
||||
|
@ -621,15 +621,15 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
extra = boxh - pd->min.h;
|
||||
if (extra < 0) extra = 0;
|
||||
|
||||
efl_ui_view_list_model_min_size_set(pd->modeler, pd->min);
|
||||
efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
|
||||
|
||||
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
|
||||
spos = efl_ui_scrollable_content_pos_get(pd->modeler);
|
||||
|
||||
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray);
|
||||
Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
|
||||
EINA_ACCESSOR_FOREACH(nodes, i, items_node)
|
||||
{
|
||||
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
|
||||
Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
|
||||
if (!nodedata)
|
||||
{
|
||||
continue;
|
||||
|
@ -639,7 +639,7 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
{
|
||||
for(j = 0; j != items_node->length;++j)
|
||||
{
|
||||
layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j];
|
||||
layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
|
||||
double x, y, w, h;
|
||||
double weight_x, weight_y;
|
||||
|
||||
|
@ -678,16 +678,16 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do
|
||||
(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd
|
||||
, Efl_Ui_View_List_Model *modeler, int first, Efl_Ui_View_List_SegArray *segarray)
|
||||
_efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_layout_do
|
||||
(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd
|
||||
, Efl_Ui_List_View_Model *modeler, int first, Efl_Ui_List_View_Seg_Array *seg_array)
|
||||
{
|
||||
if (!_initilize(obj, pd, modeler, segarray))
|
||||
if (!_initilize(obj, pd, modeler, seg_array))
|
||||
return;
|
||||
|
||||
pd->first = first;
|
||||
|
||||
if (pd->recalc && efl_ui_view_list_segarray_count(segarray) > 0)
|
||||
if (pd->recalc && efl_ui_list_view_seg_array_count(seg_array) > 0)
|
||||
{
|
||||
// cache size of new items
|
||||
pd->calc_progress = 0;
|
||||
|
@ -696,7 +696,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do
|
|||
return;
|
||||
}
|
||||
|
||||
_efl_ui_view_list_relayout_layout_do(pd);
|
||||
_efl_ui_list_view_relayout_layout_do(pd);
|
||||
}
|
||||
|
||||
#include "efl_ui_view_list_precise_layouter.eo.c"
|
||||
#include "efl_ui_list_view_precise_layouter.eo.c"
|
|
@ -0,0 +1,9 @@
|
|||
class Efl.Ui.List_View_Precise_Layouter (Efl.Object, Efl.Ui.List_View_Relayout)
|
||||
{
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Ui.List_View_Relayout.layout_do;
|
||||
Efl.Ui.List_View_Relayout.model { set; }
|
||||
Efl.Ui.List_View_Relayout.elements { get; }
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef EFL_UI_VIEW_LIST_PRIVATE_H
|
||||
#define EFL_UI_VIEW_LIST_PRIVATE_H
|
||||
#ifndef EFL_UI_LIST_VIEW_PRIVATE_H
|
||||
#define EFL_UI_LIST_VIEW_PRIVATE_H
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "elementary_config.h"
|
||||
|
@ -8,16 +8,16 @@
|
|||
#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);
|
||||
typedef struct _Efl_Ui_List_View_Data Efl_Ui_List_View_Data;
|
||||
int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item *item);
|
||||
|
||||
#include "efl_ui_view_list_segarray.h"
|
||||
#include "efl_ui_list_view_seg_array.h"
|
||||
|
||||
struct _Efl_Ui_View_List_Data
|
||||
struct _Efl_Ui_List_View_Data
|
||||
{
|
||||
Eo *obj;
|
||||
Eo *scrl_mgr;
|
||||
Efl_Ui_View_List_Pan *pan_obj;
|
||||
Efl_Ui_List_View_Pan *pan_obj;
|
||||
Efl_Model *model;
|
||||
|
||||
Eina_Stringshare *style;
|
||||
|
@ -33,9 +33,9 @@ struct _Efl_Ui_View_List_Data
|
|||
Eina_List *selected_items;
|
||||
|
||||
Efl_Ui_Focus_Manager *manager;
|
||||
Efl_Ui_View_List_Relayout *relayout;
|
||||
Efl_Ui_View_List_SegArray *segarray;
|
||||
int segarray_first;
|
||||
Efl_Ui_List_View_Relayout *relayout;
|
||||
Efl_Ui_List_View_Seg_Array *seg_array;
|
||||
int seg_array_first;
|
||||
|
||||
Elm_Object_Select_Mode select_mode;
|
||||
Eina_Size2D min;
|
||||
|
@ -44,19 +44,19 @@ struct _Efl_Ui_View_List_Data
|
|||
Eina_Bool scrl_freeze : 1;
|
||||
};
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Pan_Data Efl_Ui_View_List_Pan_Data;
|
||||
typedef struct _Efl_Ui_List_View_Pan_Data Efl_Ui_List_View_Pan_Data;
|
||||
|
||||
struct _Efl_Ui_View_List_Pan_Data
|
||||
struct _Efl_Ui_List_View_Pan_Data
|
||||
{
|
||||
Eo *wobj;
|
||||
Eina_Rect gmt;
|
||||
};
|
||||
|
||||
#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)
|
||||
#define EFL_UI_LIST_VIEW_DATA_GET(o, ptr) \
|
||||
Efl_Ui_List_View_Data * ptr = efl_data_scope_get(o, EFL_UI_LIST_VIEW_CLASS)
|
||||
|
||||
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN(o, ptr) \
|
||||
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \
|
||||
#define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN(o, ptr) \
|
||||
EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
|
||||
if (EINA_UNLIKELY(!ptr)) \
|
||||
{ \
|
||||
ERR("No widget data for object %p (%s)", \
|
||||
|
@ -64,8 +64,8 @@ struct _Efl_Ui_View_List_Pan_Data
|
|||
return; \
|
||||
}
|
||||
|
||||
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
|
||||
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \
|
||||
#define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
|
||||
EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
|
||||
if (EINA_UNLIKELY(!ptr)) \
|
||||
{ \
|
||||
ERR("No widget data for object %p (%s)", \
|
|
@ -1,11 +1,11 @@
|
|||
interface Efl.Ui.View_List_Relayout (Efl.Interface)
|
||||
interface Efl.Ui.List_View_Relayout (Efl.Interface)
|
||||
{
|
||||
methods {
|
||||
layout_do {
|
||||
params {
|
||||
modeler: Efl.Ui.View_List_Model;
|
||||
modeler: Efl.Ui.List_View_Model;
|
||||
first: int;
|
||||
children: Efl.Ui.View_List_SegArray;
|
||||
children: Efl.Ui.List_View_Seg_Array;
|
||||
}
|
||||
}
|
||||
@property model {
|
|
@ -5,15 +5,15 @@
|
|||
#include <Efl.h>
|
||||
#include <assert.h>
|
||||
|
||||
#define MY_CLASS EFL_UI_VIEW_LIST_SEGARRAY_CLASS
|
||||
#define MY_CLASS_NAME "Efl.Ui.View.List.SegArray"
|
||||
#define MY_CLASS EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS
|
||||
#define MY_CLASS_NAME "Efl.Ui.List_View_Seg_Array"
|
||||
|
||||
#include "efl_ui_view_list_private.h"
|
||||
#include "efl_ui_view_list_segarray.h"
|
||||
#include "efl_ui_list_view_private.h"
|
||||
#include "efl_ui_list_view_seg_array.h"
|
||||
|
||||
static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree;
|
||||
Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
|
||||
int index = *(int*)key;
|
||||
if(index < node->first)
|
||||
{
|
||||
|
@ -31,7 +31,7 @@ static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
|
|||
|
||||
static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree;
|
||||
Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
|
||||
int index = *(int*)key;
|
||||
if(index < node->first)
|
||||
{
|
||||
|
@ -47,8 +47,8 @@ static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
|
|||
}
|
||||
}
|
||||
|
||||
static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node const* left,
|
||||
Efl_Ui_View_List_SegArray_Node const* right, void* data EINA_UNUSED)
|
||||
static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_List_View_Seg_Array_Node const* left,
|
||||
Efl_Ui_List_View_Seg_Array_Node const* right, void* data EINA_UNUSED)
|
||||
{
|
||||
if(left->first < right->first)
|
||||
return EINA_RBTREE_LEFT;
|
||||
|
@ -58,7 +58,7 @@ static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node cons
|
|||
|
||||
|
||||
static void
|
||||
_free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED)
|
||||
_free_node(Efl_Ui_List_View_Seg_Array_Node* node, void* data EINA_UNUSED)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
|
@ -71,11 +71,11 @@ _free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED)
|
|||
free(node);
|
||||
}
|
||||
|
||||
static Efl_Ui_View_List_SegArray_Node*
|
||||
_alloc_node(Efl_Ui_View_List_SegArray_Data* pd, int first)
|
||||
static Efl_Ui_List_View_Seg_Array_Node*
|
||||
_alloc_node(Efl_Ui_List_View_Seg_Array_Data* pd, int first)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node* node;
|
||||
node = calloc(1, sizeof(Efl_Ui_View_List_SegArray_Node) + pd->step_size*sizeof(Efl_Ui_View_List_LayoutItem*));
|
||||
Efl_Ui_List_View_Seg_Array_Node* node;
|
||||
node = calloc(1, sizeof(Efl_Ui_List_View_Seg_Array_Node) + pd->step_size*sizeof(Efl_Ui_List_View_Layout_Item*));
|
||||
node->first = first;
|
||||
node->max = pd->step_size;
|
||||
pd->root = (void*)eina_rbtree_inline_insert(EINA_RBTREE_GET(pd->root), EINA_RBTREE_GET(node),
|
||||
|
@ -85,7 +85,7 @@ _alloc_node(Efl_Ui_View_List_SegArray_Data* pd, int first)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_segarray_flush(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd)
|
||||
_efl_ui_list_view_seg_array_flush(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd)
|
||||
{
|
||||
if (pd->root)
|
||||
eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL);
|
||||
|
@ -95,26 +95,26 @@ _efl_ui_view_list_segarray_flush(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_
|
|||
pd->count = 0;
|
||||
}
|
||||
|
||||
static Efl_Ui_View_List_LayoutItem* _create_item_partial(Efl_Model* model)
|
||||
static Efl_Ui_List_View_Layout_Item* _create_item_partial(Efl_Model* model)
|
||||
{
|
||||
Efl_Ui_View_List_LayoutItem* item = calloc(1, sizeof(Efl_Ui_View_List_LayoutItem));
|
||||
Efl_Ui_List_View_Layout_Item* item = calloc(1, sizeof(Efl_Ui_List_View_Layout_Item));
|
||||
item->children = model;
|
||||
return item;
|
||||
}
|
||||
|
||||
static Efl_Ui_View_List_LayoutItem* _create_item(Efl_Model* model, Efl_Ui_View_List_SegArray_Node* node, unsigned int index)
|
||||
static Efl_Ui_List_View_Layout_Item* _create_item(Efl_Model* model, Efl_Ui_List_View_Seg_Array_Node* node, unsigned int index)
|
||||
{
|
||||
Efl_Ui_View_List_LayoutItem* item = _create_item_partial(model);
|
||||
Efl_Ui_List_View_Layout_Item* item = _create_item_partial(model);
|
||||
item->index_offset = index - node->first;
|
||||
item->tree_node = node;
|
||||
return item;
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Ui_View_List_LayoutItem*
|
||||
_efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int index)
|
||||
EOLIAN static Efl_Ui_List_View_Layout_Item*
|
||||
_efl_ui_list_view_seg_array_remove(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int index)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *node;
|
||||
Efl_Ui_View_List_LayoutItem *item, *rt;
|
||||
Efl_Ui_List_View_Seg_Array_Node *node;
|
||||
Efl_Ui_List_View_Layout_Item *item, *rt;
|
||||
Eina_Iterator* iterator;
|
||||
int offset;
|
||||
|
||||
|
@ -146,7 +146,7 @@ _efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray
|
|||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_segarray_insert_at_node(Efl_Ui_View_List_SegArray_Data* pd, int index, Efl_Ui_View_List_LayoutItem* item, Efl_Ui_View_List_SegArray_Node* node)
|
||||
_efl_ui_list_view_seg_array_insert_at_node(Efl_Ui_List_View_Seg_Array_Data* pd, int index, Efl_Ui_List_View_Layout_Item* item, Efl_Ui_List_View_Seg_Array_Node* node)
|
||||
{
|
||||
Eina_Iterator* iterator;
|
||||
int pos;
|
||||
|
@ -194,10 +194,10 @@ _efl_ui_view_list_segarray_insert_at_node(Efl_Ui_View_List_SegArray_Data* pd, in
|
|||
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd, int index, Efl_Model* model)
|
||||
_efl_ui_list_view_seg_array_insert(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd, int index, Efl_Model* model)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node* node, *next;
|
||||
Efl_Ui_View_List_LayoutItem* item;
|
||||
Efl_Ui_List_View_Seg_Array_Node* node, *next;
|
||||
Efl_Ui_List_View_Layout_Item* item;
|
||||
|
||||
item = _create_item_partial(model);
|
||||
|
||||
|
@ -207,34 +207,34 @@ _efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray
|
|||
{
|
||||
next = (void*)EINA_RBTREE_GET(node)->son[EINA_RBTREE_LEFT];
|
||||
if(next && next->first <= index)
|
||||
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, next);
|
||||
_efl_ui_list_view_seg_array_insert_at_node(pd, index, item, next);
|
||||
else
|
||||
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, node);
|
||||
_efl_ui_list_view_seg_array_insert_at_node(pd, index, item, node);
|
||||
}
|
||||
else
|
||||
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, NULL);
|
||||
_efl_ui_list_view_seg_array_insert_at_node(pd, index, item, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
efl_ui_view_list_segarray_insert_object(Efl_Ui_View_List_SegArray_Data *segarray, unsigned int index, Efl_Model *children)
|
||||
efl_ui_list_view_seg_array_insert_object(Efl_Ui_List_View_Seg_Array_Data *seg_array, unsigned int index, Efl_Model *children)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *node;
|
||||
Efl_Ui_List_View_Seg_Array_Node *node;
|
||||
|
||||
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(segarray->root),
|
||||
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(seg_array->root),
|
||||
&index, sizeof(index), &_insert_lookup_cb, NULL);
|
||||
if (!node)
|
||||
{
|
||||
node = _alloc_node(segarray, index);
|
||||
node = _alloc_node(seg_array, index);
|
||||
}
|
||||
|
||||
assert(node->length < node->max);
|
||||
node->pointers[node->length] = _create_item(children, node, index);
|
||||
node->length++;
|
||||
segarray->count++;
|
||||
seg_array->count++;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *segarray, int first, Eina_Value v)
|
||||
_efl_ui_list_view_seg_array_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *seg_array, int first, Eina_Value v)
|
||||
{
|
||||
Efl_Model *children;
|
||||
unsigned int i, len;
|
||||
|
@ -242,7 +242,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
|
|||
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_OBJECT)
|
||||
{
|
||||
children = eina_value_object_get(&v);
|
||||
efl_ui_view_list_segarray_insert_object(segarray, first, children);
|
||||
efl_ui_list_view_seg_array_insert_object(seg_array, first, children);
|
||||
}
|
||||
else if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ARRAY)
|
||||
{
|
||||
|
@ -250,7 +250,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
|
|||
{
|
||||
unsigned int idx = first + i;
|
||||
|
||||
efl_ui_view_list_segarray_insert_object(segarray, idx, children);
|
||||
efl_ui_list_view_seg_array_insert_object(seg_array, idx, children);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -260,28 +260,28 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
|
|||
}
|
||||
|
||||
EOLIAN static int
|
||||
_efl_ui_view_list_segarray_count(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd)
|
||||
_efl_ui_list_view_seg_array_count(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
|
||||
{
|
||||
return pd->count;
|
||||
}
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Segarray_Eina_Accessor
|
||||
typedef struct _Efl_Ui_List_View_Segarray_Eina_Accessor
|
||||
{
|
||||
Eina_Accessor vtable;
|
||||
Efl_Ui_View_List_SegArray_Data* segarray;
|
||||
} Efl_Ui_View_List_Segarray_Eina_Accessor;
|
||||
Efl_Ui_List_View_Seg_Array_Data* seg_array;
|
||||
} Efl_Ui_List_View_Segarray_Eina_Accessor;
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Accessor* acc,
|
||||
_efl_ui_list_view_seg_array_accessor_get_at(Efl_Ui_List_View_Segarray_Eina_Accessor* acc,
|
||||
int idx, void** data)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node* node;
|
||||
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->segarray->root),
|
||||
Efl_Ui_List_View_Seg_Array_Node* node;
|
||||
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->seg_array->root),
|
||||
&idx, sizeof(idx), &_search_lookup_cb, NULL);
|
||||
if (node && (node->first <= idx && node->first + node->length > idx))
|
||||
{
|
||||
int i = idx - node->first;
|
||||
Efl_Ui_View_List_LayoutItem* item = node->pointers[i];
|
||||
Efl_Ui_List_View_Layout_Item* item = node->pointers[i];
|
||||
*data = item;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -289,13 +289,13 @@ _efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Access
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_segarray_setup(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int size)
|
||||
_efl_ui_list_view_seg_array_setup(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int size)
|
||||
{
|
||||
pd->step_size = size;
|
||||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd EINA_UNUSED)
|
||||
{
|
||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||
|
||||
|
@ -303,7 +303,7 @@ _efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegA
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_view_list_segarray_efl_object_destructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd)
|
||||
_efl_ui_list_view_seg_array_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd)
|
||||
{
|
||||
if (pd->root)
|
||||
eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL);
|
||||
|
@ -313,68 +313,68 @@ _efl_ui_view_list_segarray_efl_object_destructor(Eo *obj, Efl_Ui_View_List_SegAr
|
|||
}
|
||||
|
||||
static void*
|
||||
_efl_ui_view_list_segarray_accessor_get_container(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_accessor_get_container(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_segarray_accessor_free(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_accessor_free(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
free(acc);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_accessor_lock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_accessor_lock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_accessor_unlock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_accessor_unlock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Accessor*
|
||||
_efl_ui_view_list_segarray_accessor_clone(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_accessor_clone(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return &acc->vtable;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_segarray_accessor_setup(Efl_Ui_View_List_Segarray_Eina_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray)
|
||||
_efl_ui_list_view_seg_array_accessor_setup(Efl_Ui_List_View_Segarray_Eina_Accessor* acc, Efl_Ui_List_View_Seg_Array_Data* seg_array)
|
||||
{
|
||||
EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
|
||||
acc->vtable.version = EINA_ACCESSOR_VERSION;
|
||||
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_accessor_get_at);
|
||||
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_accessor_get_container);
|
||||
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_accessor_free);
|
||||
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_lock);
|
||||
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_unlock);
|
||||
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_accessor_clone);
|
||||
acc->segarray = segarray;
|
||||
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_accessor_get_at);
|
||||
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_accessor_get_container);
|
||||
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_accessor_free);
|
||||
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_lock);
|
||||
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_unlock);
|
||||
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_accessor_clone);
|
||||
acc->seg_array = seg_array;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Accessor*
|
||||
_efl_ui_view_list_segarray_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd)
|
||||
_efl_ui_list_view_seg_array_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
|
||||
{
|
||||
Efl_Ui_View_List_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Eina_Accessor));
|
||||
_efl_ui_view_list_segarray_accessor_setup(acc, pd);
|
||||
Efl_Ui_List_View_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Eina_Accessor));
|
||||
_efl_ui_list_view_seg_array_accessor_setup(acc, pd);
|
||||
return &acc->vtable;
|
||||
}
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Segarray_Node_Accessor
|
||||
typedef struct _Efl_Ui_List_View_Segarray_Node_Accessor
|
||||
{
|
||||
Eina_Accessor vtable;
|
||||
Efl_Ui_View_List_SegArray_Data* segarray;
|
||||
Efl_Ui_List_View_Seg_Array_Data* seg_array;
|
||||
Eina_Iterator* pre_iterator;
|
||||
Efl_Ui_View_List_SegArray_Node* current_node;
|
||||
Efl_Ui_List_View_Seg_Array_Node* current_node;
|
||||
int current_index;
|
||||
} Efl_Ui_View_List_Segarray_Node_Accessor;
|
||||
} Efl_Ui_List_View_Segarray_Node_Accessor;
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_Accessor* acc,
|
||||
_efl_ui_list_view_seg_array_node_accessor_get_at(Efl_Ui_List_View_Segarray_Node_Accessor* acc,
|
||||
int idx, void** data)
|
||||
{
|
||||
if(idx == acc->current_index && acc->current_node)
|
||||
|
@ -392,7 +392,7 @@ _efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_A
|
|||
}
|
||||
|
||||
if(!acc->pre_iterator)
|
||||
acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->segarray->root);
|
||||
acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->seg_array->root);
|
||||
|
||||
for(;acc->current_index != idx;++acc->current_index)
|
||||
{
|
||||
|
@ -409,13 +409,13 @@ _efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_A
|
|||
}
|
||||
|
||||
static void*
|
||||
_efl_ui_view_list_segarray_node_accessor_get_container(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_node_accessor_get_container(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_segarray_node_accessor_free(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_node_accessor_free(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
if (acc->pre_iterator)
|
||||
eina_iterator_free(acc->pre_iterator);
|
||||
|
@ -423,52 +423,52 @@ _efl_ui_view_list_segarray_node_accessor_free(Efl_Ui_View_List_Segarray_Node_Acc
|
|||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_node_accessor_lock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_node_accessor_lock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_ui_view_list_segarray_node_accessor_unlock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_node_accessor_unlock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Accessor*
|
||||
_efl_ui_view_list_segarray_node_accessor_clone(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
_efl_ui_list_view_seg_array_node_accessor_clone(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
|
||||
{
|
||||
return &acc->vtable;
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_view_list_segarray_node_accessor_setup(Efl_Ui_View_List_Segarray_Node_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray)
|
||||
_efl_ui_list_view_seg_array_node_accessor_setup(Efl_Ui_List_View_Segarray_Node_Accessor* acc, Efl_Ui_List_View_Seg_Array_Data* seg_array)
|
||||
{
|
||||
EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
|
||||
acc->vtable.version = EINA_ACCESSOR_VERSION;
|
||||
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_node_accessor_get_at);
|
||||
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_node_accessor_get_container);
|
||||
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_node_accessor_free);
|
||||
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_lock);
|
||||
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_unlock);
|
||||
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_node_accessor_clone);
|
||||
acc->segarray = segarray;
|
||||
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_node_accessor_get_at);
|
||||
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_node_accessor_get_container);
|
||||
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_node_accessor_free);
|
||||
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_lock);
|
||||
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_unlock);
|
||||
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_node_accessor_clone);
|
||||
acc->seg_array = seg_array;
|
||||
acc->pre_iterator = NULL;
|
||||
acc->current_index = -1;
|
||||
acc->current_node = NULL;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Accessor*
|
||||
_efl_ui_view_list_segarray_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd)
|
||||
_efl_ui_list_view_seg_array_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
|
||||
{
|
||||
Efl_Ui_View_List_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Node_Accessor));
|
||||
_efl_ui_view_list_segarray_node_accessor_setup(acc, pd);
|
||||
Efl_Ui_List_View_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Node_Accessor));
|
||||
_efl_ui_list_view_seg_array_node_accessor_setup(acc, pd);
|
||||
return &acc->vtable;
|
||||
}
|
||||
|
||||
int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem* item)
|
||||
int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item* item)
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node* node = item->tree_node;
|
||||
Efl_Ui_List_View_Seg_Array_Node* node = item->tree_node;
|
||||
return item->index_offset + node->first;
|
||||
}
|
||||
|
||||
#include "efl_ui_view_list_segarray.eo.c"
|
||||
#include "efl_ui_list_view_seg_array.eo.c"
|
|
@ -1,22 +1,22 @@
|
|||
import efl_ui_view_list_types;
|
||||
import efl_ui_list_view_types;
|
||||
|
||||
class Efl.Ui.View_List_SegArray (Efl.Object)
|
||||
class Efl.Ui.List_View_Seg_Array (Efl.Object)
|
||||
{
|
||||
methods {
|
||||
@property accessor {
|
||||
get {
|
||||
[[ Get a SegArray List items accessor ]]
|
||||
[[ Get a Seg_Array List items accessor ]]
|
||||
}
|
||||
values {
|
||||
acc: accessor<ptr(Efl.Ui.View.List.LayoutItem)>;
|
||||
acc: accessor<ptr(Efl.Ui.List_View_Layout_Item)>;
|
||||
}
|
||||
}
|
||||
@property node_accessor {
|
||||
get {
|
||||
[[ Get a SegArray node accessor ]]
|
||||
[[ Get a Seg_Array node accessor ]]
|
||||
}
|
||||
values {
|
||||
acc: accessor<ptr(Efl.Ui.View.List.SegArray.Node)>;
|
||||
acc: accessor<ptr(Efl.Ui.List_View_Seg_Array_Node)>;
|
||||
}
|
||||
}
|
||||
insert_value {
|
||||
|
@ -27,31 +27,31 @@ class Efl.Ui.View_List_SegArray (Efl.Object)
|
|||
}
|
||||
}
|
||||
count {
|
||||
[[ Get the number of items in SegArray tree ]]
|
||||
[[ Get the number of items in Seg_Array tree ]]
|
||||
return: int;
|
||||
}
|
||||
setup {
|
||||
[[ Configure a step of SegArray tree, this is the max node size ]]
|
||||
[[ Configure a step of Seg_Array tree, this is the max node size ]]
|
||||
params {
|
||||
@in initial_step_size: int;
|
||||
}
|
||||
}
|
||||
flush {
|
||||
[[ flush the SegArray tree ]]
|
||||
[[ flush the Seg_Array tree ]]
|
||||
}
|
||||
insert {
|
||||
[[ Insert a new model in SegArray tree at index position ]]
|
||||
[[ Insert a new model in Seg_Array tree at index position ]]
|
||||
params {
|
||||
@in index: int;
|
||||
@in model: Efl.Model;
|
||||
}
|
||||
}
|
||||
remove {
|
||||
[[ Remove the item at index position in SegArray tree ]]
|
||||
[[ Remove the item at index position in Seg_Array tree ]]
|
||||
params {
|
||||
@in index: int;
|
||||
}
|
||||
return: ptr(Efl.Ui.View.List.LayoutItem) @owned;
|
||||
return: ptr(Efl.Ui.List_View_Layout_Item) @owned;
|
||||
}
|
||||
}
|
||||
implements {
|
|
@ -0,0 +1,28 @@
|
|||
#ifndef EFL_UI_LIST_VIEW_SEG_ARRAY_H
|
||||
#define EFL_UI_LIST_VIEW_SEG_ARRAY_H
|
||||
|
||||
typedef struct _Efl_Ui_List_View_Item Efl_Ui_List_View_Item;
|
||||
|
||||
typedef struct _Efl_Ui_List_View_SegArray_Node
|
||||
{
|
||||
EINA_RBTREE;
|
||||
|
||||
int length;
|
||||
int max;
|
||||
int first;
|
||||
|
||||
void* layout_data;
|
||||
|
||||
Efl_Ui_List_View_Layout_Item* pointers[0];
|
||||
} Efl_Ui_List_View_Seg_Array_Node;
|
||||
|
||||
typedef struct _Efl_Ui_List_View_Seg_Array_Data
|
||||
{
|
||||
Efl_Ui_List_View_Seg_Array_Node *root;
|
||||
|
||||
int step_size;
|
||||
int node_count;
|
||||
int count;
|
||||
} Efl_Ui_List_View_Seg_Array_Data;
|
||||
|
||||
#endif
|
|
@ -1,4 +1,4 @@
|
|||
struct Efl.Ui.View.List.LayoutItem {
|
||||
struct Efl.Ui.List_View_Layout_Item {
|
||||
layout: Efl.Ui.Layout.Object;
|
||||
children: Efl.Model;
|
||||
index_offset: int;
|
||||
|
@ -8,4 +8,4 @@ struct Efl.Ui.View.List.LayoutItem {
|
|||
pos: Eina.Position2D;
|
||||
}
|
||||
|
||||
struct @extern Efl.Ui.View.List.SegArray.Node; [[ ]]
|
||||
struct @extern Efl.Ui.List_View_Seg_Array_Node; [[ ]]
|
|
@ -1,9 +0,0 @@
|
|||
class Efl.Ui.View_List_Precise_Layouter (Efl.Object, Efl.Ui.View_List_Relayout)
|
||||
{
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Ui.View_List_Relayout.layout_do;
|
||||
Efl.Ui.View_List_Relayout.model { set; }
|
||||
Efl.Ui.View_List_Relayout.elements { get; }
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef EFL_UI_LIST_SEGARRAY_H
|
||||
#define EFL_UI_LIST_SEGARRAY_H
|
||||
|
||||
typedef struct _Efl_Ui_View_List_Item Efl_Ui_View_List_Item;
|
||||
|
||||
typedef struct _Efl_Ui_View_List_SegArray_Node
|
||||
{
|
||||
EINA_RBTREE;
|
||||
|
||||
int length;
|
||||
int max;
|
||||
int first;
|
||||
|
||||
void* layout_data;
|
||||
|
||||
Efl_Ui_View_List_LayoutItem* pointers[0];
|
||||
} Efl_Ui_View_List_SegArray_Node;
|
||||
|
||||
typedef struct _Efl_Ui_View_List_SegArray_Data
|
||||
{
|
||||
Efl_Ui_View_List_SegArray_Node *root;
|
||||
|
||||
int step_size;
|
||||
int node_count;
|
||||
int count;
|
||||
} Efl_Ui_View_List_SegArray_Data;
|
||||
|
||||
#endif
|
|
@ -106,7 +106,7 @@ pub_legacy_eo_files = [
|
|||
'elm_table.eo',
|
||||
'elm_thumb.eo',
|
||||
'efl_ui_textpath_legacy.eo',
|
||||
'efl_ui_view_list_precise_layouter.eo'
|
||||
'efl_ui_list_view_precise_layouter.eo'
|
||||
]
|
||||
|
||||
pub_eo_file_target = []
|
||||
|
@ -205,11 +205,11 @@ pub_eo_files = [
|
|||
'efl_ui_layout_part_table.eo',
|
||||
'efl_ui_layout_part_bg.eo',
|
||||
'efl_ui_layout_part_legacy.eo',
|
||||
'efl_ui_view_list.eo',
|
||||
'efl_ui_view_list_model.eo',
|
||||
'efl_ui_view_list_pan.eo',
|
||||
'efl_ui_view_list_segarray.eo',
|
||||
'efl_ui_view_list_relayout.eo',
|
||||
'efl_ui_list_view.eo',
|
||||
'efl_ui_list_view_model.eo',
|
||||
'efl_ui_list_view_pan.eo',
|
||||
'efl_ui_list_view_seg_array.eo',
|
||||
'efl_ui_list_view_relayout.eo',
|
||||
'efl_ui_item.eo',
|
||||
'efl_ui_list_item.eo',
|
||||
'efl_ui_list_default_item_part_icon.eo',
|
||||
|
@ -304,7 +304,7 @@ endforeach
|
|||
pub_eo_types_files = [
|
||||
'elm_general.eot',
|
||||
'efl_ui.eot',
|
||||
'efl_ui_view_list_types.eot',
|
||||
'efl_ui_list_view_types.eot',
|
||||
'efl_selection_types.eot',
|
||||
'efl_ui_dnd_types.eot'
|
||||
]
|
||||
|
@ -440,8 +440,8 @@ elementary_headers_unstable = [
|
|||
'efl_ui_item_private.h',
|
||||
'efl_ui_list_item_private.h',
|
||||
'efl_ui_list_private.h',
|
||||
'efl_ui_view_list_private.h',
|
||||
'efl_ui_view_list_segarray.h',
|
||||
'efl_ui_list_view_private.h',
|
||||
'efl_ui_list_view_seg_array.h',
|
||||
'elm_widget_web.h',
|
||||
'efl_ui_clock.h',
|
||||
'elm_code.h',
|
||||
|
@ -864,9 +864,9 @@ elementary_src = [
|
|||
'efl_ui_list_default_item.c',
|
||||
'efl_ui_list_empty_item.c',
|
||||
'efl_ui_list.c',
|
||||
'efl_ui_view_list.c',
|
||||
'efl_ui_view_list_precise_layouter.c',
|
||||
'efl_ui_view_list_segarray.c',
|
||||
'efl_ui_list_view.c',
|
||||
'efl_ui_list_view_precise_layouter.c',
|
||||
'efl_ui_list_view_seg_array.c',
|
||||
'efl_ui_layout_factory.c',
|
||||
'efl_ui_scroller.c',
|
||||
'efl_ui_scroll_manager.c',
|
||||
|
|
Loading…
Reference in New Issue