summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSangHyeon Jade Lee <sh10233.lee@samsung.com>2018-11-05 14:27:05 +0900
committerHermet Park <hermetpark@gmail.com>2018-11-05 14:27:05 +0900
commite97b6b72bebfc91f44c4ab98f3ff1b7920344c07 (patch)
tree9e1d059c319b9208114b05df5356961d81ff06a0
parentc4e0d3f69d8203ad3ff4f3fdeb0a0adfaffdd1cd (diff)
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
-rw-r--r--data/elementary/themes/edc/efl/list.edc4
-rw-r--r--src/Makefile_Elementary.am24
-rw-r--r--src/examples/elementary.mk14
-rw-r--r--src/examples/elementary/efl_ui_list_view_example.edc (renamed from src/examples/elementary/efl_ui_view_list_example.edc)0
-rw-r--r--src/examples/elementary/efl_ui_list_view_example_1.c (renamed from src/examples/elementary/efl_ui_view_list_example_1.c)16
-rw-r--r--src/examples/elementary/efl_ui_list_view_example_2.c (renamed from src/examples/elementary/efl_ui_view_list_example_2.c)8
-rw-r--r--src/examples/elementary/efl_ui_list_view_example_3.c (renamed from src/examples/elementary/efl_ui_view_list_example_3.c)26
-rw-r--r--src/lib/elementary/Elementary.h14
-rw-r--r--src/lib/elementary/efl_ui_list_view.c (renamed from src/lib/elementary/efl_ui_view_list.c)338
-rw-r--r--src/lib/elementary/efl_ui_list_view.eo (renamed from src/lib/elementary/efl_ui_view_list.eo)34
-rw-r--r--src/lib/elementary/efl_ui_list_view_model.eo (renamed from src/lib/elementary/efl_ui_view_list_model.eo)10
-rw-r--r--src/lib/elementary/efl_ui_list_view_pan.eo (renamed from src/lib/elementary/efl_ui_view_list_pan.eo)4
-rw-r--r--src/lib/elementary/efl_ui_list_view_precise_layouter.c (renamed from src/lib/elementary/efl_ui_view_list_precise_layouter.c)210
-rw-r--r--src/lib/elementary/efl_ui_list_view_precise_layouter.eo9
-rw-r--r--src/lib/elementary/efl_ui_list_view_private.h (renamed from src/lib/elementary/efl_ui_view_list_private.h)36
-rw-r--r--src/lib/elementary/efl_ui_list_view_relayout.eo (renamed from src/lib/elementary/efl_ui_view_list_relayout.eo)6
-rw-r--r--src/lib/elementary/efl_ui_list_view_seg_array.c (renamed from src/lib/elementary/efl_ui_view_list_segarray.c)178
-rw-r--r--src/lib/elementary/efl_ui_list_view_seg_array.eo (renamed from src/lib/elementary/efl_ui_view_list_segarray.eo)24
-rw-r--r--src/lib/elementary/efl_ui_list_view_seg_array.h28
-rw-r--r--src/lib/elementary/efl_ui_list_view_types.eot (renamed from src/lib/elementary/efl_ui_view_list_types.eot)4
-rw-r--r--src/lib/elementary/efl_ui_view_list_precise_layouter.eo9
-rw-r--r--src/lib/elementary/efl_ui_view_list_segarray.h28
-rw-r--r--src/lib/elementary/meson.build24
23 files changed, 524 insertions, 524 deletions
diff --git a/data/elementary/themes/edc/efl/list.edc b/data/elementary/themes/edc/efl/list.edc
index 1bc55ec4d6..ca3c5b47ff 100644
--- a/data/elementary/themes/edc/efl/list.edc
+++ b/data/elementary/themes/edc/efl/list.edc
@@ -2,7 +2,7 @@ group { "efl/list";
2 inherit: "efl/scroller"; 2 inherit: "efl/scroller";
3} 3}
4 4
5group { "efl/view_list"; 5group { "efl/list_view";
6 inherit: "efl/list"; 6 inherit: "efl/list";
7} 7}
8 8
@@ -468,4 +468,4 @@ group { "efl/list_item:empty";
468 target: "event_block"; 468 target: "event_block";
469 } 469 }
470 } 470 }
471} \ No newline at end of file 471}
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 45ad401950..4298c46264 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -78,11 +78,11 @@ elm_public_eolian_files = \
78 lib/elementary/efl_ui_layout_part_table.eo \ 78 lib/elementary/efl_ui_layout_part_table.eo \
79 lib/elementary/efl_ui_layout_part_bg.eo \ 79 lib/elementary/efl_ui_layout_part_bg.eo \
80 lib/elementary/efl_ui_layout_part_legacy.eo \ 80 lib/elementary/efl_ui_layout_part_legacy.eo \
81 lib/elementary/efl_ui_view_list.eo \ 81 lib/elementary/efl_ui_list_view.eo \
82 lib/elementary/efl_ui_view_list_model.eo \ 82 lib/elementary/efl_ui_list_view_model.eo \
83 lib/elementary/efl_ui_view_list_pan.eo \ 83 lib/elementary/efl_ui_list_view_pan.eo \
84 lib/elementary/efl_ui_view_list_segarray.eo \ 84 lib/elementary/efl_ui_list_view_seg_array.eo \
85 lib/elementary/efl_ui_view_list_relayout.eo \ 85 lib/elementary/efl_ui_list_view_relayout.eo \
86 lib/elementary/efl_ui_item.eo \ 86 lib/elementary/efl_ui_item.eo \
87 lib/elementary/efl_ui_list_item.eo \ 87 lib/elementary/efl_ui_list_item.eo \
88 lib/elementary/efl_ui_list_default_item_part_icon.eo \ 88 lib/elementary/efl_ui_list_default_item_part_icon.eo \
@@ -276,13 +276,13 @@ elm_legacy_eolian_files = \
276 lib/elementary/elm_slideshow_item.eo \ 276 lib/elementary/elm_slideshow_item.eo \
277 lib/elementary/elm_table.eo \ 277 lib/elementary/elm_table.eo \
278 lib/elementary/elm_thumb.eo \ 278 lib/elementary/elm_thumb.eo \
279 lib/elementary/efl_ui_view_list_precise_layouter.eo \ 279 lib/elementary/efl_ui_list_view_precise_layouter.eo \
280 $(NULL) 280 $(NULL)
281 281
282elm_eolian_type_files = \ 282elm_eolian_type_files = \
283 lib/elementary/elm_general.eot \ 283 lib/elementary/elm_general.eot \
284 lib/elementary/efl_ui.eot \ 284 lib/elementary/efl_ui.eot \
285 lib/elementary/efl_ui_view_list_types.eot \ 285 lib/elementary/efl_ui_list_view_types.eot \
286 lib/elementary/efl_selection_types.eot \ 286 lib/elementary/efl_selection_types.eot \
287 lib/elementary/efl_ui_dnd_types.eot 287 lib/elementary/efl_ui_dnd_types.eot
288 288
@@ -414,8 +414,8 @@ includesunstable_HEADERS = \
414 lib/elementary/efl_ui_item_private.h \ 414 lib/elementary/efl_ui_item_private.h \
415 lib/elementary/efl_ui_list_item_private.h \ 415 lib/elementary/efl_ui_list_item_private.h \
416 lib/elementary/efl_ui_list_private.h \ 416 lib/elementary/efl_ui_list_private.h \
417 lib/elementary/efl_ui_view_list_private.h \ 417 lib/elementary/efl_ui_list_view_private.h \
418 lib/elementary/efl_ui_view_list_segarray.h \ 418 lib/elementary/efl_ui_list_view_seg_array.h \
419 lib/elementary/elm_widget_web.h \ 419 lib/elementary/elm_widget_web.h \
420 lib/elementary/efl_ui_clock.h \ 420 lib/elementary/efl_ui_clock.h \
421 lib/elementary/elm_code.h \ 421 lib/elementary/elm_code.h \
@@ -842,9 +842,9 @@ lib_elementary_libelementary_la_SOURCES = \
842 lib/elementary/efl_ui_list_default_item.c \ 842 lib/elementary/efl_ui_list_default_item.c \
843 lib/elementary/efl_ui_list_empty_item.c \ 843 lib/elementary/efl_ui_list_empty_item.c \
844 lib/elementary/efl_ui_list.c \ 844 lib/elementary/efl_ui_list.c \
845 lib/elementary/efl_ui_view_list.c \ 845 lib/elementary/efl_ui_list_view.c \
846 lib/elementary/efl_ui_view_list_precise_layouter.c \ 846 lib/elementary/efl_ui_list_view_precise_layouter.c \
847 lib/elementary/efl_ui_view_list_segarray.c \ 847 lib/elementary/efl_ui_list_view_seg_array.c \
848 lib/elementary/efl_ui_layout_factory.c \ 848 lib/elementary/efl_ui_layout_factory.c \
849 lib/elementary/efl_ui_scroller.c \ 849 lib/elementary/efl_ui_scroller.c \
850 lib/elementary/efl_ui_scroll_manager.c \ 850 lib/elementary/efl_ui_scroll_manager.c \
diff --git a/src/examples/elementary.mk b/src/examples/elementary.mk
index 7146503901..0d0fa0052b 100644
--- a/src/examples/elementary.mk
+++ b/src/examples/elementary.mk
@@ -120,9 +120,9 @@ elementary/efl_thread_4.c \
120elementary/efl_thread_5.c \ 120elementary/efl_thread_5.c \
121elementary/efl_thread_6.c \ 121elementary/efl_thread_6.c \
122elementary/efl_ui_list_example_1.c \ 122elementary/efl_ui_list_example_1.c \
123elementary/efl_ui_view_list_example_1.c \ 123elementary/efl_ui_list_view_example_1.c \
124elementary/efl_ui_view_list_example_2.c \ 124elementary/efl_ui_list_view_example_2.c \
125elementary/efl_ui_view_list_example_3.c 125elementary/efl_ui_list_view_example_3.c
126 126
127ELM_SRCS += \ 127ELM_SRCS += \
128elementary/bg_cxx_example_01.cc \ 128elementary/bg_cxx_example_01.cc \
@@ -153,7 +153,7 @@ elementary/evas3d_map_example.edc \
153elementary/theme_example.edc \ 153elementary/theme_example.edc \
154elementary/layout_example.edc \ 154elementary/layout_example.edc \
155elementary/codegen_example.edc \ 155elementary/codegen_example.edc \
156elementary/efl_ui_view_list_example.edc \ 156elementary/efl_ui_list_view_example.edc \
157elementary/prefs_example_03.edc 157elementary/prefs_example_03.edc
158 158
159ELM_EPCS = \ 159ELM_EPCS = \
@@ -334,9 +334,9 @@ elementary/efl_thread_4 \
334elementary/efl_thread_5 \ 334elementary/efl_thread_5 \
335elementary/efl_thread_6 \ 335elementary/efl_thread_6 \
336elementary/efl_ui_list_example_1 \ 336elementary/efl_ui_list_example_1 \
337elementary/efl_ui_view_list_example_1 \ 337elementary/efl_ui_list_view_example_1 \
338elementary/efl_ui_view_list_example_2 \ 338elementary/efl_ui_list_view_example_2 \
339elementary/efl_ui_view_list_example_3 339elementary/efl_ui_list_view_example_3
340#benchmark3d 340#benchmark3d
341#sphere-hunter 341#sphere-hunter
342 342
diff --git a/src/examples/elementary/efl_ui_view_list_example.edc b/src/examples/elementary/efl_ui_list_view_example.edc
index 75bafe1b83..75bafe1b83 100644
--- a/src/examples/elementary/efl_ui_view_list_example.edc
+++ b/src/examples/elementary/efl_ui_list_view_example.edc
diff --git a/src/examples/elementary/efl_ui_view_list_example_1.c b/src/examples/elementary/efl_ui_list_view_example_1.c
index 86b854261b..e0dc27f11c 100644
--- a/src/examples/elementary/efl_ui_view_list_example_1.c
+++ b/src/examples/elementary/efl_ui_list_view_example_1.c
@@ -1,4 +1,4 @@
1// gcc -o efl_ui_view_list_example_1 efl_ui_view_list_example_1.c `pkg-config --cflags --libs elementary` 1// gcc -o efl_ui_list_view_example_1 efl_ui_list_view_example_1.c `pkg-config --cflags --libs elementary`
2 2
3#ifdef HAVE_CONFIG_H 3#ifdef HAVE_CONFIG_H
4# include "elementary_config.h" 4# include "elementary_config.h"
@@ -24,7 +24,7 @@ char edj_path[PATH_MAX];
24static void 24static void
25_realized_cb(void *data, const Efl_Event *event) 25_realized_cb(void *data, const Efl_Event *event)
26{ 26{
27 Efl_Ui_View_List_Item_Event *ie = event->info; 27 Efl_Ui_List_View_Item_Event *ie = event->info;
28 if (!ie->layout) return; 28 if (!ie->layout) return;
29 29
30 Efl_Ui_Layout_Object *layout = ie->layout; 30 Efl_Ui_Layout_Object *layout = ie->layout;
@@ -35,7 +35,7 @@ _realized_cb(void *data, const Efl_Event *event)
35static void 35static void
36_unrealized_cb(void *data EINA_UNUSED, const Efl_Event *event) 36_unrealized_cb(void *data EINA_UNUSED, const Efl_Event *event)
37{ 37{
38 Efl_Ui_View_List_Item_Event *ie = event->info; 38 Efl_Ui_List_View_Item_Event *ie = event->info;
39 39
40 efl_ui_view_model_set(ie->layout, NULL); 40 efl_ui_view_model_set(ie->layout, NULL);
41 efl_del(ie->layout); 41 efl_del(ie->layout);
@@ -75,7 +75,7 @@ elm_main(int argc, char **argv)
75 Evas_Object *win, *li; 75 Evas_Object *win, *li;
76 Eo *model; 76 Eo *model;
77 77
78 win = elm_win_util_standard_add("viewlist", "Viewlist"); 78 win = elm_win_util_standard_add("list_view", "List_View");
79 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); 79 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
80 80
81 elm_win_autodel_set(win, EINA_TRUE); 81 elm_win_autodel_set(win, EINA_TRUE);
@@ -87,12 +87,12 @@ elm_main(int argc, char **argv)
87 efl_ui_model_connect(factory, "efl.text", "name"); 87 efl_ui_model_connect(factory, "efl.text", "name");
88 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); 88 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
89 89
90 li = efl_add(EFL_UI_VIEW_LIST_CLASS, win); 90 li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
91 efl_ui_view_list_layout_factory_set(li, factory); 91 efl_ui_list_view_layout_factory_set(li, factory);
92 efl_ui_view_model_set(li, model); 92 efl_ui_view_model_set(li, model);
93 93
94 efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_cb, NULL); 94 efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_cb, NULL);
95// efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL); 95// efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL);
96 96
97 elm_win_resize_object_add(win, li); 97 elm_win_resize_object_add(win, li);
98 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 98 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
diff --git a/src/examples/elementary/efl_ui_view_list_example_2.c b/src/examples/elementary/efl_ui_list_view_example_2.c
index 310aa26976..c624cade19 100644
--- a/src/examples/elementary/efl_ui_view_list_example_2.c
+++ b/src/examples/elementary/efl_ui_list_view_example_2.c
@@ -1,4 +1,4 @@
1// gcc -o efl_ui_view_list_example_2 efl_ui_view_list_example_2.c `pkg-config --cflags --libs elementary` 1// gcc -o efl_ui_list_view_example_2 efl_ui_list_view_example_2.c `pkg-config --cflags --libs elementary`
2 2
3#ifdef HAVE_CONFIG_H 3#ifdef HAVE_CONFIG_H
4# include "config.h" 4# include "config.h"
@@ -23,7 +23,7 @@ elm_main(int argc, char **argv)
23 Eo *model, *li; 23 Eo *model, *li;
24 char *dirname; 24 char *dirname;
25 25
26 win = elm_win_util_standard_add("viewlist", "Viewlist"); 26 win = elm_win_util_standard_add("list_view2", "List_View2");
27 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); 27 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
28 28
29 elm_win_autodel_set(win, EINA_TRUE); 29 elm_win_autodel_set(win, EINA_TRUE);
@@ -36,8 +36,8 @@ elm_main(int argc, char **argv)
36 efl_ui_model_connect(factory, "efl.text", "filename"); 36 efl_ui_model_connect(factory, "efl.text", "filename");
37 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); 37 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
38 38
39 li = efl_add(EFL_UI_VIEW_LIST_CLASS, win); 39 li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
40 efl_ui_view_list_layout_factory_set(li, factory); 40 efl_ui_list_view_layout_factory_set(li, factory);
41 efl_ui_view_model_set(li, model); 41 efl_ui_view_model_set(li, model);
42 42
43 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 43 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
diff --git a/src/examples/elementary/efl_ui_view_list_example_3.c b/src/examples/elementary/efl_ui_list_view_example_3.c
index 10524580f3..46d5ca5813 100644
--- a/src/examples/elementary/efl_ui_view_list_example_3.c
+++ b/src/examples/elementary/efl_ui_list_view_example_3.c
@@ -1,4 +1,4 @@
1// gcc -o efl_ui_view_list_example_3 efl_ui_view_list_example_3.c `pkg-config --cflags --libs elementary` 1// gcc -o efl_ui_list_view_example_3 efl_ui_list_view_example_3.c `pkg-config --cflags --libs elementary`
2 2
3#ifdef HAVE_CONFIG_H 3#ifdef HAVE_CONFIG_H
4# include "config.h" 4# include "config.h"
@@ -113,21 +113,21 @@ static void
113_bt_none_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) 113_bt_none_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
114{ 114{
115 Evas_Object *li = data; 115 Evas_Object *li = data;
116 efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE); 116 efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE);
117} 117}
118 118
119static void 119static void
120_bt_donly_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) 120_bt_donly_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
121{ 121{
122 Evas_Object *li = data; 122 Evas_Object *li = data;
123 efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); 123 efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
124} 124}
125 125
126static void 126static void
127_bt_default_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) 127_bt_default_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
128{ 128{
129 Evas_Object *li = data; 129 Evas_Object *li = data;
130 efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT); 130 efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT);
131} 131}
132 132
133static void 133static void
@@ -146,7 +146,7 @@ _bt_unset_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
146static void 146static void
147_realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event) 147_realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event)
148{ 148{
149 Efl_Ui_View_List_Item_Event *ie = event->info; 149 Efl_Ui_List_View_Item_Event *ie = event->info;
150 150
151 evas_object_size_hint_weight_set(ie->layout, EVAS_HINT_EXPAND, 0); 151 evas_object_size_hint_weight_set(ie->layout, EVAS_HINT_EXPAND, 0);
152 evas_object_size_hint_align_set(ie->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); 152 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)
157static void 157static void
158_realized_2_cb(void *data EINA_UNUSED, const Efl_Event *event) 158_realized_2_cb(void *data EINA_UNUSED, const Efl_Event *event)
159{ 159{
160 Efl_Ui_View_List_Item_Event *ie = event->info; 160 Efl_Ui_List_View_Item_Event *ie = event->info;
161 printf("relized 2\n"); 161 printf("relized 2\n");
162 162
163 elm_object_focus_allow_set(ie->layout, EINA_TRUE); 163 elm_object_focus_allow_set(ie->layout, EINA_TRUE);
@@ -210,7 +210,7 @@ elm_main(int argc, char **argv)
210 priv = alloca(sizeof(Priv_Data)); 210 priv = alloca(sizeof(Priv_Data));
211 memset(priv, 0, sizeof(Priv_Data)); 211 memset(priv, 0, sizeof(Priv_Data));
212 212
213 win = elm_win_util_standard_add("viewlist", "Viewlist"); 213 win = elm_win_util_standard_add("list_view3", "List_View3");
214 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); 214 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
215 elm_win_autodel_set(win, EINA_TRUE); 215 elm_win_autodel_set(win, EINA_TRUE);
216 216
@@ -225,22 +225,22 @@ elm_main(int argc, char **argv)
225 efl_ui_model_connect(factory, "efl.text", "filename"); 225 efl_ui_model_connect(factory, "efl.text", "filename");
226 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); 226 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
227 227
228 priv->list1 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model)); 228 priv->list1 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
229 efl_event_callback_add(priv->list1, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_1_cb, priv); 229 efl_event_callback_add(priv->list1, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_1_cb, priv);
230 evas_object_size_hint_weight_set(priv->list1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 230 evas_object_size_hint_weight_set(priv->list1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
231 evas_object_size_hint_align_set(priv->list1, EVAS_HINT_FILL, EVAS_HINT_FILL); 231 evas_object_size_hint_align_set(priv->list1, EVAS_HINT_FILL, EVAS_HINT_FILL);
232 elm_box_pack_end(bx, priv->list1); 232 elm_box_pack_end(bx, priv->list1);
233 efl_ui_view_list_layout_factory_set(priv->list1, factory); 233 efl_ui_list_view_layout_factory_set(priv->list1, factory);
234 234
235 factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win); 235 factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
236 efl_ui_model_connect(factory, "efl.text", "filename"); 236 efl_ui_model_connect(factory, "efl.text", "filename");
237 efl_ui_model_connect(factory, "signal/efl,state,%v", "selected"); 237 efl_ui_model_connect(factory, "signal/efl,state,%v", "selected");
238 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); 238 efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
239 priv->list2 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model)); 239 priv->list2 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
240 efl_event_callback_add(priv->list2, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2); 240 efl_event_callback_add(priv->list2, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2);
241 evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 241 evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
242 evas_object_size_hint_align_set(priv->list2, EVAS_HINT_FILL, EVAS_HINT_FILL); 242 evas_object_size_hint_align_set(priv->list2, EVAS_HINT_FILL, EVAS_HINT_FILL);
243 efl_ui_view_list_layout_factory_set(priv->list2, factory); 243 efl_ui_list_view_layout_factory_set(priv->list2, factory);
244 244
245 vbx = elm_box_add(win); 245 vbx = elm_box_add(win);
246 elm_box_pack_end(bx, vbx); 246 elm_box_pack_end(bx, vbx);
diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h
index 97ef0838d8..a504930681 100644
--- a/src/lib/elementary/Elementary.h
+++ b/src/lib/elementary/Elementary.h
@@ -334,13 +334,13 @@ typedef Eo Efl_Ui_Focus_Manager;
334# include <efl_ui_list_default_item.eo.h> 334# include <efl_ui_list_default_item.eo.h>
335# include <efl_ui_list_empty_item.eo.h> 335# include <efl_ui_list_empty_item.eo.h>
336# include <efl_ui_list.eo.h> 336# include <efl_ui_list.eo.h>
337# include <efl_ui_view_list_types.eot.h> 337# include <efl_ui_list_view_types.eot.h>
338# include <efl_ui_view_list_segarray.h> 338# include <efl_ui_list_view_seg_array.h>
339# include <efl_ui_view_list_segarray.eo.h> 339# include <efl_ui_list_view_seg_array.eo.h>
340# include <efl_ui_view_list_model.eo.h> 340# include <efl_ui_list_view_model.eo.h>
341# include <efl_ui_view_list_relayout.eo.h> 341# include <efl_ui_list_view_relayout.eo.h>
342# include <efl_ui_view_list.eo.h> 342# include <efl_ui_list_view.eo.h>
343# include <efl_ui_view_list_pan.eo.h> 343# include <efl_ui_list_view_pan.eo.h>
344# include <efl_ui_pan.eo.h> 344# include <efl_ui_pan.eo.h>
345# include <efl_ui_scroll_manager.eo.h> 345# include <efl_ui_scroll_manager.eo.h>
346# include <efl_ui_scroller.eo.h> 346# include <efl_ui_scroller.eo.h>
diff --git a/src/lib/elementary/efl_ui_view_list.c b/src/lib/elementary/efl_ui_list_view.c
index be1c3681a9..515f49c8ac 100644
--- a/src/lib/elementary/efl_ui_view_list.c
+++ b/src/lib/elementary/efl_ui_list_view.c
@@ -10,15 +10,15 @@
10#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED 10#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED
11 11
12#include <Elementary.h> 12#include <Elementary.h>
13#include "efl_ui_view_list_private.h" 13#include "efl_ui_list_view_private.h"
14#include "efl_ui_view_list_precise_layouter.eo.h" 14#include "efl_ui_list_view_precise_layouter.eo.h"
15 15
16#include <assert.h> 16#include <assert.h>
17 17
18#define MY_CLASS EFL_UI_VIEW_LIST_CLASS 18#define MY_CLASS EFL_UI_LIST_VIEW_CLASS
19#define MY_CLASS_NAME "Efl.Ui.View.List" 19#define MY_CLASS_NAME "Efl.Ui.List_View"
20 20
21#define MY_PAN_CLASS EFL_UI_VIEW_LIST_PAN_CLASS 21#define MY_PAN_CLASS EFL_UI_LIST_VIEW_PAN_CLASS
22 22
23#define SIG_CHILD_ADDED "child,added" 23#define SIG_CHILD_ADDED "child,added"
24#define SIG_CHILD_REMOVED "child,removed" 24#define SIG_CHILD_REMOVED "child,removed"
@@ -30,9 +30,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
30 {NULL, NULL} 30 {NULL, NULL}
31}; 31};
32 32
33void _efl_ui_view_list_custom_layout(Efl_Ui_View_List *); 33void _efl_ui_list_view_custom_layout(Efl_Ui_List_View *);
34void _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem*, Eina_Bool); 34void _efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item*, Eina_Bool);
35static void _layout(Efl_Ui_View_List_Data* pd); 35static void _layout(Efl_Ui_List_View_Data* pd);
36 36
37static Eina_Bool _key_action_move(Evas_Object *obj, const char *params); 37static Eina_Bool _key_action_move(Evas_Object *obj, const char *params);
38static Eina_Bool _key_action_select(Evas_Object *obj, const char *params); 38static Eina_Bool _key_action_select(Evas_Object *obj, const char *params);
@@ -46,14 +46,14 @@ static const Elm_Action key_actions[] = {
46}; 46};
47 47
48EOLIAN static void 48EOLIAN static void
49_efl_ui_view_list_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) 49_efl_ui_list_view_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
50{ 50{
51 evas_object_smart_changed(psd->wobj); 51 evas_object_smart_changed(psd->wobj);
52} 52}
53 53
54 54
55EOLIAN static void 55EOLIAN static void
56_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) 56_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)
57{ 57{
58 if ((pos.x == psd->gmt.x) && (pos.y == psd->gmt.y)) return; 58 if ((pos.x == psd->gmt.x) && (pos.y == psd->gmt.y)) return;
59 59
@@ -65,20 +65,20 @@ _efl_ui_view_list_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_Vi
65} 65}
66 66
67EOLIAN static Eina_Position2D 67EOLIAN static Eina_Position2D
68_efl_ui_view_list_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) 68_efl_ui_list_view_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
69{ 69{
70 return psd->gmt.pos; 70 return psd->gmt.pos;
71} 71}
72 72
73EOLIAN static Eina_Position2D 73EOLIAN static Eina_Position2D
74_efl_ui_view_list_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) 74_efl_ui_list_view_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
75{ 75{
76 EFL_UI_VIEW_LIST_DATA_GET(psd->wobj, pd); 76 EFL_UI_LIST_VIEW_DATA_GET(psd->wobj, pd);
77 Eina_Rect vgmt = {}; 77 Eina_Rect vgmt = {};
78 Eina_Size2D min = {}; 78 Eina_Size2D min = {};
79 79
80 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->scrl_mgr); 80 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->scrl_mgr);
81 min = efl_ui_view_list_model_min_size_get(psd->wobj); 81 min = efl_ui_list_view_model_min_size_get(psd->wobj);
82 82
83 min.w = min.w - vgmt.w; 83 min.w = min.w - vgmt.w;
84 if (min.w < 0) min.w = 0; 84 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,
89} 89}
90 90
91EOLIAN static Eina_Position2D 91EOLIAN static Eina_Position2D
92_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) 92_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)
93{ 93{
94 return EINA_POSITION2D(0, 0); 94 return EINA_POSITION2D(0, 0);
95} 95}
96 96
97EOLIAN static Eina_Size2D 97EOLIAN static Eina_Size2D
98_efl_ui_view_list_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) 98_efl_ui_list_view_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
99{ 99{
100 Eina_Size2D min = {}; 100 Eina_Size2D min = {};
101 min = efl_ui_view_list_model_min_size_get(psd->wobj); 101 min = efl_ui_list_view_model_min_size_get(psd->wobj);
102 102
103 return min; 103 return min;
104} 104}
105 105
106EOLIAN static void 106EOLIAN static void
107_efl_ui_view_list_pan_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Pan_Data *psd EINA_UNUSED) 107_efl_ui_list_view_pan_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Pan_Data *psd EINA_UNUSED)
108{ 108{
109 efl_destructor(efl_super(obj, MY_PAN_CLASS)); 109 efl_destructor(efl_super(obj, MY_PAN_CLASS));
110} 110}
111 111
112#include "efl_ui_view_list_pan.eo.c" 112#include "efl_ui_list_view_pan.eo.c"
113 113
114EOLIAN static void 114EOLIAN static void
115_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd, Eina_Position2D pos) 115_efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd, Eina_Position2D pos)
116{ 116{
117 efl_ui_scrollable_content_pos_set(psd->scrl_mgr, pos); 117 efl_ui_scrollable_content_pos_set(psd->scrl_mgr, pos);
118} 118}
119 119
120EOLIAN static Eina_Position2D 120EOLIAN static Eina_Position2D
121_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) 121_efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
122{ 122{
123 Eina_Position2D pos = efl_ui_scrollable_content_pos_get(psd->scrl_mgr); 123 Eina_Position2D pos = efl_ui_scrollable_content_pos_get(psd->scrl_mgr);
124 return pos; 124 return pos;
125} 125}
126 126
127EOLIAN static Eina_Size2D 127EOLIAN static Eina_Size2D
128_efl_ui_view_list_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) 128_efl_ui_list_view_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
129{ 129{
130 Eina_Size2D size = efl_ui_scrollable_content_size_get(psd->scrl_mgr); 130 Eina_Size2D size = efl_ui_scrollable_content_size_get(psd->scrl_mgr);
131 return size; 131 return size;
132} 132}
133 133
134EOLIAN static Eina_Rect 134EOLIAN static Eina_Rect
135_efl_ui_view_list_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) 135_efl_ui_list_view_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
136{ 136{
137 Eina_Rect gmt = efl_ui_scrollable_viewport_geometry_get(psd->scrl_mgr); 137 Eina_Rect gmt = efl_ui_scrollable_viewport_geometry_get(psd->scrl_mgr);
138 return gmt; 138 return gmt;
@@ -172,7 +172,7 @@ _list_element_focused(void *data EINA_UNUSED, const Efl_Event *ev)
172 172
173 if (!focused) return; 173 if (!focused) return;
174 174
175 EFL_UI_VIEW_LIST_DATA_GET(ev->object, pd); 175 EFL_UI_LIST_VIEW_DATA_GET(ev->object, pd);
176 geom = efl_ui_focus_object_focus_geometry_get(focused); 176 geom = efl_ui_focus_object_focus_geometry_get(focused);
177 pos = efl_ui_scrollable_content_pos_get(pd->scrl_mgr); 177 pos = efl_ui_scrollable_content_pos_get(pd->scrl_mgr);
178 178
@@ -185,16 +185,16 @@ static void
185_on_item_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info) 185_on_item_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info)
186{ 186{
187 Evas_Event_Mouse_Down *ev = event_info; 187 Evas_Event_Mouse_Down *ev = event_info;
188 Efl_Ui_View_List_LayoutItem *item = data; 188 Efl_Ui_List_View_Layout_Item *item = data;
189 189
190 if (ev->button != 1) return; 190 if (ev->button != 1) return;
191 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; 191 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
192 192
193 _efl_ui_view_list_item_select_set(item, EINA_TRUE); 193 _efl_ui_list_view_item_select_set(item, EINA_TRUE);
194} 194}
195 195
196EOLIAN static void 196EOLIAN static void
197_efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Elm_Object_Select_Mode mode) 197_efl_ui_list_view_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Elm_Object_Select_Mode mode)
198{ 198{
199 if (pd->select_mode == mode) 199 if (pd->select_mode == mode)
200 return; 200 return;
@@ -203,37 +203,37 @@ _efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd
203} 203}
204 204
205EOLIAN static Elm_Object_Select_Mode 205EOLIAN static Elm_Object_Select_Mode
206_efl_ui_view_list_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 206_efl_ui_list_view_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
207{ 207{
208 return pd->select_mode; 208 return pd->select_mode;
209} 209}
210 210
211EOLIAN static void 211EOLIAN static void
212_efl_ui_view_list_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Stringshare *style) 212_efl_ui_list_view_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Stringshare *style)
213{ 213{
214 eina_stringshare_replace(&pd->style, style); 214 eina_stringshare_replace(&pd->style, style);
215} 215}
216 216
217EOLIAN static Eina_Stringshare * 217EOLIAN static Eina_Stringshare *
218_efl_ui_view_list_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 218_efl_ui_list_view_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
219{ 219{
220 return pd->style; 220 return pd->style;
221} 221}
222 222
223EOLIAN static void 223EOLIAN static void
224_efl_ui_view_list_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Bool homogeneous) 224_efl_ui_list_view_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Bool homogeneous)
225{ 225{
226 pd->homogeneous = homogeneous; 226 pd->homogeneous = homogeneous;
227} 227}
228 228
229EOLIAN static Eina_Bool 229EOLIAN static Eina_Bool
230_efl_ui_view_list_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 230_efl_ui_list_view_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
231{ 231{
232 return pd->homogeneous; 232 return pd->homogeneous;
233} 233}
234 234
235EOLIAN static void 235EOLIAN static void
236_efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Position2D pos) 236_efl_ui_list_view_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Position2D pos)
237{ 237{
238 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y)) 238 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
239 return; 239 return;
@@ -243,7 +243,7 @@ _efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd
243} 243}
244 244
245EOLIAN static void 245EOLIAN static void
246_efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D size) 246_efl_ui_list_view_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D size)
247{ 247{
248 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, size.w, size.h)) 248 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, size.w, size.h))
249 return; 249 return;
@@ -254,22 +254,22 @@ _efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Ei
254} 254}
255 255
256EOLIAN static void 256EOLIAN static void
257_efl_ui_view_list_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 257_efl_ui_list_view_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
258{ 258{
259 _layout(pd); 259 _layout(pd);
260} 260}
261 261
262EOLIAN static void 262EOLIAN static void
263_efl_ui_view_list_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_View_List_Data *pd EINA_UNUSED, Evas_Object *member) 263_efl_ui_list_view_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_List_View_Data *pd EINA_UNUSED, Evas_Object *member)
264{ 264{
265 efl_canvas_group_member_add(efl_super(obj, MY_CLASS), member); 265 efl_canvas_group_member_add(efl_super(obj, MY_CLASS), member);
266} 266}
267 267
268//Scrollable Implement 268//Scrollable Implement
269static void 269static void
270_efl_ui_view_list_bar_read_and_update(Eo *obj) 270_efl_ui_list_view_bar_read_and_update(Eo *obj)
271{ 271{
272 EFL_UI_VIEW_LIST_DATA_GET(obj, pd); 272 EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
273 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 273 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
274 double vx, vy; 274 double vx, vy;
275 275
@@ -284,30 +284,30 @@ _efl_ui_view_list_bar_read_and_update(Eo *obj)
284} 284}
285 285
286static void 286static void
287_efl_ui_view_list_reload_cb(void *data, 287_efl_ui_list_view_reload_cb(void *data,
288 Evas_Object *obj EINA_UNUSED, 288 Evas_Object *obj EINA_UNUSED,
289 const char *emission EINA_UNUSED, 289 const char *emission EINA_UNUSED,
290 const char *source EINA_UNUSED) 290 const char *source EINA_UNUSED)
291{ 291{
292 EFL_UI_VIEW_LIST_DATA_GET(data, pd); 292 EFL_UI_LIST_VIEW_DATA_GET(data, pd);
293 293
294 efl_ui_scrollbar_bar_visibility_update(pd->scrl_mgr); 294 efl_ui_scrollbar_bar_visibility_update(pd->scrl_mgr);
295} 295}
296 296
297static void 297static void
298_efl_ui_view_list_vbar_drag_cb(void *data, 298_efl_ui_list_view_vbar_drag_cb(void *data,
299 Evas_Object *obj EINA_UNUSED, 299 Evas_Object *obj EINA_UNUSED,
300 const char *emission EINA_UNUSED, 300 const char *emission EINA_UNUSED,
301 const char *source EINA_UNUSED) 301 const char *source EINA_UNUSED)
302{ 302{
303 _efl_ui_view_list_bar_read_and_update(data); 303 _efl_ui_list_view_bar_read_and_update(data);
304 304
305 Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_VERTICAL; 305 Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_VERTICAL;
306 efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type); 306 efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
307} 307}
308 308
309static void 309static void
310_efl_ui_view_list_vbar_press_cb(void *data, 310_efl_ui_list_view_vbar_press_cb(void *data,
311 Evas_Object *obj EINA_UNUSED, 311 Evas_Object *obj EINA_UNUSED,
312 const char *emission EINA_UNUSED, 312 const char *emission EINA_UNUSED,
313 const char *source EINA_UNUSED) 313 const char *source EINA_UNUSED)
@@ -317,7 +317,7 @@ _efl_ui_view_list_vbar_press_cb(void *data,
317} 317}
318 318
319static void 319static void
320_efl_ui_view_list_vbar_unpress_cb(void *data, 320_efl_ui_list_view_vbar_unpress_cb(void *data,
321 Evas_Object *obj EINA_UNUSED, 321 Evas_Object *obj EINA_UNUSED,
322 const char *emission EINA_UNUSED, 322 const char *emission EINA_UNUSED,
323 const char *source EINA_UNUSED) 323 const char *source EINA_UNUSED)
@@ -327,14 +327,14 @@ _efl_ui_view_list_vbar_unpress_cb(void *data,
327} 327}
328 328
329static void 329static void
330_efl_ui_view_list_edje_drag_start_cb(void *data, 330_efl_ui_list_view_edje_drag_start_cb(void *data,
331 Evas_Object *obj EINA_UNUSED, 331 Evas_Object *obj EINA_UNUSED,
332 const char *emission EINA_UNUSED, 332 const char *emission EINA_UNUSED,
333 const char *source EINA_UNUSED) 333 const char *source EINA_UNUSED)
334{ 334{
335 EFL_UI_VIEW_LIST_DATA_GET(data, pd); 335 EFL_UI_LIST_VIEW_DATA_GET(data, pd);
336 336
337 _efl_ui_view_list_bar_read_and_update(data); 337 _efl_ui_list_view_bar_read_and_update(data);
338 338
339 pd->scrl_freeze = efl_ui_scrollable_scroll_freeze_get(pd->scrl_mgr); 339 pd->scrl_freeze = efl_ui_scrollable_scroll_freeze_get(pd->scrl_mgr);
340 efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, EINA_TRUE); 340 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,
342} 342}
343 343
344static void 344static void
345_efl_ui_view_list_edje_drag_stop_cb(void *data, 345_efl_ui_list_view_edje_drag_stop_cb(void *data,
346 Evas_Object *obj EINA_UNUSED, 346 Evas_Object *obj EINA_UNUSED,
347 const char *emission EINA_UNUSED, 347 const char *emission EINA_UNUSED,
348 const char *source EINA_UNUSED) 348 const char *source EINA_UNUSED)
349{ 349{
350 EFL_UI_VIEW_LIST_DATA_GET(data, pd); 350 EFL_UI_LIST_VIEW_DATA_GET(data, pd);
351 351
352 _efl_ui_view_list_bar_read_and_update(data); 352 _efl_ui_list_view_bar_read_and_update(data);
353 353
354 efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, pd->scrl_freeze); 354 efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, pd->scrl_freeze);
355 efl_event_callback_call(data, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL); 355 efl_event_callback_call(data, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL);
356} 356}
357 357
358static void 358static void
359_efl_ui_view_list_edje_drag_cb(void *data, 359_efl_ui_list_view_edje_drag_cb(void *data,
360 Evas_Object *obj EINA_UNUSED, 360 Evas_Object *obj EINA_UNUSED,
361 const char *emission EINA_UNUSED, 361 const char *emission EINA_UNUSED,
362 const char *source EINA_UNUSED) 362 const char *source EINA_UNUSED)
363{ 363{
364 _efl_ui_view_list_bar_read_and_update(data); 364 _efl_ui_list_view_bar_read_and_update(data);
365} 365}
366 366
367static void 367static void
368_efl_ui_view_list_hbar_drag_cb(void *data, 368_efl_ui_list_view_hbar_drag_cb(void *data,
369 Evas_Object *obj EINA_UNUSED, 369 Evas_Object *obj EINA_UNUSED,
370 const char *emission EINA_UNUSED, 370 const char *emission EINA_UNUSED,
371 const char *source EINA_UNUSED) 371 const char *source EINA_UNUSED)
372{ 372{
373 _efl_ui_view_list_bar_read_and_update(data); 373 _efl_ui_list_view_bar_read_and_update(data);
374 374
375 Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_HORIZONTAL; 375 Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_HORIZONTAL;
376 efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type); 376 efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
377} 377}
378 378
379static void 379static void
380_efl_ui_view_list_hbar_press_cb(void *data, 380_efl_ui_list_view_hbar_press_cb(void *data,
381 Evas_Object *obj EINA_UNUSED, 381 Evas_Object *obj EINA_UNUSED,
382 const char *emission EINA_UNUSED, 382 const char *emission EINA_UNUSED,
383 const char *source EINA_UNUSED) 383 const char *source EINA_UNUSED)
@@ -387,7 +387,7 @@ _efl_ui_view_list_hbar_press_cb(void *data,
387} 387}
388 388
389static void 389static void
390_efl_ui_view_list_hbar_unpress_cb(void *data, 390_efl_ui_list_view_hbar_unpress_cb(void *data,
391 Evas_Object *obj EINA_UNUSED, 391 Evas_Object *obj EINA_UNUSED,
392 const char *emission EINA_UNUSED, 392 const char *emission EINA_UNUSED,
393 const char *source EINA_UNUSED) 393 const char *source EINA_UNUSED)
@@ -397,10 +397,10 @@ _efl_ui_view_list_hbar_unpress_cb(void *data,
397} 397}
398 398
399static void 399static void
400_efl_ui_view_list_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) 400_efl_ui_list_view_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
401{ 401{
402 Eo *obj = data; 402 Eo *obj = data;
403 EFL_UI_VIEW_LIST_DATA_GET(obj, pd); 403 EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
404 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 404 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
405 405
406 double width = 0.0, height = 0.0; 406 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
412} 412}
413 413
414static void 414static void
415_efl_ui_view_list_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) 415_efl_ui_list_view_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
416{ 416{
417 Eo *obj = data; 417 Eo *obj = data;
418 EFL_UI_VIEW_LIST_DATA_GET(obj, pd); 418 EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
419 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 419 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
420 420
421 double posx = 0.0, posy = 0.0; 421 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
427} 427}
428 428
429static void 429static void
430_efl_ui_view_list_bar_show_cb(void *data, const Efl_Event *event) 430_efl_ui_list_view_bar_show_cb(void *data, const Efl_Event *event)
431{ 431{
432 Eo *obj = data; 432 Eo *obj = data;
433 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 433 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)
440} 440}
441 441
442static void 442static void
443_efl_ui_view_list_bar_hide_cb(void *data, const Efl_Event *event) 443_efl_ui_list_view_bar_hide_cb(void *data, const Efl_Event *event)
444{ 444{
445 Eo *obj = data; 445 Eo *obj = data;
446 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 446 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)
453} 453}
454 454
455EOLIAN static Eina_Bool 455EOLIAN static Eina_Bool
456_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) 456_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)
457{ 457{
458 Eina_Bool ok; 458 Eina_Bool ok;
459 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 459 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
464} 464}
465 465
466EOLIAN static Eina_Bool 466EOLIAN static Eina_Bool
467_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) 467_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)
468{ 468{
469 Eina_Bool ok; 469 Eina_Bool ok;
470 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 470 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
475} 475}
476 476
477static void 477static void
478_efl_ui_view_list_edje_object_attach(Eo *obj) 478_efl_ui_list_view_edje_object_attach(Eo *obj)
479{ 479{
480 efl_layout_signal_callback_add 480 efl_layout_signal_callback_add
481 (obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj); 481 (obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
482 //Vertical bar 482 //Vertical bar
483 efl_layout_signal_callback_add 483 efl_layout_signal_callback_add
484 (obj, "drag", "efl.dragable.vbar", 484 (obj, "drag", "efl.dragable.vbar",
485 _efl_ui_view_list_vbar_drag_cb, obj); 485 _efl_ui_list_view_vbar_drag_cb, obj);
486 efl_layout_signal_callback_add 486 efl_layout_signal_callback_add
487 (obj, "drag,set", "efl.dragable.vbar", 487 (obj, "drag,set", "efl.dragable.vbar",
488 _efl_ui_view_list_edje_drag_cb, obj); 488 _efl_ui_list_view_edje_drag_cb, obj);
489 efl_layout_signal_callback_add 489 efl_layout_signal_callback_add
490 (obj, "drag,start", "efl.dragable.vbar", 490 (obj, "drag,start", "efl.dragable.vbar",
491 _efl_ui_view_list_edje_drag_start_cb, obj); 491 _efl_ui_list_view_edje_drag_start_cb, obj);
492 efl_layout_signal_callback_add 492 efl_layout_signal_callback_add
493 (obj, "drag,stop", "efl.dragable.vbar", 493 (obj, "drag,stop", "efl.dragable.vbar",
494 _efl_ui_view_list_edje_drag_stop_cb, obj); 494 _efl_ui_list_view_edje_drag_stop_cb, obj);
495 efl_layout_signal_callback_add 495 efl_layout_signal_callback_add
496 (obj, "drag,step", "efl.dragable.vbar", 496 (obj, "drag,step", "efl.dragable.vbar",
497 _efl_ui_view_list_edje_drag_cb, obj); 497 _efl_ui_list_view_edje_drag_cb, obj);
498 efl_layout_signal_callback_add 498 efl_layout_signal_callback_add
499 (obj, "drag,page", "efl.dragable.vbar", 499 (obj, "drag,page", "efl.dragable.vbar",
500 _efl_ui_view_list_edje_drag_cb, obj); 500 _efl_ui_list_view_edje_drag_cb, obj);
501 efl_layout_signal_callback_add 501 efl_layout_signal_callback_add
502 (obj, "efl,vbar,press", "efl", 502 (obj, "efl,vbar,press", "efl",
503 _efl_ui_view_list_vbar_press_cb, obj); 503 _efl_ui_list_view_vbar_press_cb, obj);
504 efl_layout_signal_callback_add 504 efl_layout_signal_callback_add
505 (obj, "efl,vbar,unpress", "efl", 505 (obj, "efl,vbar,unpress", "efl",
506 _efl_ui_view_list_vbar_unpress_cb, obj); 506 _efl_ui_list_view_vbar_unpress_cb, obj);
507 507
508 //Horizontal bar 508 //Horizontal bar
509 efl_layout_signal_callback_add 509 efl_layout_signal_callback_add
510 (obj, "drag", "efl.dragable.hbar", 510 (obj, "drag", "efl.dragable.hbar",
511 _efl_ui_view_list_hbar_drag_cb, obj); 511 _efl_ui_list_view_hbar_drag_cb, obj);
512 efl_layout_signal_callback_add 512 efl_layout_signal_callback_add
513 (obj, "drag,set", "efl.dragable.hbar", 513 (obj, "drag,set", "efl.dragable.hbar",
514 _efl_ui_view_list_edje_drag_cb, obj); 514 _efl_ui_list_view_edje_drag_cb, obj);
515 efl_layout_signal_callback_add 515 efl_layout_signal_callback_add
516 (obj, "drag,start", "efl.dragable.hbar", 516 (obj, "drag,start", "efl.dragable.hbar",
517 _efl_ui_view_list_edje_drag_start_cb, obj); 517 _efl_ui_list_view_edje_drag_start_cb, obj);
518 efl_layout_signal_callback_add 518 efl_layout_signal_callback_add
519 (obj, "drag,stop", "efl.dragable.hbar", 519 (obj, "drag,stop", "efl.dragable.hbar",
520 _efl_ui_view_list_edje_drag_stop_cb, obj); 520 _efl_ui_list_view_edje_drag_stop_cb, obj);
521 efl_layout_signal_callback_add 521 efl_layout_signal_callback_add
522 (obj, "drag,step", "efl.dragable.hbar", 522 (obj, "drag,step", "efl.dragable.hbar",
523 _efl_ui_view_list_edje_drag_cb, obj); 523 _efl_ui_list_view_edje_drag_cb, obj);
524 efl_layout_signal_callback_add 524 efl_layout_signal_callback_add
525 (obj, "drag,page", "efl.dragable.hbar", 525 (obj, "drag,page", "efl.dragable.hbar",
526 _efl_ui_view_list_edje_drag_cb, obj); 526 _efl_ui_list_view_edje_drag_cb, obj);
527 efl_layout_signal_callback_add 527 efl_layout_signal_callback_add
528 (obj, "efl,hbar,press", "efl", 528 (obj, "efl,hbar,press", "efl",
529 _efl_ui_view_list_hbar_press_cb, obj); 529 _efl_ui_list_view_hbar_press_cb, obj);
530 efl_layout_signal_callback_add 530 efl_layout_signal_callback_add
531 (obj, "efl,hbar,unpress", "efl", 531 (obj, "efl,hbar,unpress", "efl",
532 _efl_ui_view_list_hbar_unpress_cb, obj); 532 _efl_ui_list_view_hbar_unpress_cb, obj);
533} 533}
534 534
535static void 535static void
536_efl_ui_view_list_edje_object_detach(Evas_Object *obj) 536_efl_ui_list_view_edje_object_detach(Evas_Object *obj)
537{ 537{
538 efl_layout_signal_callback_del 538 efl_layout_signal_callback_del
539 (obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj); 539 (obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
540 //Vertical bar 540 //Vertical bar
541 efl_layout_signal_callback_del 541 efl_layout_signal_callback_del
542 (obj, "drag", "efl.dragable.vbar", _efl_ui_view_list_vbar_drag_cb, 542 (obj, "drag", "efl.dragable.vbar", _efl_ui_list_view_vbar_drag_cb,
543 obj); 543 obj);
544 efl_layout_signal_callback_del 544 efl_layout_signal_callback_del
545 (obj, "drag,set", "efl.dragable.vbar", 545 (obj, "drag,set", "efl.dragable.vbar",
546 _efl_ui_view_list_edje_drag_cb, obj); 546 _efl_ui_list_view_edje_drag_cb, obj);
547 efl_layout_signal_callback_del 547 efl_layout_signal_callback_del
548 (obj, "drag,start", "efl.dragable.vbar", 548 (obj, "drag,start", "efl.dragable.vbar",
549 _efl_ui_view_list_edje_drag_start_cb, obj); 549 _efl_ui_list_view_edje_drag_start_cb, obj);
550 efl_layout_signal_callback_del 550 efl_layout_signal_callback_del
551 (obj, "drag,stop", "efl.dragable.vbar", 551 (obj, "drag,stop", "efl.dragable.vbar",
552 _efl_ui_view_list_edje_drag_stop_cb, obj); 552 _efl_ui_list_view_edje_drag_stop_cb, obj);
553 efl_layout_signal_callback_del 553 efl_layout_signal_callback_del
554 (obj, "drag,step", "efl.dragable.vbar", 554 (obj, "drag,step", "efl.dragable.vbar",
555 _efl_ui_view_list_edje_drag_cb, obj); 555 _efl_ui_list_view_edje_drag_cb, obj);
556 efl_layout_signal_callback_del 556 efl_layout_signal_callback_del
557 (obj, "drag,page", "efl.dragable.vbar", 557 (obj, "drag,page", "efl.dragable.vbar",
558 _efl_ui_view_list_edje_drag_cb, obj); 558 _efl_ui_list_view_edje_drag_cb, obj);
559 efl_layout_signal_callback_del 559 efl_layout_signal_callback_del
560 (obj, "efl,vbar,press", "efl", 560 (obj, "efl,vbar,press", "efl",
561 _efl_ui_view_list_vbar_press_cb, obj); 561 _efl_ui_list_view_vbar_press_cb, obj);
562 efl_layout_signal_callback_del 562 efl_layout_signal_callback_del
563 (obj, "efl,vbar,unpress", "efl", 563 (obj, "efl,vbar,unpress", "efl",
564 _efl_ui_view_list_vbar_unpress_cb, obj); 564 _efl_ui_list_view_vbar_unpress_cb, obj);
565 565
566 //Horizontal bar 566 //Horizontal bar
567 efl_layout_signal_callback_del 567 efl_layout_signal_callback_del
568 (obj, "drag", "efl.dragable.hbar", 568 (obj, "drag", "efl.dragable.hbar",
569 _efl_ui_view_list_hbar_drag_cb, obj); 569 _efl_ui_list_view_hbar_drag_cb, obj);
570 efl_layout_signal_callback_del 570 efl_layout_signal_callback_del
571 (obj, "drag,set", "efl.dragable.hbar", 571 (obj, "drag,set", "efl.dragable.hbar",
572 _efl_ui_view_list_edje_drag_cb, obj); 572 _efl_ui_list_view_edje_drag_cb, obj);
573 efl_layout_signal_callback_del 573 efl_layout_signal_callback_del
574 (obj, "drag,start", "efl.dragable.hbar", 574 (obj, "drag,start", "efl.dragable.hbar",
575 _efl_ui_view_list_edje_drag_start_cb, obj); 575 _efl_ui_list_view_edje_drag_start_cb, obj);
576 efl_layout_signal_callback_del 576 efl_layout_signal_callback_del
577 (obj, "drag,stop", "efl.dragable.hbar", 577 (obj, "drag,stop", "efl.dragable.hbar",
578 _efl_ui_view_list_edje_drag_stop_cb, obj); 578 _efl_ui_list_view_edje_drag_stop_cb, obj);
579 efl_layout_signal_callback_del 579 efl_layout_signal_callback_del
580 (obj, "drag,step", "efl.dragable.hbar", 580 (obj, "drag,step", "efl.dragable.hbar",
581 _efl_ui_view_list_edje_drag_cb, obj); 581 _efl_ui_list_view_edje_drag_cb, obj);
582 efl_layout_signal_callback_del 582 efl_layout_signal_callback_del
583 (obj, "drag,page", "efl.dragable.hbar", 583 (obj, "drag,page", "efl.dragable.hbar",
584 _efl_ui_view_list_edje_drag_cb, obj); 584 _efl_ui_list_view_edje_drag_cb, obj);
585 efl_layout_signal_callback_del 585 efl_layout_signal_callback_del
586 (obj, "efl,hbar,press", "efl", 586 (obj, "efl,hbar,press", "efl",
587 _efl_ui_view_list_hbar_press_cb, obj); 587 _efl_ui_list_view_hbar_press_cb, obj);
588 efl_layout_signal_callback_del 588 efl_layout_signal_callback_del
589 (obj, "efl,hbar,unpress", "efl", 589 (obj, "efl,hbar,unpress", "efl",
590 _efl_ui_view_list_hbar_unpress_cb, obj); 590 _efl_ui_list_view_hbar_unpress_cb, obj);
591} 591}
592 592
593EOLIAN static void 593EOLIAN static void
594_efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd) 594_efl_ui_list_view_efl_canvas_group_group_add(Eo *obj, Efl_Ui_List_View_Data *pd)
595{ 595{
596 Efl_Ui_View_List_Pan_Data *pan_data; 596 Efl_Ui_List_View_Pan_Data *pan_data;
597 Eina_Size2D min = {}; 597 Eina_Size2D min = {};
598 Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable; 598 Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
599 Evas_Object *o; 599 Evas_Object *o;
@@ -605,7 +605,7 @@ _efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
605 605
606 elm_widget_can_focus_set(obj, EINA_TRUE); 606 elm_widget_can_focus_set(obj, EINA_TRUE);
607 607
608 if (!elm_layout_theme_set(obj, "view_list", "base", elm_widget_style_get(obj))) 608 if (!elm_layout_theme_set(obj, "list_view", "base", elm_widget_style_get(obj)))
609 CRI("Failed to set layout!"); 609 CRI("Failed to set layout!");
610 610
611 pd->scrl_mgr = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj, 611 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)
630 efl_gfx_size_hint_restricted_min_set(obj, min); 630 efl_gfx_size_hint_restricted_min_set(obj, min);
631 631
632 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED, 632 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED,
633 _efl_ui_view_list_bar_size_changed_cb, obj); 633 _efl_ui_list_view_bar_size_changed_cb, obj);
634 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED, 634 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED,
635 _efl_ui_view_list_bar_pos_changed_cb, obj); 635 _efl_ui_list_view_bar_pos_changed_cb, obj);
636 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SHOW, 636 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SHOW,
637 _efl_ui_view_list_bar_show_cb, obj); 637 _efl_ui_list_view_bar_show_cb, obj);
638 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE, 638 efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE,
639 _efl_ui_view_list_bar_hide_cb, obj); 639 _efl_ui_list_view_bar_hide_cb, obj);
640 640
641 _efl_ui_view_list_edje_object_attach(obj); 641 _efl_ui_list_view_edje_object_attach(obj);
642 642
643 elm_layout_sizing_eval(obj); 643 elm_layout_sizing_eval(obj);
644} 644}
645 645
646EOLIAN static void 646EOLIAN static void
647_efl_ui_view_list_efl_canvas_group_group_del(Eo *obj, Efl_Ui_View_List_Data *pd) 647_efl_ui_list_view_efl_canvas_group_group_del(Eo *obj, Efl_Ui_List_View_Data *pd)
648{ 648{
649 ELM_SAFE_FREE(pd->pan_obj, evas_object_del); 649 ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
650 efl_canvas_group_del(efl_super(obj, MY_CLASS)); 650 efl_canvas_group_del(efl_super(obj, MY_CLASS));
651} 651}
652 652
653EOLIAN static Efl_Ui_Focus_Manager* 653EOLIAN static Efl_Ui_Focus_Manager*
654_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) 654_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)
655{ 655{
656 if (!pd->manager) 656 if (!pd->manager)
657 pd->manager = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, obj, 657 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_
661} 661}
662 662
663EOLIAN static Eo * 663EOLIAN static Eo *
664_efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd) 664_efl_ui_list_view_efl_object_finalize(Eo *obj, Efl_Ui_List_View_Data *pd)
665{ 665{
666 666
667 if (!pd->factory) 667 if (!pd->factory)
@@ -669,15 +669,15 @@ _efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd)
669 669
670 if(!pd->relayout) 670 if(!pd->relayout)
671 { 671 {
672 pd->relayout = efl_add(EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS, obj); 672 pd->relayout = efl_add(EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS, obj);
673 if (pd->model) 673 if (pd->model)
674 efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); 674 efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
675 } 675 }
676 return obj; 676 return obj;
677} 677}
678 678
679EOLIAN static Eo * 679EOLIAN static Eo *
680_efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd) 680_efl_ui_list_view_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Data *pd)
681{ 681{
682 obj = efl_constructor(efl_super(obj, MY_CLASS)); 682 obj = efl_constructor(efl_super(obj, MY_CLASS));
683 pd->obj = obj; 683 pd->obj = obj;
@@ -685,7 +685,7 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
685 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); 685 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
686 efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST); 686 efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST);
687 687
688 pd->segarray = efl_add(EFL_UI_VIEW_LIST_SEGARRAY_CLASS, obj, efl_ui_view_list_segarray_setup(efl_added, 32)); 688 pd->seg_array = efl_add(EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS, obj, efl_ui_list_view_seg_array_setup(efl_added, 32));
689 689
690 efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL); 690 efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL);
691 691
@@ -702,14 +702,14 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
702} 702}
703 703
704EOLIAN static void 704EOLIAN static void
705_efl_ui_view_list_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Data *pd) 705_efl_ui_list_view_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Data *pd)
706{ 706{
707 efl_ui_view_list_relayout_model_set(pd->relayout, NULL); 707 efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
708 708
709 efl_unref(pd->model); 709 efl_unref(pd->model);
710 eina_stringshare_del(pd->style); 710 eina_stringshare_del(pd->style);
711 711
712 _efl_ui_view_list_edje_object_detach(obj); 712 _efl_ui_list_view_edje_object_detach(obj);
713 713
714 ELM_SAFE_FREE(pd->pan_obj, evas_object_del); 714 ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
715 efl_canvas_group_del(efl_super(obj, MY_CLASS)); 715 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)
718} 718}
719 719
720EOLIAN static void 720EOLIAN static void
721_efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Ui_Factory *factory) 721_efl_ui_list_view_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Ui_Factory *factory)
722{ 722{
723 if (pd->factory) 723 if (pd->factory)
724 efl_unref(pd->factory); 724 efl_unref(pd->factory);
@@ -728,7 +728,7 @@ _efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data
728} 728}
729 729
730EOLIAN static void 730EOLIAN static void
731_efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Model *model) 731_efl_ui_list_view_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Model *model)
732{ 732{
733 if (pd->model == model) 733 if (pd->model == model)
734 return; 734 return;
@@ -736,36 +736,36 @@ _efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Da
736 if (pd->model) 736 if (pd->model)
737 { 737 {
738 if (pd->relayout) 738 if (pd->relayout)
739 efl_ui_view_list_relayout_model_set(pd->relayout, NULL); 739 efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
740 efl_ui_view_list_segarray_flush(pd->segarray); 740 efl_ui_list_view_seg_array_flush(pd->seg_array);
741 } 741 }
742 742
743 efl_replace(&pd->model, model); 743 efl_replace(&pd->model, model);
744 744
745 if (pd->model && pd->relayout) 745 if (pd->model && pd->relayout)
746 efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); 746 efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
747 747
748 evas_object_smart_changed(pd->obj); 748 evas_object_smart_changed(pd->obj);
749} 749}
750 750
751EOLIAN static Efl_Model * 751EOLIAN static Efl_Model *
752_efl_ui_view_list_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 752_efl_ui_list_view_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
753{ 753{
754 return pd->model; 754 return pd->model;
755} 755}
756 756
757EOLIAN int 757EOLIAN int
758_efl_ui_view_list_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 758_efl_ui_list_view_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
759{ 759{
760 return eina_list_count(pd->selected_items); 760 return eina_list_count(pd->selected_items);
761} 761}
762 762
763EOLIAN Eo* 763EOLIAN Eo*
764_efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, int child_index) 764_efl_ui_list_view_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, int child_index)
765{ 765{
766 if(child_index < (int) eina_list_count(pd->selected_items)) 766 if(child_index < (int) eina_list_count(pd->selected_items))
767 { 767 {
768 Efl_Ui_View_List_LayoutItem* items = eina_list_nth(pd->selected_items, child_index); 768 Efl_Ui_List_View_Layout_Item* items = eina_list_nth(pd->selected_items, child_index);
769 return items[child_index].layout; 769 return items[child_index].layout;
770 } 770 }
771 else 771 else
@@ -773,37 +773,37 @@ _efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNU
773} 773}
774 774
775EOLIAN Eina_Bool 775EOLIAN Eina_Bool
776_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) 776_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)
777{ 777{
778 return EINA_FALSE; 778 return EINA_FALSE;
779} 779}
780 780
781EOLIAN Eina_Bool 781EOLIAN Eina_Bool
782_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) 782_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)
783{ 783{
784 return EINA_FALSE; 784 return EINA_FALSE;
785} 785}
786 786
787EOLIAN Eina_Bool 787EOLIAN Eina_Bool
788_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) 788_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)
789{ 789{
790 return EINA_FALSE; 790 return EINA_FALSE;
791} 791}
792 792
793EOLIAN Eina_Bool 793EOLIAN Eina_Bool
794_efl_ui_view_list_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) 794_efl_ui_list_view_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
795{ 795{
796 return EINA_TRUE; 796 return EINA_TRUE;
797} 797}
798 798
799EOLIAN Eina_Bool 799EOLIAN Eina_Bool
800_efl_ui_view_list_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) 800_efl_ui_list_view_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
801{ 801{
802 return EINA_TRUE; 802 return EINA_TRUE;
803} 803}
804 804
805EOLIAN Eina_Bool 805EOLIAN Eina_Bool
806_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) 806_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)
807{ 807{
808 return EINA_FALSE; 808 return EINA_FALSE;
809} 809}
@@ -828,7 +828,7 @@ _key_action_escape(Evas_Object *obj, const char *params EINA_UNUSED)
828} 828}
829 829
830void 830void
831_efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool selected) 831_efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item *item, Eina_Bool selected)
832{ 832{
833 Eina_Stringshare *sprop; 833 Eina_Stringshare *sprop;
834 assert(item != NULL); 834 assert(item != NULL);
@@ -850,56 +850,56 @@ _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool s
850} 850}
851 851
852static void 852static void
853_efl_ui_view_list_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_View_List_Relayout *object) 853_efl_ui_list_view_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_List_View_Relayout *object)
854{ 854{
855 efl_replace(&pd->relayout, object); 855 efl_replace(&pd->relayout, object);
856 if (pd->model && pd->relayout) 856 if (pd->model && pd->relayout)
857 efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); 857 efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
858} 858}
859 859
860static Efl_Ui_View_List_Relayout * 860static Efl_Ui_List_View_Relayout *
861_efl_ui_view_list_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) 861_efl_ui_list_view_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
862{ 862{
863 return pd->relayout; 863 return pd->relayout;
864} 864}
865 865
866static void 866static void
867_layout(Efl_Ui_View_List_Data *pd) 867_layout(Efl_Ui_List_View_Data *pd)
868{ 868{
869 if (!pd->model) 869 if (!pd->model)
870 return; 870 return;
871 871
872 efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray); 872 efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
873} 873}
874 874
875static Eina_Value 875static Eina_Value
876_children_slice_then(void * data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED) 876_children_slice_then(void * data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED)
877{ 877{
878 Efl_Ui_View_List_Data *pd = data; 878 Efl_Ui_List_View_Data *pd = data;
879 879
880 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) 880 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
881 goto on_error; 881 goto on_error;
882 882
883 efl_ui_view_list_segarray_insert_value(pd->segarray, pd->slice.start, v); 883 efl_ui_list_view_seg_array_insert_value(pd->seg_array, pd->slice.start, v);
884 884
885 pd->segarray_first = pd->slice.start; 885 pd->seg_array_first = pd->slice.start;
886 pd->slice.start = pd->slice.count = 0; 886 pd->slice.start = pd->slice.count = 0;
887 pd->slice.future = NULL; 887 pd->slice.future = NULL;
888 888
889 efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray); 889 efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
890 on_error: 890 on_error:
891 return v; 891 return v;
892} 892}
893 893
894/* EFL UI LIST MODEL INTERFACE */ 894/* EFL UI LIST MODEL INTERFACE */
895EOLIAN static Eina_Size2D 895EOLIAN static Eina_Size2D
896_efl_ui_view_list_efl_ui_view_list_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 896_efl_ui_list_view_efl_ui_list_view_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
897{ 897{
898 return pd->min; 898 return pd->min;
899} 899}
900 900
901EOLIAN static void 901EOLIAN static void
902_efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D min) 902_efl_ui_list_view_efl_ui_list_view_model_min_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D min)
903{ 903{
904 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 904 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
905 905
@@ -911,33 +911,33 @@ _efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_
911} 911}
912 912
913EOLIAN static void 913EOLIAN static void
914_efl_ui_view_list_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_View_List_Data *pd) 914_efl_ui_list_view_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_List_View_Data *pd)
915{ 915{
916 Eina_List *order = efl_ui_view_list_relayout_elements_get(pd->relayout); 916 Eina_List *order = efl_ui_list_view_relayout_elements_get(pd->relayout);
917 efl_ui_focus_composition_elements_set(obj, order); 917 efl_ui_focus_composition_elements_set(obj, order);
918} 918}
919 919
920EOLIAN Eina_List* 920EOLIAN Eina_List*
921_efl_ui_view_list_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_View_List_Data *pd) 921_efl_ui_list_view_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_List_View_Data *pd)
922{ 922{
923 Eina_List *ret = NULL, *ret2 = NULL; 923 Eina_List *ret = NULL, *ret2 = NULL;
924 924
925 ret = efl_ui_view_list_relayout_elements_get(pd->relayout); 925 ret = efl_ui_list_view_relayout_elements_get(pd->relayout);
926 ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_VIEW_LIST_CLASS)); 926 ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_LIST_VIEW_CLASS));
927 927
928 return eina_list_merge(ret, ret2); 928 return eina_list_merge(ret, ret2);
929} 929}
930 930
931EOLIAN static Eina_Bool 931EOLIAN static Eina_Bool
932_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) 932_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)
933{ 933{
934 return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj); 934 return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj);
935} 935}
936 936
937EOLIAN static Efl_Ui_View_List_LayoutItem * 937EOLIAN static Efl_Ui_List_View_Layout_Item *
938_efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item) 938_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)
939{ 939{
940 Efl_Ui_View_List_Item_Event evt; 940 Efl_Ui_List_View_Item_Event evt;
941 EINA_SAFETY_ON_NULL_RETURN_VAL(item->children, item); 941 EINA_SAFETY_ON_NULL_RETURN_VAL(item->children, item);
942 942
943 item->layout = efl_ui_factory_create(pd->factory, item->children, obj); 943 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
952 952
953 evt.child = item->children; 953 evt.child = item->children;
954 evt.layout = item->layout; 954 evt.layout = item->layout;
955 evt.index = efl_ui_view_list_item_index_get(item); 955 evt.index = efl_ui_list_view_item_index_get(item);
956 efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, &evt); 956 efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, &evt);
957 efl_ui_focus_composition_dirty(obj); 957 efl_ui_focus_composition_dirty(obj);
958 958
959 evas_object_show(item->layout); 959 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
961} 961}
962 962
963EOLIAN static void 963EOLIAN static void
964_efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item) 964_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)
965{ 965{
966 Efl_Ui_View_List_Item_Event evt; 966 Efl_Ui_List_View_Item_Event evt;
967 EINA_SAFETY_ON_NULL_RETURN(item->layout); 967 EINA_SAFETY_ON_NULL_RETURN(item->layout);
968 968
969 evas_object_event_callback_del_full(item->layout, EVAS_CALLBACK_MOUSE_UP, _on_item_mouse_up, item); 969 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
978 978
979 evt.child = item->children; 979 evt.child = item->children;
980 evt.layout = item->layout; 980 evt.layout = item->layout;
981 evt.index = efl_ui_view_list_item_index_get(item); 981 evt.index = efl_ui_list_view_item_index_get(item);
982 efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, &evt); 982 efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, &evt);
983 983
984 evas_object_smart_member_del(item->layout); 984 evas_object_smart_member_del(item->layout);
985 efl_ui_factory_release(pd->factory, item->layout); 985 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
987} 987}
988 988
989EOLIAN static void 989EOLIAN static void
990_efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_List_Data* pd, int first, int count) 990_efl_ui_list_view_efl_ui_list_view_model_load_range_set(Eo* obj, Efl_Ui_List_View_Data* pd, int first, int count)
991{ 991{
992 if (pd->slice.future) return ; 992 if (pd->slice.future) return ;
993 993
@@ -1003,18 +1003,18 @@ _efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_Lis
1003} 1003}
1004 1004
1005EOLIAN static int 1005EOLIAN static int
1006_efl_ui_view_list_efl_ui_view_list_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) 1006_efl_ui_list_view_efl_ui_list_view_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
1007{ 1007{
1008 return efl_model_children_count_get(pd->model); 1008 return efl_model_children_count_get(pd->model);
1009} 1009}
1010 1010
1011ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_view_list, Efl_Ui_View_List_Data) 1011ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_list_view, Efl_Ui_List_View_Data)
1012 1012
1013/* Internal EO APIs and hidden overrides */ 1013/* Internal EO APIs and hidden overrides */
1014 1014
1015#define EFL_UI_VIEW_LIST_EXTRA_OPS \ 1015#define EFL_UI_LIST_VIEW_EXTRA_OPS \
1016 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_view_list) 1016 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_list_view)
1017 1017
1018#include "efl_ui_view_list.eo.c" 1018#include "efl_ui_list_view.eo.c"
1019#include "efl_ui_view_list_relayout.eo.c" 1019#include "efl_ui_list_view_relayout.eo.c"
1020#include "efl_ui_view_list_model.eo.c" 1020#include "efl_ui_list_view_model.eo.c"
diff --git a/src/lib/elementary/efl_ui_view_list.eo b/src/lib/elementary/efl_ui_list_view.eo
index b24f261180..07be70b9c9 100644
--- a/src/lib/elementary/efl_ui_view_list.eo
+++ b/src/lib/elementary/efl_ui_list_view.eo
@@ -1,19 +1,19 @@
1import elm_general; 1import elm_general;
2 2
3struct Efl.Ui.View_List_Item_Event 3struct Efl.Ui.List_View_Item_Event
4{ 4{
5 layout: Efl.Ui.Layout.Object; 5 layout: Efl.Ui.Layout.Object;
6 child: Efl.Model; 6 child: Efl.Model;
7 index: int; 7 index: int;
8} 8}
9class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar, 9class Efl.Ui.List_View (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
10 Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub, 10 Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
11 Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.View_List_Model, Efl.Ui.Widget_Focus_Manager) 11 Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager)
12{ 12{
13 methods { 13 methods {
14 @property relayout { 14 @property relayout {
15 values { 15 values {
16 object: Efl.Ui.View_List_Relayout; 16 object: Efl.Ui.List_View_Relayout;
17 } 17 }
18 } 18 }
19 @property homogeneous { 19 @property homogeneous {
@@ -50,14 +50,14 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
50 } 50 }
51 } 51 }
52 events { 52 events {
53 item,realized : Efl.Ui.View_List_Item_Event; 53 item,realized : Efl.Ui.List_View_Item_Event;
54 item,unrealized : Efl.Ui.View_List_Item_Event; 54 item,unrealized : Efl.Ui.List_View_Item_Event;
55 item,focused : Efl.Ui.View_List_Item_Event; 55 item,focused : Efl.Ui.List_View_Item_Event;
56 item,unfocused : Efl.Ui.View_List_Item_Event; 56 item,unfocused : Efl.Ui.List_View_Item_Event;
57 item,highlighted : Efl.Ui.View_List_Item_Event; 57 item,highlighted : Efl.Ui.List_View_Item_Event;
58 item,unhighlighted : Efl.Ui.View_List_Item_Event; 58 item,unhighlighted : Efl.Ui.List_View_Item_Event;
59 item,selected : Efl.Ui.View_List_Item_Event; 59 item,selected : Efl.Ui.List_View_Item_Event;
60 item,unselected : Efl.Ui.View_List_Item_Event; 60 item,unselected : Efl.Ui.List_View_Item_Event;
61 } 61 }
62 62
63 implements { 63 implements {
@@ -70,11 +70,11 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
70 Efl.Canvas.Group.group_member_add; 70 Efl.Canvas.Group.group_member_add;
71 Efl.Canvas.Group.group_calculate; 71 Efl.Canvas.Group.group_calculate;
72 72
73 Efl.Ui.View_List_Model.load_range { set;} 73 Efl.Ui.List_View_Model.load_range { set;}
74 Efl.Ui.View_List_Model.realize; 74 Efl.Ui.List_View_Model.realize;
75 Efl.Ui.View_List_Model.unrealize; 75 Efl.Ui.List_View_Model.unrealize;
76 Efl.Ui.View_List_Model.model_size { get; } 76 Efl.Ui.List_View_Model.model_size { get; }
77 Efl.Ui.View_List_Model.min_size { get; set; } 77 Efl.Ui.List_View_Model.min_size { get; set; }
78 78
79 // Widget 79 // Widget
80 Efl.Ui.Widget_Focus_Manager.focus_manager_create; 80 Efl.Ui.Widget_Focus_Manager.focus_manager_create;
diff --git a/src/lib/elementary/efl_ui_view_list_model.eo b/src/lib/elementary/efl_ui_list_view_model.eo
index bbcdef2ef1..12a289a448 100644
--- a/src/lib/elementary/efl_ui_view_list_model.eo
+++ b/src/lib/elementary/efl_ui_list_view_model.eo
@@ -1,6 +1,6 @@
1import efl_ui_view_list_types; 1import efl_ui_list_view_types;
2 2
3interface Efl.Ui.View_List_Model (Efl.Interface) 3interface Efl.Ui.List_View_Model (Efl.Interface)
4{ 4{
5 methods { 5 methods {
6 @property load_range { 6 @property load_range {
@@ -12,13 +12,13 @@ interface Efl.Ui.View_List_Model (Efl.Interface)
12 } 12 }
13 realize { 13 realize {
14 params { 14 params {
15 item: ptr(Efl.Ui.View.List.LayoutItem); 15 item: ptr(Efl.Ui.List_View_Layout_Item);
16 } 16 }
17 return: ptr(Efl.Ui.View.List.LayoutItem); 17 return: ptr(Efl.Ui.List_View_Layout_Item);
18 } 18 }
19 unrealize { 19 unrealize {
20 params { 20 params {
21 item: ptr(Efl.Ui.View.List.LayoutItem); 21 item: ptr(Efl.Ui.List_View_Layout_Item);
22 } 22 }
23 } 23 }
24 // @property visible_range { 24 // @property visible_range {
diff --git a/src/lib/elementary/efl_ui_view_list_pan.eo b/src/lib/elementary/efl_ui_list_view_pan.eo
index b1ef036bb8..1253a88aca 100644
--- a/src/lib/elementary/efl_ui_view_list_pan.eo
+++ b/src/lib/elementary/efl_ui_list_view_pan.eo
@@ -1,6 +1,6 @@
1class Efl.Ui.View_List_Pan (Efl.Ui.Pan) 1class Efl.Ui.List_View_Pan (Efl.Ui.Pan)
2{ 2{
3 [[Elementary Efl_Ui_View_List pan class]] 3 [[Elementary Efl_Ui_List_View pan class]]
4 implements { 4 implements {
5 Efl.Object.destructor; 5 Efl.Object.destructor;
6 Efl.Ui.Pan.content_size { get; } 6 Efl.Ui.Pan.content_size { get; }
diff --git a/src/lib/elementary/efl_ui_view_list_precise_layouter.c b/src/lib/elementary/efl_ui_list_view_precise_layouter.c
index ee5c1814a8..e192d7a9bc 100644
--- a/src/lib/elementary/efl_ui_view_list_precise_layouter.c
+++ b/src/lib/elementary/efl_ui_list_view_precise_layouter.c
@@ -7,16 +7,16 @@
7#include <assert.h> 7#include <assert.h>
8 8
9#include "elm_priv.h" 9#include "elm_priv.h"
10#include "efl_ui_view_list_segarray.h" 10#include "efl_ui_list_view_seg_array.h"
11 11
12#define MY_CLASS EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS 12#define MY_CLASS EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS
13 13
14typedef struct _Efl_Ui_View_List_Precise_Layouter_Data 14typedef struct _Efl_Ui_List_View_Precise_Layouter_Data
15{ 15{
16 Efl_Model* model; 16 Efl_Model* model;
17 Efl_Ui_View_List_Model *modeler; 17 Efl_Ui_List_View_Model *modeler;
18 Ecore_Job *calc_job; 18 Ecore_Job *calc_job;
19 Efl_Ui_View_List_SegArray *segarray; 19 Efl_Ui_List_View_Seg_Array *seg_array;
20 20
21 Eina_Size2D min; 21 Eina_Size2D min;
22 22
@@ -28,32 +28,32 @@ typedef struct _Efl_Ui_View_List_Precise_Layouter_Data
28 Eina_Bool initialized : 1; 28 Eina_Bool initialized : 1;
29 Eina_Bool recalc : 1; 29 Eina_Bool recalc : 1;
30 Eina_Bool resize : 1; 30 Eina_Bool resize : 1;
31} Efl_Ui_View_List_Precise_Layouter_Data; 31} Efl_Ui_List_View_Precise_Layouter_Data;
32 32
33typedef struct _Efl_Ui_View_List_Precise_Layouter_Node_Data 33typedef struct _Efl_Ui_List_View_Precise_Layouter_Node_Data
34{ 34{
35 Eina_Size2D min; 35 Eina_Size2D min;
36 Eina_Size2D size; 36 Eina_Size2D size;
37 37
38 Eina_Bool realized; 38 Eina_Bool realized;
39} Efl_Ui_View_List_Precise_Layouter_Node_Data; 39} Efl_Ui_List_View_Precise_Layouter_Node_Data;
40 40
41typedef struct _Efl_Ui_View_List_Precise_Layouter_Callback_Data 41typedef struct _Efl_Ui_List_View_Precise_Layouter_Callback_Data
42{ 42{
43 Efl_Ui_View_List_Precise_Layouter_Data *pd; 43 Efl_Ui_List_View_Precise_Layouter_Data *pd;
44 Efl_Ui_View_List_LayoutItem *item; 44 Efl_Ui_List_View_Layout_Item *item;
45} Efl_Ui_View_List_Precise_Layouter_Callback_Data; 45} Efl_Ui_List_View_Precise_Layouter_Callback_Data;
46 46
47#include "efl_ui_view_list_precise_layouter.eo.h" 47#include "efl_ui_list_view_precise_layouter.eo.h"
48 48
49static void _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *); 49static void _efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *);
50static Eina_Bool _initilize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_Model*, Efl_Ui_View_List_SegArray*); 50static Eina_Bool _initilize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Model*, Efl_Ui_List_View_Seg_Array*);
51static void _finalize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*); 51static void _finalize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*);
52static void _node_realize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*); 52static void _node_realize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
53static void _node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*); 53static void _node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
54 54
55static void 55static void
56_item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item) 56_item_size_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item)
57{ 57{
58 int boxx, boxy, boxw, boxh, boxl, boxr, boxt, boxb, pad[4]; 58 int boxx, boxy, boxw, boxh, boxl, boxr, boxt, boxb, pad[4];
59 double align[2]; 59 double align[2];
@@ -119,11 +119,11 @@ _item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Lay
119} 119}
120 120
121static void 121static void
122_item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item 122_item_min_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item
123 , Eina_Size2D min, Efl_Ui_View_List_SegArray_Node *itemnode) 123 , Eina_Size2D min, Efl_Ui_List_View_Seg_Array_Node *itemnode)
124{ 124{
125 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data; 125 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data;
126 Efl_Ui_View_List_LayoutItem *layout_item; 126 Efl_Ui_List_View_Layout_Item *layout_item;
127 int i, pad[4]; 127 int i, pad[4];
128 128
129 efl_gfx_size_hint_margin_get(item->layout, &pad[0], &pad[1], &pad[2], &pad[3]); 129 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
144 nodedata->min.w = 0; 144 nodedata->min.w = 0;
145 for (i = 0; i != itemnode->length; ++i) 145 for (i = 0; i != itemnode->length; ++i)
146 { 146 {
147 layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i]; 147 layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
148 if (nodedata->min.w < layout_item->min.w) 148 if (nodedata->min.w < layout_item->min.w)
149 nodedata->min.w = layout_item->min.w; 149 nodedata->min.w = layout_item->min.w;
150 150
@@ -157,13 +157,13 @@ _item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Layo
157 pd->min.w = min.w; 157 pd->min.w = min.w;
158 else if (pd->min.w == item->min.w) 158 else if (pd->min.w == item->min.w)
159 { 159 {
160 Efl_Ui_View_List_SegArray_Node *node2; 160 Efl_Ui_List_View_Seg_Array_Node *node2;
161 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 161 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
162 pd->min.w = min.w; 162 pd->min.w = min.w;
163 163
164 EINA_ACCESSOR_FOREACH(nodes, i, node2) 164 EINA_ACCESSOR_FOREACH(nodes, i, node2)
165 { 165 {
166 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data; 166 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
167 if (pd->min.w < nodedata2->min.w) 167 if (pd->min.w < nodedata2->min.w)
168 pd->min.w = nodedata2->min.w; 168 pd->min.w = nodedata2->min.w;
169 169
@@ -183,18 +183,18 @@ static void
183_on_item_size_hint_change(void *data, Evas *e EINA_UNUSED, 183_on_item_size_hint_change(void *data, Evas *e EINA_UNUSED,
184 Evas_Object *obj, void *event_info EINA_UNUSED) 184 Evas_Object *obj, void *event_info EINA_UNUSED)
185{ 185{
186 Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = data; 186 Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = data;
187 Efl_Ui_View_List_Precise_Layouter_Data *pd = cb_data->pd; 187 Efl_Ui_List_View_Precise_Layouter_Data *pd = cb_data->pd;
188 Efl_Ui_View_List_LayoutItem *item = cb_data->item;; 188 Efl_Ui_List_View_Layout_Item *item = cb_data->item;;
189 Efl_Ui_View_List_SegArray_Node *node = item->tree_node; 189 Efl_Ui_List_View_Seg_Array_Node *node = item->tree_node;
190 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; 190 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
191 191
192 Eina_Size2D min = efl_gfx_size_hint_combined_min_get(obj); 192 Eina_Size2D min = efl_gfx_size_hint_combined_min_get(obj);
193 _item_min_calc(pd, item, min, node); 193 _item_min_calc(pd, item, min, node);
194 if (!nodedata->realized) 194 if (!nodedata->realized)
195 { 195 {
196 free(evas_object_event_callback_del(item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change)); 196 free(evas_object_event_callback_del(item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change));
197 efl_ui_view_list_model_unrealize(pd->modeler, item); 197 efl_ui_list_view_model_unrealize(pd->modeler, item);
198 } 198 }
199} 199}
200 200
@@ -202,14 +202,14 @@ static void
202_on_modeler_resize(void *data, Evas *e EINA_UNUSED, 202_on_modeler_resize(void *data, Evas *e EINA_UNUSED,
203 Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 203 Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
204{ 204{
205 Efl_Ui_View_List_Precise_Layouter_Data *pd = data; 205 Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
206 pd->resize = EINA_TRUE; 206 pd->resize = EINA_TRUE;
207} 207}
208 208
209typedef struct _Request Request; 209typedef struct _Request Request;
210struct _Request 210struct _Request
211{ 211{
212 Efl_Ui_View_List_Precise_Layouter_Data *pd; 212 Efl_Ui_List_View_Precise_Layouter_Data *pd;
213 unsigned int index; 213 unsigned int index;
214}; 214};
215 215
@@ -221,7 +221,7 @@ _children_get(void *data, const Eina_Value v, const Eina_Future *dead_future EIN
221 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) 221 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
222 goto on_error; 222 goto on_error;
223 223
224 efl_ui_view_list_segarray_insert_value(r->pd->segarray, r->index, v); 224 efl_ui_list_view_seg_array_insert_value(r->pd->seg_array, r->index, v);
225 r->pd->recalc = EINA_TRUE; 225 r->pd->recalc = EINA_TRUE;
226 evas_object_smart_changed(r->pd->modeler); 226 evas_object_smart_changed(r->pd->modeler);
227 227
@@ -234,7 +234,7 @@ static void
234_child_added_cb(void *data, const Efl_Event *event) 234_child_added_cb(void *data, const Efl_Event *event)
235{ 235{
236 Efl_Model_Children_Event* evt = event->info; 236 Efl_Model_Children_Event* evt = event->info;
237 Efl_Ui_View_List_Precise_Layouter_Data *pd = data; 237 Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
238 Eina_Future *f; 238 Eina_Future *f;
239 Request *r; 239 Request *r;
240 240
@@ -252,13 +252,13 @@ static void
252_child_removed_cb(void *data, const Efl_Event *event) 252_child_removed_cb(void *data, const Efl_Event *event)
253{ 253{
254 Efl_Model_Children_Event* evt = event->info; 254 Efl_Model_Children_Event* evt = event->info;
255 Efl_Ui_View_List_Precise_Layouter_Data *pd = data; 255 Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
256 Efl_Ui_View_List_LayoutItem *layout_item, *litem; 256 Efl_Ui_List_View_Layout_Item *layout_item, *litem;
257 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata; 257 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
258 Efl_Ui_View_List_SegArray_Node *itemnode; 258 Efl_Ui_List_View_Seg_Array_Node *itemnode;
259 int i; 259 int i;
260 260
261 litem = efl_ui_view_list_segarray_remove(pd->segarray, evt->index); 261 litem = efl_ui_list_view_seg_array_remove(pd->seg_array, evt->index);
262 if (!litem) return; 262 if (!litem) return;
263 263
264 itemnode = litem->tree_node; 264 itemnode = litem->tree_node;
@@ -274,7 +274,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
274 274
275 for (i = 0; i != itemnode->length; ++i) 275 for (i = 0; i != itemnode->length; ++i)
276 { 276 {
277 layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i]; 277 layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
278 if (nodedata->min.w < layout_item->min.w) 278 if (nodedata->min.w < layout_item->min.w)
279 nodedata->min.w = layout_item->min.w; 279 nodedata->min.w = layout_item->min.w;
280 280
@@ -287,13 +287,13 @@ _child_removed_cb(void *data, const Efl_Event *event)
287 287
288 if (pd->min.w == litem->min.w) 288 if (pd->min.w == litem->min.w)
289 { 289 {
290 Efl_Ui_View_List_SegArray_Node *node2; 290 Efl_Ui_List_View_Seg_Array_Node *node2;
291 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 291 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
292 pd->min.w = 0; 292 pd->min.w = 0;
293 293
294 EINA_ACCESSOR_FOREACH(nodes, i, node2) 294 EINA_ACCESSOR_FOREACH(nodes, i, node2)
295 { 295 {
296 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data; 296 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
297 if (pd->min.w < nodedata2->min.w) 297 if (pd->min.w < nodedata2->min.w)
298 pd->min.w = nodedata2->min.w; 298 pd->min.w = nodedata2->min.w;
299 299
@@ -303,7 +303,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
303 eina_accessor_free(nodes); 303 eina_accessor_free(nodes);
304 } 304 }
305 305
306 efl_ui_view_list_model_unrealize(pd->modeler, litem); 306 efl_ui_list_view_model_unrealize(pd->modeler, litem);
307 307
308 free(litem); 308 free(litem);
309 pd->recalc = EINA_TRUE; 309 pd->recalc = EINA_TRUE;
@@ -313,14 +313,14 @@ _child_removed_cb(void *data, const Efl_Event *event)
313static void 313static void
314_child_count_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) 314_child_count_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
315{ 315{
316 Efl_Ui_View_List_Precise_Layouter_Data *pd = data; 316 Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
317 pd->count_total = efl_model_children_count_get(pd->model); 317 pd->count_total = efl_model_children_count_get(pd->model);
318 if (pd->count_total) 318 if (pd->count_total)
319 efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd); 319 efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
320} 320}
321 321
322static Eina_Bool 322static Eina_Bool
323_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) 323_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)
324{ 324{
325 if(pd->initialized) 325 if(pd->initialized)
326 return EINA_TRUE; 326 return EINA_TRUE;
@@ -332,9 +332,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
332 pd->initialized = EINA_TRUE; 332 pd->initialized = EINA_TRUE;
333 333
334 pd->modeler = modeler; 334 pd->modeler = modeler;
335 pd->segarray = segarray; 335 pd->seg_array = seg_array;
336 336
337 efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all 337 efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
338 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_ADDED, _child_added_cb, pd); 338 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_ADDED, _child_added_cb, pd);
339 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd); 339 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
340 340
@@ -346,9 +346,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
346} 346}
347 347
348static void 348static void
349_finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd) 349_finalize(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
350{ 350{
351 Efl_Ui_View_List_SegArray_Node* node; 351 Efl_Ui_List_View_Seg_Array_Node* node;
352 int i = 0; 352 int i = 0;
353 353
354 evas_object_event_callback_del_full(pd->modeler, EVAS_CALLBACK_RESIZE, _on_modeler_resize, pd); 354 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)
356 efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd); 356 efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
357 pd->count_total = 0; 357 pd->count_total = 0;
358 358
359 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 359 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
360 EINA_ACCESSOR_FOREACH(nodes, i, node) 360 EINA_ACCESSOR_FOREACH(nodes, i, node)
361 { 361 {
362 _node_unrealize(pd, node); 362 _node_unrealize(pd, node);
@@ -368,9 +368,9 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
368 pd->min.w = 0; 368 pd->min.w = 0;
369 pd->min.h = 0; 369 pd->min.h = 0;
370 370
371 efl_ui_view_list_model_min_size_set(pd->modeler, pd->min); 371 efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
372 372
373 pd->segarray = NULL; 373 pd->seg_array = NULL;
374 pd->modeler = NULL; 374 pd->modeler = NULL;
375 375
376 pd->initialized = EINA_FALSE; 376 pd->initialized = EINA_FALSE;
@@ -378,11 +378,11 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
378} 378}
379 379
380static void 380static void
381_node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node) 381_node_realize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
382{ 382{
383 Efl_Ui_View_List_LayoutItem* layout_item; 383 Efl_Ui_List_View_Layout_Item* layout_item;
384 Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data; 384 Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
385 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; 385 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
386 int i; 386 int i;
387 387
388 EINA_SAFETY_ON_NULL_RETURN(nodedata); 388 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
393 393
394 for (i = 0; i != node->length; ++i) 394 for (i = 0; i != node->length; ++i)
395 { 395 {
396 layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; 396 layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
397 efl_ui_view_list_model_realize(pd->modeler, layout_item); 397 efl_ui_list_view_model_realize(pd->modeler, layout_item);
398 398
399 if (layout_item->layout) 399 if (layout_item->layout)
400 { 400 {
401 cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data)); 401 cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
402 cb_data->pd = pd; 402 cb_data->pd = pd;
403 cb_data->item = layout_item; 403 cb_data->item = layout_item;
404 evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data); 404 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
408} 408}
409 409
410static void 410static void
411_node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node) 411_node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
412{ 412{
413 Efl_Ui_View_List_LayoutItem* layout_item; 413 Efl_Ui_List_View_Layout_Item* layout_item;
414 Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data; 414 Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
415 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; 415 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
416 int i; 416 int i;
417 417
418 EINA_SAFETY_ON_NULL_RETURN(nodedata); 418 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
423 423
424 for (i = 0; i != node->length; ++i) 424 for (i = 0; i != node->length; ++i)
425 { 425 {
426 layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; 426 layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
427 if (layout_item->layout) 427 if (layout_item->layout)
428 { 428 {
429 cb_data = evas_object_event_callback_del(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change); 429 cb_data = evas_object_event_callback_del(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change);
430 free(cb_data); 430 free(cb_data);
431 } 431 }
432 efl_ui_view_list_model_unrealize(pd->modeler, layout_item); 432 efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
433 } 433 }
434} 434}
435 435
436static void 436static void
437_calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd) 437_calc_range(Efl_Ui_List_View_Precise_Layouter_Data *pd)
438{ 438{
439 Efl_Ui_View_List_SegArray_Node *node; 439 Efl_Ui_List_View_Seg_Array_Node *node;
440 Evas_Coord ch, ny; 440 Evas_Coord ch, ny;
441 Eina_Rect vgmt; 441 Eina_Rect vgmt;
442 Eina_Position2D spos; 442 Eina_Position2D spos;
443 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata; 443 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
444 int i; 444 int i;
445 445
446 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler); 446 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
@@ -452,7 +452,7 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
452 vgmt.h *= 2; 452 vgmt.h *= 2;
453 453
454 ch = 0; 454 ch = 0;
455 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 455 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
456 EINA_ACCESSOR_FOREACH(nodes, i, node) 456 EINA_ACCESSOR_FOREACH(nodes, i, node)
457 { 457 {
458 nodedata = node->layout_data; 458 nodedata = node->layout_data;
@@ -472,9 +472,9 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
472static void 472static void
473_calc_size_job(void *data) 473_calc_size_job(void *data)
474{ 474{
475 Efl_Ui_View_List_Precise_Layouter_Data *pd; 475 Efl_Ui_List_View_Precise_Layouter_Data *pd;
476 Efl_Ui_View_List_SegArray_Node *node; 476 Efl_Ui_List_View_Seg_Array_Node *node;
477 Efl_Ui_View_List_LayoutItem *layout_item; 477 Efl_Ui_List_View_Layout_Item *layout_item;
478 Eo *obj = data; 478 Eo *obj = data;
479 Eina_Size2D min; 479 Eina_Size2D min;
480 int i; 480 int i;
@@ -484,16 +484,16 @@ _calc_size_job(void *data)
484 pd = efl_data_scope_get(obj, MY_CLASS); 484 pd = efl_data_scope_get(obj, MY_CLASS);
485 if (EINA_UNLIKELY(!pd)) return; 485 if (EINA_UNLIKELY(!pd)) return;
486 486
487 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 487 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
488 while (eina_accessor_data_get(nodes, pd->calc_progress, (void **)&node)) 488 while (eina_accessor_data_get(nodes, pd->calc_progress, (void **)&node))
489 { 489 {
490 pd->calc_progress++; 490 pd->calc_progress++;
491 if (!node->layout_data) 491 if (!node->layout_data)
492 node->layout_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Node_Data)); 492 node->layout_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Node_Data));
493 493
494 for (i = 0; i != node->length; ++i) 494 for (i = 0; i != node->length; ++i)
495 { 495 {
496 layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; 496 layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
497 EINA_SAFETY_ON_NULL_RETURN(layout_item); 497 EINA_SAFETY_ON_NULL_RETURN(layout_item);
498 498
499 // cache size of new items 499 // cache size of new items
@@ -501,18 +501,18 @@ _calc_size_job(void *data)
501 { 501 {
502 if (!layout_item->layout) 502 if (!layout_item->layout)
503 { 503 {
504 efl_ui_view_list_model_realize(pd->modeler, layout_item); 504 efl_ui_list_view_model_realize(pd->modeler, layout_item);
505 } 505 }
506 506
507 min = efl_gfx_size_hint_combined_min_get(layout_item->layout); 507 min = efl_gfx_size_hint_combined_min_get(layout_item->layout);
508 if (min.w && min.h) 508 if (min.w && min.h)
509 { 509 {
510 _item_min_calc(pd, layout_item, min, node); 510 _item_min_calc(pd, layout_item, min, node);
511 efl_ui_view_list_model_unrealize(pd->modeler, layout_item); 511 efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
512 } 512 }
513 else 513 else
514 { 514 {
515 Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data)); 515 Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
516 cb_data->pd = pd; 516 cb_data->pd = pd;
517 cb_data->item = layout_item; 517 cb_data->item = layout_item;
518 evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data); 518 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)
536} 536}
537 537
538EOLIAN static Efl_Object * 538EOLIAN static Efl_Object *
539_efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd) 539_efl_ui_list_view_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
540{ 540{
541 obj = efl_constructor(efl_super(obj, MY_CLASS)); 541 obj = efl_constructor(efl_super(obj, MY_CLASS));
542 pd->initialized = EINA_FALSE; 542 pd->initialized = EINA_FALSE;
@@ -545,23 +545,23 @@ _efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, E
545} 545}
546 546
547EOLIAN static Eina_List * 547EOLIAN static Eina_List *
548_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) 548_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)
549{ 549{
550 Eina_List *elements_order = NULL; 550 Eina_List *elements_order = NULL;
551 Efl_Ui_View_List_LayoutItem* layout_item; 551 Efl_Ui_List_View_Layout_Item* layout_item;
552 Efl_Ui_View_List_SegArray_Node *items_node; 552 Efl_Ui_List_View_Seg_Array_Node *items_node;
553 int i, j = 0; 553 int i, j = 0;
554 554
555 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 555 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
556 EINA_ACCESSOR_FOREACH(nodes, i, items_node) 556 EINA_ACCESSOR_FOREACH(nodes, i, items_node)
557 { 557 {
558 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data; 558 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
559 if (!nodedata || !nodedata->realized) 559 if (!nodedata || !nodedata->realized)
560 continue; 560 continue;
561 561
562 for(j = 0; j != items_node->length;++j) 562 for(j = 0; j != items_node->length;++j)
563 { 563 {
564 layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j]; 564 layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
565 if (layout_item->layout) 565 if (layout_item->layout)
566 elements_order = eina_list_append(elements_order, layout_item->layout); 566 elements_order = eina_list_append(elements_order, layout_item->layout);
567 } 567 }
@@ -571,7 +571,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_elements_get(const
571} 571}
572 572
573EOLIAN static void 573EOLIAN static void
574_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) 574_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)
575{ 575{
576 _finalize(obj, pd); 576 _finalize(obj, pd);
577 577
@@ -581,20 +581,20 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_model_set(Eo *obj E
581 { 581 {
582 pd->count_total = efl_model_children_count_get(pd->model); 582 pd->count_total = efl_model_children_count_get(pd->model);
583 if (pd->count_total && pd->modeler) 583 if (pd->count_total && pd->modeler)
584 efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all 584 efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
585 else 585 else
586 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd); 586 efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
587 } 587 }
588} 588}
589 589
590static void 590static void
591_efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd) 591_efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *pd)
592{ 592{
593 Eina_Rect vgmt; 593 Eina_Rect vgmt;
594 Eina_Position2D spos; 594 Eina_Position2D spos;
595 double cur_pos = 0; 595 double cur_pos = 0;
596 Efl_Ui_View_List_LayoutItem* layout_item; 596 Efl_Ui_List_View_Layout_Item* layout_item;
597 Efl_Ui_View_List_SegArray_Node *items_node; 597 Efl_Ui_List_View_Seg_Array_Node *items_node;
598 int i, j = 0; 598 int i, j = 0;
599 599
600 _calc_range(pd); 600 _calc_range(pd);
@@ -621,15 +621,15 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
621 extra = boxh - pd->min.h; 621 extra = boxh - pd->min.h;
622 if (extra < 0) extra = 0; 622 if (extra < 0) extra = 0;
623 623
624 efl_ui_view_list_model_min_size_set(pd->modeler, pd->min); 624 efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
625 625
626 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler); 626 vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
627 spos = efl_ui_scrollable_content_pos_get(pd->modeler); 627 spos = efl_ui_scrollable_content_pos_get(pd->modeler);
628 628
629 Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); 629 Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
630 EINA_ACCESSOR_FOREACH(nodes, i, items_node) 630 EINA_ACCESSOR_FOREACH(nodes, i, items_node)
631 { 631 {
632 Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data; 632 Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
633 if (!nodedata) 633 if (!nodedata)
634 { 634 {
635 continue; 635 continue;
@@ -639,7 +639,7 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
639 { 639 {
640 for(j = 0; j != items_node->length;++j) 640 for(j = 0; j != items_node->length;++j)
641 { 641 {
642 layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j]; 642 layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
643 double x, y, w, h; 643 double x, y, w, h;
644 double weight_x, weight_y; 644 double weight_x, weight_y;
645 645
@@ -678,16 +678,16 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
678} 678}
679 679
680EOLIAN static void 680EOLIAN static void
681_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do 681_efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_layout_do
682 (Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd 682 (Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd
683 , Efl_Ui_View_List_Model *modeler, int first, Efl_Ui_View_List_SegArray *segarray) 683 , Efl_Ui_List_View_Model *modeler, int first, Efl_Ui_List_View_Seg_Array *seg_array)
684{ 684{
685 if (!_initilize(obj, pd, modeler, segarray)) 685 if (!_initilize(obj, pd, modeler, seg_array))
686 return; 686 return;
687 687
688 pd->first = first; 688 pd->first = first;
689 689
690 if (pd->recalc && efl_ui_view_list_segarray_count(segarray) > 0) 690 if (pd->recalc && efl_ui_list_view_seg_array_count(seg_array) > 0)
691 { 691 {
692 // cache size of new items 692 // cache size of new items
693 pd->calc_progress = 0; 693 pd->calc_progress = 0;
@@ -696,7 +696,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do
696 return; 696 return;
697 } 697 }
698 698
699 _efl_ui_view_list_relayout_layout_do(pd); 699 _efl_ui_list_view_relayout_layout_do(pd);
700} 700}
701 701
702#include "efl_ui_view_list_precise_layouter.eo.c" 702#include "efl_ui_list_view_precise_layouter.eo.c"
diff --git a/src/lib/elementary/efl_ui_list_view_precise_layouter.eo b/src/lib/elementary/efl_ui_list_view_precise_layouter.eo
new file mode 100644
index 0000000000..9f953aa91c
--- /dev/null
+++ b/src/lib/elementary/efl_ui_list_view_precise_layouter.eo
@@ -0,0 +1,9 @@
1class Efl.Ui.List_View_Precise_Layouter (Efl.Object, Efl.Ui.List_View_Relayout)
2{
3 implements {
4 Efl.Object.constructor;
5 Efl.Ui.List_View_Relayout.layout_do;
6 Efl.Ui.List_View_Relayout.model { set; }
7 Efl.Ui.List_View_Relayout.elements { get; }
8 }
9}
diff --git a/src/lib/elementary/efl_ui_view_list_private.h b/src/lib/elementary/efl_ui_list_view_private.h
index 94c5d894a8..af3e2b5c98 100644
--- a/src/lib/elementary/efl_ui_view_list_private.h
+++ b/src/lib/elementary/efl_ui_list_view_private.h
@@ -1,5 +1,5 @@
1#ifndef EFL_UI_VIEW_LIST_PRIVATE_H 1#ifndef EFL_UI_LIST_VIEW_PRIVATE_H
2#define EFL_UI_VIEW_LIST_PRIVATE_H 2#define EFL_UI_LIST_VIEW_PRIVATE_H
3 3
4#ifdef HAVE_CONFIG_H 4#ifdef HAVE_CONFIG_H
5# include "elementary_config.h" 5# include "elementary_config.h"
@@ -8,16 +8,16 @@
8#include <Elementary.h> 8#include <Elementary.h>
9#include "elm_priv.h" 9#include "elm_priv.h"
10 10
11typedef struct _Efl_Ui_View_List_Data Efl_Ui_View_List_Data; 11typedef struct _Efl_Ui_List_View_Data Efl_Ui_List_View_Data;
12int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem *item); 12int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item *item);
13 13
14#include "efl_ui_view_list_segarray.h" 14#include "efl_ui_list_view_seg_array.h"
15 15
16struct _Efl_Ui_View_List_Data 16struct _Efl_Ui_List_View_Data
17{ 17{
18 Eo *obj; 18 Eo *obj;
19 Eo *scrl_mgr; 19 Eo *scrl_mgr;
20 Efl_Ui_View_List_Pan *pan_obj; 20 Efl_Ui_List_View_Pan *pan_obj;
21 Efl_Model *model; 21 Efl_Model *model;
22 22
23 Eina_Stringshare *style; 23 Eina_Stringshare *style;
@@ -33,9 +33,9 @@ struct _Efl_Ui_View_List_Data
33 Eina_List *selected_items; 33 Eina_List *selected_items;
34 34
35 Efl_Ui_Focus_Manager *manager; 35 Efl_Ui_Focus_Manager *manager;
36 Efl_Ui_View_List_Relayout *relayout; 36 Efl_Ui_List_View_Relayout *relayout;
37 Efl_Ui_View_List_SegArray *segarray; 37 Efl_Ui_List_View_Seg_Array *seg_array;
38 int segarray_first; 38 int seg_array_first;
39 39
40 Elm_Object_Select_Mode select_mode; 40 Elm_Object_Select_Mode select_mode;
41 Eina_Size2D min; 41 Eina_Size2D min;
@@ -44,19 +44,19 @@ struct _Efl_Ui_View_List_Data
44 Eina_Bool scrl_freeze : 1; 44 Eina_Bool scrl_freeze : 1;
45}; 45};
46 46
47typedef struct _Efl_Ui_View_List_Pan_Data Efl_Ui_View_List_Pan_Data; 47typedef struct _Efl_Ui_List_View_Pan_Data Efl_Ui_List_View_Pan_Data;
48 48
49struct _Efl_Ui_View_List_Pan_Data 49struct _Efl_Ui_List_View_Pan_Data
50{ 50{
51 Eo *wobj; 51 Eo *wobj;
52 Eina_Rect gmt; 52 Eina_Rect gmt;
53}; 53};
54 54
55#define EFL_UI_VIEW_LIST_DATA_GET(o, ptr) \ 55#define EFL_UI_LIST_VIEW_DATA_GET(o, ptr) \
56 Efl_Ui_View_List_Data * ptr = efl_data_scope_get(o, EFL_UI_VIEW_LIST_CLASS) 56 Efl_Ui_List_View_Data * ptr = efl_data_scope_get(o, EFL_UI_LIST_VIEW_CLASS)
57 57
58#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN(o, ptr) \ 58#define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN(o, ptr) \
59 EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \ 59 EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
60 if (EINA_UNLIKELY(!ptr)) \ 60 if (EINA_UNLIKELY(!ptr)) \
61 { \ 61 { \
62 ERR("No widget data for object %p (%s)", \ 62 ERR("No widget data for object %p (%s)", \
@@ -64,8 +64,8 @@ struct _Efl_Ui_View_List_Pan_Data
64 return; \ 64 return; \
65 } 65 }
66 66
67#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN_VAL(o, ptr, val) \ 67#define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
68 EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \ 68 EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
69 if (EINA_UNLIKELY(!ptr)) \ 69 if (EINA_UNLIKELY(!ptr)) \
70 { \ 70 { \
71 ERR("No widget data for object %p (%s)", \ 71 ERR("No widget data for object %p (%s)", \
diff --git a/src/lib/elementary/efl_ui_view_list_relayout.eo b/src/lib/elementary/efl_ui_list_view_relayout.eo
index f1d7f4b7ed..ac6cd788bc 100644
--- a/src/lib/elementary/efl_ui_view_list_relayout.eo
+++ b/src/lib/elementary/efl_ui_list_view_relayout.eo
@@ -1,11 +1,11 @@
1interface Efl.Ui.View_List_Relayout (Efl.Interface) 1interface Efl.Ui.List_View_Relayout (Efl.Interface)
2{ 2{
3 methods { 3 methods {
4 layout_do { 4 layout_do {
5 params { 5 params {
6 modeler: Efl.Ui.View_List_Model; 6 modeler: Efl.Ui.List_View_Model;
7 first: int; 7 first: int;
8 children: Efl.Ui.View_List_SegArray; 8 children: Efl.Ui.List_View_Seg_Array;
9 } 9 }
10 } 10 }
11 @property model { 11 @property model {
diff --git a/src/lib/elementary/efl_ui_view_list_segarray.c b/src/lib/elementary/efl_ui_list_view_seg_array.c
index 831672f432..bf379a6a07 100644
--- a/src/lib/elementary/efl_ui_view_list_segarray.c
+++ b/src/lib/elementary/efl_ui_list_view_seg_array.c
@@ -5,15 +5,15 @@
5#include <Efl.h> 5#include <Efl.h>
6#include <assert.h> 6#include <assert.h>
7 7
8#define MY_CLASS EFL_UI_VIEW_LIST_SEGARRAY_CLASS 8#define MY_CLASS EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS
9#define MY_CLASS_NAME "Efl.Ui.View.List.SegArray" 9#define MY_CLASS_NAME "Efl.Ui.List_View_Seg_Array"
10 10
11#include "efl_ui_view_list_private.h" 11#include "efl_ui_list_view_private.h"
12#include "efl_ui_view_list_segarray.h" 12#include "efl_ui_list_view_seg_array.h"
13 13
14static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED) 14static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
15{ 15{
16 Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree; 16 Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
17 int index = *(int*)key; 17 int index = *(int*)key;
18 if(index < node->first) 18 if(index < node->first)
19 { 19 {
@@ -31,7 +31,7 @@ static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
31 31
32static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED) 32static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
33{ 33{
34 Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree; 34 Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
35 int index = *(int*)key; 35 int index = *(int*)key;
36 if(index < node->first) 36 if(index < node->first)
37 { 37 {
@@ -47,8 +47,8 @@ static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
47 } 47 }
48} 48}
49 49
50static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node const* left, 50static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_List_View_Seg_Array_Node const* left,
51 Efl_Ui_View_List_SegArray_Node const* right, void* data EINA_UNUSED) 51 Efl_Ui_List_View_Seg_Array_Node const* right, void* data EINA_UNUSED)
52{ 52{
53 if(left->first < right->first) 53 if(left->first < right->first)
54 return EINA_RBTREE_LEFT; 54 return EINA_RBTREE_LEFT;
@@ -58,7 +58,7 @@ static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node cons
58 58
59 59
60static void 60static void
61_free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED) 61_free_node(Efl_Ui_List_View_Seg_Array_Node* node, void* data EINA_UNUSED)
62{ 62{
63 int i = 0; 63 int i = 0;
64 64
@@ -71,11 +71,11 @@ _free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED)
71 free(node); 71 free(node);
72} 72}
73 73
74static Efl_Ui_View_List_SegArray_Node* 74static Efl_Ui_List_View_Seg_Array_Node*
75_alloc_node(Efl_Ui_View_List_SegArray_Data* pd, int first) 75_alloc_node(Efl_Ui_List_View_Seg_Array_Data* pd, int first)
76{ 76{
77 Efl_Ui_View_List_SegArray_Node* node; 77 Efl_Ui_List_View_Seg_Array_Node* node;
78 node = calloc(1, sizeof(Efl_Ui_View_List_SegArray_Node) + pd->step_size*sizeof(Efl_Ui_View_List_LayoutItem*)); 78 node = calloc(1, sizeof(Efl_Ui_List_View_Seg_Array_Node) + pd->step_size*sizeof(Efl_Ui_List_View_Layout_Item*));
79 node->first = first; 79 node->first = first;
80 node->max = pd->step_size; 80 node->max = pd->step_size;
81 pd->root = (void*)eina_rbtree_inline_insert(EINA_RBTREE_GET(pd->root), EINA_RBTREE_GET(node), 81 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)
85} 85}
86 86
87EOLIAN static void 87EOLIAN static void
88_efl_ui_view_list_segarray_flush(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd) 88_efl_ui_list_view_seg_array_flush(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd)
89{ 89{
90 if (pd->root) 90 if (pd->root)
91 eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL); 91 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_
95 pd->count = 0; 95 pd->count = 0;
96} 96}
97 97
98static Efl_Ui_View_List_LayoutItem* _create_item_partial(Efl_Model* model) 98static Efl_Ui_List_View_Layout_Item* _create_item_partial(Efl_Model* model)
99{ 99{
100 Efl_Ui_View_List_LayoutItem* item = calloc(1, sizeof(Efl_Ui_View_List_LayoutItem)); 100 Efl_Ui_List_View_Layout_Item* item = calloc(1, sizeof(Efl_Ui_List_View_Layout_Item));
101 item->children = model; 101 item->children = model;
102 return item; 102 return item;
103} 103}
104 104
105static Efl_Ui_View_List_LayoutItem* _create_item(Efl_Model* model, Efl_Ui_View_List_SegArray_Node* node, unsigned int index) 105static Efl_Ui_List_View_Layout_Item* _create_item(Efl_Model* model, Efl_Ui_List_View_Seg_Array_Node* node, unsigned int index)
106{ 106{
107 Efl_Ui_View_List_LayoutItem* item = _create_item_partial(model); 107 Efl_Ui_List_View_Layout_Item* item = _create_item_partial(model);
108 item->index_offset = index - node->first; 108 item->index_offset = index - node->first;
109 item->tree_node = node; 109 item->tree_node = node;
110 return item; 110 return item;
111} 111}
112 112
113EOLIAN static Efl_Ui_View_List_LayoutItem* 113EOLIAN static Efl_Ui_List_View_Layout_Item*
114_efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int index) 114_efl_ui_list_view_seg_array_remove(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int index)
115{ 115{
116 Efl_Ui_View_List_SegArray_Node *node; 116 Efl_Ui_List_View_Seg_Array_Node *node;
117 Efl_Ui_View_List_LayoutItem *item, *rt; 117 Efl_Ui_List_View_Layout_Item *item, *rt;
118 Eina_Iterator* iterator; 118 Eina_Iterator* iterator;
119 int offset; 119 int offset;
120 120
@@ -146,7 +146,7 @@ _efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray
146} 146}
147 147
148static void 148static void
149_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) 149_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)
150{ 150{
151 Eina_Iterator* iterator; 151 Eina_Iterator* iterator;
152 int pos; 152 int pos;
@@ -194,10 +194,10 @@ _efl_ui_view_list_segarray_insert_at_node(Efl_Ui_View_List_SegArray_Data* pd, in
194 194
195 195
196EOLIAN static void 196EOLIAN static void
197_efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd, int index, Efl_Model* model) 197_efl_ui_list_view_seg_array_insert(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd, int index, Efl_Model* model)
198{ 198{
199 Efl_Ui_View_List_SegArray_Node* node, *next; 199 Efl_Ui_List_View_Seg_Array_Node* node, *next;
200 Efl_Ui_View_List_LayoutItem* item; 200 Efl_Ui_List_View_Layout_Item* item;
201 201
202 item = _create_item_partial(model); 202 item = _create_item_partial(model);
203 203
@@ -207,34 +207,34 @@ _efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray
207 { 207 {
208 next = (void*)EINA_RBTREE_GET(node)->son[EINA_RBTREE_LEFT]; 208 next = (void*)EINA_RBTREE_GET(node)->son[EINA_RBTREE_LEFT];
209 if(next && next->first <= index) 209 if(next && next->first <= index)
210 _efl_ui_view_list_segarray_insert_at_node(pd, index, item, next); 210 _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, next);
211 else 211 else
212 _efl_ui_view_list_segarray_insert_at_node(pd, index, item, node); 212 _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, node);
213 } 213 }
214 else 214 else
215 _efl_ui_view_list_segarray_insert_at_node(pd, index, item, NULL); 215 _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, NULL);
216} 216}
217 217
218static void 218static void
219efl_ui_view_list_segarray_insert_object(Efl_Ui_View_List_SegArray_Data *segarray, unsigned int index, Efl_Model *children) 219efl_ui_list_view_seg_array_insert_object(Efl_Ui_List_View_Seg_Array_Data *seg_array, unsigned int index, Efl_Model *children)
220{ 220{
221 Efl_Ui_View_List_SegArray_Node *node; 221 Efl_Ui_List_View_Seg_Array_Node *node;
222 222
223 node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(segarray->root), 223 node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(seg_array->root),
224 &index, sizeof(index), &_insert_lookup_cb, NULL); 224 &index, sizeof(index), &_insert_lookup_cb, NULL);
225 if (!node) 225 if (!node)
226 { 226 {
227 node = _alloc_node(segarray, index); 227 node = _alloc_node(seg_array, index);
228 } 228 }
229 229
230 assert(node->length < node->max); 230 assert(node->length < node->max);
231 node->pointers[node->length] = _create_item(children, node, index); 231 node->pointers[node->length] = _create_item(children, node, index);
232 node->length++; 232 node->length++;
233 segarray->count++; 233 seg_array->count++;
234} 234}
235 235
236EOLIAN static void 236EOLIAN static void
237_efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *segarray, int first, Eina_Value v) 237_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)
238{ 238{
239 Efl_Model *children; 239 Efl_Model *children;
240 unsigned int i, len; 240 unsigned int i, len;
@@ -242,7 +242,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
242 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_OBJECT) 242 if (eina_value_type_get(&v) == EINA_VALUE_TYPE_OBJECT)
243 { 243 {
244 children = eina_value_object_get(&v); 244 children = eina_value_object_get(&v);
245 efl_ui_view_list_segarray_insert_object(segarray, first, children); 245 efl_ui_list_view_seg_array_insert_object(seg_array, first, children);
246 } 246 }
247 else if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ARRAY) 247 else if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ARRAY)
248 { 248 {
@@ -250,7 +250,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
250 { 250 {
251 unsigned int idx = first + i; 251 unsigned int idx = first + i;
252 252
253 efl_ui_view_list_segarray_insert_object(segarray, idx, children); 253 efl_ui_list_view_seg_array_insert_object(seg_array, idx, children);
254 } 254 }
255 } 255 }
256 else 256 else
@@ -260,28 +260,28 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
260} 260}
261 261
262EOLIAN static int 262EOLIAN static int
263_efl_ui_view_list_segarray_count(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) 263_efl_ui_list_view_seg_array_count(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
264{ 264{
265 return pd->count; 265 return pd->count;
266} 266}
267 267
268typedef struct _Efl_Ui_View_List_Segarray_Eina_Accessor 268typedef struct _Efl_Ui_List_View_Segarray_Eina_Accessor
269{ 269{
270 Eina_Accessor vtable; 270 Eina_Accessor vtable;
271 Efl_Ui_View_List_SegArray_Data* segarray; 271 Efl_Ui_List_View_Seg_Array_Data* seg_array;
272} Efl_Ui_View_List_Segarray_Eina_Accessor; 272} Efl_Ui_List_View_Segarray_Eina_Accessor;
273 273
274static Eina_Bool 274static Eina_Bool
275_efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Accessor* acc, 275_efl_ui_list_view_seg_array_accessor_get_at(Efl_Ui_List_View_Segarray_Eina_Accessor* acc,
276 int idx, void** data) 276 int idx, void** data)
277{ 277{
278 Efl_Ui_View_List_SegArray_Node* node; 278 Efl_Ui_List_View_Seg_Array_Node* node;
279 node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->segarray->root), 279 node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->seg_array->root),
280 &idx, sizeof(idx), &_search_lookup_cb, NULL); 280 &idx, sizeof(idx), &_search_lookup_cb, NULL);
281 if (node && (node->first <= idx && node->first + node->length > idx)) 281 if (node && (node->first <= idx && node->first + node->length > idx))
282 { 282 {
283 int i = idx - node->first; 283 int i = idx - node->first;
284 Efl_Ui_View_List_LayoutItem* item = node->pointers[i]; 284 Efl_Ui_List_View_Layout_Item* item = node->pointers[i];
285 *data = item; 285 *data = item;
286 return EINA_TRUE; 286 return EINA_TRUE;
287 } 287 }
@@ -289,13 +289,13 @@ _efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Access
289} 289}
290 290
291EOLIAN static void 291EOLIAN static void
292_efl_ui_view_list_segarray_setup(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int size) 292_efl_ui_list_view_seg_array_setup(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int size)
293{ 293{
294 pd->step_size = size; 294 pd->step_size = size;
295} 295}
296 296
297EOLIAN static Eo * 297EOLIAN static Eo *
298_efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd EINA_UNUSED) 298_efl_ui_list_view_seg_array_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd EINA_UNUSED)
299{ 299{
300 obj = efl_constructor(efl_super(obj, MY_CLASS)); 300 obj = efl_constructor(efl_super(obj, MY_CLASS));
301 301
@@ -303,7 +303,7 @@ _efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegA
303} 303}
304 304
305EOLIAN static void 305EOLIAN static void
306_efl_ui_view_list_segarray_efl_object_destructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd) 306_efl_ui_list_view_seg_array_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd)
307{ 307{
308 if (pd->root) 308 if (pd->root)
309 eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL); 309 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
313} 313}
314 314
315static void* 315static void*
316_efl_ui_view_list_segarray_accessor_get_container(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) 316_efl_ui_list_view_seg_array_accessor_get_container(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
317{ 317{
318 return NULL; 318 return NULL;
319} 319}
320 320
321static void 321static void
322_efl_ui_view_list_segarray_accessor_free(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) 322_efl_ui_list_view_seg_array_accessor_free(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
323{ 323{
324 free(acc); 324 free(acc);
325} 325}
326 326
327static Eina_Bool 327static Eina_Bool
328_efl_ui_view_list_segarray_accessor_lock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) 328_efl_ui_list_view_seg_array_accessor_lock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
329{ 329{
330 return EINA_FALSE; 330 return EINA_FALSE;
331} 331}
332 332
333static Eina_Bool 333static Eina_Bool
334_efl_ui_view_list_segarray_accessor_unlock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) 334_efl_ui_list_view_seg_array_accessor_unlock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
335{ 335{
336 return EINA_FALSE; 336 return EINA_FALSE;
337} 337}
338 338
339static Eina_Accessor* 339static Eina_Accessor*
340_efl_ui_view_list_segarray_accessor_clone(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) 340_efl_ui_list_view_seg_array_accessor_clone(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
341{ 341{
342 return &acc->vtable; 342 return &acc->vtable;
343} 343}
344 344
345static void 345static void
346_efl_ui_view_list_segarray_accessor_setup(Efl_Ui_View_List_Segarray_Eina_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray) 346_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)
347{ 347{
348 EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR); 348 EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
349 acc->vtable.version = EINA_ACCESSOR_VERSION; 349 acc->vtable.version = EINA_ACCESSOR_VERSION;
350 acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_accessor_get_at); 350 acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_accessor_get_at);
351 acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_accessor_get_container); 351 acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_accessor_get_container);
352 acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_accessor_free); 352 acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_accessor_free);
353 acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_lock); 353 acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_lock);
354 acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_unlock); 354 acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_unlock);
355 acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_accessor_clone); 355 acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_accessor_clone);
356 acc->segarray = segarray; 356 acc->seg_array = seg_array;
357} 357}
358 358
359EOLIAN static Eina_Accessor* 359EOLIAN static Eina_Accessor*
360_efl_ui_view_list_segarray_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) 360_efl_ui_list_view_seg_array_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
361{ 361{
362 Efl_Ui_View_List_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Eina_Accessor)); 362 Efl_Ui_List_View_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Eina_Accessor));
363 _efl_ui_view_list_segarray_accessor_setup(acc, pd); 363 _efl_ui_list_view_seg_array_accessor_setup(acc, pd);
364 return &acc->vtable; 364 return &acc->vtable;
365} 365}
366 366
367typedef struct _Efl_Ui_View_List_Segarray_Node_Accessor 367typedef struct _Efl_Ui_List_View_Segarray_Node_Accessor
368{ 368{
369 Eina_Accessor vtable; 369 Eina_Accessor vtable;
370 Efl_Ui_View_List_SegArray_Data* segarray; 370 Efl_Ui_List_View_Seg_Array_Data* seg_array;
371 Eina_Iterator* pre_iterator; 371 Eina_Iterator* pre_iterator;
372 Efl_Ui_View_List_SegArray_Node* current_node; 372 Efl_Ui_List_View_Seg_Array_Node* current_node;
373 int current_index; 373 int current_index;
374} Efl_Ui_View_List_Segarray_Node_Accessor; 374} Efl_Ui_List_View_Segarray_Node_Accessor;
375 375
376static Eina_Bool 376static Eina_Bool
377_efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_Accessor* acc, 377_efl_ui_list_view_seg_array_node_accessor_get_at(Efl_Ui_List_View_Segarray_Node_Accessor* acc,
378 int idx, void** data) 378 int idx, void** data)
379{ 379{
380 if(idx == acc->current_index && acc->current_node) 380 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
392 } 392 }
393 393
394 if(!acc->pre_iterator) 394 if(!acc->pre_iterator)
395 acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->segarray->root); 395 acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->seg_array->root);
396 396
397 for(;acc->current_index != idx;++acc->current_index) 397 for(;acc->current_index != idx;++acc->current_index)
398 { 398 {
@@ -409,13 +409,13 @@ _efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_A
409} 409}
410 410
411static void* 411static void*
412_efl_ui_view_list_segarray_node_accessor_get_container(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) 412_efl_ui_list_view_seg_array_node_accessor_get_container(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
413{ 413{
414 return NULL; 414 return NULL;
415} 415}
416 416
417static void 417static void
418_efl_ui_view_list_segarray_node_accessor_free(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) 418_efl_ui_list_view_seg_array_node_accessor_free(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
419{ 419{
420 if (acc->pre_iterator) 420 if (acc->pre_iterator)
421 eina_iterator_free(acc->pre_iterator); 421 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
423} 423}
424 424
425static Eina_Bool 425static Eina_Bool
426_efl_ui_view_list_segarray_node_accessor_lock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) 426_efl_ui_list_view_seg_array_node_accessor_lock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
427{ 427{
428 return EINA_FALSE; 428 return EINA_FALSE;
429} 429}
430 430
431static Eina_Bool 431static Eina_Bool
432_efl_ui_view_list_segarray_node_accessor_unlock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) 432_efl_ui_list_view_seg_array_node_accessor_unlock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
433{ 433{
434 return EINA_FALSE; 434 return EINA_FALSE;
435} 435}
436 436
437static Eina_Accessor* 437static Eina_Accessor*
438_efl_ui_view_list_segarray_node_accessor_clone(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) 438_efl_ui_list_view_seg_array_node_accessor_clone(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
439{ 439{
440 return &acc->vtable; 440 return &acc->vtable;
441} 441}
442 442
443static void 443static void
444_efl_ui_view_list_segarray_node_accessor_setup(Efl_Ui_View_List_Segarray_Node_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray) 444_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)
445{ 445{
446 EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR); 446 EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
447 acc->vtable.version = EINA_ACCESSOR_VERSION; 447 acc->vtable.version = EINA_ACCESSOR_VERSION;
448 acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_node_accessor_get_at); 448 acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_node_accessor_get_at);
449 acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_node_accessor_get_container); 449 acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_node_accessor_get_container);
450 acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_node_accessor_free); 450 acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_node_accessor_free);
451 acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_lock); 451 acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_lock);
452 acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_unlock); 452 acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_unlock);
453 acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_node_accessor_clone); 453 acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_node_accessor_clone);
454 acc->segarray = segarray; 454 acc->seg_array = seg_array;
455 acc->pre_iterator = NULL; 455 acc->pre_iterator = NULL;
456 acc->current_index = -1; 456 acc->current_index = -1;
457 acc->current_node = NULL; 457 acc->current_node = NULL;
458} 458}
459 459
460EOLIAN static Eina_Accessor* 460EOLIAN static Eina_Accessor*
461_efl_ui_view_list_segarray_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) 461_efl_ui_list_view_seg_array_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
462{ 462{
463 Efl_Ui_View_List_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Node_Accessor)); 463 Efl_Ui_List_View_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Node_Accessor));
464 _efl_ui_view_list_segarray_node_accessor_setup(acc, pd); 464 _efl_ui_list_view_seg_array_node_accessor_setup(acc, pd);
465 return &acc->vtable; 465 return &acc->vtable;
466} 466}
467 467
468int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem* item) 468int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item* item)
469{ 469{
470 Efl_Ui_View_List_SegArray_Node* node = item->tree_node; 470 Efl_Ui_List_View_Seg_Array_Node* node = item->tree_node;
471 return item->index_offset + node->first; 471 return item->index_offset + node->first;
472} 472}
473 473
474#include "efl_ui_view_list_segarray.eo.c" 474#include "efl_ui_list_view_seg_array.eo.c"
diff --git a/src/lib/elementary/efl_ui_view_list_segarray.eo b/src/lib/elementary/efl_ui_list_view_seg_array.eo
index a3bc275976..197828e005 100644
--- a/src/lib/elementary/efl_ui_view_list_segarray.eo
+++ b/src/lib/elementary/efl_ui_list_view_seg_array.eo
@@ -1,22 +1,22 @@
1import efl_ui_view_list_types; 1import efl_ui_list_view_types;
2 2
3class Efl.Ui.View_List_SegArray (Efl.Object) 3class Efl.Ui.List_View_Seg_Array (Efl.Object)
4{ 4{
5 methods { 5 methods {
6 @property accessor { 6 @property accessor {
7 get { 7 get {
8 [[ Get a SegArray List items accessor ]] 8 [[ Get a Seg_Array List items accessor ]]
9 } 9 }
10 values { 10 values {
11 acc: accessor<ptr(Efl.Ui.View.List.LayoutItem)>; 11 acc: accessor<ptr(Efl.Ui.List_View_Layout_Item)>;
12 } 12 }
13 } 13 }
14 @property node_accessor { 14 @property node_accessor {
15 get { 15 get {
16 [[ Get a SegArray node accessor ]] 16 [[ Get a Seg_Array node accessor ]]
17 } 17 }
18 values { 18 values {
19 acc: accessor<ptr(Efl.Ui.View.List.SegArray.Node)>; 19 acc: accessor<ptr(Efl.Ui.List_View_Seg_Array_Node)>;
20 } 20 }
21 } 21 }
22 insert_value { 22 insert_value {
@@ -27,31 +27,31 @@ class Efl.Ui.View_List_SegArray (Efl.Object)
27 } 27 }
28 } 28 }
29 count { 29 count {
30 [[ Get the number of items in SegArray tree ]] 30 [[ Get the number of items in Seg_Array tree ]]
31 return: int; 31 return: int;
32 } 32 }
33 setup { 33 setup {
34 [[ Configure a step of SegArray tree, this is the max node size ]] 34 [[ Configure a step of Seg_Array tree, this is the max node size ]]
35 params { 35 params {
36 @in initial_step_size: int; 36 @in initial_step_size: int;
37 } 37 }
38 } 38 }
39 flush { 39 flush {
40 [[ flush the SegArray tree ]] 40 [[ flush the Seg_Array tree ]]
41 } 41 }
42 insert { 42 insert {
43 [[ Insert a new model in SegArray tree at index position ]] 43 [[ Insert a new model in Seg_Array tree at index position ]]
44 params { 44 params {
45 @in index: int; 45 @in index: int;
46 @in model: Efl.Model; 46 @in model: Efl.Model;
47 } 47 }
48 } 48 }
49 remove { 49 remove {
50 [[ Remove the item at index position in SegArray tree ]] 50 [[ Remove the item at index position in Seg_Array tree ]]
51 params { 51 params {
52 @in index: int; 52 @in index: int;
53 } 53 }
54 return: ptr(Efl.Ui.View.List.LayoutItem) @owned; 54 return: ptr(Efl.Ui.List_View_Layout_Item) @owned;
55 } 55 }
56 } 56 }
57 implements { 57 implements {
diff --git a/src/lib/elementary/efl_ui_list_view_seg_array.h b/src/lib/elementary/efl_ui_list_view_seg_array.h
new file mode 100644
index 0000000000..2461534cc5
--- /dev/null
+++ b/src/lib/elementary/efl_ui_list_view_seg_array.h
@@ -0,0 +1,28 @@
1#ifndef EFL_UI_LIST_VIEW_SEG_ARRAY_H
2#define EFL_UI_LIST_VIEW_SEG_ARRAY_H
3
4typedef struct _Efl_Ui_List_View_Item Efl_Ui_List_View_Item;
5
6typedef struct _Efl_Ui_List_View_SegArray_Node
7{
8 EINA_RBTREE;
9
10 int length;
11 int max;
12 int first;
13
14 void* layout_data;
15
16 Efl_Ui_List_View_Layout_Item* pointers[0];
17} Efl_Ui_List_View_Seg_Array_Node;
18
19typedef struct _Efl_Ui_List_View_Seg_Array_Data
20{
21 Efl_Ui_List_View_Seg_Array_Node *root;
22
23 int step_size;
24 int node_count;
25 int count;
26} Efl_Ui_List_View_Seg_Array_Data;
27
28#endif
diff --git a/src/lib/elementary/efl_ui_view_list_types.eot b/src/lib/elementary/efl_ui_list_view_types.eot
index 6996903082..fe7d03e292 100644
--- a/src/lib/elementary/efl_ui_view_list_types.eot
+++ b/src/lib/elementary/efl_ui_list_view_types.eot
@@ -1,4 +1,4 @@
1struct Efl.Ui.View.List.LayoutItem { 1struct Efl.Ui.List_View_Layout_Item {
2 layout: Efl.Ui.Layout.Object; 2 layout: Efl.Ui.Layout.Object;
3 children: Efl.Model; 3 children: Efl.Model;
4 index_offset: int; 4 index_offset: int;
@@ -8,4 +8,4 @@ struct Efl.Ui.View.List.LayoutItem {
8 pos: Eina.Position2D; 8 pos: Eina.Position2D;
9} 9}
10 10
11struct @extern Efl.Ui.View.List.SegArray.Node; [[ ]] 11struct @extern Efl.Ui.List_View_Seg_Array_Node; [[ ]]
diff --git a/src/lib/elementary/efl_ui_view_list_precise_layouter.eo b/src/lib/elementary/efl_ui_view_list_precise_layouter.eo
deleted file mode 100644
index 690f927fb5..0000000000
--- a/src/lib/elementary/efl_ui_view_list_precise_layouter.eo
+++ /dev/null
@@ -1,9 +0,0 @@
1class Efl.Ui.View_List_Precise_Layouter (Efl.Object, Efl.Ui.View_List_Relayout)
2{
3 implements {
4 Efl.Object.constructor;
5 Efl.Ui.View_List_Relayout.layout_do;
6 Efl.Ui.View_List_Relayout.model { set; }
7 Efl.Ui.View_List_Relayout.elements { get; }
8 }
9}
diff --git a/src/lib/elementary/efl_ui_view_list_segarray.h b/src/lib/elementary/efl_ui_view_list_segarray.h
deleted file mode 100644
index 8848331ba9..0000000000
--- a/src/lib/elementary/efl_ui_view_list_segarray.h
+++ /dev/null
@@ -1,28 +0,0 @@
1#ifndef EFL_UI_LIST_SEGARRAY_H
2#define EFL_UI_LIST_SEGARRAY_H
3
4typedef struct _Efl_Ui_View_List_Item Efl_Ui_View_List_Item;
5
6typedef struct _Efl_Ui_View_List_SegArray_Node
7{
8 EINA_RBTREE;
9
10 int length;
11 int max;
12 int first;
13
14 void* layout_data;
15
16 Efl_Ui_View_List_LayoutItem* pointers[0];
17} Efl_Ui_View_List_SegArray_Node;
18
19typedef struct _Efl_Ui_View_List_SegArray_Data
20{
21 Efl_Ui_View_List_SegArray_Node *root;
22
23 int step_size;
24 int node_count;
25 int count;
26} Efl_Ui_View_List_SegArray_Data;
27
28#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index c355402122..e78ab65a8d 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -106,7 +106,7 @@ pub_legacy_eo_files = [
106 'elm_table.eo', 106 'elm_table.eo',
107 'elm_thumb.eo', 107 'elm_thumb.eo',
108 'efl_ui_textpath_legacy.eo', 108 'efl_ui_textpath_legacy.eo',
109 'efl_ui_view_list_precise_layouter.eo' 109 'efl_ui_list_view_precise_layouter.eo'
110] 110]
111 111
112pub_eo_file_target = [] 112pub_eo_file_target = []
@@ -205,11 +205,11 @@ pub_eo_files = [
205 'efl_ui_layout_part_table.eo', 205 'efl_ui_layout_part_table.eo',
206 'efl_ui_layout_part_bg.eo', 206 'efl_ui_layout_part_bg.eo',
207 'efl_ui_layout_part_legacy.eo', 207 'efl_ui_layout_part_legacy.eo',
208 'efl_ui_view_list.eo', 208 'efl_ui_list_view.eo',
209 'efl_ui_view_list_model.eo', 209 'efl_ui_list_view_model.eo',
210 'efl_ui_view_list_pan.eo', 210 'efl_ui_list_view_pan.eo',
211 'efl_ui_view_list_segarray.eo', 211 'efl_ui_list_view_seg_array.eo',
212 'efl_ui_view_list_relayout.eo', 212 'efl_ui_list_view_relayout.eo',
213 'efl_ui_item.eo', 213 'efl_ui_item.eo',
214 'efl_ui_list_item.eo', 214 'efl_ui_list_item.eo',
215 'efl_ui_list_default_item_part_icon.eo', 215 'efl_ui_list_default_item_part_icon.eo',
@@ -304,7 +304,7 @@ endforeach
304pub_eo_types_files = [ 304pub_eo_types_files = [
305 'elm_general.eot', 305 'elm_general.eot',
306 'efl_ui.eot', 306 'efl_ui.eot',
307 'efl_ui_view_list_types.eot', 307 'efl_ui_list_view_types.eot',
308 'efl_selection_types.eot', 308 'efl_selection_types.eot',
309 'efl_ui_dnd_types.eot' 309 'efl_ui_dnd_types.eot'
310] 310]
@@ -440,8 +440,8 @@ elementary_headers_unstable = [
440 'efl_ui_item_private.h', 440 'efl_ui_item_private.h',
441 'efl_ui_list_item_private.h', 441 'efl_ui_list_item_private.h',
442 'efl_ui_list_private.h', 442 'efl_ui_list_private.h',
443 'efl_ui_view_list_private.h', 443 'efl_ui_list_view_private.h',
444 'efl_ui_view_list_segarray.h', 444 'efl_ui_list_view_seg_array.h',
445 'elm_widget_web.h', 445 'elm_widget_web.h',
446 'efl_ui_clock.h', 446 'efl_ui_clock.h',
447 'elm_code.h', 447 'elm_code.h',
@@ -864,9 +864,9 @@ elementary_src = [
864 'efl_ui_list_default_item.c', 864 'efl_ui_list_default_item.c',
865 'efl_ui_list_empty_item.c', 865 'efl_ui_list_empty_item.c',
866 'efl_ui_list.c', 866 'efl_ui_list.c',
867 'efl_ui_view_list.c', 867 'efl_ui_list_view.c',
868 'efl_ui_view_list_precise_layouter.c', 868 'efl_ui_list_view_precise_layouter.c',
869 'efl_ui_view_list_segarray.c', 869 'efl_ui_list_view_seg_array.c',
870 'efl_ui_layout_factory.c', 870 'efl_ui_layout_factory.c',
871 'efl_ui_scroller.c', 871 'efl_ui_scroller.c',
872 'efl_ui_scroll_manager.c', 872 'efl_ui_scroll_manager.c',