summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_list.eo
diff options
context:
space:
mode:
authorSangHyeon Lee <sh10233.lee@samsung.com>2018-04-23 15:13:59 +0900
committerSangHyeon Lee <sh10233.lee@samsung.com>2018-04-28 13:41:41 +0900
commit75f21087f57ac836fa28556239fafe2669696289 (patch)
tree3590304e24214e7c16a27d62911c727b2301f0bb /src/lib/elementary/efl_ui_list.eo
parentbbbd05148ad6c67450c92e87741f097b49f77352 (diff)
efl_ui_list : introduce new list widget for simple usage
Summary: most usage of simple list, items are very limited and loading performance is not serious. to support those requirement, this efl.ui.list will create scrollable box with efl.pack. user can create list by packing an pre-loaded item object, Efl.Ui.List.Item class. Test Plan: tested in efl_ui_list_example_1.c in examples. Reviewers: cedric, felipealmeida Subscribers: woohyun, Jaehyun_Cho Differential Revision: https://phab.enlightenment.org/D5861
Diffstat (limited to 'src/lib/elementary/efl_ui_list.eo')
-rw-r--r--src/lib/elementary/efl_ui_list.eo93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_list.eo b/src/lib/elementary/efl_ui_list.eo
new file mode 100644
index 0000000..b97e5b5
--- /dev/null
+++ b/src/lib/elementary/efl_ui_list.eo
@@ -0,0 +1,93 @@
1import efl_ui_list_item;
2
3class Efl.Ui.List (Efl.Ui.Layout.Object,
4 Efl.Ui.Scrollable_Interactive,
5 Efl.Ui.Scrollbar,
6 Efl.Pack_Linear, Efl.Pack_Layout,
7 Efl.Ui.Clickable,
8 Efl.Ui.Selectable,
9 Efl.Ui.Multi_Selectable)
10{
11 [[Simple list widget with Pack interface.]]
12 methods {
13 item_scroll {
14 [[scroll move the item to show in the viewport.]]
15 params {
16 @in item: Efl.Ui.List_Item; [[Target item.]]
17 @in animation: bool; [[Boolean value for animation of scroll move.]]
18 }
19 }
20 item_scroll_align {
21 [[scroll move the item to show at the align position of the viewport.]]
22 params {
23 @in item: Efl.Ui.List_Item; [[Target item.]]
24 @in align: double; [[align value in Viewport.]]
25 @in animation: bool; [[Boolean value for animation of scroll move.]]
26 }
27 }
28 @property last_selected_item {
29 [[Property data of last selected item.]]
30 get {}
31 values {
32 return: Efl.Ui.List_Item; [[last selected item of list.]]
33 }
34 }
35 selected_items_get {
36 [[Get the selected items iterator. The iterator sequence will be decided by selection.]]
37 return: iterator<Efl.Ui.List_Item> @owned @warn_unused; [[Iterator covered by selected items list.
38 user have to free the iterator after used.]]
39 }
40 }
41 implements {
42 //Efl.Object
43 Efl.Object.constructor;
44 Efl.Object.finalize;
45 Efl.Object.destructor;
46
47 //Efl.Canvas
48 Efl.Canvas.Group.group_calculate;
49
50 //Efl.Container
51 Efl.Container.content_iterate;
52 Efl.Container.content_count;
53
54 //Efl.Ui.Direction.direction { get; set; } //TODO
55
56 //Efl.Ui.Widget
57 Efl.Ui.Widget.theme_apply;
58
59 //Efl.Ui.Focus
60 //Efl.Ui.Focus.Object.on_focus_update;
61
62 //Efl.Pack
63 Efl.Pack.pack_clear;
64 Efl.Pack.unpack_all;
65 Efl.Pack.unpack;
66 Efl.Pack.pack;
67 Efl.Pack_Linear.pack_begin;
68 Efl.Pack_Linear.pack_end;
69 Efl.Pack_Linear.pack_before;
70 Efl.Pack_Linear.pack_after;
71 Efl.Pack_Linear.pack_at;
72 Efl.Pack_Linear.pack_content_get;
73 Efl.Pack_Linear.pack_unpack_at;
74 Efl.Pack_Linear.pack_index_get;
75 Efl.Pack_Layout.layout_update;
76 Efl.Pack_Layout.layout_request;
77 Efl.Pack.pack_padding { get; set; }
78 //Efl.Pack.pack_align { get; set; }
79
80 //Efl.Ui.Scrollable
81 Efl.Ui.Scrollable_Interactive.scroll;
82 Efl.Ui.Scrollable_Interactive.content_size{ get; }
83 Efl.Ui.Scrollable_Interactive.viewport_geometry{ get; }
84 Efl.Ui.Scrollable_Interactive.bounce_enabled { set; get; }
85 Efl.Ui.Scrollable_Interactive.scroll_freeze { get; set; }
86 Efl.Ui.Scrollable_Interactive.scroll_hold { get; set; }
87 Efl.Ui.Scrollable_Interactive.match_content { set; }
88 Efl.Ui.Scrollbar.bar_mode { get; set; }
89
90 //Efl.Ui.Multi_Selectable
91 Efl.Ui.Multi_Selectable.select_mode {get; set;}
92 }
93}