efl_ui : change efl_ui_view_list to efl_ui_list_view.

Summary:
  View is not a namespace, but an interface,
  So, View_List cannot be under the view namespace for now.
  it looks more suite to be end as View than List on this widget name.
  Firstly, it follows our common naming rules of class.
  Also, List_View is commonly presentable name on most UI frameworks,
  so it is very easy to understand what this widget can do for the user.

Test Plan:
Make works.
           Example is not works for now til stable model interface.

Reviewers: felipealmeida, woohyun, cedric, Hermet

Reviewed By: Hermet

Subscribers: larryolj, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7234
This commit is contained in:
SangHyeon Jade Lee 2018-11-05 14:27:05 +09:00 committed by Hermet Park
parent c4e0d3f69d
commit e97b6b72be
23 changed files with 524 additions and 524 deletions

View File

@ -2,7 +2,7 @@ group { "efl/list";
inherit: "efl/scroller"; inherit: "efl/scroller";
} }
group { "efl/view_list"; group { "efl/list_view";
inherit: "efl/list"; inherit: "efl/list";
} }

View File

@ -78,11 +78,11 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_layout_part_table.eo \ lib/elementary/efl_ui_layout_part_table.eo \
lib/elementary/efl_ui_layout_part_bg.eo \ lib/elementary/efl_ui_layout_part_bg.eo \
lib/elementary/efl_ui_layout_part_legacy.eo \ lib/elementary/efl_ui_layout_part_legacy.eo \
lib/elementary/efl_ui_view_list.eo \ lib/elementary/efl_ui_list_view.eo \
lib/elementary/efl_ui_view_list_model.eo \ lib/elementary/efl_ui_list_view_model.eo \
lib/elementary/efl_ui_view_list_pan.eo \ lib/elementary/efl_ui_list_view_pan.eo \
lib/elementary/efl_ui_view_list_segarray.eo \ lib/elementary/efl_ui_list_view_seg_array.eo \
lib/elementary/efl_ui_view_list_relayout.eo \ lib/elementary/efl_ui_list_view_relayout.eo \
lib/elementary/efl_ui_item.eo \ lib/elementary/efl_ui_item.eo \
lib/elementary/efl_ui_list_item.eo \ lib/elementary/efl_ui_list_item.eo \
lib/elementary/efl_ui_list_default_item_part_icon.eo \ lib/elementary/efl_ui_list_default_item_part_icon.eo \
@ -276,13 +276,13 @@ elm_legacy_eolian_files = \
lib/elementary/elm_slideshow_item.eo \ lib/elementary/elm_slideshow_item.eo \
lib/elementary/elm_table.eo \ lib/elementary/elm_table.eo \
lib/elementary/elm_thumb.eo \ lib/elementary/elm_thumb.eo \
lib/elementary/efl_ui_view_list_precise_layouter.eo \ lib/elementary/efl_ui_list_view_precise_layouter.eo \
$(NULL) $(NULL)
elm_eolian_type_files = \ elm_eolian_type_files = \
lib/elementary/elm_general.eot \ lib/elementary/elm_general.eot \
lib/elementary/efl_ui.eot \ lib/elementary/efl_ui.eot \
lib/elementary/efl_ui_view_list_types.eot \ lib/elementary/efl_ui_list_view_types.eot \
lib/elementary/efl_selection_types.eot \ lib/elementary/efl_selection_types.eot \
lib/elementary/efl_ui_dnd_types.eot lib/elementary/efl_ui_dnd_types.eot
@ -414,8 +414,8 @@ includesunstable_HEADERS = \
lib/elementary/efl_ui_item_private.h \ lib/elementary/efl_ui_item_private.h \
lib/elementary/efl_ui_list_item_private.h \ lib/elementary/efl_ui_list_item_private.h \
lib/elementary/efl_ui_list_private.h \ lib/elementary/efl_ui_list_private.h \
lib/elementary/efl_ui_view_list_private.h \ lib/elementary/efl_ui_list_view_private.h \
lib/elementary/efl_ui_view_list_segarray.h \ lib/elementary/efl_ui_list_view_seg_array.h \
lib/elementary/elm_widget_web.h \ lib/elementary/elm_widget_web.h \
lib/elementary/efl_ui_clock.h \ lib/elementary/efl_ui_clock.h \
lib/elementary/elm_code.h \ lib/elementary/elm_code.h \
@ -842,9 +842,9 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/efl_ui_list_default_item.c \ lib/elementary/efl_ui_list_default_item.c \
lib/elementary/efl_ui_list_empty_item.c \ lib/elementary/efl_ui_list_empty_item.c \
lib/elementary/efl_ui_list.c \ lib/elementary/efl_ui_list.c \
lib/elementary/efl_ui_view_list.c \ lib/elementary/efl_ui_list_view.c \
lib/elementary/efl_ui_view_list_precise_layouter.c \ lib/elementary/efl_ui_list_view_precise_layouter.c \
lib/elementary/efl_ui_view_list_segarray.c \ lib/elementary/efl_ui_list_view_seg_array.c \
lib/elementary/efl_ui_layout_factory.c \ lib/elementary/efl_ui_layout_factory.c \
lib/elementary/efl_ui_scroller.c \ lib/elementary/efl_ui_scroller.c \
lib/elementary/efl_ui_scroll_manager.c \ lib/elementary/efl_ui_scroll_manager.c \

View File

@ -120,9 +120,9 @@ elementary/efl_thread_4.c \
elementary/efl_thread_5.c \ elementary/efl_thread_5.c \
elementary/efl_thread_6.c \ elementary/efl_thread_6.c \
elementary/efl_ui_list_example_1.c \ elementary/efl_ui_list_example_1.c \
elementary/efl_ui_view_list_example_1.c \ elementary/efl_ui_list_view_example_1.c \
elementary/efl_ui_view_list_example_2.c \ elementary/efl_ui_list_view_example_2.c \
elementary/efl_ui_view_list_example_3.c elementary/efl_ui_list_view_example_3.c
ELM_SRCS += \ ELM_SRCS += \
elementary/bg_cxx_example_01.cc \ elementary/bg_cxx_example_01.cc \
@ -153,7 +153,7 @@ elementary/evas3d_map_example.edc \
elementary/theme_example.edc \ elementary/theme_example.edc \
elementary/layout_example.edc \ elementary/layout_example.edc \
elementary/codegen_example.edc \ elementary/codegen_example.edc \
elementary/efl_ui_view_list_example.edc \ elementary/efl_ui_list_view_example.edc \
elementary/prefs_example_03.edc elementary/prefs_example_03.edc
ELM_EPCS = \ ELM_EPCS = \
@ -334,9 +334,9 @@ elementary/efl_thread_4 \
elementary/efl_thread_5 \ elementary/efl_thread_5 \
elementary/efl_thread_6 \ elementary/efl_thread_6 \
elementary/efl_ui_list_example_1 \ elementary/efl_ui_list_example_1 \
elementary/efl_ui_view_list_example_1 \ elementary/efl_ui_list_view_example_1 \
elementary/efl_ui_view_list_example_2 \ elementary/efl_ui_list_view_example_2 \
elementary/efl_ui_view_list_example_3 elementary/efl_ui_list_view_example_3
#benchmark3d #benchmark3d
#sphere-hunter #sphere-hunter

View File

@ -1,4 +1,4 @@
// gcc -o efl_ui_view_list_example_1 efl_ui_view_list_example_1.c `pkg-config --cflags --libs elementary` // gcc -o efl_ui_list_view_example_1 efl_ui_list_view_example_1.c `pkg-config --cflags --libs elementary`
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include "elementary_config.h" # include "elementary_config.h"
@ -24,7 +24,7 @@ char edj_path[PATH_MAX];
static void static void
_realized_cb(void *data, const Efl_Event *event) _realized_cb(void *data, const Efl_Event *event)
{ {
Efl_Ui_View_List_Item_Event *ie = event->info; Efl_Ui_List_View_Item_Event *ie = event->info;
if (!ie->layout) return; if (!ie->layout) return;
Efl_Ui_Layout_Object *layout = ie->layout; Efl_Ui_Layout_Object *layout = ie->layout;
@ -35,7 +35,7 @@ _realized_cb(void *data, const Efl_Event *event)
static void static void
_unrealized_cb(void *data EINA_UNUSED, const Efl_Event *event) _unrealized_cb(void *data EINA_UNUSED, const Efl_Event *event)
{ {
Efl_Ui_View_List_Item_Event *ie = event->info; Efl_Ui_List_View_Item_Event *ie = event->info;
efl_ui_view_model_set(ie->layout, NULL); efl_ui_view_model_set(ie->layout, NULL);
efl_del(ie->layout); efl_del(ie->layout);
@ -75,7 +75,7 @@ elm_main(int argc, char **argv)
Evas_Object *win, *li; Evas_Object *win, *li;
Eo *model; Eo *model;
win = elm_win_util_standard_add("viewlist", "Viewlist"); win = elm_win_util_standard_add("list_view", "List_View");
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_win_autodel_set(win, EINA_TRUE); elm_win_autodel_set(win, EINA_TRUE);
@ -87,12 +87,12 @@ elm_main(int argc, char **argv)
efl_ui_model_connect(factory, "efl.text", "name"); efl_ui_model_connect(factory, "efl.text", "name");
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
li = efl_add(EFL_UI_VIEW_LIST_CLASS, win); li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
efl_ui_view_list_layout_factory_set(li, factory); efl_ui_list_view_layout_factory_set(li, factory);
efl_ui_view_model_set(li, model); efl_ui_view_model_set(li, model);
efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_cb, NULL); efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_cb, NULL);
// efl_event_callback_add(li, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL); // efl_event_callback_add(li, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, _unrealized_cb, NULL);
elm_win_resize_object_add(win, li); elm_win_resize_object_add(win, li);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

View File

@ -1,4 +1,4 @@
// gcc -o efl_ui_view_list_example_2 efl_ui_view_list_example_2.c `pkg-config --cflags --libs elementary` // gcc -o efl_ui_list_view_example_2 efl_ui_list_view_example_2.c `pkg-config --cflags --libs elementary`
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include "config.h" # include "config.h"
@ -23,7 +23,7 @@ elm_main(int argc, char **argv)
Eo *model, *li; Eo *model, *li;
char *dirname; char *dirname;
win = elm_win_util_standard_add("viewlist", "Viewlist"); win = elm_win_util_standard_add("list_view2", "List_View2");
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_win_autodel_set(win, EINA_TRUE); elm_win_autodel_set(win, EINA_TRUE);
@ -36,8 +36,8 @@ elm_main(int argc, char **argv)
efl_ui_model_connect(factory, "efl.text", "filename"); efl_ui_model_connect(factory, "efl.text", "filename");
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
li = efl_add(EFL_UI_VIEW_LIST_CLASS, win); li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
efl_ui_view_list_layout_factory_set(li, factory); efl_ui_list_view_layout_factory_set(li, factory);
efl_ui_view_model_set(li, model); efl_ui_view_model_set(li, model);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

View File

@ -1,4 +1,4 @@
// gcc -o efl_ui_view_list_example_3 efl_ui_view_list_example_3.c `pkg-config --cflags --libs elementary` // gcc -o efl_ui_list_view_example_3 efl_ui_list_view_example_3.c `pkg-config --cflags --libs elementary`
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include "config.h" # include "config.h"
@ -113,21 +113,21 @@ static void
_bt_none_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) _bt_none_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{ {
Evas_Object *li = data; Evas_Object *li = data;
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE); efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_NONE);
} }
static void static void
_bt_donly_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) _bt_donly_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{ {
Evas_Object *li = data; Evas_Object *li = data;
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
} }
static void static void
_bt_default_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) _bt_default_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{ {
Evas_Object *li = data; Evas_Object *li = data;
efl_ui_view_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT); efl_ui_list_view_select_mode_set(li, ELM_OBJECT_SELECT_MODE_DEFAULT);
} }
static void static void
@ -146,7 +146,7 @@ _bt_unset_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
static void static void
_realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event) _realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event)
{ {
Efl_Ui_View_List_Item_Event *ie = event->info; Efl_Ui_List_View_Item_Event *ie = event->info;
evas_object_size_hint_weight_set(ie->layout, EVAS_HINT_EXPAND, 0); evas_object_size_hint_weight_set(ie->layout, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(ie->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(ie->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
@ -157,7 +157,7 @@ _realized_1_cb(void *data EINA_UNUSED, const Efl_Event *event)
static void static void
_realized_2_cb(void *data EINA_UNUSED, const Efl_Event *event) _realized_2_cb(void *data EINA_UNUSED, const Efl_Event *event)
{ {
Efl_Ui_View_List_Item_Event *ie = event->info; Efl_Ui_List_View_Item_Event *ie = event->info;
printf("relized 2\n"); printf("relized 2\n");
elm_object_focus_allow_set(ie->layout, EINA_TRUE); elm_object_focus_allow_set(ie->layout, EINA_TRUE);
@ -210,7 +210,7 @@ elm_main(int argc, char **argv)
priv = alloca(sizeof(Priv_Data)); priv = alloca(sizeof(Priv_Data));
memset(priv, 0, sizeof(Priv_Data)); memset(priv, 0, sizeof(Priv_Data));
win = elm_win_util_standard_add("viewlist", "Viewlist"); win = elm_win_util_standard_add("list_view3", "List_View3");
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_win_autodel_set(win, EINA_TRUE); elm_win_autodel_set(win, EINA_TRUE);
@ -225,22 +225,22 @@ elm_main(int argc, char **argv)
efl_ui_model_connect(factory, "efl.text", "filename"); efl_ui_model_connect(factory, "efl.text", "filename");
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
priv->list1 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model)); priv->list1 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
efl_event_callback_add(priv->list1, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_1_cb, priv); efl_event_callback_add(priv->list1, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_1_cb, priv);
evas_object_size_hint_weight_set(priv->list1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(priv->list1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(priv->list1, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(priv->list1, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, priv->list1); elm_box_pack_end(bx, priv->list1);
efl_ui_view_list_layout_factory_set(priv->list1, factory); efl_ui_list_view_layout_factory_set(priv->list1, factory);
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win); factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
efl_ui_model_connect(factory, "efl.text", "filename"); efl_ui_model_connect(factory, "efl.text", "filename");
efl_ui_model_connect(factory, "signal/efl,state,%v", "selected"); efl_ui_model_connect(factory, "signal/efl,state,%v", "selected");
efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
priv->list2 = efl_add(EFL_UI_VIEW_LIST_CLASS, win, efl_ui_view_model_set(efl_added, priv->model)); priv->list2 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, efl_ui_view_model_set(efl_added, priv->model));
efl_event_callback_add(priv->list2, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2); efl_event_callback_add(priv->list2, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, _realized_2_cb, priv->list2);
evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(priv->list2, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(priv->list2, EVAS_HINT_FILL, EVAS_HINT_FILL);
efl_ui_view_list_layout_factory_set(priv->list2, factory); efl_ui_list_view_layout_factory_set(priv->list2, factory);
vbx = elm_box_add(win); vbx = elm_box_add(win);
elm_box_pack_end(bx, vbx); elm_box_pack_end(bx, vbx);

View File

@ -334,13 +334,13 @@ typedef Eo Efl_Ui_Focus_Manager;
# include <efl_ui_list_default_item.eo.h> # include <efl_ui_list_default_item.eo.h>
# include <efl_ui_list_empty_item.eo.h> # include <efl_ui_list_empty_item.eo.h>
# include <efl_ui_list.eo.h> # include <efl_ui_list.eo.h>
# include <efl_ui_view_list_types.eot.h> # include <efl_ui_list_view_types.eot.h>
# include <efl_ui_view_list_segarray.h> # include <efl_ui_list_view_seg_array.h>
# include <efl_ui_view_list_segarray.eo.h> # include <efl_ui_list_view_seg_array.eo.h>
# include <efl_ui_view_list_model.eo.h> # include <efl_ui_list_view_model.eo.h>
# include <efl_ui_view_list_relayout.eo.h> # include <efl_ui_list_view_relayout.eo.h>
# include <efl_ui_view_list.eo.h> # include <efl_ui_list_view.eo.h>
# include <efl_ui_view_list_pan.eo.h> # include <efl_ui_list_view_pan.eo.h>
# include <efl_ui_pan.eo.h> # include <efl_ui_pan.eo.h>
# include <efl_ui_scroll_manager.eo.h> # include <efl_ui_scroll_manager.eo.h>
# include <efl_ui_scroller.eo.h> # include <efl_ui_scroller.eo.h>

View File

@ -10,15 +10,15 @@
#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED #define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED
#include <Elementary.h> #include <Elementary.h>
#include "efl_ui_view_list_private.h" #include "efl_ui_list_view_private.h"
#include "efl_ui_view_list_precise_layouter.eo.h" #include "efl_ui_list_view_precise_layouter.eo.h"
#include <assert.h> #include <assert.h>
#define MY_CLASS EFL_UI_VIEW_LIST_CLASS #define MY_CLASS EFL_UI_LIST_VIEW_CLASS
#define MY_CLASS_NAME "Efl.Ui.View.List" #define MY_CLASS_NAME "Efl.Ui.List_View"
#define MY_PAN_CLASS EFL_UI_VIEW_LIST_PAN_CLASS #define MY_PAN_CLASS EFL_UI_LIST_VIEW_PAN_CLASS
#define SIG_CHILD_ADDED "child,added" #define SIG_CHILD_ADDED "child,added"
#define SIG_CHILD_REMOVED "child,removed" #define SIG_CHILD_REMOVED "child,removed"
@ -30,9 +30,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{NULL, NULL} {NULL, NULL}
}; };
void _efl_ui_view_list_custom_layout(Efl_Ui_View_List *); void _efl_ui_list_view_custom_layout(Efl_Ui_List_View *);
void _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem*, Eina_Bool); void _efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item*, Eina_Bool);
static void _layout(Efl_Ui_View_List_Data* pd); static void _layout(Efl_Ui_List_View_Data* pd);
static Eina_Bool _key_action_move(Evas_Object *obj, const char *params); static Eina_Bool _key_action_move(Evas_Object *obj, const char *params);
static Eina_Bool _key_action_select(Evas_Object *obj, const char *params); static Eina_Bool _key_action_select(Evas_Object *obj, const char *params);
@ -46,14 +46,14 @@ static const Elm_Action key_actions[] = {
}; };
EOLIAN static void EOLIAN static void
_efl_ui_view_list_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) _efl_ui_list_view_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
{ {
evas_object_smart_changed(psd->wobj); evas_object_smart_changed(psd->wobj);
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd, Eina_Position2D pos) _efl_ui_list_view_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd, Eina_Position2D pos)
{ {
if ((pos.x == psd->gmt.x) && (pos.y == psd->gmt.y)) return; if ((pos.x == psd->gmt.x) && (pos.y == psd->gmt.y)) return;
@ -65,20 +65,20 @@ _efl_ui_view_list_pan_efl_ui_pan_pan_position_set(Eo *obj EINA_UNUSED, Efl_Ui_Vi
} }
EOLIAN static Eina_Position2D EOLIAN static Eina_Position2D
_efl_ui_view_list_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) _efl_ui_list_view_pan_efl_ui_pan_pan_position_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
{ {
return psd->gmt.pos; return psd->gmt.pos;
} }
EOLIAN static Eina_Position2D EOLIAN static Eina_Position2D
_efl_ui_view_list_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) _efl_ui_list_view_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
{ {
EFL_UI_VIEW_LIST_DATA_GET(psd->wobj, pd); EFL_UI_LIST_VIEW_DATA_GET(psd->wobj, pd);
Eina_Rect vgmt = {}; Eina_Rect vgmt = {};
Eina_Size2D min = {}; Eina_Size2D min = {};
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->scrl_mgr); vgmt = efl_ui_scrollable_viewport_geometry_get(pd->scrl_mgr);
min = efl_ui_view_list_model_min_size_get(psd->wobj); min = efl_ui_list_view_model_min_size_get(psd->wobj);
min.w = min.w - vgmt.w; min.w = min.w - vgmt.w;
if (min.w < 0) min.w = 0; if (min.w < 0) min.w = 0;
@ -89,50 +89,50 @@ _efl_ui_view_list_pan_efl_ui_pan_pan_position_max_get(const Eo *obj EINA_UNUSED,
} }
EOLIAN static Eina_Position2D EOLIAN static Eina_Position2D
_efl_ui_view_list_pan_efl_ui_pan_pan_position_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd EINA_UNUSED) _efl_ui_list_view_pan_efl_ui_pan_pan_position_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd EINA_UNUSED)
{ {
return EINA_POSITION2D(0, 0); return EINA_POSITION2D(0, 0);
} }
EOLIAN static Eina_Size2D EOLIAN static Eina_Size2D
_efl_ui_view_list_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Pan_Data *psd) _efl_ui_list_view_pan_efl_ui_pan_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Pan_Data *psd)
{ {
Eina_Size2D min = {}; Eina_Size2D min = {};
min = efl_ui_view_list_model_min_size_get(psd->wobj); min = efl_ui_list_view_model_min_size_get(psd->wobj);
return min; return min;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_pan_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Pan_Data *psd EINA_UNUSED) _efl_ui_list_view_pan_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Pan_Data *psd EINA_UNUSED)
{ {
efl_destructor(efl_super(obj, MY_PAN_CLASS)); efl_destructor(efl_super(obj, MY_PAN_CLASS));
} }
#include "efl_ui_view_list_pan.eo.c" #include "efl_ui_list_view_pan.eo.c"
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd, Eina_Position2D pos) _efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd, Eina_Position2D pos)
{ {
efl_ui_scrollable_content_pos_set(psd->scrl_mgr, pos); efl_ui_scrollable_content_pos_set(psd->scrl_mgr, pos);
} }
EOLIAN static Eina_Position2D EOLIAN static Eina_Position2D
_efl_ui_view_list_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) _efl_ui_list_view_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
{ {
Eina_Position2D pos = efl_ui_scrollable_content_pos_get(psd->scrl_mgr); Eina_Position2D pos = efl_ui_scrollable_content_pos_get(psd->scrl_mgr);
return pos; return pos;
} }
EOLIAN static Eina_Size2D EOLIAN static Eina_Size2D
_efl_ui_view_list_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) _efl_ui_list_view_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
{ {
Eina_Size2D size = efl_ui_scrollable_content_size_get(psd->scrl_mgr); Eina_Size2D size = efl_ui_scrollable_content_size_get(psd->scrl_mgr);
return size; return size;
} }
EOLIAN static Eina_Rect EOLIAN static Eina_Rect
_efl_ui_view_list_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *psd) _efl_ui_list_view_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *psd)
{ {
Eina_Rect gmt = efl_ui_scrollable_viewport_geometry_get(psd->scrl_mgr); Eina_Rect gmt = efl_ui_scrollable_viewport_geometry_get(psd->scrl_mgr);
return gmt; return gmt;
@ -172,7 +172,7 @@ _list_element_focused(void *data EINA_UNUSED, const Efl_Event *ev)
if (!focused) return; if (!focused) return;
EFL_UI_VIEW_LIST_DATA_GET(ev->object, pd); EFL_UI_LIST_VIEW_DATA_GET(ev->object, pd);
geom = efl_ui_focus_object_focus_geometry_get(focused); geom = efl_ui_focus_object_focus_geometry_get(focused);
pos = efl_ui_scrollable_content_pos_get(pd->scrl_mgr); pos = efl_ui_scrollable_content_pos_get(pd->scrl_mgr);
@ -185,16 +185,16 @@ static void
_on_item_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info) _on_item_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info)
{ {
Evas_Event_Mouse_Down *ev = event_info; Evas_Event_Mouse_Down *ev = event_info;
Efl_Ui_View_List_LayoutItem *item = data; Efl_Ui_List_View_Layout_Item *item = data;
if (ev->button != 1) return; if (ev->button != 1) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
_efl_ui_view_list_item_select_set(item, EINA_TRUE); _efl_ui_list_view_item_select_set(item, EINA_TRUE);
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Elm_Object_Select_Mode mode) _efl_ui_list_view_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Elm_Object_Select_Mode mode)
{ {
if (pd->select_mode == mode) if (pd->select_mode == mode)
return; return;
@ -203,37 +203,37 @@ _efl_ui_view_list_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd
} }
EOLIAN static Elm_Object_Select_Mode EOLIAN static Elm_Object_Select_Mode
_efl_ui_view_list_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return pd->select_mode; return pd->select_mode;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Stringshare *style) _efl_ui_list_view_default_style_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Stringshare *style)
{ {
eina_stringshare_replace(&pd->style, style); eina_stringshare_replace(&pd->style, style);
} }
EOLIAN static Eina_Stringshare * EOLIAN static Eina_Stringshare *
_efl_ui_view_list_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_default_style_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return pd->style; return pd->style;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Eina_Bool homogeneous) _efl_ui_list_view_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Eina_Bool homogeneous)
{ {
pd->homogeneous = homogeneous; pd->homogeneous = homogeneous;
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_view_list_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return pd->homogeneous; return pd->homogeneous;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Position2D pos) _efl_ui_list_view_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Position2D pos)
{ {
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y)) if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
return; return;
@ -243,7 +243,7 @@ _efl_ui_view_list_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_View_List_Data *pd
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D size) _efl_ui_list_view_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D size)
{ {
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, size.w, size.h)) if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, size.w, size.h))
return; return;
@ -254,22 +254,22 @@ _efl_ui_view_list_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Ei
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
_layout(pd); _layout(pd);
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_View_List_Data *pd EINA_UNUSED, Evas_Object *member) _efl_ui_list_view_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_List_View_Data *pd EINA_UNUSED, Evas_Object *member)
{ {
efl_canvas_group_member_add(efl_super(obj, MY_CLASS), member); efl_canvas_group_member_add(efl_super(obj, MY_CLASS), member);
} }
//Scrollable Implement //Scrollable Implement
static void static void
_efl_ui_view_list_bar_read_and_update(Eo *obj) _efl_ui_list_view_bar_read_and_update(Eo *obj)
{ {
EFL_UI_VIEW_LIST_DATA_GET(obj, pd); EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
double vx, vy; double vx, vy;
@ -284,30 +284,30 @@ _efl_ui_view_list_bar_read_and_update(Eo *obj)
} }
static void static void
_efl_ui_view_list_reload_cb(void *data, _efl_ui_list_view_reload_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
EFL_UI_VIEW_LIST_DATA_GET(data, pd); EFL_UI_LIST_VIEW_DATA_GET(data, pd);
efl_ui_scrollbar_bar_visibility_update(pd->scrl_mgr); efl_ui_scrollbar_bar_visibility_update(pd->scrl_mgr);
} }
static void static void
_efl_ui_view_list_vbar_drag_cb(void *data, _efl_ui_list_view_vbar_drag_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
_efl_ui_view_list_bar_read_and_update(data); _efl_ui_list_view_bar_read_and_update(data);
Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_VERTICAL; Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_VERTICAL;
efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type); efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
} }
static void static void
_efl_ui_view_list_vbar_press_cb(void *data, _efl_ui_list_view_vbar_press_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
@ -317,7 +317,7 @@ _efl_ui_view_list_vbar_press_cb(void *data,
} }
static void static void
_efl_ui_view_list_vbar_unpress_cb(void *data, _efl_ui_list_view_vbar_unpress_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
@ -327,14 +327,14 @@ _efl_ui_view_list_vbar_unpress_cb(void *data,
} }
static void static void
_efl_ui_view_list_edje_drag_start_cb(void *data, _efl_ui_list_view_edje_drag_start_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
EFL_UI_VIEW_LIST_DATA_GET(data, pd); EFL_UI_LIST_VIEW_DATA_GET(data, pd);
_efl_ui_view_list_bar_read_and_update(data); _efl_ui_list_view_bar_read_and_update(data);
pd->scrl_freeze = efl_ui_scrollable_scroll_freeze_get(pd->scrl_mgr); pd->scrl_freeze = efl_ui_scrollable_scroll_freeze_get(pd->scrl_mgr);
efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, EINA_TRUE); efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, EINA_TRUE);
@ -342,42 +342,42 @@ _efl_ui_view_list_edje_drag_start_cb(void *data,
} }
static void static void
_efl_ui_view_list_edje_drag_stop_cb(void *data, _efl_ui_list_view_edje_drag_stop_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
EFL_UI_VIEW_LIST_DATA_GET(data, pd); EFL_UI_LIST_VIEW_DATA_GET(data, pd);
_efl_ui_view_list_bar_read_and_update(data); _efl_ui_list_view_bar_read_and_update(data);
efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, pd->scrl_freeze); efl_ui_scrollable_scroll_freeze_set(pd->scrl_mgr, pd->scrl_freeze);
efl_event_callback_call(data, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL); efl_event_callback_call(data, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL);
} }
static void static void
_efl_ui_view_list_edje_drag_cb(void *data, _efl_ui_list_view_edje_drag_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
_efl_ui_view_list_bar_read_and_update(data); _efl_ui_list_view_bar_read_and_update(data);
} }
static void static void
_efl_ui_view_list_hbar_drag_cb(void *data, _efl_ui_list_view_hbar_drag_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
{ {
_efl_ui_view_list_bar_read_and_update(data); _efl_ui_list_view_bar_read_and_update(data);
Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_HORIZONTAL; Efl_Ui_Scrollbar_Direction type = EFL_UI_SCROLLBAR_DIRECTION_HORIZONTAL;
efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type); efl_event_callback_call(data, EFL_UI_SCROLLBAR_EVENT_BAR_DRAG, &type);
} }
static void static void
_efl_ui_view_list_hbar_press_cb(void *data, _efl_ui_list_view_hbar_press_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
@ -387,7 +387,7 @@ _efl_ui_view_list_hbar_press_cb(void *data,
} }
static void static void
_efl_ui_view_list_hbar_unpress_cb(void *data, _efl_ui_list_view_hbar_unpress_cb(void *data,
Evas_Object *obj EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *emission EINA_UNUSED,
const char *source EINA_UNUSED) const char *source EINA_UNUSED)
@ -397,10 +397,10 @@ _efl_ui_view_list_hbar_unpress_cb(void *data,
} }
static void static void
_efl_ui_view_list_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) _efl_ui_list_view_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{ {
Eo *obj = data; Eo *obj = data;
EFL_UI_VIEW_LIST_DATA_GET(obj, pd); EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
double width = 0.0, height = 0.0; double width = 0.0, height = 0.0;
@ -412,10 +412,10 @@ _efl_ui_view_list_bar_size_changed_cb(void *data, const Efl_Event *event EINA_UN
} }
static void static void
_efl_ui_view_list_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) _efl_ui_list_view_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{ {
Eo *obj = data; Eo *obj = data;
EFL_UI_VIEW_LIST_DATA_GET(obj, pd); EFL_UI_LIST_VIEW_DATA_GET(obj, pd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
double posx = 0.0, posy = 0.0; double posx = 0.0, posy = 0.0;
@ -427,7 +427,7 @@ _efl_ui_view_list_bar_pos_changed_cb(void *data, const Efl_Event *event EINA_UNU
} }
static void static void
_efl_ui_view_list_bar_show_cb(void *data, const Efl_Event *event) _efl_ui_list_view_bar_show_cb(void *data, const Efl_Event *event)
{ {
Eo *obj = data; Eo *obj = data;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@ -440,7 +440,7 @@ _efl_ui_view_list_bar_show_cb(void *data, const Efl_Event *event)
} }
static void static void
_efl_ui_view_list_bar_hide_cb(void *data, const Efl_Event *event) _efl_ui_list_view_bar_hide_cb(void *data, const Efl_Event *event)
{ {
Eo *obj = data; Eo *obj = data;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@ -453,7 +453,7 @@ _efl_ui_view_list_bar_hide_cb(void *data, const Efl_Event *event)
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_view_list_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) _efl_ui_list_view_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
{ {
Eina_Bool ok; Eina_Bool ok;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
@ -464,7 +464,7 @@ _efl_ui_view_list_efl_layout_signal_signal_callback_add(Eo *obj EINA_UNUSED, Efl
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_view_list_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) _efl_ui_list_view_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *sd EINA_UNUSED, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
{ {
Eina_Bool ok; Eina_Bool ok;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
@ -475,125 +475,125 @@ _efl_ui_view_list_efl_layout_signal_signal_callback_del(Eo *obj EINA_UNUSED, Efl
} }
static void static void
_efl_ui_view_list_edje_object_attach(Eo *obj) _efl_ui_list_view_edje_object_attach(Eo *obj)
{ {
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj); (obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
//Vertical bar //Vertical bar
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag", "efl.dragable.vbar", (obj, "drag", "efl.dragable.vbar",
_efl_ui_view_list_vbar_drag_cb, obj); _efl_ui_list_view_vbar_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,set", "efl.dragable.vbar", (obj, "drag,set", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,start", "efl.dragable.vbar", (obj, "drag,start", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_start_cb, obj); _efl_ui_list_view_edje_drag_start_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,stop", "efl.dragable.vbar", (obj, "drag,stop", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_stop_cb, obj); _efl_ui_list_view_edje_drag_stop_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,step", "efl.dragable.vbar", (obj, "drag,step", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,page", "efl.dragable.vbar", (obj, "drag,page", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "efl,vbar,press", "efl", (obj, "efl,vbar,press", "efl",
_efl_ui_view_list_vbar_press_cb, obj); _efl_ui_list_view_vbar_press_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "efl,vbar,unpress", "efl", (obj, "efl,vbar,unpress", "efl",
_efl_ui_view_list_vbar_unpress_cb, obj); _efl_ui_list_view_vbar_unpress_cb, obj);
//Horizontal bar //Horizontal bar
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag", "efl.dragable.hbar", (obj, "drag", "efl.dragable.hbar",
_efl_ui_view_list_hbar_drag_cb, obj); _efl_ui_list_view_hbar_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,set", "efl.dragable.hbar", (obj, "drag,set", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,start", "efl.dragable.hbar", (obj, "drag,start", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_start_cb, obj); _efl_ui_list_view_edje_drag_start_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,stop", "efl.dragable.hbar", (obj, "drag,stop", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_stop_cb, obj); _efl_ui_list_view_edje_drag_stop_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,step", "efl.dragable.hbar", (obj, "drag,step", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "drag,page", "efl.dragable.hbar", (obj, "drag,page", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "efl,hbar,press", "efl", (obj, "efl,hbar,press", "efl",
_efl_ui_view_list_hbar_press_cb, obj); _efl_ui_list_view_hbar_press_cb, obj);
efl_layout_signal_callback_add efl_layout_signal_callback_add
(obj, "efl,hbar,unpress", "efl", (obj, "efl,hbar,unpress", "efl",
_efl_ui_view_list_hbar_unpress_cb, obj); _efl_ui_list_view_hbar_unpress_cb, obj);
} }
static void static void
_efl_ui_view_list_edje_object_detach(Evas_Object *obj) _efl_ui_list_view_edje_object_detach(Evas_Object *obj)
{ {
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "reload", "efl", _efl_ui_view_list_reload_cb, obj); (obj, "reload", "efl", _efl_ui_list_view_reload_cb, obj);
//Vertical bar //Vertical bar
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag", "efl.dragable.vbar", _efl_ui_view_list_vbar_drag_cb, (obj, "drag", "efl.dragable.vbar", _efl_ui_list_view_vbar_drag_cb,
obj); obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,set", "efl.dragable.vbar", (obj, "drag,set", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,start", "efl.dragable.vbar", (obj, "drag,start", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_start_cb, obj); _efl_ui_list_view_edje_drag_start_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,stop", "efl.dragable.vbar", (obj, "drag,stop", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_stop_cb, obj); _efl_ui_list_view_edje_drag_stop_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,step", "efl.dragable.vbar", (obj, "drag,step", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,page", "efl.dragable.vbar", (obj, "drag,page", "efl.dragable.vbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "efl,vbar,press", "efl", (obj, "efl,vbar,press", "efl",
_efl_ui_view_list_vbar_press_cb, obj); _efl_ui_list_view_vbar_press_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "efl,vbar,unpress", "efl", (obj, "efl,vbar,unpress", "efl",
_efl_ui_view_list_vbar_unpress_cb, obj); _efl_ui_list_view_vbar_unpress_cb, obj);
//Horizontal bar //Horizontal bar
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag", "efl.dragable.hbar", (obj, "drag", "efl.dragable.hbar",
_efl_ui_view_list_hbar_drag_cb, obj); _efl_ui_list_view_hbar_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,set", "efl.dragable.hbar", (obj, "drag,set", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,start", "efl.dragable.hbar", (obj, "drag,start", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_start_cb, obj); _efl_ui_list_view_edje_drag_start_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,stop", "efl.dragable.hbar", (obj, "drag,stop", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_stop_cb, obj); _efl_ui_list_view_edje_drag_stop_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,step", "efl.dragable.hbar", (obj, "drag,step", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "drag,page", "efl.dragable.hbar", (obj, "drag,page", "efl.dragable.hbar",
_efl_ui_view_list_edje_drag_cb, obj); _efl_ui_list_view_edje_drag_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "efl,hbar,press", "efl", (obj, "efl,hbar,press", "efl",
_efl_ui_view_list_hbar_press_cb, obj); _efl_ui_list_view_hbar_press_cb, obj);
efl_layout_signal_callback_del efl_layout_signal_callback_del
(obj, "efl,hbar,unpress", "efl", (obj, "efl,hbar,unpress", "efl",
_efl_ui_view_list_hbar_unpress_cb, obj); _efl_ui_list_view_hbar_unpress_cb, obj);
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_canvas_group_group_add(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
Efl_Ui_View_List_Pan_Data *pan_data; Efl_Ui_List_View_Pan_Data *pan_data;
Eina_Size2D min = {}; Eina_Size2D min = {};
Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable; Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
Evas_Object *o; Evas_Object *o;
@ -605,7 +605,7 @@ _efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE);
if (!elm_layout_theme_set(obj, "view_list", "base", elm_widget_style_get(obj))) if (!elm_layout_theme_set(obj, "list_view", "base", elm_widget_style_get(obj)))
CRI("Failed to set layout!"); CRI("Failed to set layout!");
pd->scrl_mgr = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj, pd->scrl_mgr = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj,
@ -630,28 +630,28 @@ _efl_ui_view_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_View_List_Data *pd)
efl_gfx_size_hint_restricted_min_set(obj, min); efl_gfx_size_hint_restricted_min_set(obj, min);
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED, efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED,
_efl_ui_view_list_bar_size_changed_cb, obj); _efl_ui_list_view_bar_size_changed_cb, obj);
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED, efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED,
_efl_ui_view_list_bar_pos_changed_cb, obj); _efl_ui_list_view_bar_pos_changed_cb, obj);
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SHOW, efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_SHOW,
_efl_ui_view_list_bar_show_cb, obj); _efl_ui_list_view_bar_show_cb, obj);
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE, efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE,
_efl_ui_view_list_bar_hide_cb, obj); _efl_ui_list_view_bar_hide_cb, obj);
_efl_ui_view_list_edje_object_attach(obj); _efl_ui_list_view_edje_object_attach(obj);
elm_layout_sizing_eval(obj); elm_layout_sizing_eval(obj);
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_canvas_group_group_del(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_canvas_group_group_del(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
ELM_SAFE_FREE(pd->pan_obj, evas_object_del); ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
efl_canvas_group_del(efl_super(obj, MY_CLASS)); efl_canvas_group_del(efl_super(obj, MY_CLASS));
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_efl_ui_view_list_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root) _efl_ui_list_view_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root)
{ {
if (!pd->manager) if (!pd->manager)
pd->manager = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, obj, pd->manager = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, obj,
@ -661,7 +661,7 @@ _efl_ui_view_list_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_
} }
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_object_finalize(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
if (!pd->factory) if (!pd->factory)
@ -669,15 +669,15 @@ _efl_ui_view_list_efl_object_finalize(Eo *obj, Efl_Ui_View_List_Data *pd)
if(!pd->relayout) if(!pd->relayout)
{ {
pd->relayout = efl_add(EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS, obj); pd->relayout = efl_add(EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS, obj);
if (pd->model) if (pd->model)
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
} }
return obj; return obj;
} }
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
pd->obj = obj; pd->obj = obj;
@ -685,7 +685,7 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST); efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST);
pd->segarray = efl_add(EFL_UI_VIEW_LIST_SEGARRAY_CLASS, obj, efl_ui_view_list_segarray_setup(efl_added, 32)); pd->seg_array = efl_add(EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS, obj, efl_ui_list_view_seg_array_setup(efl_added, 32));
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL); efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL);
@ -702,14 +702,14 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
efl_ui_view_list_relayout_model_set(pd->relayout, NULL); efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
efl_unref(pd->model); efl_unref(pd->model);
eina_stringshare_del(pd->style); eina_stringshare_del(pd->style);
_efl_ui_view_list_edje_object_detach(obj); _efl_ui_list_view_edje_object_detach(obj);
ELM_SAFE_FREE(pd->pan_obj, evas_object_del); ELM_SAFE_FREE(pd->pan_obj, evas_object_del);
efl_canvas_group_del(efl_super(obj, MY_CLASS)); efl_canvas_group_del(efl_super(obj, MY_CLASS));
@ -718,7 +718,7 @@ _efl_ui_view_list_efl_object_destructor(Eo *obj, Efl_Ui_View_List_Data *pd)
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Ui_Factory *factory) _efl_ui_list_view_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Ui_Factory *factory)
{ {
if (pd->factory) if (pd->factory)
efl_unref(pd->factory); efl_unref(pd->factory);
@ -728,7 +728,7 @@ _efl_ui_view_list_layout_factory_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, Efl_Model *model) _efl_ui_list_view_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, Efl_Model *model)
{ {
if (pd->model == model) if (pd->model == model)
return; return;
@ -736,36 +736,36 @@ _efl_ui_view_list_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Da
if (pd->model) if (pd->model)
{ {
if (pd->relayout) if (pd->relayout)
efl_ui_view_list_relayout_model_set(pd->relayout, NULL); efl_ui_list_view_relayout_model_set(pd->relayout, NULL);
efl_ui_view_list_segarray_flush(pd->segarray); efl_ui_list_view_seg_array_flush(pd->seg_array);
} }
efl_replace(&pd->model, model); efl_replace(&pd->model, model);
if (pd->model && pd->relayout) if (pd->model && pd->relayout)
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
evas_object_smart_changed(pd->obj); evas_object_smart_changed(pd->obj);
} }
EOLIAN static Efl_Model * EOLIAN static Efl_Model *
_efl_ui_view_list_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return pd->model; return pd->model;
} }
EOLIAN int EOLIAN int
_efl_ui_view_list_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_access_selection_selected_children_count_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return eina_list_count(pd->selected_items); return eina_list_count(pd->selected_items);
} }
EOLIAN Eo* EOLIAN Eo*
_efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd, int child_index) _efl_ui_list_view_efl_access_selection_selected_child_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd, int child_index)
{ {
if(child_index < (int) eina_list_count(pd->selected_items)) if(child_index < (int) eina_list_count(pd->selected_items))
{ {
Efl_Ui_View_List_LayoutItem* items = eina_list_nth(pd->selected_items, child_index); Efl_Ui_List_View_Layout_Item* items = eina_list_nth(pd->selected_items, child_index);
return items[child_index].layout; return items[child_index].layout;
} }
else else
@ -773,37 +773,37 @@ _efl_ui_view_list_efl_access_selection_selected_child_get(const Eo *obj EINA_UNU
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_child_select(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED) _efl_ui_list_view_efl_access_selection_child_select(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_selected_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED) _efl_ui_list_view_efl_access_selection_selected_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_is_child_selected(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED) _efl_ui_list_view_efl_access_selection_is_child_selected(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) _efl_ui_list_view_efl_access_selection_all_children_select(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
{ {
return EINA_TRUE; return EINA_TRUE;
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) _efl_ui_list_view_efl_access_selection_access_selection_clear(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
{ {
return EINA_TRUE; return EINA_TRUE;
} }
EOLIAN Eina_Bool EOLIAN Eina_Bool
_efl_ui_view_list_efl_access_selection_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, int child_index EINA_UNUSED) _efl_ui_list_view_efl_access_selection_child_deselect(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, int child_index EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
@ -828,7 +828,7 @@ _key_action_escape(Evas_Object *obj, const char *params EINA_UNUSED)
} }
void void
_efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool selected) _efl_ui_list_view_item_select_set(Efl_Ui_List_View_Layout_Item *item, Eina_Bool selected)
{ {
Eina_Stringshare *sprop; Eina_Stringshare *sprop;
assert(item != NULL); assert(item != NULL);
@ -850,56 +850,56 @@ _efl_ui_view_list_item_select_set(Efl_Ui_View_List_LayoutItem *item, Eina_Bool s
} }
static void static void
_efl_ui_view_list_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_View_List_Relayout *object) _efl_ui_list_view_relayout_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_List_View_Relayout *object)
{ {
efl_replace(&pd->relayout, object); efl_replace(&pd->relayout, object);
if (pd->model && pd->relayout) if (pd->model && pd->relayout)
efl_ui_view_list_relayout_model_set(pd->relayout, pd->model); efl_ui_list_view_relayout_model_set(pd->relayout, pd->model);
} }
static Efl_Ui_View_List_Relayout * static Efl_Ui_List_View_Relayout *
_efl_ui_view_list_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd EINA_UNUSED) _efl_ui_list_view_relayout_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd EINA_UNUSED)
{ {
return pd->relayout; return pd->relayout;
} }
static void static void
_layout(Efl_Ui_View_List_Data *pd) _layout(Efl_Ui_List_View_Data *pd)
{ {
if (!pd->model) if (!pd->model)
return; return;
efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray); efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
} }
static Eina_Value static Eina_Value
_children_slice_then(void * data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED) _children_slice_then(void * data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED)
{ {
Efl_Ui_View_List_Data *pd = data; Efl_Ui_List_View_Data *pd = data;
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
goto on_error; goto on_error;
efl_ui_view_list_segarray_insert_value(pd->segarray, pd->slice.start, v); efl_ui_list_view_seg_array_insert_value(pd->seg_array, pd->slice.start, v);
pd->segarray_first = pd->slice.start; pd->seg_array_first = pd->slice.start;
pd->slice.start = pd->slice.count = 0; pd->slice.start = pd->slice.count = 0;
pd->slice.future = NULL; pd->slice.future = NULL;
efl_ui_view_list_relayout_layout_do(pd->relayout, pd->obj, pd->segarray_first, pd->segarray); efl_ui_list_view_relayout_layout_do(pd->relayout, pd->obj, pd->seg_array_first, pd->seg_array);
on_error: on_error:
return v; return v;
} }
/* EFL UI LIST MODEL INTERFACE */ /* EFL UI LIST MODEL INTERFACE */
EOLIAN static Eina_Size2D EOLIAN static Eina_Size2D
_efl_ui_view_list_efl_ui_view_list_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_ui_list_view_model_min_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return pd->min; return pd->min;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_Data *pd, Eina_Size2D min) _efl_ui_list_view_efl_ui_list_view_model_min_size_set(Eo *obj, Efl_Ui_List_View_Data *pd, Eina_Size2D min)
{ {
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@ -911,33 +911,33 @@ _efl_ui_view_list_efl_ui_view_list_model_min_size_set(Eo *obj, Efl_Ui_View_List_
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_ui_focus_composition_prepare(Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
Eina_List *order = efl_ui_view_list_relayout_elements_get(pd->relayout); Eina_List *order = efl_ui_list_view_relayout_elements_get(pd->relayout);
efl_ui_focus_composition_elements_set(obj, order); efl_ui_focus_composition_elements_set(obj, order);
} }
EOLIAN Eina_List* EOLIAN Eina_List*
_efl_ui_view_list_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_List_View_Data *pd)
{ {
Eina_List *ret = NULL, *ret2 = NULL; Eina_List *ret = NULL, *ret2 = NULL;
ret = efl_ui_view_list_relayout_elements_get(pd->relayout); ret = efl_ui_list_view_relayout_elements_get(pd->relayout);
ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_VIEW_LIST_CLASS)); ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_LIST_VIEW_CLASS));
return eina_list_merge(ret, ret2); return eina_list_merge(ret, ret2);
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_view_list_efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_View_List_Data *pd EINA_UNUSED, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect EINA_UNUSED) _efl_ui_list_view_efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_List_View_Data *pd EINA_UNUSED, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect EINA_UNUSED)
{ {
return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj); return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj);
} }
EOLIAN static Efl_Ui_View_List_LayoutItem * EOLIAN static Efl_Ui_List_View_Layout_Item *
_efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item) _efl_ui_list_view_efl_ui_list_view_model_realize(Eo *obj, Efl_Ui_List_View_Data *pd, Efl_Ui_List_View_Layout_Item *item)
{ {
Efl_Ui_View_List_Item_Event evt; Efl_Ui_List_View_Item_Event evt;
EINA_SAFETY_ON_NULL_RETURN_VAL(item->children, item); EINA_SAFETY_ON_NULL_RETURN_VAL(item->children, item);
item->layout = efl_ui_factory_create(pd->factory, item->children, obj); item->layout = efl_ui_factory_create(pd->factory, item->children, obj);
@ -952,8 +952,8 @@ _efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data
evt.child = item->children; evt.child = item->children;
evt.layout = item->layout; evt.layout = item->layout;
evt.index = efl_ui_view_list_item_index_get(item); evt.index = efl_ui_list_view_item_index_get(item);
efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_REALIZED, &evt); efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, &evt);
efl_ui_focus_composition_dirty(obj); efl_ui_focus_composition_dirty(obj);
evas_object_show(item->layout); evas_object_show(item->layout);
@ -961,9 +961,9 @@ _efl_ui_view_list_efl_ui_view_list_model_realize(Eo *obj, Efl_Ui_View_List_Data
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Data *pd, Efl_Ui_View_List_LayoutItem *item) _efl_ui_list_view_efl_ui_list_view_model_unrealize(Eo *obj, Efl_Ui_List_View_Data *pd, Efl_Ui_List_View_Layout_Item *item)
{ {
Efl_Ui_View_List_Item_Event evt; Efl_Ui_List_View_Item_Event evt;
EINA_SAFETY_ON_NULL_RETURN(item->layout); EINA_SAFETY_ON_NULL_RETURN(item->layout);
evas_object_event_callback_del_full(item->layout, EVAS_CALLBACK_MOUSE_UP, _on_item_mouse_up, item); evas_object_event_callback_del_full(item->layout, EVAS_CALLBACK_MOUSE_UP, _on_item_mouse_up, item);
@ -978,8 +978,8 @@ _efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Dat
evt.child = item->children; evt.child = item->children;
evt.layout = item->layout; evt.layout = item->layout;
evt.index = efl_ui_view_list_item_index_get(item); evt.index = efl_ui_list_view_item_index_get(item);
efl_event_callback_call(obj, EFL_UI_VIEW_LIST_EVENT_ITEM_UNREALIZED, &evt); efl_event_callback_call(obj, EFL_UI_LIST_VIEW_EVENT_ITEM_UNREALIZED, &evt);
evas_object_smart_member_del(item->layout); evas_object_smart_member_del(item->layout);
efl_ui_factory_release(pd->factory, item->layout); efl_ui_factory_release(pd->factory, item->layout);
@ -987,7 +987,7 @@ _efl_ui_view_list_efl_ui_view_list_model_unrealize(Eo *obj, Efl_Ui_View_List_Dat
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_List_Data* pd, int first, int count) _efl_ui_list_view_efl_ui_list_view_model_load_range_set(Eo* obj, Efl_Ui_List_View_Data* pd, int first, int count)
{ {
if (pd->slice.future) return ; if (pd->slice.future) return ;
@ -1003,18 +1003,18 @@ _efl_ui_view_list_efl_ui_view_list_model_load_range_set(Eo* obj, Efl_Ui_View_Lis
} }
EOLIAN static int EOLIAN static int
_efl_ui_view_list_efl_ui_view_list_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Data *pd) _efl_ui_list_view_efl_ui_list_view_model_model_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Data *pd)
{ {
return efl_model_children_count_get(pd->model); return efl_model_children_count_get(pd->model);
} }
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_view_list, Efl_Ui_View_List_Data) ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_list_view, Efl_Ui_List_View_Data)
/* Internal EO APIs and hidden overrides */ /* Internal EO APIs and hidden overrides */
#define EFL_UI_VIEW_LIST_EXTRA_OPS \ #define EFL_UI_LIST_VIEW_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_view_list) EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_list_view)
#include "efl_ui_view_list.eo.c" #include "efl_ui_list_view.eo.c"
#include "efl_ui_view_list_relayout.eo.c" #include "efl_ui_list_view_relayout.eo.c"
#include "efl_ui_view_list_model.eo.c" #include "efl_ui_list_view_model.eo.c"

View File

@ -1,19 +1,19 @@
import elm_general; import elm_general;
struct Efl.Ui.View_List_Item_Event struct Efl.Ui.List_View_Item_Event
{ {
layout: Efl.Ui.Layout.Object; layout: Efl.Ui.Layout.Object;
child: Efl.Model; child: Efl.Model;
index: int; index: int;
} }
class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar, class Efl.Ui.List_View (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub, Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.View_List_Model, Efl.Ui.Widget_Focus_Manager) Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager)
{ {
methods { methods {
@property relayout { @property relayout {
values { values {
object: Efl.Ui.View_List_Relayout; object: Efl.Ui.List_View_Relayout;
} }
} }
@property homogeneous { @property homogeneous {
@ -50,14 +50,14 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
} }
} }
events { events {
item,realized : Efl.Ui.View_List_Item_Event; item,realized : Efl.Ui.List_View_Item_Event;
item,unrealized : Efl.Ui.View_List_Item_Event; item,unrealized : Efl.Ui.List_View_Item_Event;
item,focused : Efl.Ui.View_List_Item_Event; item,focused : Efl.Ui.List_View_Item_Event;
item,unfocused : Efl.Ui.View_List_Item_Event; item,unfocused : Efl.Ui.List_View_Item_Event;
item,highlighted : Efl.Ui.View_List_Item_Event; item,highlighted : Efl.Ui.List_View_Item_Event;
item,unhighlighted : Efl.Ui.View_List_Item_Event; item,unhighlighted : Efl.Ui.List_View_Item_Event;
item,selected : Efl.Ui.View_List_Item_Event; item,selected : Efl.Ui.List_View_Item_Event;
item,unselected : Efl.Ui.View_List_Item_Event; item,unselected : Efl.Ui.List_View_Item_Event;
} }
implements { implements {
@ -70,11 +70,11 @@ class Efl.Ui.View_List (Efl.Ui.Layout.Object, Efl.Ui.View, Efl.Ui.Scrollable_Int
Efl.Canvas.Group.group_member_add; Efl.Canvas.Group.group_member_add;
Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_calculate;
Efl.Ui.View_List_Model.load_range { set;} Efl.Ui.List_View_Model.load_range { set;}
Efl.Ui.View_List_Model.realize; Efl.Ui.List_View_Model.realize;
Efl.Ui.View_List_Model.unrealize; Efl.Ui.List_View_Model.unrealize;
Efl.Ui.View_List_Model.model_size { get; } Efl.Ui.List_View_Model.model_size { get; }
Efl.Ui.View_List_Model.min_size { get; set; } Efl.Ui.List_View_Model.min_size { get; set; }
// Widget // Widget
Efl.Ui.Widget_Focus_Manager.focus_manager_create; Efl.Ui.Widget_Focus_Manager.focus_manager_create;

View File

@ -1,6 +1,6 @@
import efl_ui_view_list_types; import efl_ui_list_view_types;
interface Efl.Ui.View_List_Model (Efl.Interface) interface Efl.Ui.List_View_Model (Efl.Interface)
{ {
methods { methods {
@property load_range { @property load_range {
@ -12,13 +12,13 @@ interface Efl.Ui.View_List_Model (Efl.Interface)
} }
realize { realize {
params { params {
item: ptr(Efl.Ui.View.List.LayoutItem); item: ptr(Efl.Ui.List_View_Layout_Item);
} }
return: ptr(Efl.Ui.View.List.LayoutItem); return: ptr(Efl.Ui.List_View_Layout_Item);
} }
unrealize { unrealize {
params { params {
item: ptr(Efl.Ui.View.List.LayoutItem); item: ptr(Efl.Ui.List_View_Layout_Item);
} }
} }
// @property visible_range { // @property visible_range {

View File

@ -1,6 +1,6 @@
class Efl.Ui.View_List_Pan (Efl.Ui.Pan) class Efl.Ui.List_View_Pan (Efl.Ui.Pan)
{ {
[[Elementary Efl_Ui_View_List pan class]] [[Elementary Efl_Ui_List_View pan class]]
implements { implements {
Efl.Object.destructor; Efl.Object.destructor;
Efl.Ui.Pan.content_size { get; } Efl.Ui.Pan.content_size { get; }

View File

@ -7,16 +7,16 @@
#include <assert.h> #include <assert.h>
#include "elm_priv.h" #include "elm_priv.h"
#include "efl_ui_view_list_segarray.h" #include "efl_ui_list_view_seg_array.h"
#define MY_CLASS EFL_UI_VIEW_LIST_PRECISE_LAYOUTER_CLASS #define MY_CLASS EFL_UI_LIST_VIEW_PRECISE_LAYOUTER_CLASS
typedef struct _Efl_Ui_View_List_Precise_Layouter_Data typedef struct _Efl_Ui_List_View_Precise_Layouter_Data
{ {
Efl_Model* model; Efl_Model* model;
Efl_Ui_View_List_Model *modeler; Efl_Ui_List_View_Model *modeler;
Ecore_Job *calc_job; Ecore_Job *calc_job;
Efl_Ui_View_List_SegArray *segarray; Efl_Ui_List_View_Seg_Array *seg_array;
Eina_Size2D min; Eina_Size2D min;
@ -28,32 +28,32 @@ typedef struct _Efl_Ui_View_List_Precise_Layouter_Data
Eina_Bool initialized : 1; Eina_Bool initialized : 1;
Eina_Bool recalc : 1; Eina_Bool recalc : 1;
Eina_Bool resize : 1; Eina_Bool resize : 1;
} Efl_Ui_View_List_Precise_Layouter_Data; } Efl_Ui_List_View_Precise_Layouter_Data;
typedef struct _Efl_Ui_View_List_Precise_Layouter_Node_Data typedef struct _Efl_Ui_List_View_Precise_Layouter_Node_Data
{ {
Eina_Size2D min; Eina_Size2D min;
Eina_Size2D size; Eina_Size2D size;
Eina_Bool realized; Eina_Bool realized;
} Efl_Ui_View_List_Precise_Layouter_Node_Data; } Efl_Ui_List_View_Precise_Layouter_Node_Data;
typedef struct _Efl_Ui_View_List_Precise_Layouter_Callback_Data typedef struct _Efl_Ui_List_View_Precise_Layouter_Callback_Data
{ {
Efl_Ui_View_List_Precise_Layouter_Data *pd; Efl_Ui_List_View_Precise_Layouter_Data *pd;
Efl_Ui_View_List_LayoutItem *item; Efl_Ui_List_View_Layout_Item *item;
} Efl_Ui_View_List_Precise_Layouter_Callback_Data; } Efl_Ui_List_View_Precise_Layouter_Callback_Data;
#include "efl_ui_view_list_precise_layouter.eo.h" #include "efl_ui_list_view_precise_layouter.eo.h"
static void _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *); static void _efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *);
static Eina_Bool _initilize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_Model*, Efl_Ui_View_List_SegArray*); static Eina_Bool _initilize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Model*, Efl_Ui_List_View_Seg_Array*);
static void _finalize(Eo *, Efl_Ui_View_List_Precise_Layouter_Data*); static void _finalize(Eo *, Efl_Ui_List_View_Precise_Layouter_Data*);
static void _node_realize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*); static void _node_realize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
static void _node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data*, Efl_Ui_View_List_SegArray_Node*); static void _node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data*, Efl_Ui_List_View_Seg_Array_Node*);
static void static void
_item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item) _item_size_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item)
{ {
int boxx, boxy, boxw, boxh, boxl, boxr, boxt, boxb, pad[4]; int boxx, boxy, boxw, boxh, boxl, boxr, boxt, boxb, pad[4];
double align[2]; double align[2];
@ -119,11 +119,11 @@ _item_size_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Lay
} }
static void static void
_item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_LayoutItem* item _item_min_calc(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Layout_Item* item
, Eina_Size2D min, Efl_Ui_View_List_SegArray_Node *itemnode) , Eina_Size2D min, Efl_Ui_List_View_Seg_Array_Node *itemnode)
{ {
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = itemnode->layout_data;
Efl_Ui_View_List_LayoutItem *layout_item; Efl_Ui_List_View_Layout_Item *layout_item;
int i, pad[4]; int i, pad[4];
efl_gfx_size_hint_margin_get(item->layout, &pad[0], &pad[1], &pad[2], &pad[3]); efl_gfx_size_hint_margin_get(item->layout, &pad[0], &pad[1], &pad[2], &pad[3]);
@ -144,7 +144,7 @@ _item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Layo
nodedata->min.w = 0; nodedata->min.w = 0;
for (i = 0; i != itemnode->length; ++i) for (i = 0; i != itemnode->length; ++i)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i]; layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
if (nodedata->min.w < layout_item->min.w) if (nodedata->min.w < layout_item->min.w)
nodedata->min.w = layout_item->min.w; nodedata->min.w = layout_item->min.w;
@ -157,13 +157,13 @@ _item_min_calc(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Layo
pd->min.w = min.w; pd->min.w = min.w;
else if (pd->min.w == item->min.w) else if (pd->min.w == item->min.w)
{ {
Efl_Ui_View_List_SegArray_Node *node2; Efl_Ui_List_View_Seg_Array_Node *node2;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
pd->min.w = min.w; pd->min.w = min.w;
EINA_ACCESSOR_FOREACH(nodes, i, node2) EINA_ACCESSOR_FOREACH(nodes, i, node2)
{ {
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
if (pd->min.w < nodedata2->min.w) if (pd->min.w < nodedata2->min.w)
pd->min.w = nodedata2->min.w; pd->min.w = nodedata2->min.w;
@ -183,18 +183,18 @@ static void
_on_item_size_hint_change(void *data, Evas *e EINA_UNUSED, _on_item_size_hint_change(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj, void *event_info EINA_UNUSED) Evas_Object *obj, void *event_info EINA_UNUSED)
{ {
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = data; Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = data;
Efl_Ui_View_List_Precise_Layouter_Data *pd = cb_data->pd; Efl_Ui_List_View_Precise_Layouter_Data *pd = cb_data->pd;
Efl_Ui_View_List_LayoutItem *item = cb_data->item;; Efl_Ui_List_View_Layout_Item *item = cb_data->item;;
Efl_Ui_View_List_SegArray_Node *node = item->tree_node; Efl_Ui_List_View_Seg_Array_Node *node = item->tree_node;
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
Eina_Size2D min = efl_gfx_size_hint_combined_min_get(obj); Eina_Size2D min = efl_gfx_size_hint_combined_min_get(obj);
_item_min_calc(pd, item, min, node); _item_min_calc(pd, item, min, node);
if (!nodedata->realized) if (!nodedata->realized)
{ {
free(evas_object_event_callback_del(item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change)); free(evas_object_event_callback_del(item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change));
efl_ui_view_list_model_unrealize(pd->modeler, item); efl_ui_list_view_model_unrealize(pd->modeler, item);
} }
} }
@ -202,14 +202,14 @@ static void
_on_modeler_resize(void *data, Evas *e EINA_UNUSED, _on_modeler_resize(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{ {
Efl_Ui_View_List_Precise_Layouter_Data *pd = data; Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
pd->resize = EINA_TRUE; pd->resize = EINA_TRUE;
} }
typedef struct _Request Request; typedef struct _Request Request;
struct _Request struct _Request
{ {
Efl_Ui_View_List_Precise_Layouter_Data *pd; Efl_Ui_List_View_Precise_Layouter_Data *pd;
unsigned int index; unsigned int index;
}; };
@ -221,7 +221,7 @@ _children_get(void *data, const Eina_Value v, const Eina_Future *dead_future EIN
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR) if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
goto on_error; goto on_error;
efl_ui_view_list_segarray_insert_value(r->pd->segarray, r->index, v); efl_ui_list_view_seg_array_insert_value(r->pd->seg_array, r->index, v);
r->pd->recalc = EINA_TRUE; r->pd->recalc = EINA_TRUE;
evas_object_smart_changed(r->pd->modeler); evas_object_smart_changed(r->pd->modeler);
@ -234,7 +234,7 @@ static void
_child_added_cb(void *data, const Efl_Event *event) _child_added_cb(void *data, const Efl_Event *event)
{ {
Efl_Model_Children_Event* evt = event->info; Efl_Model_Children_Event* evt = event->info;
Efl_Ui_View_List_Precise_Layouter_Data *pd = data; Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
Eina_Future *f; Eina_Future *f;
Request *r; Request *r;
@ -252,13 +252,13 @@ static void
_child_removed_cb(void *data, const Efl_Event *event) _child_removed_cb(void *data, const Efl_Event *event)
{ {
Efl_Model_Children_Event* evt = event->info; Efl_Model_Children_Event* evt = event->info;
Efl_Ui_View_List_Precise_Layouter_Data *pd = data; Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
Efl_Ui_View_List_LayoutItem *layout_item, *litem; Efl_Ui_List_View_Layout_Item *layout_item, *litem;
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
Efl_Ui_View_List_SegArray_Node *itemnode; Efl_Ui_List_View_Seg_Array_Node *itemnode;
int i; int i;
litem = efl_ui_view_list_segarray_remove(pd->segarray, evt->index); litem = efl_ui_list_view_seg_array_remove(pd->seg_array, evt->index);
if (!litem) return; if (!litem) return;
itemnode = litem->tree_node; itemnode = litem->tree_node;
@ -274,7 +274,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
for (i = 0; i != itemnode->length; ++i) for (i = 0; i != itemnode->length; ++i)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)itemnode->pointers[i]; layout_item = (Efl_Ui_List_View_Layout_Item *)itemnode->pointers[i];
if (nodedata->min.w < layout_item->min.w) if (nodedata->min.w < layout_item->min.w)
nodedata->min.w = layout_item->min.w; nodedata->min.w = layout_item->min.w;
@ -287,13 +287,13 @@ _child_removed_cb(void *data, const Efl_Event *event)
if (pd->min.w == litem->min.w) if (pd->min.w == litem->min.w)
{ {
Efl_Ui_View_List_SegArray_Node *node2; Efl_Ui_List_View_Seg_Array_Node *node2;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
pd->min.w = 0; pd->min.w = 0;
EINA_ACCESSOR_FOREACH(nodes, i, node2) EINA_ACCESSOR_FOREACH(nodes, i, node2)
{ {
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata2 = node2->layout_data;
if (pd->min.w < nodedata2->min.w) if (pd->min.w < nodedata2->min.w)
pd->min.w = nodedata2->min.w; pd->min.w = nodedata2->min.w;
@ -303,7 +303,7 @@ _child_removed_cb(void *data, const Efl_Event *event)
eina_accessor_free(nodes); eina_accessor_free(nodes);
} }
efl_ui_view_list_model_unrealize(pd->modeler, litem); efl_ui_list_view_model_unrealize(pd->modeler, litem);
free(litem); free(litem);
pd->recalc = EINA_TRUE; pd->recalc = EINA_TRUE;
@ -313,14 +313,14 @@ _child_removed_cb(void *data, const Efl_Event *event)
static void static void
_child_count_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) _child_count_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{ {
Efl_Ui_View_List_Precise_Layouter_Data *pd = data; Efl_Ui_List_View_Precise_Layouter_Data *pd = data;
pd->count_total = efl_model_children_count_get(pd->model); pd->count_total = efl_model_children_count_get(pd->model);
if (pd->count_total) if (pd->count_total)
efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd); efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
} }
static Eina_Bool static Eina_Bool
_initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Model *modeler, Efl_Ui_View_List_SegArray *segarray) _initilize(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Model *modeler, Efl_Ui_List_View_Seg_Array *seg_array)
{ {
if(pd->initialized) if(pd->initialized)
return EINA_TRUE; return EINA_TRUE;
@ -332,9 +332,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
pd->initialized = EINA_TRUE; pd->initialized = EINA_TRUE;
pd->modeler = modeler; pd->modeler = modeler;
pd->segarray = segarray; pd->seg_array = seg_array;
efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_ADDED, _child_added_cb, pd); efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_ADDED, _child_added_cb, pd);
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd); efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
@ -346,9 +346,9 @@ _initilize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_
} }
static void static void
_finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd) _finalize(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
{ {
Efl_Ui_View_List_SegArray_Node* node; Efl_Ui_List_View_Seg_Array_Node* node;
int i = 0; int i = 0;
evas_object_event_callback_del_full(pd->modeler, EVAS_CALLBACK_RESIZE, _on_modeler_resize, pd); evas_object_event_callback_del_full(pd->modeler, EVAS_CALLBACK_RESIZE, _on_modeler_resize, pd);
@ -356,7 +356,7 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd); efl_event_callback_del(pd->model, EFL_MODEL_EVENT_CHILD_REMOVED, _child_removed_cb, pd);
pd->count_total = 0; pd->count_total = 0;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
EINA_ACCESSOR_FOREACH(nodes, i, node) EINA_ACCESSOR_FOREACH(nodes, i, node)
{ {
_node_unrealize(pd, node); _node_unrealize(pd, node);
@ -368,9 +368,9 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
pd->min.w = 0; pd->min.w = 0;
pd->min.h = 0; pd->min.h = 0;
efl_ui_view_list_model_min_size_set(pd->modeler, pd->min); efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
pd->segarray = NULL; pd->seg_array = NULL;
pd->modeler = NULL; pd->modeler = NULL;
pd->initialized = EINA_FALSE; pd->initialized = EINA_FALSE;
@ -378,11 +378,11 @@ _finalize(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd)
} }
static void static void
_node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node) _node_realize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
{ {
Efl_Ui_View_List_LayoutItem* layout_item; Efl_Ui_List_View_Layout_Item* layout_item;
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data; Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
int i; int i;
EINA_SAFETY_ON_NULL_RETURN(nodedata); EINA_SAFETY_ON_NULL_RETURN(nodedata);
@ -393,12 +393,12 @@ _node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegAr
for (i = 0; i != node->length; ++i) for (i = 0; i != node->length; ++i)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
efl_ui_view_list_model_realize(pd->modeler, layout_item); efl_ui_list_view_model_realize(pd->modeler, layout_item);
if (layout_item->layout) if (layout_item->layout)
{ {
cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data)); cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
cb_data->pd = pd; cb_data->pd = pd;
cb_data->item = layout_item; cb_data->item = layout_item;
evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data); evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data);
@ -408,11 +408,11 @@ _node_realize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegAr
} }
static void static void
_node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_SegArray_Node *node) _node_unrealize(Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Ui_List_View_Seg_Array_Node *node)
{ {
Efl_Ui_View_List_LayoutItem* layout_item; Efl_Ui_List_View_Layout_Item* layout_item;
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data; Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data;
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = node->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = node->layout_data;
int i; int i;
EINA_SAFETY_ON_NULL_RETURN(nodedata); EINA_SAFETY_ON_NULL_RETURN(nodedata);
@ -423,24 +423,24 @@ _node_unrealize(Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Ui_View_List_Seg
for (i = 0; i != node->length; ++i) for (i = 0; i != node->length; ++i)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
if (layout_item->layout) if (layout_item->layout)
{ {
cb_data = evas_object_event_callback_del(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change); cb_data = evas_object_event_callback_del(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change);
free(cb_data); free(cb_data);
} }
efl_ui_view_list_model_unrealize(pd->modeler, layout_item); efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
} }
} }
static void static void
_calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd) _calc_range(Efl_Ui_List_View_Precise_Layouter_Data *pd)
{ {
Efl_Ui_View_List_SegArray_Node *node; Efl_Ui_List_View_Seg_Array_Node *node;
Evas_Coord ch, ny; Evas_Coord ch, ny;
Eina_Rect vgmt; Eina_Rect vgmt;
Eina_Position2D spos; Eina_Position2D spos;
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata;
int i; int i;
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler); vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
@ -452,7 +452,7 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
vgmt.h *= 2; vgmt.h *= 2;
ch = 0; ch = 0;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
EINA_ACCESSOR_FOREACH(nodes, i, node) EINA_ACCESSOR_FOREACH(nodes, i, node)
{ {
nodedata = node->layout_data; nodedata = node->layout_data;
@ -472,9 +472,9 @@ _calc_range(Efl_Ui_View_List_Precise_Layouter_Data *pd)
static void static void
_calc_size_job(void *data) _calc_size_job(void *data)
{ {
Efl_Ui_View_List_Precise_Layouter_Data *pd; Efl_Ui_List_View_Precise_Layouter_Data *pd;
Efl_Ui_View_List_SegArray_Node *node; Efl_Ui_List_View_Seg_Array_Node *node;
Efl_Ui_View_List_LayoutItem *layout_item; Efl_Ui_List_View_Layout_Item *layout_item;
Eo *obj = data; Eo *obj = data;
Eina_Size2D min; Eina_Size2D min;
int i; int i;
@ -484,16 +484,16 @@ _calc_size_job(void *data)
pd = efl_data_scope_get(obj, MY_CLASS); pd = efl_data_scope_get(obj, MY_CLASS);
if (EINA_UNLIKELY(!pd)) return; if (EINA_UNLIKELY(!pd)) return;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
while (eina_accessor_data_get(nodes, pd->calc_progress, (void **)&node)) while (eina_accessor_data_get(nodes, pd->calc_progress, (void **)&node))
{ {
pd->calc_progress++; pd->calc_progress++;
if (!node->layout_data) if (!node->layout_data)
node->layout_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Node_Data)); node->layout_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Node_Data));
for (i = 0; i != node->length; ++i) for (i = 0; i != node->length; ++i)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)node->pointers[i]; layout_item = (Efl_Ui_List_View_Layout_Item *)node->pointers[i];
EINA_SAFETY_ON_NULL_RETURN(layout_item); EINA_SAFETY_ON_NULL_RETURN(layout_item);
// cache size of new items // cache size of new items
@ -501,18 +501,18 @@ _calc_size_job(void *data)
{ {
if (!layout_item->layout) if (!layout_item->layout)
{ {
efl_ui_view_list_model_realize(pd->modeler, layout_item); efl_ui_list_view_model_realize(pd->modeler, layout_item);
} }
min = efl_gfx_size_hint_combined_min_get(layout_item->layout); min = efl_gfx_size_hint_combined_min_get(layout_item->layout);
if (min.w && min.h) if (min.w && min.h)
{ {
_item_min_calc(pd, layout_item, min, node); _item_min_calc(pd, layout_item, min, node);
efl_ui_view_list_model_unrealize(pd->modeler, layout_item); efl_ui_list_view_model_unrealize(pd->modeler, layout_item);
} }
else else
{ {
Efl_Ui_View_List_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_View_List_Precise_Layouter_Callback_Data)); Efl_Ui_List_View_Precise_Layouter_Callback_Data *cb_data = calloc(1, sizeof(Efl_Ui_List_View_Precise_Layouter_Callback_Data));
cb_data->pd = pd; cb_data->pd = pd;
cb_data->item = layout_item; cb_data->item = layout_item;
evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data); evas_object_event_callback_add(layout_item->layout, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_item_size_hint_change, cb_data);
@ -536,7 +536,7 @@ _calc_size_job(void *data)
} }
EOLIAN static Efl_Object * EOLIAN static Efl_Object *
_efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd) _efl_ui_list_view_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
pd->initialized = EINA_FALSE; pd->initialized = EINA_FALSE;
@ -545,23 +545,23 @@ _efl_ui_view_list_precise_layouter_efl_object_constructor(Eo *obj EINA_UNUSED, E
} }
EOLIAN static Eina_List * EOLIAN static Eina_List *
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_elements_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd) _efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_elements_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd)
{ {
Eina_List *elements_order = NULL; Eina_List *elements_order = NULL;
Efl_Ui_View_List_LayoutItem* layout_item; Efl_Ui_List_View_Layout_Item* layout_item;
Efl_Ui_View_List_SegArray_Node *items_node; Efl_Ui_List_View_Seg_Array_Node *items_node;
int i, j = 0; int i, j = 0;
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
EINA_ACCESSOR_FOREACH(nodes, i, items_node) EINA_ACCESSOR_FOREACH(nodes, i, items_node)
{ {
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
if (!nodedata || !nodedata->realized) if (!nodedata || !nodedata->realized)
continue; continue;
for(j = 0; j != items_node->length;++j) for(j = 0; j != items_node->length;++j)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j]; layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
if (layout_item->layout) if (layout_item->layout)
elements_order = eina_list_append(elements_order, layout_item->layout); elements_order = eina_list_append(elements_order, layout_item->layout);
} }
@ -571,7 +571,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_elements_get(const
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_model_set(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd, Efl_Model *model) _efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_model_set(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd, Efl_Model *model)
{ {
_finalize(obj, pd); _finalize(obj, pd);
@ -581,20 +581,20 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_model_set(Eo *obj E
{ {
pd->count_total = efl_model_children_count_get(pd->model); pd->count_total = efl_model_children_count_get(pd->model);
if (pd->count_total && pd->modeler) if (pd->count_total && pd->modeler)
efl_ui_view_list_model_load_range_set(pd->modeler, 0, pd->count_total); // load all efl_ui_list_view_model_load_range_set(pd->modeler, 0, pd->count_total); // load all
else else
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd); efl_event_callback_add(pd->model, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, _child_count_changed_cb, pd);
} }
} }
static void static void
_efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd) _efl_ui_list_view_relayout_layout_do(Efl_Ui_List_View_Precise_Layouter_Data *pd)
{ {
Eina_Rect vgmt; Eina_Rect vgmt;
Eina_Position2D spos; Eina_Position2D spos;
double cur_pos = 0; double cur_pos = 0;
Efl_Ui_View_List_LayoutItem* layout_item; Efl_Ui_List_View_Layout_Item* layout_item;
Efl_Ui_View_List_SegArray_Node *items_node; Efl_Ui_List_View_Seg_Array_Node *items_node;
int i, j = 0; int i, j = 0;
_calc_range(pd); _calc_range(pd);
@ -621,15 +621,15 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
extra = boxh - pd->min.h; extra = boxh - pd->min.h;
if (extra < 0) extra = 0; if (extra < 0) extra = 0;
efl_ui_view_list_model_min_size_set(pd->modeler, pd->min); efl_ui_list_view_model_min_size_set(pd->modeler, pd->min);
vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler); vgmt = efl_ui_scrollable_viewport_geometry_get(pd->modeler);
spos = efl_ui_scrollable_content_pos_get(pd->modeler); spos = efl_ui_scrollable_content_pos_get(pd->modeler);
Eina_Accessor *nodes = efl_ui_view_list_segarray_node_accessor_get(pd->segarray); Eina_Accessor *nodes = efl_ui_list_view_seg_array_node_accessor_get(pd->seg_array);
EINA_ACCESSOR_FOREACH(nodes, i, items_node) EINA_ACCESSOR_FOREACH(nodes, i, items_node)
{ {
Efl_Ui_View_List_Precise_Layouter_Node_Data *nodedata = items_node->layout_data; Efl_Ui_List_View_Precise_Layouter_Node_Data *nodedata = items_node->layout_data;
if (!nodedata) if (!nodedata)
{ {
continue; continue;
@ -639,7 +639,7 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
{ {
for(j = 0; j != items_node->length;++j) for(j = 0; j != items_node->length;++j)
{ {
layout_item = (Efl_Ui_View_List_LayoutItem *)items_node->pointers[j]; layout_item = (Efl_Ui_List_View_Layout_Item *)items_node->pointers[j];
double x, y, w, h; double x, y, w, h;
double weight_x, weight_y; double weight_x, weight_y;
@ -678,16 +678,16 @@ _efl_ui_view_list_relayout_layout_do(Efl_Ui_View_List_Precise_Layouter_Data *pd)
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do _efl_ui_list_view_precise_layouter_efl_ui_list_view_relayout_layout_do
(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Precise_Layouter_Data *pd (Eo *obj EINA_UNUSED, Efl_Ui_List_View_Precise_Layouter_Data *pd
, Efl_Ui_View_List_Model *modeler, int first, Efl_Ui_View_List_SegArray *segarray) , Efl_Ui_List_View_Model *modeler, int first, Efl_Ui_List_View_Seg_Array *seg_array)
{ {
if (!_initilize(obj, pd, modeler, segarray)) if (!_initilize(obj, pd, modeler, seg_array))
return; return;
pd->first = first; pd->first = first;
if (pd->recalc && efl_ui_view_list_segarray_count(segarray) > 0) if (pd->recalc && efl_ui_list_view_seg_array_count(seg_array) > 0)
{ {
// cache size of new items // cache size of new items
pd->calc_progress = 0; pd->calc_progress = 0;
@ -696,7 +696,7 @@ _efl_ui_view_list_precise_layouter_efl_ui_view_list_relayout_layout_do
return; return;
} }
_efl_ui_view_list_relayout_layout_do(pd); _efl_ui_list_view_relayout_layout_do(pd);
} }
#include "efl_ui_view_list_precise_layouter.eo.c" #include "efl_ui_list_view_precise_layouter.eo.c"

View File

@ -0,0 +1,9 @@
class Efl.Ui.List_View_Precise_Layouter (Efl.Object, Efl.Ui.List_View_Relayout)
{
implements {
Efl.Object.constructor;
Efl.Ui.List_View_Relayout.layout_do;
Efl.Ui.List_View_Relayout.model { set; }
Efl.Ui.List_View_Relayout.elements { get; }
}
}

View File

@ -1,5 +1,5 @@
#ifndef EFL_UI_VIEW_LIST_PRIVATE_H #ifndef EFL_UI_LIST_VIEW_PRIVATE_H
#define EFL_UI_VIEW_LIST_PRIVATE_H #define EFL_UI_LIST_VIEW_PRIVATE_H
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include "elementary_config.h" # include "elementary_config.h"
@ -8,16 +8,16 @@
#include <Elementary.h> #include <Elementary.h>
#include "elm_priv.h" #include "elm_priv.h"
typedef struct _Efl_Ui_View_List_Data Efl_Ui_View_List_Data; typedef struct _Efl_Ui_List_View_Data Efl_Ui_List_View_Data;
int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem *item); int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item *item);
#include "efl_ui_view_list_segarray.h" #include "efl_ui_list_view_seg_array.h"
struct _Efl_Ui_View_List_Data struct _Efl_Ui_List_View_Data
{ {
Eo *obj; Eo *obj;
Eo *scrl_mgr; Eo *scrl_mgr;
Efl_Ui_View_List_Pan *pan_obj; Efl_Ui_List_View_Pan *pan_obj;
Efl_Model *model; Efl_Model *model;
Eina_Stringshare *style; Eina_Stringshare *style;
@ -33,9 +33,9 @@ struct _Efl_Ui_View_List_Data
Eina_List *selected_items; Eina_List *selected_items;
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
Efl_Ui_View_List_Relayout *relayout; Efl_Ui_List_View_Relayout *relayout;
Efl_Ui_View_List_SegArray *segarray; Efl_Ui_List_View_Seg_Array *seg_array;
int segarray_first; int seg_array_first;
Elm_Object_Select_Mode select_mode; Elm_Object_Select_Mode select_mode;
Eina_Size2D min; Eina_Size2D min;
@ -44,19 +44,19 @@ struct _Efl_Ui_View_List_Data
Eina_Bool scrl_freeze : 1; Eina_Bool scrl_freeze : 1;
}; };
typedef struct _Efl_Ui_View_List_Pan_Data Efl_Ui_View_List_Pan_Data; typedef struct _Efl_Ui_List_View_Pan_Data Efl_Ui_List_View_Pan_Data;
struct _Efl_Ui_View_List_Pan_Data struct _Efl_Ui_List_View_Pan_Data
{ {
Eo *wobj; Eo *wobj;
Eina_Rect gmt; Eina_Rect gmt;
}; };
#define EFL_UI_VIEW_LIST_DATA_GET(o, ptr) \ #define EFL_UI_LIST_VIEW_DATA_GET(o, ptr) \
Efl_Ui_View_List_Data * ptr = efl_data_scope_get(o, EFL_UI_VIEW_LIST_CLASS) Efl_Ui_List_View_Data * ptr = efl_data_scope_get(o, EFL_UI_LIST_VIEW_CLASS)
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN(o, ptr) \ #define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN(o, ptr) \
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \ EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
if (EINA_UNLIKELY(!ptr)) \ if (EINA_UNLIKELY(!ptr)) \
{ \ { \
ERR("No widget data for object %p (%s)", \ ERR("No widget data for object %p (%s)", \
@ -64,8 +64,8 @@ struct _Efl_Ui_View_List_Pan_Data
return; \ return; \
} }
#define EFL_UI_VIEW_LIST_DATA_GET_OR_RETURN_VAL(o, ptr, val) \ #define EFL_UI_LIST_VIEW_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
EFL_UI_VIEW_LIST_DATA_GET(o, ptr); \ EFL_UI_LIST_VIEW_DATA_GET(o, ptr); \
if (EINA_UNLIKELY(!ptr)) \ if (EINA_UNLIKELY(!ptr)) \
{ \ { \
ERR("No widget data for object %p (%s)", \ ERR("No widget data for object %p (%s)", \

View File

@ -1,11 +1,11 @@
interface Efl.Ui.View_List_Relayout (Efl.Interface) interface Efl.Ui.List_View_Relayout (Efl.Interface)
{ {
methods { methods {
layout_do { layout_do {
params { params {
modeler: Efl.Ui.View_List_Model; modeler: Efl.Ui.List_View_Model;
first: int; first: int;
children: Efl.Ui.View_List_SegArray; children: Efl.Ui.List_View_Seg_Array;
} }
} }
@property model { @property model {

View File

@ -5,15 +5,15 @@
#include <Efl.h> #include <Efl.h>
#include <assert.h> #include <assert.h>
#define MY_CLASS EFL_UI_VIEW_LIST_SEGARRAY_CLASS #define MY_CLASS EFL_UI_LIST_VIEW_SEG_ARRAY_CLASS
#define MY_CLASS_NAME "Efl.Ui.View.List.SegArray" #define MY_CLASS_NAME "Efl.Ui.List_View_Seg_Array"
#include "efl_ui_view_list_private.h" #include "efl_ui_list_view_private.h"
#include "efl_ui_view_list_segarray.h" #include "efl_ui_list_view_seg_array.h"
static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED) static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
{ {
Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree; Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
int index = *(int*)key; int index = *(int*)key;
if(index < node->first) if(index < node->first)
{ {
@ -31,7 +31,7 @@ static int _search_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED) static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int length EINA_UNUSED, void* data EINA_UNUSED)
{ {
Efl_Ui_View_List_SegArray_Node const* node = (void const*)rbtree; Efl_Ui_List_View_Seg_Array_Node const* node = (void const*)rbtree;
int index = *(int*)key; int index = *(int*)key;
if(index < node->first) if(index < node->first)
{ {
@ -47,8 +47,8 @@ static int _insert_lookup_cb(Eina_Rbtree const* rbtree, const void* key, int len
} }
} }
static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node const* left, static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_List_View_Seg_Array_Node const* left,
Efl_Ui_View_List_SegArray_Node const* right, void* data EINA_UNUSED) Efl_Ui_List_View_Seg_Array_Node const* right, void* data EINA_UNUSED)
{ {
if(left->first < right->first) if(left->first < right->first)
return EINA_RBTREE_LEFT; return EINA_RBTREE_LEFT;
@ -58,7 +58,7 @@ static Eina_Rbtree_Direction _rbtree_compare(Efl_Ui_View_List_SegArray_Node cons
static void static void
_free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED) _free_node(Efl_Ui_List_View_Seg_Array_Node* node, void* data EINA_UNUSED)
{ {
int i = 0; int i = 0;
@ -71,11 +71,11 @@ _free_node(Efl_Ui_View_List_SegArray_Node* node, void* data EINA_UNUSED)
free(node); free(node);
} }
static Efl_Ui_View_List_SegArray_Node* static Efl_Ui_List_View_Seg_Array_Node*
_alloc_node(Efl_Ui_View_List_SegArray_Data* pd, int first) _alloc_node(Efl_Ui_List_View_Seg_Array_Data* pd, int first)
{ {
Efl_Ui_View_List_SegArray_Node* node; Efl_Ui_List_View_Seg_Array_Node* node;
node = calloc(1, sizeof(Efl_Ui_View_List_SegArray_Node) + pd->step_size*sizeof(Efl_Ui_View_List_LayoutItem*)); node = calloc(1, sizeof(Efl_Ui_List_View_Seg_Array_Node) + pd->step_size*sizeof(Efl_Ui_List_View_Layout_Item*));
node->first = first; node->first = first;
node->max = pd->step_size; node->max = pd->step_size;
pd->root = (void*)eina_rbtree_inline_insert(EINA_RBTREE_GET(pd->root), EINA_RBTREE_GET(node), pd->root = (void*)eina_rbtree_inline_insert(EINA_RBTREE_GET(pd->root), EINA_RBTREE_GET(node),
@ -85,7 +85,7 @@ _alloc_node(Efl_Ui_View_List_SegArray_Data* pd, int first)
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_segarray_flush(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd) _efl_ui_list_view_seg_array_flush(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd)
{ {
if (pd->root) if (pd->root)
eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL); eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL);
@ -95,26 +95,26 @@ _efl_ui_view_list_segarray_flush(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_
pd->count = 0; pd->count = 0;
} }
static Efl_Ui_View_List_LayoutItem* _create_item_partial(Efl_Model* model) static Efl_Ui_List_View_Layout_Item* _create_item_partial(Efl_Model* model)
{ {
Efl_Ui_View_List_LayoutItem* item = calloc(1, sizeof(Efl_Ui_View_List_LayoutItem)); Efl_Ui_List_View_Layout_Item* item = calloc(1, sizeof(Efl_Ui_List_View_Layout_Item));
item->children = model; item->children = model;
return item; return item;
} }
static Efl_Ui_View_List_LayoutItem* _create_item(Efl_Model* model, Efl_Ui_View_List_SegArray_Node* node, unsigned int index) static Efl_Ui_List_View_Layout_Item* _create_item(Efl_Model* model, Efl_Ui_List_View_Seg_Array_Node* node, unsigned int index)
{ {
Efl_Ui_View_List_LayoutItem* item = _create_item_partial(model); Efl_Ui_List_View_Layout_Item* item = _create_item_partial(model);
item->index_offset = index - node->first; item->index_offset = index - node->first;
item->tree_node = node; item->tree_node = node;
return item; return item;
} }
EOLIAN static Efl_Ui_View_List_LayoutItem* EOLIAN static Efl_Ui_List_View_Layout_Item*
_efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int index) _efl_ui_list_view_seg_array_remove(Eo* obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int index)
{ {
Efl_Ui_View_List_SegArray_Node *node; Efl_Ui_List_View_Seg_Array_Node *node;
Efl_Ui_View_List_LayoutItem *item, *rt; Efl_Ui_List_View_Layout_Item *item, *rt;
Eina_Iterator* iterator; Eina_Iterator* iterator;
int offset; int offset;
@ -146,7 +146,7 @@ _efl_ui_view_list_segarray_remove(Eo* obj EINA_UNUSED, Efl_Ui_View_List_SegArray
} }
static void static void
_efl_ui_view_list_segarray_insert_at_node(Efl_Ui_View_List_SegArray_Data* pd, int index, Efl_Ui_View_List_LayoutItem* item, Efl_Ui_View_List_SegArray_Node* node) _efl_ui_list_view_seg_array_insert_at_node(Efl_Ui_List_View_Seg_Array_Data* pd, int index, Efl_Ui_List_View_Layout_Item* item, Efl_Ui_List_View_Seg_Array_Node* node)
{ {
Eina_Iterator* iterator; Eina_Iterator* iterator;
int pos; int pos;
@ -194,10 +194,10 @@ _efl_ui_view_list_segarray_insert_at_node(Efl_Ui_View_List_SegArray_Data* pd, in
EOLIAN static void EOLIAN static void
_efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd, int index, Efl_Model* model) _efl_ui_list_view_seg_array_insert(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd, int index, Efl_Model* model)
{ {
Efl_Ui_View_List_SegArray_Node* node, *next; Efl_Ui_List_View_Seg_Array_Node* node, *next;
Efl_Ui_View_List_LayoutItem* item; Efl_Ui_List_View_Layout_Item* item;
item = _create_item_partial(model); item = _create_item_partial(model);
@ -207,34 +207,34 @@ _efl_ui_view_list_segarray_insert(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray
{ {
next = (void*)EINA_RBTREE_GET(node)->son[EINA_RBTREE_LEFT]; next = (void*)EINA_RBTREE_GET(node)->son[EINA_RBTREE_LEFT];
if(next && next->first <= index) if(next && next->first <= index)
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, next); _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, next);
else else
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, node); _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, node);
} }
else else
_efl_ui_view_list_segarray_insert_at_node(pd, index, item, NULL); _efl_ui_list_view_seg_array_insert_at_node(pd, index, item, NULL);
} }
static void static void
efl_ui_view_list_segarray_insert_object(Efl_Ui_View_List_SegArray_Data *segarray, unsigned int index, Efl_Model *children) efl_ui_list_view_seg_array_insert_object(Efl_Ui_List_View_Seg_Array_Data *seg_array, unsigned int index, Efl_Model *children)
{ {
Efl_Ui_View_List_SegArray_Node *node; Efl_Ui_List_View_Seg_Array_Node *node;
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(segarray->root), node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(seg_array->root),
&index, sizeof(index), &_insert_lookup_cb, NULL); &index, sizeof(index), &_insert_lookup_cb, NULL);
if (!node) if (!node)
{ {
node = _alloc_node(segarray, index); node = _alloc_node(seg_array, index);
} }
assert(node->length < node->max); assert(node->length < node->max);
node->pointers[node->length] = _create_item(children, node, index); node->pointers[node->length] = _create_item(children, node, index);
node->length++; node->length++;
segarray->count++; seg_array->count++;
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *segarray, int first, Eina_Value v) _efl_ui_list_view_seg_array_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *seg_array, int first, Eina_Value v)
{ {
Efl_Model *children; Efl_Model *children;
unsigned int i, len; unsigned int i, len;
@ -242,7 +242,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
if (eina_value_type_get(&v) == EINA_VALUE_TYPE_OBJECT) if (eina_value_type_get(&v) == EINA_VALUE_TYPE_OBJECT)
{ {
children = eina_value_object_get(&v); children = eina_value_object_get(&v);
efl_ui_view_list_segarray_insert_object(segarray, first, children); efl_ui_list_view_seg_array_insert_object(seg_array, first, children);
} }
else if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ARRAY) else if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ARRAY)
{ {
@ -250,7 +250,7 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
{ {
unsigned int idx = first + i; unsigned int idx = first + i;
efl_ui_view_list_segarray_insert_object(segarray, idx, children); efl_ui_list_view_seg_array_insert_object(seg_array, idx, children);
} }
} }
else else
@ -260,28 +260,28 @@ _efl_ui_view_list_segarray_insert_value(Eo *obj EINA_UNUSED, Efl_Ui_View_List_Se
} }
EOLIAN static int EOLIAN static int
_efl_ui_view_list_segarray_count(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) _efl_ui_list_view_seg_array_count(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
{ {
return pd->count; return pd->count;
} }
typedef struct _Efl_Ui_View_List_Segarray_Eina_Accessor typedef struct _Efl_Ui_List_View_Segarray_Eina_Accessor
{ {
Eina_Accessor vtable; Eina_Accessor vtable;
Efl_Ui_View_List_SegArray_Data* segarray; Efl_Ui_List_View_Seg_Array_Data* seg_array;
} Efl_Ui_View_List_Segarray_Eina_Accessor; } Efl_Ui_List_View_Segarray_Eina_Accessor;
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Accessor* acc, _efl_ui_list_view_seg_array_accessor_get_at(Efl_Ui_List_View_Segarray_Eina_Accessor* acc,
int idx, void** data) int idx, void** data)
{ {
Efl_Ui_View_List_SegArray_Node* node; Efl_Ui_List_View_Seg_Array_Node* node;
node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->segarray->root), node = (void*)eina_rbtree_inline_lookup(EINA_RBTREE_GET(acc->seg_array->root),
&idx, sizeof(idx), &_search_lookup_cb, NULL); &idx, sizeof(idx), &_search_lookup_cb, NULL);
if (node && (node->first <= idx && node->first + node->length > idx)) if (node && (node->first <= idx && node->first + node->length > idx))
{ {
int i = idx - node->first; int i = idx - node->first;
Efl_Ui_View_List_LayoutItem* item = node->pointers[i]; Efl_Ui_List_View_Layout_Item* item = node->pointers[i];
*data = item; *data = item;
return EINA_TRUE; return EINA_TRUE;
} }
@ -289,13 +289,13 @@ _efl_ui_view_list_segarray_accessor_get_at(Efl_Ui_View_List_Segarray_Eina_Access
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_segarray_setup(Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data *pd, int size) _efl_ui_list_view_seg_array_setup(Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data *pd, int size)
{ {
pd->step_size = size; pd->step_size = size;
} }
EOLIAN static Eo * EOLIAN static Eo *
_efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd EINA_UNUSED) _efl_ui_list_view_seg_array_efl_object_constructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd EINA_UNUSED)
{ {
obj = efl_constructor(efl_super(obj, MY_CLASS)); obj = efl_constructor(efl_super(obj, MY_CLASS));
@ -303,7 +303,7 @@ _efl_ui_view_list_segarray_efl_object_constructor(Eo *obj, Efl_Ui_View_List_SegA
} }
EOLIAN static void EOLIAN static void
_efl_ui_view_list_segarray_efl_object_destructor(Eo *obj, Efl_Ui_View_List_SegArray_Data *pd) _efl_ui_list_view_seg_array_efl_object_destructor(Eo *obj, Efl_Ui_List_View_Seg_Array_Data *pd)
{ {
if (pd->root) if (pd->root)
eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL); eina_rbtree_delete(EINA_RBTREE_GET(pd->root), EINA_RBTREE_FREE_CB(_free_node), NULL);
@ -313,68 +313,68 @@ _efl_ui_view_list_segarray_efl_object_destructor(Eo *obj, Efl_Ui_View_List_SegAr
} }
static void* static void*
_efl_ui_view_list_segarray_accessor_get_container(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_accessor_get_container(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
{ {
return NULL; return NULL;
} }
static void static void
_efl_ui_view_list_segarray_accessor_free(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_accessor_free(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
{ {
free(acc); free(acc);
} }
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_accessor_lock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_accessor_lock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_accessor_unlock(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_accessor_unlock(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
static Eina_Accessor* static Eina_Accessor*
_efl_ui_view_list_segarray_accessor_clone(Efl_Ui_View_List_Segarray_Eina_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_accessor_clone(Efl_Ui_List_View_Segarray_Eina_Accessor* acc EINA_UNUSED)
{ {
return &acc->vtable; return &acc->vtable;
} }
static void static void
_efl_ui_view_list_segarray_accessor_setup(Efl_Ui_View_List_Segarray_Eina_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray) _efl_ui_list_view_seg_array_accessor_setup(Efl_Ui_List_View_Segarray_Eina_Accessor* acc, Efl_Ui_List_View_Seg_Array_Data* seg_array)
{ {
EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR); EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
acc->vtable.version = EINA_ACCESSOR_VERSION; acc->vtable.version = EINA_ACCESSOR_VERSION;
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_accessor_get_at); acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_accessor_get_at);
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_accessor_get_container); acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_accessor_get_container);
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_accessor_free); acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_accessor_free);
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_lock); acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_lock);
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_accessor_unlock); acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_accessor_unlock);
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_accessor_clone); acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_accessor_clone);
acc->segarray = segarray; acc->seg_array = seg_array;
} }
EOLIAN static Eina_Accessor* EOLIAN static Eina_Accessor*
_efl_ui_view_list_segarray_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) _efl_ui_list_view_seg_array_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
{ {
Efl_Ui_View_List_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Eina_Accessor)); Efl_Ui_List_View_Segarray_Eina_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Eina_Accessor));
_efl_ui_view_list_segarray_accessor_setup(acc, pd); _efl_ui_list_view_seg_array_accessor_setup(acc, pd);
return &acc->vtable; return &acc->vtable;
} }
typedef struct _Efl_Ui_View_List_Segarray_Node_Accessor typedef struct _Efl_Ui_List_View_Segarray_Node_Accessor
{ {
Eina_Accessor vtable; Eina_Accessor vtable;
Efl_Ui_View_List_SegArray_Data* segarray; Efl_Ui_List_View_Seg_Array_Data* seg_array;
Eina_Iterator* pre_iterator; Eina_Iterator* pre_iterator;
Efl_Ui_View_List_SegArray_Node* current_node; Efl_Ui_List_View_Seg_Array_Node* current_node;
int current_index; int current_index;
} Efl_Ui_View_List_Segarray_Node_Accessor; } Efl_Ui_List_View_Segarray_Node_Accessor;
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_Accessor* acc, _efl_ui_list_view_seg_array_node_accessor_get_at(Efl_Ui_List_View_Segarray_Node_Accessor* acc,
int idx, void** data) int idx, void** data)
{ {
if(idx == acc->current_index && acc->current_node) if(idx == acc->current_index && acc->current_node)
@ -392,7 +392,7 @@ _efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_A
} }
if(!acc->pre_iterator) if(!acc->pre_iterator)
acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->segarray->root); acc->pre_iterator = eina_rbtree_iterator_infix((void*)acc->seg_array->root);
for(;acc->current_index != idx;++acc->current_index) for(;acc->current_index != idx;++acc->current_index)
{ {
@ -409,13 +409,13 @@ _efl_ui_view_list_segarray_node_accessor_get_at(Efl_Ui_View_List_Segarray_Node_A
} }
static void* static void*
_efl_ui_view_list_segarray_node_accessor_get_container(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_node_accessor_get_container(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
{ {
return NULL; return NULL;
} }
static void static void
_efl_ui_view_list_segarray_node_accessor_free(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_node_accessor_free(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
{ {
if (acc->pre_iterator) if (acc->pre_iterator)
eina_iterator_free(acc->pre_iterator); eina_iterator_free(acc->pre_iterator);
@ -423,52 +423,52 @@ _efl_ui_view_list_segarray_node_accessor_free(Efl_Ui_View_List_Segarray_Node_Acc
} }
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_node_accessor_lock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_node_accessor_lock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
static Eina_Bool static Eina_Bool
_efl_ui_view_list_segarray_node_accessor_unlock(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_node_accessor_unlock(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
{ {
return EINA_FALSE; return EINA_FALSE;
} }
static Eina_Accessor* static Eina_Accessor*
_efl_ui_view_list_segarray_node_accessor_clone(Efl_Ui_View_List_Segarray_Node_Accessor* acc EINA_UNUSED) _efl_ui_list_view_seg_array_node_accessor_clone(Efl_Ui_List_View_Segarray_Node_Accessor* acc EINA_UNUSED)
{ {
return &acc->vtable; return &acc->vtable;
} }
static void static void
_efl_ui_view_list_segarray_node_accessor_setup(Efl_Ui_View_List_Segarray_Node_Accessor* acc, Efl_Ui_View_List_SegArray_Data* segarray) _efl_ui_list_view_seg_array_node_accessor_setup(Efl_Ui_List_View_Segarray_Node_Accessor* acc, Efl_Ui_List_View_Seg_Array_Data* seg_array)
{ {
EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR); EINA_MAGIC_SET(&acc->vtable, EINA_MAGIC_ACCESSOR);
acc->vtable.version = EINA_ACCESSOR_VERSION; acc->vtable.version = EINA_ACCESSOR_VERSION;
acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_view_list_segarray_node_accessor_get_at); acc->vtable.get_at = FUNC_ACCESSOR_GET_AT(_efl_ui_list_view_seg_array_node_accessor_get_at);
acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_view_list_segarray_node_accessor_get_container); acc->vtable.get_container = FUNC_ACCESSOR_GET_CONTAINER(_efl_ui_list_view_seg_array_node_accessor_get_container);
acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_view_list_segarray_node_accessor_free); acc->vtable.free = FUNC_ACCESSOR_FREE(_efl_ui_list_view_seg_array_node_accessor_free);
acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_lock); acc->vtable.lock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_lock);
acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_view_list_segarray_node_accessor_unlock); acc->vtable.unlock = FUNC_ACCESSOR_LOCK(_efl_ui_list_view_seg_array_node_accessor_unlock);
acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_view_list_segarray_node_accessor_clone); acc->vtable.clone = FUNC_ACCESSOR_CLONE(_efl_ui_list_view_seg_array_node_accessor_clone);
acc->segarray = segarray; acc->seg_array = seg_array;
acc->pre_iterator = NULL; acc->pre_iterator = NULL;
acc->current_index = -1; acc->current_index = -1;
acc->current_node = NULL; acc->current_node = NULL;
} }
EOLIAN static Eina_Accessor* EOLIAN static Eina_Accessor*
_efl_ui_view_list_segarray_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_View_List_SegArray_Data* pd) _efl_ui_list_view_seg_array_node_accessor_get(const Eo *obj EINA_UNUSED, Efl_Ui_List_View_Seg_Array_Data* pd)
{ {
Efl_Ui_View_List_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_View_List_Segarray_Node_Accessor)); Efl_Ui_List_View_Segarray_Node_Accessor* acc = calloc(1, sizeof(Efl_Ui_List_View_Segarray_Node_Accessor));
_efl_ui_view_list_segarray_node_accessor_setup(acc, pd); _efl_ui_list_view_seg_array_node_accessor_setup(acc, pd);
return &acc->vtable; return &acc->vtable;
} }
int efl_ui_view_list_item_index_get(Efl_Ui_View_List_LayoutItem* item) int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item* item)
{ {
Efl_Ui_View_List_SegArray_Node* node = item->tree_node; Efl_Ui_List_View_Seg_Array_Node* node = item->tree_node;
return item->index_offset + node->first; return item->index_offset + node->first;
} }
#include "efl_ui_view_list_segarray.eo.c" #include "efl_ui_list_view_seg_array.eo.c"

View File

@ -1,22 +1,22 @@
import efl_ui_view_list_types; import efl_ui_list_view_types;
class Efl.Ui.View_List_SegArray (Efl.Object) class Efl.Ui.List_View_Seg_Array (Efl.Object)
{ {
methods { methods {
@property accessor { @property accessor {
get { get {
[[ Get a SegArray List items accessor ]] [[ Get a Seg_Array List items accessor ]]
} }
values { values {
acc: accessor<ptr(Efl.Ui.View.List.LayoutItem)>; acc: accessor<ptr(Efl.Ui.List_View_Layout_Item)>;
} }
} }
@property node_accessor { @property node_accessor {
get { get {
[[ Get a SegArray node accessor ]] [[ Get a Seg_Array node accessor ]]
} }
values { values {
acc: accessor<ptr(Efl.Ui.View.List.SegArray.Node)>; acc: accessor<ptr(Efl.Ui.List_View_Seg_Array_Node)>;
} }
} }
insert_value { insert_value {
@ -27,31 +27,31 @@ class Efl.Ui.View_List_SegArray (Efl.Object)
} }
} }
count { count {
[[ Get the number of items in SegArray tree ]] [[ Get the number of items in Seg_Array tree ]]
return: int; return: int;
} }
setup { setup {
[[ Configure a step of SegArray tree, this is the max node size ]] [[ Configure a step of Seg_Array tree, this is the max node size ]]
params { params {
@in initial_step_size: int; @in initial_step_size: int;
} }
} }
flush { flush {
[[ flush the SegArray tree ]] [[ flush the Seg_Array tree ]]
} }
insert { insert {
[[ Insert a new model in SegArray tree at index position ]] [[ Insert a new model in Seg_Array tree at index position ]]
params { params {
@in index: int; @in index: int;
@in model: Efl.Model; @in model: Efl.Model;
} }
} }
remove { remove {
[[ Remove the item at index position in SegArray tree ]] [[ Remove the item at index position in Seg_Array tree ]]
params { params {
@in index: int; @in index: int;
} }
return: ptr(Efl.Ui.View.List.LayoutItem) @owned; return: ptr(Efl.Ui.List_View_Layout_Item) @owned;
} }
} }
implements { implements {

View File

@ -0,0 +1,28 @@
#ifndef EFL_UI_LIST_VIEW_SEG_ARRAY_H
#define EFL_UI_LIST_VIEW_SEG_ARRAY_H
typedef struct _Efl_Ui_List_View_Item Efl_Ui_List_View_Item;
typedef struct _Efl_Ui_List_View_SegArray_Node
{
EINA_RBTREE;
int length;
int max;
int first;
void* layout_data;
Efl_Ui_List_View_Layout_Item* pointers[0];
} Efl_Ui_List_View_Seg_Array_Node;
typedef struct _Efl_Ui_List_View_Seg_Array_Data
{
Efl_Ui_List_View_Seg_Array_Node *root;
int step_size;
int node_count;
int count;
} Efl_Ui_List_View_Seg_Array_Data;
#endif

View File

@ -1,4 +1,4 @@
struct Efl.Ui.View.List.LayoutItem { struct Efl.Ui.List_View_Layout_Item {
layout: Efl.Ui.Layout.Object; layout: Efl.Ui.Layout.Object;
children: Efl.Model; children: Efl.Model;
index_offset: int; index_offset: int;
@ -8,4 +8,4 @@ struct Efl.Ui.View.List.LayoutItem {
pos: Eina.Position2D; pos: Eina.Position2D;
} }
struct @extern Efl.Ui.View.List.SegArray.Node; [[ ]] struct @extern Efl.Ui.List_View_Seg_Array_Node; [[ ]]

View File

@ -1,9 +0,0 @@
class Efl.Ui.View_List_Precise_Layouter (Efl.Object, Efl.Ui.View_List_Relayout)
{
implements {
Efl.Object.constructor;
Efl.Ui.View_List_Relayout.layout_do;
Efl.Ui.View_List_Relayout.model { set; }
Efl.Ui.View_List_Relayout.elements { get; }
}
}

View File

@ -1,28 +0,0 @@
#ifndef EFL_UI_LIST_SEGARRAY_H
#define EFL_UI_LIST_SEGARRAY_H
typedef struct _Efl_Ui_View_List_Item Efl_Ui_View_List_Item;
typedef struct _Efl_Ui_View_List_SegArray_Node
{
EINA_RBTREE;
int length;
int max;
int first;
void* layout_data;
Efl_Ui_View_List_LayoutItem* pointers[0];
} Efl_Ui_View_List_SegArray_Node;
typedef struct _Efl_Ui_View_List_SegArray_Data
{
Efl_Ui_View_List_SegArray_Node *root;
int step_size;
int node_count;
int count;
} Efl_Ui_View_List_SegArray_Data;
#endif

View File

@ -106,7 +106,7 @@ pub_legacy_eo_files = [
'elm_table.eo', 'elm_table.eo',
'elm_thumb.eo', 'elm_thumb.eo',
'efl_ui_textpath_legacy.eo', 'efl_ui_textpath_legacy.eo',
'efl_ui_view_list_precise_layouter.eo' 'efl_ui_list_view_precise_layouter.eo'
] ]
pub_eo_file_target = [] pub_eo_file_target = []
@ -205,11 +205,11 @@ pub_eo_files = [
'efl_ui_layout_part_table.eo', 'efl_ui_layout_part_table.eo',
'efl_ui_layout_part_bg.eo', 'efl_ui_layout_part_bg.eo',
'efl_ui_layout_part_legacy.eo', 'efl_ui_layout_part_legacy.eo',
'efl_ui_view_list.eo', 'efl_ui_list_view.eo',
'efl_ui_view_list_model.eo', 'efl_ui_list_view_model.eo',
'efl_ui_view_list_pan.eo', 'efl_ui_list_view_pan.eo',
'efl_ui_view_list_segarray.eo', 'efl_ui_list_view_seg_array.eo',
'efl_ui_view_list_relayout.eo', 'efl_ui_list_view_relayout.eo',
'efl_ui_item.eo', 'efl_ui_item.eo',
'efl_ui_list_item.eo', 'efl_ui_list_item.eo',
'efl_ui_list_default_item_part_icon.eo', 'efl_ui_list_default_item_part_icon.eo',
@ -304,7 +304,7 @@ endforeach
pub_eo_types_files = [ pub_eo_types_files = [
'elm_general.eot', 'elm_general.eot',
'efl_ui.eot', 'efl_ui.eot',
'efl_ui_view_list_types.eot', 'efl_ui_list_view_types.eot',
'efl_selection_types.eot', 'efl_selection_types.eot',
'efl_ui_dnd_types.eot' 'efl_ui_dnd_types.eot'
] ]
@ -440,8 +440,8 @@ elementary_headers_unstable = [
'efl_ui_item_private.h', 'efl_ui_item_private.h',
'efl_ui_list_item_private.h', 'efl_ui_list_item_private.h',
'efl_ui_list_private.h', 'efl_ui_list_private.h',
'efl_ui_view_list_private.h', 'efl_ui_list_view_private.h',
'efl_ui_view_list_segarray.h', 'efl_ui_list_view_seg_array.h',
'elm_widget_web.h', 'elm_widget_web.h',
'efl_ui_clock.h', 'efl_ui_clock.h',
'elm_code.h', 'elm_code.h',
@ -864,9 +864,9 @@ elementary_src = [
'efl_ui_list_default_item.c', 'efl_ui_list_default_item.c',
'efl_ui_list_empty_item.c', 'efl_ui_list_empty_item.c',
'efl_ui_list.c', 'efl_ui_list.c',
'efl_ui_view_list.c', 'efl_ui_list_view.c',
'efl_ui_view_list_precise_layouter.c', 'efl_ui_list_view_precise_layouter.c',
'efl_ui_view_list_segarray.c', 'efl_ui_list_view_seg_array.c',
'efl_ui_layout_factory.c', 'efl_ui_layout_factory.c',
'efl_ui_scroller.c', 'efl_ui_scroller.c',
'efl_ui_scroll_manager.c', 'efl_ui_scroll_manager.c',