diff options
author | SangHyeon Lee <sh10233.lee@samsung.com> | 2018-04-23 15:13:59 +0900 |
---|---|---|
committer | SangHyeon Lee <sh10233.lee@samsung.com> | 2018-04-28 13:41:41 +0900 |
commit | 75f21087f57ac836fa28556239fafe2669696289 (patch) | |
tree | 3590304e24214e7c16a27d62911c727b2301f0bb /src/lib/efl/interfaces | |
parent | bbbd05148ad6c67450c92e87741f097b49f77352 (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/efl/interfaces')
-rw-r--r-- | src/lib/efl/interfaces/efl_interfaces_main.c | 1 | ||||
-rw-r--r-- | src/lib/efl/interfaces/efl_ui_item.eo | 54 | ||||
-rw-r--r-- | src/lib/efl/interfaces/efl_ui_multi_selectable.eo | 28 |
3 files changed, 29 insertions, 54 deletions
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index d245e4afeb..4e02e1e5e1 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c | |||
@@ -74,6 +74,7 @@ | |||
74 | #include "interfaces/efl_ui_scrollable_interactive.eo.c" | 74 | #include "interfaces/efl_ui_scrollable_interactive.eo.c" |
75 | #include "interfaces/efl_ui_scrollbar.eo.c" | 75 | #include "interfaces/efl_ui_scrollbar.eo.c" |
76 | #include "interfaces/efl_ui_selectable.eo.c" | 76 | #include "interfaces/efl_ui_selectable.eo.c" |
77 | #include "interfaces/efl_ui_multi_selectable.eo.c" | ||
77 | #include "interfaces/efl_ui_zoom.eo.c" | 78 | #include "interfaces/efl_ui_zoom.eo.c" |
78 | 79 | ||
79 | EAPI void | 80 | EAPI void |
diff --git a/src/lib/efl/interfaces/efl_ui_item.eo b/src/lib/efl/interfaces/efl_ui_item.eo deleted file mode 100644 index 49ef31b6d5..0000000000 --- a/src/lib/efl/interfaces/efl_ui_item.eo +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | interface Efl.Ui.Item { | ||
2 | [[Efl UI item interface]] | ||
3 | legacy_prefix: null; | ||
4 | methods { | ||
5 | @property prev { | ||
6 | get { | ||
7 | [[Get the item before this one in the widget's list of items. | ||
8 | |||
9 | See also @.next. | ||
10 | ]] | ||
11 | } | ||
12 | values { | ||
13 | item: Efl.Ui.Item; [[The item before the object in its parent's | ||
14 | list. If there is no previous item or in case | ||
15 | of error, $null is returned.]] | ||
16 | } | ||
17 | } | ||
18 | @property next { | ||
19 | get { | ||
20 | [[Get the item after this one in the widget's list of items. | ||
21 | |||
22 | See also @.prev. | ||
23 | ]] | ||
24 | } | ||
25 | values { | ||
26 | item: Efl.Ui.Item; [[The item after the object in its parent's | ||
27 | list. If there is no next item or in case | ||
28 | of error, $null is returned.]] | ||
29 | } | ||
30 | } | ||
31 | @property selected { | ||
32 | [[Indicates whether this item is currently selected.]] | ||
33 | get { | ||
34 | [[Get the selected state of this item.]] | ||
35 | } | ||
36 | set { | ||
37 | [[Set the selected state of $item. | ||
38 | |||
39 | This sets the selected state of the given item $it. | ||
40 | $true for selected, $false for not selected. | ||
41 | |||
42 | If a new item is selected the previously selected will | ||
43 | be unselected. Previously selected item can be retrieved | ||
44 | with @Efl.Ui.Menu.selected_item.get. | ||
45 | |||
46 | Selected items will be highlighted. | ||
47 | ]] | ||
48 | } | ||
49 | values { | ||
50 | selected: bool; [[The selection state.]] | ||
51 | } | ||
52 | } | ||
53 | } | ||
54 | } | ||
diff --git a/src/lib/efl/interfaces/efl_ui_multi_selectable.eo b/src/lib/efl/interfaces/efl_ui_multi_selectable.eo new file mode 100644 index 0000000000..8e82750441 --- /dev/null +++ b/src/lib/efl/interfaces/efl_ui_multi_selectable.eo | |||
@@ -0,0 +1,28 @@ | |||
1 | enum Efl.Ui.Select_Mode { | ||
2 | [[Type of multi selectable object.]] | ||
3 | legacy: efl_ui_select; | ||
4 | single, [[Only single child is selected. if the child is selected, | ||
5 | previous selected child will be unselected.]] | ||
6 | single_always, [[Same as single select except, this will be selected | ||
7 | in every select calls though child is already been selected.]] | ||
8 | multi, [[allow multiple selection of children.]] | ||
9 | none [[Last value of select mode. child cannot be selected at all.]] | ||
10 | } | ||
11 | |||
12 | interface Efl.Ui.Multi_Selectable () | ||
13 | { | ||
14 | [[Efl UI Multi selectable interface. | ||
15 | The container have to control select property of multiple chidren.]] | ||
16 | eo_prefix: efl_ui; | ||
17 | methods | ||
18 | { | ||
19 | @property select_mode { | ||
20 | [[The mode type for children selection.]] | ||
21 | set {} | ||
22 | get {} | ||
23 | values { | ||
24 | mode: Efl.Ui.Select_Mode; [[Type of selection of children]] | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | } | ||