summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:15:33 -0800
commitc5493fb81ca40f16f591346bd9d732f8cea188af (patch)
tree893a0ec7f6f7858a1c01c9abc30c8572f6596b31 /src
parent4f8a7233ccc195d0b42fcfd1a574299eb030b635 (diff)
elm_index: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8177
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am10
-rw-r--r--src/lib/elementary/elm_index.c4
-rw-r--r--src/lib/elementary/elm_index.eo211
-rw-r--r--src/lib/elementary/elm_index_eo.c327
-rw-r--r--src/lib/elementary/elm_index_eo.h382
-rw-r--r--src/lib/elementary/elm_index_eo.legacy.c126
-rw-r--r--src/lib/elementary/elm_index_eo.legacy.h341
-rw-r--r--src/lib/elementary/elm_index_item.eo50
-rw-r--r--src/lib/elementary/elm_index_item_eo.c109
-rw-r--r--src/lib/elementary/elm_index_item_eo.h71
-rw-r--r--src/lib/elementary/elm_index_item_eo.legacy.c18
-rw-r--r--src/lib/elementary/elm_index_item_eo.legacy.h64
-rw-r--r--src/lib/elementary/elm_index_legacy.h4
-rw-r--r--src/lib/elementary/elm_widget_index.h4
-rw-r--r--src/lib/elementary/meson.build6
15 files changed, 1456 insertions, 271 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 76715ad..ba07090 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -187,7 +187,6 @@ elm_private_eolian_files = \
187elm_legacy_eolian_files = \ 187elm_legacy_eolian_files = \
188 lib/elementary/efl_ui_clock_legacy.eo \ 188 lib/elementary/efl_ui_clock_legacy.eo \
189 lib/elementary/elm_interface_fileselector.eo \ 189 lib/elementary/elm_interface_fileselector.eo \
190 lib/elementary/elm_index.eo \
191 lib/elementary/elm_label.eo \ 190 lib/elementary/elm_label.eo \
192 lib/elementary/elm_list.eo \ 191 lib/elementary/elm_list.eo \
193 lib/elementary/elm_map.eo \ 192 lib/elementary/elm_map.eo \
@@ -205,7 +204,6 @@ elm_legacy_eolian_files = \
205 lib/elementary/elm_sys_notify_dbus.eo \ 204 lib/elementary/elm_sys_notify_dbus.eo \
206 lib/elementary/elm_systray.eo \ 205 lib/elementary/elm_systray.eo \
207 lib/elementary/elm_menu_item.eo \ 206 lib/elementary/elm_menu_item.eo \
208 lib/elementary/elm_index_item.eo \
209 lib/elementary/elm_widget_item_static_focus.eo \ 207 lib/elementary/elm_widget_item_static_focus.eo \
210 lib/elementary/elm_list_item.eo \ 208 lib/elementary/elm_list_item.eo \
211 lib/elementary/elm_popup_item.eo \ 209 lib/elementary/elm_popup_item.eo \
@@ -360,6 +358,10 @@ lib/elementary/elm_hoversel_eo.c \
360lib/elementary/elm_hoversel_item_eo.c \ 358lib/elementary/elm_hoversel_item_eo.c \
361lib/elementary/elm_hoversel_item_eo.legacy.c \ 359lib/elementary/elm_hoversel_item_eo.legacy.c \
362lib/elementary/elm_icon_eo.c \ 360lib/elementary/elm_icon_eo.c \
361lib/elementary/elm_index_eo.c \
362lib/elementary/elm_index_eo.legacy.c \
363lib/elementary/elm_index_item_eo.c \
364lib/elementary/elm_index_item_eo.legacy.c \
363$(NULL) 365$(NULL)
364 366
365elm_legacy_eo_headers = \ 367elm_legacy_eo_headers = \
@@ -481,6 +483,10 @@ lib/elementary/elm_hoversel_item_eo.h \
481lib/elementary/elm_hoversel_item_eo.legacy.h \ 483lib/elementary/elm_hoversel_item_eo.legacy.h \
482lib/elementary/elm_icon_eo.h \ 484lib/elementary/elm_icon_eo.h \
483lib/elementary/elm_icon_eo.legacy.h \ 485lib/elementary/elm_icon_eo.legacy.h \
486lib/elementary/elm_index_eo.h \
487lib/elementary/elm_index_eo.legacy.h \
488lib/elementary/elm_index_item_eo.h \
489lib/elementary/elm_index_item_eo.legacy.h \
484$(NULL) 490$(NULL)
485 491
486 492
diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index 9ef6d66..70d2ee0 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -1710,5 +1710,5 @@ _elm_index_item_efl_access_widget_action_elm_actions_get(const Eo *eo_it EINA_UN
1710 ELM_LAYOUT_SIZING_EVAL_OPS(elm_index), \ 1710 ELM_LAYOUT_SIZING_EVAL_OPS(elm_index), \
1711 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index) 1711 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index)
1712 1712
1713#include "elm_index_item.eo.c" 1713#include "elm_index_item_eo.c"
1714#include "elm_index.eo.c" 1714#include "elm_index_eo.c"
diff --git a/src/lib/elementary/elm_index.eo b/src/lib/elementary/elm_index.eo
deleted file mode 100644
index b24f5dd..0000000
--- a/src/lib/elementary/elm_index.eo
+++ /dev/null
@@ -1,211 +0,0 @@
1class Elm.Index extends Efl.Ui.Layout_Base implements Efl.Ui.Direction,
2 Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy
3{
4 [[elementary index class]]
5 legacy_prefix: elm_index;
6 eo_prefix: elm_obj_index;
7 event_prefix: elm_index;
8 methods {
9 @property autohide_disabled {
10 [[Enable or disable auto hiding feature for a given index widget.]]
11 values {
12 disabled: bool; [[$true to disable auto hiding, $false to enable]]
13 }
14 }
15 @property omit_enabled {
16 [[Enable or disable omit feature for a given index widget.
17
18 @since 1.8]]
19 values {
20 enabled: bool; [[$true to enable omit feature, $false to disable]]
21 }
22 }
23 @property standard_priority {
24 [[Control standard_priority group of index. Priority group will be shown as many items as it can, and other group will be shown one character only.
25
26 @since 1.16]]
27 values {
28 priority: int; [[$priority target priority value in index]]
29 }
30 }
31 @property delay_change_time {
32 [[Set a delay change time for index object.
33
34 Note: delay time is 0.2 sec by default.]]
35 values {
36 dtime: double; [[The delay change time to set.]]
37 }
38 }
39 @property indicator_disabled {
40 [[Control the indicator as to be disabled.
41
42 In Index widget, Indicator notes popup text, which shows a letter has been selecting.]]
43 values {
44 disabled: bool; [[$true to disable it, $false to enable it]]
45 }
46 }
47 @property item_level {
48 [[Set the items level for a given index widget.
49
50 See: elm_index_item_level_get()]]
51 values {
52 level: int; [[$0 or $1, the currently implemented levels.]]
53 }
54 }
55 level_go {
56 [[Flush the changes made to the index items so they work correctly
57
58 This flushes any changes made to items indicating the object is ready to
59 go. You should call this before any changes you expect to work. This
60 is similar to elm_list_go().
61
62 Warning: If not called, it won't display the index properly.]]
63 params {
64 @in level: int; [[The index level (one of $0 or $1) where changes were made]]
65 }
66 }
67 item_prepend {
68 [[Prepend a new item on a given index widget.
69
70
71 Despite the most common usage of the $letter argument is for
72 single char strings, one could use arbitrary strings as index
73 entries.
74
75 $item will be the pointer returned back on $"changed",
76 "delay,changed" and $"selected" smart events.]]
77
78 return: Elm.Widget.Item; [[A handle to the item added or $NULL, on errors]]
79 params {
80 @in letter: string; [[Letter under which the item should be indexed]]
81 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is selected.]]
82 @in data: const(void_ptr) @optional; [[The item data to set for the index's item]]
83 }
84 }
85 item_clear {
86 [[Removes all items from a given index widget.
87
88 If deletion callbacks are set, via elm_object_item_del_cb_set(),
89 that callback function will be called for each item in $obj.]]
90 }
91 item_insert_after {
92 [[Insert a new item into the index object after item $after.
93
94 Despite the most common usage of the $letter argument is for
95 single char strings, one could use arbitrary strings as index
96 entries.
97
98 $item will be the pointer returned back on $"changed",
99 "delay,changed" and $"selected" smart events.
100
101 Note: If $after is $NULL this function will behave as
102 elm_index_item_append().]]
103
104 return: Elm.Widget.Item; [[A handle to the item added or $NULL, on errors]]
105 params {
106 @in after: Elm.Widget.Item; [[The index item to insert after.]]
107 @in letter: string; [[Letter under which the item should be indexed]]
108 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
109 @in data: const(void_ptr) @optional; [[The item data to set for the index's item]]
110 }
111 }
112 item_find {
113 [[Find a given index widget's item, using item data.]]
114
115 return: Elm.Widget.Item; [[The index item handle, if found, or $NULL otherwise]]
116 params {
117 @in data: const(void_ptr); [[The item data pointed to by the desired index item]]
118 }
119 }
120 item_insert_before {
121 [[Insert a new item into the index object before item $before.
122
123 Despite the most common usage of the $letter argument is for
124 single char strings, one could use arbitrary strings as index
125 entries.
126
127 $item will be the pointer returned back on $"changed",
128 "delay,changed" and $"selected" smart events.
129
130 Note: If $before is $NULL this function will behave as
131 elm_index_item_prepend().]]
132
133 return: Elm.Widget.Item; [[A handle to the item added or $NULL, on errors]]
134 params {
135 @in before: Elm.Widget.Item; [[The index item to insert after.]]
136 @in letter: string; [[Letter under which the item should be indexed]]
137 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
138 @in data: const(void_ptr) @optional; [[The item data to set for the index's item]]
139 }
140 }
141 item_append {
142 [[Append a new item on a given index widget.
143
144 Despite the most common usage of the $letter argument is for
145 single char strings, one could use arbitrary strings as index
146 entries.
147
148 $item will be the pointer returned back on $"changed",
149 "delay,changed" and $"selected" smart events.]]
150
151 return: Elm.Widget.Item; [[A handle to the item added or $NULL, on errors]]
152 params {
153 @in letter: string; [[Letter under which the item should be indexed]]
154 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is selected.]]
155 @in data: const(void_ptr) @optional; [[The item data to set for the index's item]]
156 }
157 }
158 selected_item_get @const {
159 [[Returns the last selected item, for a given index widget.]]
160
161 return: Elm.Widget.Item; [[The last item selected on $obj (or $NULL, on errors).]]
162 params {
163 @in level: int; [[$0 or $1, the currently implemented levels.]]
164 }
165 }
166 item_sorted_insert {
167 [[Insert a new item into the given index widget, using $cmp_func function to sort items (by item handles).
168
169 Despite the most common usage of the $letter argument is for
170 single char strings, one could use arbitrary strings as index
171 entries.
172
173 $item will be the pointer returned back on $"changed",
174 "delay,changed" and $"selected" smart events.]]
175
176 return: Elm.Widget.Item; [[A handle to the item added or $NULL, on errors]]
177 params {
178 @in letter: string; [[Letter under which the item should be indexed]]
179 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
180 @in data: const(void_ptr) @optional; [[The item data to set for the index's item]]
181 @in cmp_func: Eina_Compare_Cb; [[The comparing function to be used to sort index items by index item handles]]
182 @in cmp_data_func: Eina_Compare_Cb @optional; [[A fallback function to be called for the
183 sorting of index items by item data). It will be used
184 when $cmp_func returns $0 (equality), which means an index
185 item with provided item data already exists. To decide which
186 data item should be pointed to by the index item in question,
187 $cmp_data_func will be used. If $cmp_data_func returns a
188 non-negative value, the previous index item data will be
189 replaced by the given $item pointer. If the previous data need
190 to be freed, it should be done by the $cmp_data_func function,
191 because all references to it will be lost. If this function is
192 not provided ($NULL is given), index items will be
193 duplicated, if $cmp_func returns $0.]]
194 }
195 }
196 }
197 implements {
198 class.constructor;
199 Efl.Object.constructor;
200 Efl.Ui.Widget.theme_apply;
201 Efl.Ui.Widget.on_access_update;
202 Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $vertical.]] }
203 Efl.Access.Object.access_children { get; }
204 }
205 events {
206 changed: Efl.Object; [[Called when index changed]]
207 delay,changed: Efl.Object; [[Called when delay changed]]
208 level,up: void; [[Called when level increased]]
209 level,down: void; [[Called when level decreased]]
210 }
211}
diff --git a/src/lib/elementary/elm_index_eo.c b/src/lib/elementary/elm_index_eo.c
new file mode 100644
index 0000000..db4af4f
--- /dev/null
+++ b/src/lib/elementary/elm_index_eo.c
@@ -0,0 +1,327 @@
1EWAPI const Efl_Event_Description _ELM_INDEX_EVENT_CHANGED =
2 EFL_EVENT_DESCRIPTION("changed");
3EWAPI const Efl_Event_Description _ELM_INDEX_EVENT_DELAY_CHANGED =
4 EFL_EVENT_DESCRIPTION("delay,changed");
5EWAPI const Efl_Event_Description _ELM_INDEX_EVENT_LEVEL_UP =
6 EFL_EVENT_DESCRIPTION("level,up");
7EWAPI const Efl_Event_Description _ELM_INDEX_EVENT_LEVEL_DOWN =
8 EFL_EVENT_DESCRIPTION("level,down");
9
10void _elm_index_autohide_disabled_set(Eo *obj, Elm_Index_Data *pd, Eina_Bool disabled);
11
12
13static Eina_Error
14__eolian_elm_index_autohide_disabled_set_reflect(Eo *obj, Eina_Value val)
15{
16 Eina_Error r = 0; Eina_Bool cval;
17 if (!eina_value_bool_convert(&val, &cval))
18 {
19 r = EINA_ERROR_VALUE_FAILED;
20 goto end;
21 }
22 elm_obj_index_autohide_disabled_set(obj, cval);
23 end:
24 eina_value_flush(&val);
25 return r;
26}
27
28EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_autohide_disabled_set, EFL_FUNC_CALL(disabled), Eina_Bool disabled);
29
30Eina_Bool _elm_index_autohide_disabled_get(const Eo *obj, Elm_Index_Data *pd);
31
32
33static Eina_Value
34__eolian_elm_index_autohide_disabled_get_reflect(Eo *obj)
35{
36 Eina_Bool val = elm_obj_index_autohide_disabled_get(obj);
37 return eina_value_bool_init(val);
38}
39
40EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_autohide_disabled_get, Eina_Bool, 0);
41
42void _elm_index_omit_enabled_set(Eo *obj, Elm_Index_Data *pd, Eina_Bool enabled);
43
44
45static Eina_Error
46__eolian_elm_index_omit_enabled_set_reflect(Eo *obj, Eina_Value val)
47{
48 Eina_Error r = 0; Eina_Bool cval;
49 if (!eina_value_bool_convert(&val, &cval))
50 {
51 r = EINA_ERROR_VALUE_FAILED;
52 goto end;
53 }
54 elm_obj_index_omit_enabled_set(obj, cval);
55 end:
56 eina_value_flush(&val);
57 return r;
58}
59
60EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_omit_enabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
61
62Eina_Bool _elm_index_omit_enabled_get(const Eo *obj, Elm_Index_Data *pd);
63
64
65static Eina_Value
66__eolian_elm_index_omit_enabled_get_reflect(Eo *obj)
67{
68 Eina_Bool val = elm_obj_index_omit_enabled_get(obj);
69 return eina_value_bool_init(val);
70}
71
72EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_omit_enabled_get, Eina_Bool, 0);
73
74void _elm_index_standard_priority_set(Eo *obj, Elm_Index_Data *pd, int priority);
75
76
77static Eina_Error
78__eolian_elm_index_standard_priority_set_reflect(Eo *obj, Eina_Value val)
79{
80 Eina_Error r = 0; int cval;
81 if (!eina_value_int_convert(&val, &cval))
82 {
83 r = EINA_ERROR_VALUE_FAILED;
84 goto end;
85 }
86 elm_obj_index_standard_priority_set(obj, cval);
87 end:
88 eina_value_flush(&val);
89 return r;
90}
91
92EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_standard_priority_set, EFL_FUNC_CALL(priority), int priority);
93
94int _elm_index_standard_priority_get(const Eo *obj, Elm_Index_Data *pd);
95
96
97static Eina_Value
98__eolian_elm_index_standard_priority_get_reflect(Eo *obj)
99{
100 int val = elm_obj_index_standard_priority_get(obj);
101 return eina_value_int_init(val);
102}
103
104EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_standard_priority_get, int, 0);
105
106void _elm_index_delay_change_time_set(Eo *obj, Elm_Index_Data *pd, double dtime);
107
108
109static Eina_Error
110__eolian_elm_index_delay_change_time_set_reflect(Eo *obj, Eina_Value val)
111{
112 Eina_Error r = 0; double cval;
113 if (!eina_value_double_convert(&val, &cval))
114 {
115 r = EINA_ERROR_VALUE_FAILED;
116 goto end;
117 }
118 elm_obj_index_delay_change_time_set(obj, cval);
119 end:
120 eina_value_flush(&val);
121 return r;
122}
123
124EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_delay_change_time_set, EFL_FUNC_CALL(dtime), double dtime);
125
126double _elm_index_delay_change_time_get(const Eo *obj, Elm_Index_Data *pd);
127
128
129static Eina_Value
130__eolian_elm_index_delay_change_time_get_reflect(Eo *obj)
131{
132 double val = elm_obj_index_delay_change_time_get(obj);
133 return eina_value_double_init(val);
134}
135
136EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_delay_change_time_get, double, 0);
137
138void _elm_index_indicator_disabled_set(Eo *obj, Elm_Index_Data *pd, Eina_Bool disabled);
139
140
141static Eina_Error
142__eolian_elm_index_indicator_disabled_set_reflect(Eo *obj, Eina_Value val)
143{
144 Eina_Error r = 0; Eina_Bool cval;
145 if (!eina_value_bool_convert(&val, &cval))
146 {
147 r = EINA_ERROR_VALUE_FAILED;
148 goto end;
149 }
150 elm_obj_index_indicator_disabled_set(obj, cval);
151 end:
152 eina_value_flush(&val);
153 return r;
154}
155
156EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_indicator_disabled_set, EFL_FUNC_CALL(disabled), Eina_Bool disabled);
157
158Eina_Bool _elm_index_indicator_disabled_get(const Eo *obj, Elm_Index_Data *pd);
159
160
161static Eina_Value
162__eolian_elm_index_indicator_disabled_get_reflect(Eo *obj)
163{
164 Eina_Bool val = elm_obj_index_indicator_disabled_get(obj);
165 return eina_value_bool_init(val);
166}
167
168EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_indicator_disabled_get, Eina_Bool, 0);
169
170void _elm_index_item_level_set(Eo *obj, Elm_Index_Data *pd, int level);
171
172
173static Eina_Error
174__eolian_elm_index_item_level_set_reflect(Eo *obj, Eina_Value val)
175{
176 Eina_Error r = 0; int cval;
177 if (!eina_value_int_convert(&val, &cval))
178 {
179 r = EINA_ERROR_VALUE_FAILED;
180 goto end;
181 }
182 elm_obj_index_item_level_set(obj, cval);
183 end:
184 eina_value_flush(&val);
185 return r;
186}
187
188EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_item_level_set, EFL_FUNC_CALL(level), int level);
189
190int _elm_index_item_level_get(const Eo *obj, Elm_Index_Data *pd);
191
192
193static Eina_Value
194__eolian_elm_index_item_level_get_reflect(Eo *obj)
195{
196 int val = elm_obj_index_item_level_get(obj);
197 return eina_value_int_init(val);
198}
199
200EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_item_level_get, int, 0);
201
202void _elm_index_level_go(Eo *obj, Elm_Index_Data *pd, int level);
203
204EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_level_go, EFL_FUNC_CALL(level), int level);
205
206Elm_Widget_Item *_elm_index_item_prepend(Eo *obj, Elm_Index_Data *pd, const char *letter, Evas_Smart_Cb func, const void *data);
207
208EOAPI EFL_FUNC_BODYV(elm_obj_index_item_prepend, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(letter, func, data), const char *letter, Evas_Smart_Cb func, const void *data);
209
210void _elm_index_item_clear(Eo *obj, Elm_Index_Data *pd);
211
212EOAPI EFL_VOID_FUNC_BODY(elm_obj_index_item_clear);
213
214Elm_Widget_Item *_elm_index_item_insert_after(Eo *obj, Elm_Index_Data *pd, Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
215
216EOAPI EFL_FUNC_BODYV(elm_obj_index_item_insert_after, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(after, letter, func, data), Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
217
218Elm_Widget_Item *_elm_index_item_find(Eo *obj, Elm_Index_Data *pd, const void *data);
219
220EOAPI EFL_FUNC_BODYV(elm_obj_index_item_find, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(data), const void *data);
221
222Elm_Widget_Item *_elm_index_item_insert_before(Eo *obj, Elm_Index_Data *pd, Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
223
224EOAPI EFL_FUNC_BODYV(elm_obj_index_item_insert_before, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(before, letter, func, data), Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
225
226Elm_Widget_Item *_elm_index_item_append(Eo *obj, Elm_Index_Data *pd, const char *letter, Evas_Smart_Cb func, const void *data);
227
228EOAPI EFL_FUNC_BODYV(elm_obj_index_item_append, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(letter, func, data), const char *letter, Evas_Smart_Cb func, const void *data);
229
230Elm_Widget_Item *_elm_index_selected_item_get(const Eo *obj, Elm_Index_Data *pd, int level);
231
232EOAPI EFL_FUNC_BODYV_CONST(elm_obj_index_selected_item_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(level), int level);
233
234Elm_Widget_Item *_elm_index_item_sorted_insert(Eo *obj, Elm_Index_Data *pd, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
235
236EOAPI EFL_FUNC_BODYV(elm_obj_index_item_sorted_insert, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(letter, func, data, cmp_func, cmp_data_func), const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
237
238Efl_Object *_elm_index_efl_object_constructor(Eo *obj, Elm_Index_Data *pd);
239
240
241Eina_Error _elm_index_efl_ui_widget_theme_apply(Eo *obj, Elm_Index_Data *pd);
242
243
244void _elm_index_efl_ui_widget_on_access_update(Eo *obj, Elm_Index_Data *pd, Eina_Bool enable);
245
246
247void _elm_index_efl_ui_direction_direction_set(Eo *obj, Elm_Index_Data *pd, Efl_Ui_Dir dir);
248
249
250Efl_Ui_Dir _elm_index_efl_ui_direction_direction_get(const Eo *obj, Elm_Index_Data *pd);
251
252
253Eina_List *_elm_index_efl_access_object_access_children_get(const Eo *obj, Elm_Index_Data *pd);
254
255
256static Eina_Bool
257_elm_index_class_initializer(Efl_Class *klass)
258{
259 const Efl_Object_Ops *opsp = NULL;
260
261 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
262
263#ifndef ELM_INDEX_EXTRA_OPS
264#define ELM_INDEX_EXTRA_OPS
265#endif
266
267 EFL_OPS_DEFINE(ops,
268 EFL_OBJECT_OP_FUNC(elm_obj_index_autohide_disabled_set, _elm_index_autohide_disabled_set),
269 EFL_OBJECT_OP_FUNC(elm_obj_index_autohide_disabled_get, _elm_index_autohide_disabled_get),
270 EFL_OBJECT_OP_FUNC(elm_obj_index_omit_enabled_set, _elm_index_omit_enabled_set),
271 EFL_OBJECT_OP_FUNC(elm_obj_index_omit_enabled_get, _elm_index_omit_enabled_get),
272 EFL_OBJECT_OP_FUNC(elm_obj_index_standard_priority_set, _elm_index_standard_priority_set),
273 EFL_OBJECT_OP_FUNC(elm_obj_index_standard_priority_get, _elm_index_standard_priority_get),
274 EFL_OBJECT_OP_FUNC(elm_obj_index_delay_change_time_set, _elm_index_delay_change_time_set),
275 EFL_OBJECT_OP_FUNC(elm_obj_index_delay_change_time_get, _elm_index_delay_change_time_get),
276 EFL_OBJECT_OP_FUNC(elm_obj_index_indicator_disabled_set, _elm_index_indicator_disabled_set),
277 EFL_OBJECT_OP_FUNC(elm_obj_index_indicator_disabled_get, _elm_index_indicator_disabled_get),
278 EFL_OBJECT_OP_FUNC(elm_obj_index_item_level_set, _elm_index_item_level_set),
279 EFL_OBJECT_OP_FUNC(elm_obj_index_item_level_get, _elm_index_item_level_get),
280 EFL_OBJECT_OP_FUNC(elm_obj_index_level_go, _elm_index_level_go),
281 EFL_OBJECT_OP_FUNC(elm_obj_index_item_prepend, _elm_index_item_prepend),
282 EFL_OBJECT_OP_FUNC(elm_obj_index_item_clear, _elm_index_item_clear),
283 EFL_OBJECT_OP_FUNC(elm_obj_index_item_insert_after, _elm_index_item_insert_after),
284 EFL_OBJECT_OP_FUNC(elm_obj_index_item_find, _elm_index_item_find),
285 EFL_OBJECT_OP_FUNC(elm_obj_index_item_insert_before, _elm_index_item_insert_before),
286 EFL_OBJECT_OP_FUNC(elm_obj_index_item_append, _elm_index_item_append),
287 EFL_OBJECT_OP_FUNC(elm_obj_index_selected_item_get, _elm_index_selected_item_get),
288 EFL_OBJECT_OP_FUNC(elm_obj_index_item_sorted_insert, _elm_index_item_sorted_insert),
289 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_index_efl_object_constructor),
290 EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_index_efl_ui_widget_theme_apply),
291 EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_update, _elm_index_efl_ui_widget_on_access_update),
292 EFL_OBJECT_OP_FUNC(efl_ui_direction_set, _elm_index_efl_ui_direction_direction_set),
293 EFL_OBJECT_OP_FUNC(efl_ui_direction_get, _elm_index_efl_ui_direction_direction_get),
294 EFL_OBJECT_OP_FUNC(efl_access_object_access_children_get, _elm_index_efl_access_object_access_children_get),
295 ELM_INDEX_EXTRA_OPS
296 );
297 opsp = &ops;
298
299 static const Efl_Object_Property_Reflection refl_table[] = {
300 {"autohide_disabled", __eolian_elm_index_autohide_disabled_set_reflect, __eolian_elm_index_autohide_disabled_get_reflect},
301 {"omit_enabled", __eolian_elm_index_omit_enabled_set_reflect, __eolian_elm_index_omit_enabled_get_reflect},
302 {"standard_priority", __eolian_elm_index_standard_priority_set_reflect, __eolian_elm_index_standard_priority_get_reflect},
303 {"delay_change_time", __eolian_elm_index_delay_change_time_set_reflect, __eolian_elm_index_delay_change_time_get_reflect},
304 {"indicator_disabled", __eolian_elm_index_indicator_disabled_set_reflect, __eolian_elm_index_indicator_disabled_get_reflect},
305 {"item_level", __eolian_elm_index_item_level_set_reflect, __eolian_elm_index_item_level_get_reflect},
306 };
307 static const Efl_Object_Property_Reflection_Ops rops = {
308 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
309 };
310 ropsp = &rops;
311
312 return efl_class_functions_set(klass, opsp, ropsp);
313}
314
315static const Efl_Class_Description _elm_index_class_desc = {
316 EO_VERSION,
317 "Elm.Index",
318 EFL_CLASS_TYPE_REGULAR,
319 sizeof(Elm_Index_Data),
320 _elm_index_class_initializer,
321 _elm_index_class_constructor,
322 NULL
323};
324
325EFL_DEFINE_CLASS(elm_index_class_get, &_elm_index_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_DIRECTION_INTERFACE, EFL_UI_CLICKABLE_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL);
326
327#include "elm_index_eo.legacy.c"
diff --git a/src/lib/elementary/elm_index_eo.h b/src/lib/elementary/elm_index_eo.h
new file mode 100644
index 0000000..32af5b1
--- /dev/null
+++ b/src/lib/elementary/elm_index_eo.h
@@ -0,0 +1,382 @@
1#ifndef _ELM_INDEX_EO_H_
2#define _ELM_INDEX_EO_H_
3
4#ifndef _ELM_INDEX_EO_CLASS_TYPE
5#define _ELM_INDEX_EO_CLASS_TYPE
6
7typedef Eo Elm_Index;
8
9#endif
10
11#ifndef _ELM_INDEX_EO_TYPES
12#define _ELM_INDEX_EO_TYPES
13
14
15#endif
16/** elementary index class
17 *
18 * @ingroup Elm_Index
19 */
20#define ELM_INDEX_CLASS elm_index_class_get()
21
22EWAPI const Efl_Class *elm_index_class_get(void);
23
24/**
25 * @brief Enable or disable auto hiding feature for a given index widget.
26 *
27 * @param[in] obj The object.
28 * @param[in] disabled @c true to disable auto hiding, @c false to enable
29 *
30 * @ingroup Elm_Index
31 */
32EOAPI void elm_obj_index_autohide_disabled_set(Eo *obj, Eina_Bool disabled);
33
34/**
35 * @brief Enable or disable auto hiding feature for a given index widget.
36 *
37 * @param[in] obj The object.
38 *
39 * @return @c true to disable auto hiding, @c false to enable
40 *
41 * @ingroup Elm_Index
42 */
43EOAPI Eina_Bool elm_obj_index_autohide_disabled_get(const Eo *obj);
44
45/**
46 * @brief Enable or disable omit feature for a given index widget.
47 *
48 * @param[in] obj The object.
49 * @param[in] enabled @c true to enable omit feature, @c false to disable
50 *
51 * @since 1.8
52 *
53 * @ingroup Elm_Index
54 */
55EOAPI void elm_obj_index_omit_enabled_set(Eo *obj, Eina_Bool enabled);
56
57/**
58 * @brief Enable or disable omit feature for a given index widget.
59 *
60 * @param[in] obj The object.
61 *
62 * @return @c true to enable omit feature, @c false to disable
63 *
64 * @since 1.8
65 *
66 * @ingroup Elm_Index
67 */
68EOAPI Eina_Bool elm_obj_index_omit_enabled_get(const Eo *obj);
69
70/**
71 * @brief Control standard_priority group of index. Priority group will be
72 * shown as many items as it can, and other group will be shown one character
73 * only.
74 *
75 * @param[in] obj The object.
76 * @param[in] priority @c priority target priority value in index
77 *
78 * @since 1.16
79 *
80 * @ingroup Elm_Index
81 */
82EOAPI void elm_obj_index_standard_priority_set(Eo *obj, int priority);
83
84/**
85 * @brief Control standard_priority group of index. Priority group will be
86 * shown as many items as it can, and other group will be shown one character
87 * only.
88 *
89 * @param[in] obj The object.
90 *
91 * @return @c priority target priority value in index
92 *
93 * @since 1.16
94 *
95 * @ingroup Elm_Index
96 */
97EOAPI int elm_obj_index_standard_priority_get(const Eo *obj);
98
99/**
100 * @brief Set a delay change time for index object.
101 *
102 * @note delay time is 0.2 sec by default.
103 *
104 * @param[in] obj The object.
105 * @param[in] dtime The delay change time to set.
106 *
107 * @ingroup Elm_Index
108 */
109EOAPI void elm_obj_index_delay_change_time_set(Eo *obj, double dtime);
110
111/**
112 * @brief Set a delay change time for index object.
113 *
114 * @note delay time is 0.2 sec by default.
115 *
116 * @param[in] obj The object.
117 *
118 * @return The delay change time to set.
119 *
120 * @ingroup Elm_Index
121 */
122EOAPI double elm_obj_index_delay_change_time_get(const Eo *obj);
123
124/**
125 * @brief Control the indicator as to be disabled.
126 *
127 * In Index widget, Indicator notes popup text, which shows a letter has been
128 * selecting.
129 *
130 * @param[in] obj The object.
131 * @param[in] disabled @c true to disable it, @c false to enable it
132 *
133 * @ingroup Elm_Index
134 */
135EOAPI void elm_obj_index_indicator_disabled_set(Eo *obj, Eina_Bool disabled);
136
137/**
138 * @brief Control the indicator as to be disabled.
139 *
140 * In Index widget, Indicator notes popup text, which shows a letter has been
141 * selecting.
142 *
143 * @param[in] obj The object.
144 *
145 * @return @c true to disable it, @c false to enable it
146 *
147 * @ingroup Elm_Index
148 */
149EOAPI Eina_Bool elm_obj_index_indicator_disabled_get(const Eo *obj);
150
151/**
152 * @brief Set the items level for a given index widget.
153 *
154 * See: elm_index_item_level_get()
155 *
156 * @param[in] obj The object.
157 * @param[in] level $0 or $1, the currently implemented levels.
158 *
159 * @ingroup Elm_Index
160 */
161EOAPI void elm_obj_index_item_level_set(Eo *obj, int level);
162
163/**
164 * @brief Set the items level for a given index widget.
165 *
166 * See: elm_index_item_level_get()
167 *
168 * @param[in] obj The object.
169 *
170 * @return $0 or $1, the currently implemented levels.
171 *
172 * @ingroup Elm_Index
173 */
174EOAPI int elm_obj_index_item_level_get(const Eo *obj);
175
176/**
177 * @brief Flush the changes made to the index items so they work correctly
178 *
179 * This flushes any changes made to items indicating the object is ready to go.
180 * You should call this before any changes you expect to work. This is similar
181 * to elm_list_go().
182 *
183 * @warning If not called, it won't display the index properly.
184 *
185 * @param[in] obj The object.
186 * @param[in] level The index level (one of $0 or $1) where changes were made
187 *
188 * @ingroup Elm_Index
189 */
190EOAPI void elm_obj_index_level_go(Eo *obj, int level);
191
192/**
193 * @brief Prepend a new item on a given index widget.
194 *
195 * Despite the most common usage of the @c letter argument is for single char
196 * strings, one could use arbitrary strings as index entries.
197 *
198 * @c item will be the pointer returned back on $"changed", "delay,changed" and
199 * $"selected" smart events.
200 *
201 * @param[in] obj The object.
202 * @param[in] letter Letter under which the item should be indexed
203 * @param[in] func The function to call when the item is selected.
204 * @param[in] data The item data to set for the index's item
205 *
206 * @return A handle to the item added or @c NULL, on errors
207 *
208 * @ingroup Elm_Index
209 */
210EOAPI Elm_Widget_Item *elm_obj_index_item_prepend(Eo *obj, const char *letter, Evas_Smart_Cb func, const void *data);
211
212/**
213 * @brief Removes all items from a given index widget.
214 *
215 * If deletion callbacks are set, via elm_object_item_del_cb_set(), that
216 * callback function will be called for each item in @c obj.
217 * @param[in] obj The object.
218 *
219 * @ingroup Elm_Index
220 */
221EOAPI void elm_obj_index_item_clear(Eo *obj);
222
223/**
224 * @brief Insert a new item into the index object after item @c after.
225 *
226 * Despite the most common usage of the @c letter argument is for single char
227 * strings, one could use arbitrary strings as index entries.
228 *
229 * @c item will be the pointer returned back on $"changed", "delay,changed" and
230 * $"selected" smart events.
231 *
232 * @note If @c after is @c NULL this function will behave as
233 * elm_index_item_append().
234 *
235 * @param[in] obj The object.
236 * @param[in] after The index item to insert after.
237 * @param[in] letter Letter under which the item should be indexed
238 * @param[in] func The function to call when the item is clicked.
239 * @param[in] data The item data to set for the index's item
240 *
241 * @return A handle to the item added or @c NULL, on errors
242 *
243 * @ingroup Elm_Index
244 */
245EOAPI Elm_Widget_Item *elm_obj_index_item_insert_after(Eo *obj, Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
246
247/**
248 * @brief Find a given index widget's item, using item data.
249 *
250 * @param[in] obj The object.
251 * @param[in] data The item data pointed to by the desired index item
252 *
253 * @return The index item handle, if found, or @c NULL otherwise
254 *
255 * @ingroup Elm_Index
256 */
257EOAPI Elm_Widget_Item *elm_obj_index_item_find(Eo *obj, const void *data);
258
259/**
260 * @brief Insert a new item into the index object before item @c before.
261 *
262 * Despite the most common usage of the @c letter argument is for single char
263 * strings, one could use arbitrary strings as index entries.
264 *
265 * @c item will be the pointer returned back on $"changed", "delay,changed" and
266 * $"selected" smart events.
267 *
268 * @note If @c before is @c NULL this function will behave as
269 * elm_index_item_prepend().
270 *
271 * @param[in] obj The object.
272 * @param[in] before The index item to insert after.
273 * @param[in] letter Letter under which the item should be indexed
274 * @param[in] func The function to call when the item is clicked.
275 * @param[in] data The item data to set for the index's item
276 *
277 * @return A handle to the item added or @c NULL, on errors
278 *
279 * @ingroup Elm_Index
280 */
281EOAPI Elm_Widget_Item *elm_obj_index_item_insert_before(Eo *obj, Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
282
283/**
284 * @brief Append a new item on a given index widget.
285 *
286 * Despite the most common usage of the @c letter argument is for single char
287 * strings, one could use arbitrary strings as index entries.
288 *
289 * @c item will be the pointer returned back on $"changed", "delay,changed" and
290 * $"selected" smart events.
291 *
292 * @param[in] obj The object.
293 * @param[in] letter Letter under which the item should be indexed
294 * @param[in] func The function to call when the item is selected.
295 * @param[in] data The item data to set for the index's item
296 *
297 * @return A handle to the item added or @c NULL, on errors
298 *
299 * @ingroup Elm_Index
300 */
301EOAPI Elm_Widget_Item *elm_obj_index_item_append(Eo *obj, const char *letter, Evas_Smart_Cb func, const void *data);
302
303/**
304 * @brief Returns the last selected item, for a given index widget.
305 *
306 * @param[in] obj The object.
307 * @param[in] level $0 or $1, the currently implemented levels.
308 *
309 * @return The last item selected on @c obj (or @c NULL, on errors).
310 *
311 * @ingroup Elm_Index
312 */
313EOAPI Elm_Widget_Item *elm_obj_index_selected_item_get(const Eo *obj, int level);
314
315/**
316 * @brief Insert a new item into the given index widget, using @c cmp_func
317 * function to sort items (by item handles).
318 *
319 * Despite the most common usage of the @c letter argument is for single char
320 * strings, one could use arbitrary strings as index entries.
321 *
322 * @c item will be the pointer returned back on $"changed", "delay,changed" and
323 * $"selected" smart events.
324 *
325 * @param[in] obj The object.
326 * @param[in] letter Letter under which the item should be indexed
327 * @param[in] func The function to call when the item is clicked.
328 * @param[in] data The item data to set for the index's item
329 * @param[in] cmp_func The comparing function to be used to sort index items by
330 * index item handles
331 * @param[in] cmp_data_func A fallback function to be called for the sorting of
332 * index items by item data). It will be used when @c cmp_func returns $0
333 * (equality), which means an index item with provided item data already
334 * exists. To decide which data item should be pointed to by the index item in
335 * question, @c cmp_data_func will be used. If @c cmp_data_func returns a
336 * non-negative value, the previous index item data will be replaced by the
337 * given @c item pointer. If the previous data need to be freed, it should be
338 * done by the @c cmp_data_func function, because all references to it will be
339 * lost. If this function is not provided ($NULL is given), index items will be
340 * duplicated, if @c cmp_func returns $0.
341 *
342 * @return A handle to the item added or @c NULL, on errors
343 *
344 * @ingroup Elm_Index
345 */
346EOAPI Elm_Widget_Item *elm_obj_index_item_sorted_insert(Eo *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
347
348EWAPI extern const Efl_Event_Description _ELM_INDEX_EVENT_CHANGED;
349
350/** Called when index changed
351 * @return Efl_Object *
352 *
353 * @ingroup Elm_Index
354 */
355#define ELM_INDEX_EVENT_CHANGED (&(_ELM_INDEX_EVENT_CHANGED))
356
357EWAPI extern const Efl_Event_Description _ELM_INDEX_EVENT_DELAY_CHANGED;
358
359/** Called when delay changed
360 * @return Efl_Object *
361 *
362 * @ingroup Elm_Index
363 */
364#define ELM_INDEX_EVENT_DELAY_CHANGED (&(_ELM_INDEX_EVENT_DELAY_CHANGED))
365
366EWAPI extern const Efl_Event_Description _ELM_INDEX_EVENT_LEVEL_UP;
367
368/** Called when level increased
369 *
370 * @ingroup Elm_Index
371 */
372#define ELM_INDEX_EVENT_LEVEL_UP (&(_ELM_INDEX_EVENT_LEVEL_UP))
373
374EWAPI extern const Efl_Event_Description _ELM_INDEX_EVENT_LEVEL_DOWN;
375
376/** Called when level decreased
377 *
378 * @ingroup Elm_Index
379 */
380#define ELM_INDEX_EVENT_LEVEL_DOWN (&(_ELM_INDEX_EVENT_LEVEL_DOWN))
381
382#endif
diff --git a/src/lib/elementary/elm_index_eo.legacy.c b/src/lib/elementary/elm_index_eo.legacy.c
new file mode 100644
index 0000000..52b5426
--- /dev/null
+++ b/src/lib/elementary/elm_index_eo.legacy.c
@@ -0,0 +1,126 @@
1
2EAPI void
3elm_index_autohide_disabled_set(Elm_Index *obj, Eina_Bool disabled)
4{
5 elm_obj_index_autohide_disabled_set(obj, disabled);
6}
7
8EAPI Eina_Bool
9elm_index_autohide_disabled_get(const Elm_Index *obj)
10{
11 return elm_obj_index_autohide_disabled_get(obj);
12}
13
14EAPI void
15elm_index_omit_enabled_set(Elm_Index *obj, Eina_Bool enabled)
16{
17 elm_obj_index_omit_enabled_set(obj, enabled);
18}
19
20EAPI Eina_Bool
21elm_index_omit_enabled_get(const Elm_Index *obj)
22{
23 return elm_obj_index_omit_enabled_get(obj);
24}
25
26EAPI void
27elm_index_standard_priority_set(Elm_Index *obj, int priority)
28{
29 elm_obj_index_standard_priority_set(obj, priority);
30}
31
32EAPI int
33elm_index_standard_priority_get(const Elm_Index *obj)
34{
35 return elm_obj_index_standard_priority_get(obj);
36}
37
38EAPI void
39elm_index_delay_change_time_set(Elm_Index *obj, double dtime)
40{
41 elm_obj_index_delay_change_time_set(obj, dtime);
42}
43
44EAPI double
45elm_index_delay_change_time_get(const Elm_Index *obj)
46{
47 return elm_obj_index_delay_change_time_get(obj);
48}
49
50EAPI void
51elm_index_indicator_disabled_set(Elm_Index *obj, Eina_Bool disabled)
52{
53 elm_obj_index_indicator_disabled_set(obj, disabled);
54}
55
56EAPI Eina_Bool
57elm_index_indicator_disabled_get(const Elm_Index *obj)
58{
59 return elm_obj_index_indicator_disabled_get(obj);
60}
61
62EAPI void
63elm_index_item_level_set(Elm_Index *obj, int level)
64{
65 elm_obj_index_item_level_set(obj, level);
66}
67
68EAPI int
69elm_index_item_level_get(const Elm_Index *obj)
70{
71 return elm_obj_index_item_level_get(obj);
72}
73
74EAPI void
75elm_index_level_go(Elm_Index *obj, int level)
76{
77 elm_obj_index_level_go(obj, level);
78}
79
80EAPI Elm_Widget_Item *
81elm_index_item_prepend(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data)
82{
83 return elm_obj_index_item_prepend(obj, letter, func, data);
84}
85
86EAPI void
87elm_index_item_clear(Elm_Index *obj)
88{
89 elm_obj_index_item_clear(obj);
90}
91
92EAPI Elm_Widget_Item *
93elm_index_item_insert_after(Elm_Index *obj, Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data)
94{
95 return elm_obj_index_item_insert_after(obj, after, letter, func, data);
96}
97
98EAPI Elm_Widget_Item *
99elm_index_item_find(Elm_Index *obj, const void *data)
100{
101 return elm_obj_index_item_find(obj, data);
102}
103
104EAPI Elm_Widget_Item *
105elm_index_item_insert_before(Elm_Index *obj, Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data)
106{
107 return elm_obj_index_item_insert_before(obj, before, letter, func, data);
108}
109
110EAPI Elm_Widget_Item *
111elm_index_item_append(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data)
112{
113 return elm_obj_index_item_append(obj, letter, func, data);
114}
115
116EAPI Elm_Widget_Item *
117elm_index_selected_item_get(const Elm_Index *obj, int level)
118{
119 return elm_obj_index_selected_item_get(obj, level);
120}
121
122EAPI Elm_Widget_Item *
123elm_index_item_sorted_insert(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func)
124{
125 return elm_obj_index_item_sorted_insert(obj, letter, func, data, cmp_func, cmp_data_func);
126}
diff --git a/src/lib/elementary/elm_index_eo.legacy.h b/src/lib/elementary/elm_index_eo.legacy.h
new file mode 100644
index 0000000..3caed55
--- /dev/null
+++ b/src/lib/elementary/elm_index_eo.legacy.h
@@ -0,0 +1,341 @@
1#ifndef _ELM_INDEX_EO_LEGACY_H_
2#define _ELM_INDEX_EO_LEGACY_H_
3
4#ifndef _ELM_INDEX_EO_CLASS_TYPE
5#define _ELM_INDEX_EO_CLASS_TYPE
6
7typedef Eo Elm_Index;
8
9#endif
10
11#ifndef _ELM_INDEX_EO_TYPES
12#define _ELM_INDEX_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Enable or disable auto hiding feature for a given index widget.
19 *
20 * @param[in] obj The object.
21 * @param[in] disabled @c true to disable auto hiding, @c false to enable
22 *
23 * @ingroup Elm_Index_Group
24 */
25EAPI void elm_index_autohide_disabled_set(Elm_Index *obj, Eina_Bool disabled);
26
27/**
28 * @brief Enable or disable auto hiding feature for a given index widget.
29 *
30 * @param[in] obj The object.
31 *
32 * @return @c true to disable auto hiding, @c false to enable
33 *
34 * @ingroup Elm_Index_Group
35 */
36EAPI Eina_Bool elm_index_autohide_disabled_get(const Elm_Index *obj);
37
38/**
39 * @brief Enable or disable omit feature for a given index widget.
40 *
41 * @param[in] obj The object.
42 * @param[in] enabled @c true to enable omit feature, @c false to disable
43 *
44 * @since 1.8
45 *
46 * @ingroup Elm_Index_Group
47 */
48EAPI void elm_index_omit_enabled_set(Elm_Index *obj, Eina_Bool enabled);
49
50/**
51 * @brief Enable or disable omit feature for a given index widget.
52 *
53 * @param[in] obj The object.
54 *
55 * @return @c true to enable omit feature, @c false to disable
56 *
57 * @since 1.8
58 *
59 * @ingroup Elm_Index_Group
60 */
61EAPI Eina_Bool elm_index_omit_enabled_get(const Elm_Index *obj);
62
63/**
64 * @brief Control standard_priority group of index. Priority group will be
65 * shown as many items as it can, and other group will be shown one character
66 * only.
67 *
68 * @param[in] obj The object.
69 * @param[in] priority @c priority target priority value in index
70 *
71 * @since 1.16
72 *
73 * @ingroup Elm_Index_Group
74 */
75EAPI void elm_index_standard_priority_set(Elm_Index *obj, int priority);
76
77/**
78 * @brief Control standard_priority group of index. Priority group will be
79 * shown as many items as it can, and other group will be shown one character
80 * only.
81 *
82 * @param[in] obj The object.
83 *
84 * @return @c priority target priority value in index
85 *
86 * @since 1.16
87 *
88 * @ingroup Elm_Index_Group
89 */
90EAPI int elm_index_standard_priority_get(const Elm_Index *obj);
91
92/**
93 * @brief Set a delay change time for index object.
94 *
95 * @note delay time is 0.2 sec by default.
96 *
97 * @param[in] obj The object.
98 * @param[in] dtime The delay change time to set.
99 *
100 * @ingroup Elm_Index_Group
101 */
102EAPI void elm_index_delay_change_time_set(Elm_Index *obj, double dtime);
103
104/**
105 * @brief Set a delay change time for index object.
106 *
107 * @note delay time is 0.2 sec by default.
108 *
109 * @param[in] obj The object.
110 *
111 * @return The delay change time to set.
112 *
113 * @ingroup Elm_Index_Group
114 */
115EAPI double elm_index_delay_change_time_get(const Elm_Index *obj);
116
117/**
118 * @brief Control the indicator as to be disabled.
119 *
120 * In Index widget, Indicator notes popup text, which shows a letter has been
121 * selecting.
122 *
123 * @param[in] obj The object.
124 * @param[in] disabled @c true to disable it, @c false to enable it
125 *
126 * @ingroup Elm_Index_Group
127 */
128EAPI void elm_index_indicator_disabled_set(Elm_Index *obj, Eina_Bool disabled);
129
130/**
131 * @brief Control the indicator as to be disabled.
132 *
133 * In Index widget, Indicator notes popup text, which shows a letter has been
134 * selecting.
135 *
136 * @param[in] obj The object.
137 *
138 * @return @c true to disable it, @c false to enable it
139 *
140 * @ingroup Elm_Index_Group
141 */
142EAPI Eina_Bool elm_index_indicator_disabled_get(const Elm_Index *obj);
143
144/**
145 * @brief Set the items level for a given index widget.
146 *
147 * See: elm_index_item_level_get()
148 *
149 * @param[in] obj The object.
150 * @param[in] level $0 or $1, the currently implemented levels.
151 *
152 * @ingroup Elm_Index_Group
153 */
154EAPI void elm_index_item_level_set(Elm_Index *obj, int level);
155
156/**
157 * @brief Set the items level for a given index widget.
158 *
159 * See: elm_index_item_level_get()
160 *
161 * @param[in] obj The object.
162 *
163 * @return $0 or $1, the currently implemented levels.
164 *
165 * @ingroup Elm_Index_Group
166 */
167EAPI int elm_index_item_level_get(const Elm_Index *obj);
168
169/**
170 * @brief Flush the changes made to the index items so they work correctly
171 *
172 * This flushes any changes made to items indicating the object is ready to go.
173 * You should call this before any changes you expect to work. This is similar
174 * to elm_list_go().
175 *
176 * @warning If not called, it won't display the index properly.
177 *
178 * @param[in] obj The object.
179 * @param[in] level The index level (one of $0 or $1) where changes were made
180 *
181 * @ingroup Elm_Index_Group
182 */
183EAPI void elm_index_level_go(Elm_Index *obj, int level);
184
185/**
186 * @brief Prepend a new item on a given index widget.
187 *
188 * Despite the most common usage of the @c letter argument is for single char
189 * strings, one could use arbitrary strings as index entries.
190 *
191 * @c item will be the pointer returned back on $"changed", "delay,changed" and
192 * $"selected" smart events.
193 *
194 * @param[in] obj The object.
195 * @param[in] letter Letter under which the item should be indexed
196 * @param[in] func The function to call when the item is selected.
197 * @param[in] data The item data to set for the index's item
198 *
199 * @return A handle to the item added or @c NULL, on errors
200 *
201 * @ingroup Elm_Index_Group
202 */
203EAPI Elm_Widget_Item *elm_index_item_prepend(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data);
204
205/**
206 * @brief Removes all items from a given index widget.
207 *
208 * If deletion callbacks are set, via elm_object_item_del_cb_set(), that
209 * callback function will be called for each item in @c obj.
210 * @param[in] obj The object.
211 *
212 * @ingroup Elm_Index_Group
213 */
214EAPI void elm_index_item_clear(Elm_Index *obj);
215
216/**
217 * @brief Insert a new item into the index object after item @c after.
218 *
219 * Despite the most common usage of the @c letter argument is for single char
220 * strings, one could use arbitrary strings as index entries.
221 *
222 * @c item will be the pointer returned back on $"changed", "delay,changed" and
223 * $"selected" smart events.
224 *
225 * @note If @c after is @c NULL this function will behave as
226 * elm_index_item_append().
227 *
228 * @param[in] obj The object.
229 * @param[in] after The index item to insert after.
230 * @param[in] letter Letter under which the item should be indexed
231 * @param[in] func The function to call when the item is clicked.
232 * @param[in] data The item data to set for the index's item
233 *
234 * @return A handle to the item added or @c NULL, on errors
235 *
236 * @ingroup Elm_Index_Group
237 */
238EAPI Elm_Widget_Item *elm_index_item_insert_after(Elm_Index *obj, Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
239
240/**
241 * @brief Find a given index widget's item, using item data.
242 *
243 * @param[in] obj The object.
244 * @param[in] data The item data pointed to by the desired index item
245 *
246 * @return The index item handle, if found, or @c NULL otherwise
247 *
248 * @ingroup Elm_Index_Group
249 */
250EAPI Elm_Widget_Item *elm_index_item_find(Elm_Index *obj, const void *data);
251
252/**
253 * @brief Insert a new item into the index object before item @c before.
254 *
255 * Despite the most common usage of the @c letter argument is for single char
256 * strings, one could use arbitrary strings as index entries.
257 *
258 * @c item will be the pointer returned back on $"changed", "delay,changed" and
259 * $"selected" smart events.
260 *
261 * @note If @c before is @c NULL this function will behave as
262 * elm_index_item_prepend().
263 *
264 * @param[in] obj The object.
265 * @param[in] before The index item to insert after.
266 * @param[in] letter Letter under which the item should be indexed
267 * @param[in] func The function to call when the item is clicked.
268 * @param[in] data The item data to set for the index's item
269 *
270 * @return A handle to the item added or @c NULL, on errors
271 *
272 * @ingroup Elm_Index_Group
273 */
274EAPI Elm_Widget_Item *elm_index_item_insert_before(Elm_Index *obj, Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
275
276/**
277 * @brief Append a new item on a given index widget.
278 *
279 * Despite the most common usage of the @c letter argument is for single char
280 * strings, one could use arbitrary strings as index entries.
281 *
282 * @c item will be the pointer returned back on $"changed", "delay,changed" and
283 * $"selected" smart events.
284 *
285 * @param[in] obj The object.
286 * @param[in] letter Letter under which the item should be indexed
287 * @param[in] func The function to call when the item is selected.
288 * @param[in] data The item data to set for the index's item
289 *
290 * @return A handle to the item added or @c NULL, on errors
291 *
292 * @ingroup Elm_Index_Group
293 */
294EAPI Elm_Widget_Item *elm_index_item_append(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data);
295
296/**
297 * @brief Returns the last selected item, for a given index widget.
298 *
299 * @param[in] obj The object.
300 * @param[in] level $0 or $1, the currently implemented levels.
301 *
302 * @return The last item selected on @c obj (or @c NULL, on errors).
303 *
304 * @ingroup Elm_Index_Group
305 */
306EAPI Elm_Widget_Item *elm_index_selected_item_get(const Elm_Index *obj, int level);
307
308/**
309 * @brief Insert a new item into the given index widget, using @c cmp_func
310 * function to sort items (by item handles).
311 *
312 * Despite the most common usage of the @c letter argument is for single char
313 * strings, one could use arbitrary strings as index entries.
314 *
315 * @c item will be the pointer returned back on $"changed", "delay,changed" and
316 * $"selected" smart events.
317 *
318 * @param[in] obj The object.
319 * @param[in] letter Letter under which the item should be indexed
320 * @param[in] func The function to call when the item is clicked.
321 * @param[in] data The item data to set for the index's item
322 * @param[in] cmp_func The comparing function to be used to sort index items by
323 * index item handles
324 * @param[in] cmp_data_func A fallback function to be called for the sorting of
325 * index items by item data). It will be used when @c cmp_func returns $0
326 * (equality), which means an index item with provided item data already
327 * exists. To decide which data item should be pointed to by the index item in
328 * question, @c cmp_data_func will be used. If @c cmp_data_func returns a
329 * non-negative value, the previous index item data will be replaced by the
330 * given @c item pointer. If the previous data need to be freed, it should be
331 * done by the @c cmp_data_func function, because all references to it will be
332 * lost. If this function is not provided ($NULL is given), index items will be
333 * duplicated, if @c cmp_func returns $0.
334 *
335 * @return A handle to the item added or @c NULL, on errors
336 *
337 * @ingroup Elm_Index_Group
338 */
339EAPI Elm_Widget_Item *elm_index_item_sorted_insert(Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
340
341#endif
diff --git a/src/lib/elementary/elm_index_item.eo b/src/lib/elementary/elm_index_item.eo
deleted file mode 100644
index 5e4491c..0000000
--- a/src/lib/elementary/elm_index_item.eo
+++ /dev/null
@@ -1,50 +0,0 @@
1class Elm.Index.Item extends Elm.Widget.Item implements Efl.Access.Widget.Action, Efl.Ui.Legacy
2{
3 [[Elementary index item class]]
4 legacy_prefix: elm_index_item;
5 eo_prefix: elm_obj_index_item;
6 methods {
7 @property selected {
8 set {
9 [[Set the selected state of an item.
10
11 This sets the selected state of the given item $it.
12 $true for selected, $false for not selected.
13
14 If a new item is selected the previously selected will be unselected.
15 Previously selected item can be get with function
16 elm_index_selected_item_get().
17
18 Selected items will be highlighted.]]
19 }
20 values {
21 selected: bool; [[$true if selected, $false otherwise]]
22 }
23 }
24 @property priority {
25 set {
26 [[Sets the priority of an item.
27
28 The priority is -1 by default, which means that the item doesn't belong to a group.
29 The value of the priority starts from 0.
30
31 In elm_index_level_go, the items are sorted in ascending order according to priority.
32 Items of the same priority make a group and the primary group is shown by default.]]
33 }
34 values {
35 priority: int; [[The priority]]
36 }
37 }
38 letter_get @const {
39 [[Get the letter (string) set on a given index widget item.]]
40 return: string; [[The letter string set on $item]]
41 }
42 }
43 implements {
44 Efl.Object.constructor;
45 Efl.Object.destructor;
46 Elm.Widget.Item.access_register;
47 Efl.Access.Object.i18n_name { get; }
48 Efl.Access.Widget.Action.elm_actions { get; }
49 }
50}
diff --git a/src/lib/elementary/elm_index_item_eo.c b/src/lib/elementary/elm_index_item_eo.c
new file mode 100644
index 0000000..7ec46c3
--- /dev/null
+++ b/src/lib/elementary/elm_index_item_eo.c
@@ -0,0 +1,109 @@
1
2void _elm_index_item_selected_set(Eo *obj, Elm_Index_Item_Data *pd, Eina_Bool selected);
3
4
5static Eina_Error
6__eolian_elm_index_item_selected_set_reflect(Eo *obj, Eina_Value val)
7{
8 Eina_Error r = 0; Eina_Bool cval;
9 if (!eina_value_bool_convert(&val, &cval))
10 {
11 r = EINA_ERROR_VALUE_FAILED;
12 goto end;
13 }
14 elm_obj_index_item_selected_set(obj, cval);
15 end:
16 eina_value_flush(&val);
17 return r;
18}
19
20EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_item_selected_set, EFL_FUNC_CALL(selected), Eina_Bool selected);
21
22void _elm_index_item_priority_set(Eo *obj, Elm_Index_Item_Data *pd, int priority);
23
24
25static Eina_Error
26__eolian_elm_index_item_priority_set_reflect(Eo *obj, Eina_Value val)
27{
28 Eina_Error r = 0; int cval;
29 if (!eina_value_int_convert(&val, &cval))
30 {
31 r = EINA_ERROR_VALUE_FAILED;
32 goto end;
33 }
34 elm_obj_index_item_priority_set(obj, cval);
35 end:
36 eina_value_flush(&val);
37 return r;
38}
39
40EOAPI EFL_VOID_FUNC_BODYV(elm_obj_index_item_priority_set, EFL_FUNC_CALL(priority), int priority);
41
42const char *_elm_index_item_letter_get(const Eo *obj, Elm_Index_Item_Data *pd);
43
44EOAPI EFL_FUNC_BODY_CONST(elm_obj_index_item_letter_get, const char *, NULL);
45
46Efl_Object *_elm_index_item_efl_object_constructor(Eo *obj, Elm_Index_Item_Data *pd);
47
48
49void _elm_index_item_efl_object_destructor(Eo *obj, Elm_Index_Item_Data *pd);
50
51
52Efl_Canvas_Object *_elm_index_item_elm_widget_item_access_register(Eo *obj, Elm_Index_Item_Data *pd);
53
54
55const char *_elm_index_item_efl_access_object_i18n_name_get(const Eo *obj, Elm_Index_Item_Data *pd);
56
57
58const Efl_Access_Action_Data *_elm_index_item_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Index_Item_Data *pd);
59
60
61static Eina_Bool
62_elm_index_item_class_initializer(Efl_Class *klass)
63{
64 const Efl_Object_Ops *opsp = NULL;
65
66 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
67
68#ifndef ELM_INDEX_ITEM_EXTRA_OPS
69#define ELM_INDEX_ITEM_EXTRA_OPS
70#endif
71
72 EFL_OPS_DEFINE(ops,
73 EFL_OBJECT_OP_FUNC(elm_obj_index_item_selected_set, _elm_index_item_selected_set),
74 EFL_OBJECT_OP_FUNC(elm_obj_index_item_priority_set, _elm_index_item_priority_set),
75 EFL_OBJECT_OP_FUNC(elm_obj_index_item_letter_get, _elm_index_item_letter_get),
76 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_index_item_efl_object_constructor),
77 EFL_OBJECT_OP_FUNC(efl_destructor, _elm_index_item_efl_object_destructor),
78 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_register, _elm_index_item_elm_widget_item_access_register),
79 EFL_OBJECT_OP_FUNC(efl_access_object_i18n_name_get, _elm_index_item_efl_access_object_i18n_name_get),
80 EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_index_item_efl_access_widget_action_elm_actions_get),
81 ELM_INDEX_ITEM_EXTRA_OPS
82 );
83 opsp = &ops;
84
85 static const Efl_Object_Property_Reflection refl_table[] = {
86 {"selected", __eolian_elm_index_item_selected_set_reflect, NULL},
87 {"priority", __eolian_elm_index_item_priority_set_reflect, NULL},
88 };
89 static const Efl_Object_Property_Reflection_Ops rops = {
90 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
91 };
92 ropsp = &rops;
93
94 return efl_class_functions_set(klass, opsp, ropsp);
95}
96
97static const Efl_Class_Description _elm_index_item_class_desc = {
98 EO_VERSION,
99 "Elm.Index.Item",
100 EFL_CLASS_TYPE_REGULAR,
101 sizeof(Elm_Index_Item_Data),
102 _elm_index_item_class_initializer,
103 NULL,
104 NULL
105};
106
107EFL_DEFINE_CLASS(elm_index_item_class_get, &_elm_index_item_class_desc, ELM_WIDGET_ITEM_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
108
109#include "elm_index_item_eo.legacy.c"
diff --git a/src/lib/elementary/elm_index_item_eo.h b/src/lib/elementary/elm_index_item_eo.h
new file mode 100644
index 0000000..39c8a9e
--- /dev/null
+++ b/src/lib/elementary/elm_index_item_eo.h
@@ -0,0 +1,71 @@
1#ifndef _ELM_INDEX_ITEM_EO_H_
2#define _ELM_INDEX_ITEM_EO_H_
3
4#ifndef _ELM_INDEX_ITEM_EO_CLASS_TYPE
5#define _ELM_INDEX_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Index_Item;
8
9#endif
10
11#ifndef _ELM_INDEX_ITEM_EO_TYPES
12#define _ELM_INDEX_ITEM_EO_TYPES
13
14
15#endif
16/** Elementary index item class
17 *
18 * @ingroup Elm_Index_Item
19 */
20#define ELM_INDEX_ITEM_CLASS elm_index_item_class_get()
21
22EWAPI const Efl_Class *elm_index_item_class_get(void);
23
24/**
25 * @brief Set the selected state of an item.
26 *
27 * This sets the selected state of the given item @c it. @c true for selected,
28 * @c false for not selected.
29 *
30 * If a new item is selected the previously selected will be unselected.
31 * Previously selected item can be get with function
32 * elm_index_selected_item_get().
33 *
34 * Selected items will be highlighted.
35 *
36 * @param[in] obj The object.
37 * @param[in] selected @c true if selected, @c false otherwise
38 *
39 * @ingroup Elm_Index_Item
40 */
41EOAPI void elm_obj_index_item_selected_set(Eo *obj, Eina_Bool selected);
42
43/**
44 * @brief Sets the priority of an item.
45 *
46 * The priority is -1 by default, which means that the item doesn't belong to a
47 * group. The value of the priority starts from 0.
48 *
49 * In elm_index_level_go, the items are sorted in ascending order according to
50 * priority. Items of the same priority make a group and the primary group is
51 * shown by default.
52 *
53 * @param[in] obj The object.
54 * @param[in] priority The priority
55 *
56 * @ingroup Elm_Index_Item
57 */
58EOAPI void elm_obj_index_item_priority_set(Eo *obj, int priority);
59
60/**
61 * @brief Get the letter (string) set on a given index widget item.
62 *
63 * @param[in] obj The object.
64 *
65 * @return The letter string set on @c item
66 *
67 * @ingroup Elm_Index_Item
68 */
69EOAPI const char *elm_obj_index_item_letter_get(const Eo *obj);
70
71#endif
diff --git a/src/lib/elementary/elm_index_item_eo.legacy.c b/src/lib/elementary/elm_index_item_eo.legacy.c
new file mode 100644
index 0000000..27ac98c
--- /dev/null
+++ b/src/lib/elementary/elm_index_item_eo.legacy.c
@@ -0,0 +1,18 @@
1
2EAPI void
3elm_index_item_selected_set(Elm_Index_Item *obj, Eina_Bool selected)
4{
5 elm_obj_index_item_selected_set(obj, selected);
6}
7
8EAPI void
9elm_index_item_priority_set(Elm_Index_Item *obj, int priority)
10{
11 elm_obj_index_item_priority_set(obj, priority);
12}
13
14EAPI const char *
15elm_index_item_letter_get(const Elm_Index_Item *obj)
16{
17 return elm_obj_index_item_letter_get(obj);
18}
diff --git a/src/lib/elementary/elm_index_item_eo.legacy.h b/src/lib/elementary/elm_index_item_eo.legacy.h
new file mode 100644
index 0000000..d4286f7
--- /dev/null
+++ b/src/lib/elementary/elm_index_item_eo.legacy.h
@@ -0,0 +1,64 @@
1#ifndef _ELM_INDEX_ITEM_EO_LEGACY_H_
2#define _ELM_INDEX_ITEM_EO_LEGACY_H_
3
4#ifndef _ELM_INDEX_ITEM_EO_CLASS_TYPE
5#define _ELM_INDEX_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Index_Item;
8
9#endif
10
11#ifndef _ELM_INDEX_ITEM_EO_TYPES
12#define _ELM_INDEX_ITEM_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Set the selected state of an item.
19 *
20 * This sets the selected state of the given item @c it. @c true for selected,
21 * @c false for not selected.
22 *
23 * If a new item is selected the previously selected will be unselected.
24 * Previously selected item can be get with function
25 * elm_index_selected_item_get().
26 *
27 * Selected items will be highlighted.
28 *
29 * @param[in] obj The object.
30 * @param[in] selected @c true if selected, @c false otherwise
31 *
32 * @ingroup Elm_Index_Item_Group
33 */
34EAPI void elm_index_item_selected_set(Elm_Index_Item *obj, Eina_Bool selected);
35
36/**
37 * @brief Sets the priority of an item.
38 *
39 * The priority is -1 by default, which means that the item doesn't belong to a
40 * group. The value of the priority starts from 0.
41 *
42 * In elm_index_level_go, the items are sorted in ascending order according to
43 * priority. Items of the same priority make a group and the primary group is
44 * shown by default.
45 *
46 * @param[in] obj The object.
47 * @param[in] priority The priority
48 *
49 * @ingroup Elm_Index_Item_Group
50 */
51EAPI void elm_index_item_priority_set(Elm_Index_Item *obj, int priority);
52
53/**
54 * @brief Get the letter (string) set on a given index widget item.
55 *
56 * @param[in] obj The object.
57 *
58 * @return The letter string set on @c item
59 *
60 * @ingroup Elm_Index_Item_Group
61 */
62EAPI const char *elm_index_item_letter_get(const Elm_Index_Item *obj);
63
64#endif
diff --git a/src/lib/elementary/elm_index_legacy.h b/src/lib/elementary/elm_index_legacy.h
index 74a7e5c..7f8e7df 100644
--- a/src/lib/elementary/elm_index_legacy.h
+++ b/src/lib/elementary/elm_index_legacy.h
@@ -43,5 +43,5 @@ EAPI void elm_index_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
43 */ 43 */
44EAPI Eina_Bool elm_index_horizontal_get(const Evas_Object *obj); 44EAPI Eina_Bool elm_index_horizontal_get(const Evas_Object *obj);
45 45
46#include "elm_index_item.eo.legacy.h" 46#include "elm_index_item_eo.legacy.h"
47#include "elm_index.eo.legacy.h" 47#include "elm_index_eo.legacy.h"
diff --git a/src/lib/elementary/elm_widget_index.h b/src/lib/elementary/elm_widget_index.h
index 16582e2..3e39260 100644
--- a/src/lib/elementary/elm_widget_index.h
+++ b/src/lib/elementary/elm_widget_index.h
@@ -3,8 +3,8 @@
3 3
4#include "Elementary.h" 4#include "Elementary.h"
5 5
6#include "elm_index_item.eo.h" 6#include "elm_index_item_eo.h"
7#include "elm_index.eo.h" 7#include "elm_index_eo.h"
8 8
9/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR 9/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
10 * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT 10 * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 8075bad..32ed3e8 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -1,7 +1,6 @@
1pub_legacy_eo_files = [ 1pub_legacy_eo_files = [
2 'efl_ui_clock_legacy.eo', 2 'efl_ui_clock_legacy.eo',
3 'elm_interface_fileselector.eo', 3 'elm_interface_fileselector.eo',
4 'elm_index.eo',
5 'elm_label.eo', 4 'elm_label.eo',
6 'elm_list.eo', 5 'elm_list.eo',
7 'elm_map.eo', 6 'elm_map.eo',
@@ -19,7 +18,6 @@ pub_legacy_eo_files = [
19 'elm_sys_notify_dbus.eo', 18 'elm_sys_notify_dbus.eo',
20 'elm_systray.eo', 19 'elm_systray.eo',
21 'elm_menu_item.eo', 20 'elm_menu_item.eo',
22 'elm_index_item.eo',
23 'elm_widget_item_static_focus.eo', 21 'elm_widget_item_static_focus.eo',
24 'elm_list_item.eo', 22 'elm_list_item.eo',
25 'elm_popup_item.eo', 23 'elm_popup_item.eo',
@@ -761,6 +759,10 @@ elementary_pub_headers = [
761 'elm_hoversel_item_eo.legacy.h', 759 'elm_hoversel_item_eo.legacy.h',
762 'elm_icon_eo.h', 760 'elm_icon_eo.h',
763 'elm_icon_eo.legacy.h', 761 'elm_icon_eo.legacy.h',
762 'elm_index_eo.h',
763 'elm_index_eo.legacy.h',
764 'elm_index_item_eo.h',
765 'elm_index_item_eo.legacy.h',
764] 766]
765 767
766elementary_header_src = [ 768elementary_header_src = [