summaryrefslogtreecommitdiff
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:16:41 -0800
commit5ae716f7b35aa40ba14d999e46c64f6f4a1abdc6 (patch)
treed24ae9c74264a1630ce74f886776f7eec22aab6c
parent5ba8a21b51462811c49d2da90ffe022a05746ef3 (diff)
elm_widget_item*: 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/D8209
-rw-r--r--src/Makefile_Elementary.am13
-rw-r--r--src/lib/elementary/efl_ui_widget.c4
-rw-r--r--src/lib/elementary/elm_object_item.h2
-rw-r--r--src/lib/elementary/elm_priv.h2
-rw-r--r--src/lib/elementary/elm_widget.h4
-rw-r--r--src/lib/elementary/elm_widget_item.eo547
-rw-r--r--src/lib/elementary/elm_widget_item_container.eo10
-rw-r--r--src/lib/elementary/elm_widget_item_container_eo.c33
-rw-r--r--src/lib/elementary/elm_widget_item_container_eo.h31
-rw-r--r--src/lib/elementary/elm_widget_item_container_eo.legacy.h18
-rw-r--r--src/lib/elementary/elm_widget_item_eo.c558
-rw-r--r--src/lib/elementary/elm_widget_item_eo.h883
-rw-r--r--src/lib/elementary/elm_widget_item_eo.legacy.c282
-rw-r--r--src/lib/elementary/elm_widget_item_eo.legacy.h799
-rw-r--r--src/lib/elementary/elm_widget_item_static_focus.c2
-rw-r--r--src/lib/elementary/elm_widget_item_static_focus.eo9
-rw-r--r--src/lib/elementary/elm_widget_item_static_focus_eo.c43
-rw-r--r--src/lib/elementary/elm_widget_item_static_focus_eo.h26
-rw-r--r--src/lib/elementary/elm_widget_item_static_focus_eo.legacy.h17
-rw-r--r--src/lib/elementary/meson.build9
20 files changed, 2713 insertions, 579 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 6a0385a..0ca9be8 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -146,8 +146,6 @@ elm_public_eolian_files += \
146 lib/elementary/elm_atspi_bridge.eo \ 146 lib/elementary/elm_atspi_bridge.eo \
147 lib/elementary/elm_atspi_app_object.eo \ 147 lib/elementary/elm_atspi_app_object.eo \
148 lib/elementary/efl_ui_image_zoomable_pan.eo \ 148 lib/elementary/efl_ui_image_zoomable_pan.eo \
149 lib/elementary/elm_widget_item.eo \
150 lib/elementary/elm_widget_item_container.eo \
151 $(NULL) 149 $(NULL)
152 150
153# Private classes (not exposed or shipped) 151# Private classes (not exposed or shipped)
@@ -175,7 +173,6 @@ elm_private_eolian_files = \
175# Legacy classes - not part of public EO API 173# Legacy classes - not part of public EO API
176elm_legacy_eolian_files = \ 174elm_legacy_eolian_files = \
177 lib/elementary/efl_ui_clock_legacy.eo \ 175 lib/elementary/efl_ui_clock_legacy.eo \
178 lib/elementary/elm_widget_item_static_focus.eo \
179 lib/elementary/elm_ctxpopup_part.eo \ 176 lib/elementary/elm_ctxpopup_part.eo \
180 lib/elementary/elm_dayselector_part.eo \ 177 lib/elementary/elm_dayselector_part.eo \
181 lib/elementary/elm_entry_part.eo \ 178 lib/elementary/elm_entry_part.eo \
@@ -395,6 +392,10 @@ lib/elementary/elm_view_form_eo.c \
395lib/elementary/elm_view_list_eo.c \ 392lib/elementary/elm_view_list_eo.c \
396lib/elementary/elm_web_eo.c \ 393lib/elementary/elm_web_eo.c \
397lib/elementary/elm_web_eo.legacy.c \ 394lib/elementary/elm_web_eo.legacy.c \
395lib/elementary/elm_widget_item_container_eo.c \
396lib/elementary/elm_widget_item_eo.c \
397lib/elementary/elm_widget_item_eo.legacy.c \
398lib/elementary/elm_widget_item_static_focus_eo.c \
398$(NULL) 399$(NULL)
399 400
400elm_legacy_eo_headers = \ 401elm_legacy_eo_headers = \
@@ -608,6 +609,12 @@ lib/elementary/elm_view_list_eo.h \
608lib/elementary/elm_view_list_eo.legacy.h \ 609lib/elementary/elm_view_list_eo.legacy.h \
609lib/elementary/elm_web_eo.h \ 610lib/elementary/elm_web_eo.h \
610lib/elementary/elm_web_eo.legacy.h \ 611lib/elementary/elm_web_eo.legacy.h \
612lib/elementary/elm_widget_item_container_eo.h \
613lib/elementary/elm_widget_item_container_eo.legacy.h \
614lib/elementary/elm_widget_item_eo.h \
615lib/elementary/elm_widget_item_eo.legacy.h \
616lib/elementary/elm_widget_item_static_focus_eo.h \
617lib/elementary/elm_widget_item_static_focus_eo.legacy.h \
611$(NULL) 618$(NULL)
612 619
613 620
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index e6f95cf..4bd900f 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -5959,8 +5959,8 @@ ELM_PART_TEXT_DEFAULT_GET(efl_ui_widget, NULL)
5959 EFL_OBJECT_OP_FUNC(efl_canvas_object_is_frame_object_set, _efl_ui_widget_efl_canvas_object_is_frame_object_set), \ 5959 EFL_OBJECT_OP_FUNC(efl_canvas_object_is_frame_object_set, _efl_ui_widget_efl_canvas_object_is_frame_object_set), \
5960 EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_widget_efl_object_dbg_info_get) 5960 EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_widget_efl_object_dbg_info_get)
5961 5961
5962#include "elm_widget_item.eo.c" 5962#include "elm_widget_item_eo.c"
5963#include "elm_widget_item_container.eo.c" 5963#include "elm_widget_item_container_eo.c"
5964#include "efl_ui_widget.eo.c" 5964#include "efl_ui_widget.eo.c"
5965#include "efl_ui_widget_eo.legacy.c" 5965#include "efl_ui_widget_eo.legacy.c"
5966 5966
diff --git a/src/lib/elementary/elm_object_item.h b/src/lib/elementary/elm_object_item.h
index 2956ff2..76571bf 100644
--- a/src/lib/elementary/elm_object_item.h
+++ b/src/lib/elementary/elm_object_item.h
@@ -22,7 +22,7 @@ typedef Eo Elm_Object_Item;
22typedef void (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Object_Item *it, const char *emission, const char *source); 22typedef void (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Object_Item *it, const char *emission, const char *source);
23 23
24#ifndef EFL_NOLEGACY_API_SUPPORT 24#ifndef EFL_NOLEGACY_API_SUPPORT
25#include "elm_widget_item.eo.legacy.h" 25#include "elm_widget_item_eo.legacy.h"
26#endif 26#endif
27 27
28#define elm_object_item_content_set(it, content) elm_object_item_part_content_set((it), NULL, (content)) 28#define elm_object_item_content_set(it, content) elm_object_item_part_content_set((it), NULL, (content))
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index 0368de1..bfba69a 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -66,7 +66,7 @@
66# include "efl_ui_focus_parent_provider.eo.h" 66# include "efl_ui_focus_parent_provider.eo.h"
67# include "efl_ui_widget_focus_manager.eo.h" 67# include "efl_ui_widget_focus_manager.eo.h"
68# include "efl_ui_focus_parent_provider_standard.eo.h" 68# include "efl_ui_focus_parent_provider_standard.eo.h"
69# include "elm_widget_item_static_focus.eo.h" 69# include "elm_widget_item_static_focus_eo.h"
70# include "efl_ui_selection_manager.eo.h" 70# include "efl_ui_selection_manager.eo.h"
71# include "efl_datetime_manager.eo.h" 71# include "efl_datetime_manager.eo.h"
72# include "efl_ui_size_model.eo.h" 72# include "efl_ui_size_model.eo.h"
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index 015c100..0b8a5df 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -305,7 +305,7 @@ typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Objec
305typedef void (*Elm_Access_On_Highlight_Cb)(void *data); 305typedef void (*Elm_Access_On_Highlight_Cb)(void *data);
306 306
307#include "efl_ui_widget.eo.h" 307#include "efl_ui_widget.eo.h"
308#include "elm_widget_item_container.eo.h" 308#include "elm_widget_item_container_eo.h"
309 309
310/** 310/**
311 * @addtogroup Widget 311 * @addtogroup Widget
@@ -801,6 +801,6 @@ const char *efl_ui_widget_default_text_part_get(const Eo *obj);
801 801
802 802
803#define ELM_WIDGET_ITEM_PROTECTED 803#define ELM_WIDGET_ITEM_PROTECTED
804#include "elm_widget_item.eo.h" 804#include "elm_widget_item_eo.h"
805 805
806#endif 806#endif
diff --git a/src/lib/elementary/elm_widget_item.eo b/src/lib/elementary/elm_widget_item.eo
deleted file mode 100644
index 7f221e2..0000000
--- a/src/lib/elementary/elm_widget_item.eo
+++ /dev/null
@@ -1,547 +0,0 @@
1import elm_general;
2import efl_ui;
3
4type Elm_Tooltip_Item_Content_Cb: __undefined_type; [[Elementary tooltip item content callback type]]
5type Elm_Object_Item_Signal_Cb: __undefined_type; [[Elementary object item signal callback type]]
6
7class Elm.Widget.Item extends Efl.Object implements Efl.Access.Object,
8 Efl.Access.Component
9{
10 [[Elementary widget item class]]
11 eo_prefix: elm_wdg_item;
12 legacy_prefix: elm_object_item;
13 methods {
14 @property tooltip_window_mode {
15 [[Control size restriction state of an object's tooltip
16
17 This function returns whether a tooltip is allowed to expand beyond
18 its parent window's canvas.
19 It will instead be limited only by the size of the display.]]
20 get {
21 }
22 set {
23 return: bool; [[$false on failure, $true on success]]
24 }
25 values {
26 disable: bool; [[If $true, size restrictions are disabled]]
27 }
28 }
29 @property tooltip_style {
30 [[Control a different style for this item tooltip.
31
32 Note: before you set a style you should define a tooltip with
33 @.tooltip_content_cb_set or
34 @.tooltip_text_set
35
36 See: elm_object_tooltip_style_set() for more details.]]
37 get {
38 }
39 set {
40 }
41 values {
42 style: string; [[The theme style used/to use (default, transparent, ...)]]
43 }
44 }
45 @property cursor {
46 [[Control the type of mouse pointer/cursor decoration to be shown,
47 when the mouse pointer is over the given item
48
49 This function works analogously as elm_object_cursor_set(), but
50 here the cursor's changing area is restricted to the item's
51 area, and not the whole widget's. Note that that item cursors
52 have precedence over widget cursors, so that a mouse over an
53 item with custom cursor set will always show that cursor.
54
55 If this function is called twice for an object, a previously set
56 cursor will be unset on the second call.]]
57 get {
58 }
59 set {
60 }
61 values {
62 cursor: string; [[The cursor type's name]]
63 }
64 }
65 @property cursor_style {
66 [[Control a different $style for a given custom cursor set for an item.
67
68 This function only makes sense when one is using custom mouse
69 cursor decorations defined in a theme file, which can have,
70 given a cursor name/type, alternate styles on it. It
71 works analogously as elm_object_cursor_style_set(), but here
72 applies only to item objects.
73
74 Warning: Before you set a cursor style you should have defined a
75 custom cursor previously on the item, with @.cursor.set]]
76 get {
77 }
78 set {
79 }
80 values {
81 style: string; [[The theme style to use/in use (e.g. $"default", $"transparent", etc)]]
82 }
83 }
84 @property cursor_engine_only {
85 [[Control if the (custom)cursor for a given item should be
86 searched in its theme, also, or should only rely on the
87 rendering engine.
88
89 Note: This call is of use only if you've set a custom cursor
90 for items, with @.cursor.set.
91
92 Note: By default, cursors will only be looked for between those
93 provided by the rendering engine.]]
94 get {
95 }
96 set {
97 }
98 values {
99 engine_only: bool; [[Use $true to have cursors looked for only on those provided by the rendering engine, $false to have them searched on the widget's theme, as well.]]
100 }
101 }
102 @property part_content {
103 [[Control a content of an object item
104
105 This sets a new object to an item as a content object. If any object was
106 already set as a content object in the same part, previous object will be
107 deleted automatically.]]
108 get {
109 }
110 set {
111 }
112 keys {
113 part: string @nullable; [[The content part name (NULL for the default content)]]
114 }
115 values {
116 content: Efl.Canvas.Object; [[The content of the object item]]
117 }
118 }
119 @property part_text {
120 [[Control a label of an object item
121
122 Note: Elementary object items may have many labels]]
123 get {
124 }
125 set {
126 }
127 keys {
128 part: string @nullable; [[The text part name (NULL for the default label)]]
129 }
130 values {
131 label: string; [[Text of the label]]
132 }
133 }
134 @property part_text_custom @protected {
135 get {
136 [[Get additional text part content]]
137 legacy: null;
138 }
139 set {
140 [[Save additional text part content]]
141 legacy: null;
142 }
143 keys {
144 part: string; [[Part name]]
145 }
146 values {
147 label: string; [[Label name]]
148 }
149 }
150 @property item_focus {
151 [[Control the object item focused
152
153 @since 1.10]]
154 get {
155 legacy: elm_object_item_focus_get;
156 }
157 set {
158 legacy: elm_object_item_focus_set;
159 }
160 values {
161 focused: bool; [[The focused state]]
162 }
163 }
164 @property style {
165 [[Control the style of an object item
166
167 @since 1.9]]
168 get {
169 }
170 set {
171 }
172 values {
173 style: string; [[The style of object item]]
174 }
175 }
176 @property disabled {
177 [[Control the disabled state of a widget item.
178
179 Elementary object item can be disabled, in which state they won't
180 receive input and, in general, will be themed differently from
181 their normal state, usually greyed out. Useful for contexts
182 where you don't want your users to interact with some of the
183 parts of you interface.
184
185 This sets the state for the widget item, either disabling it or
186 enabling it back.]]
187 get {
188 }
189 set {
190 }
191 values {
192 disable: bool; [[$true, if the widget item is disabled, $false if it's enabled (or on errors)]]
193 }
194 }
195 access_order_get {
196 [[Get highlight order
197
198 @since 1.8]]
199 return: const(list<Efl.Canvas.Object>); [[List of evas canvas objects]]
200 }
201 access_order_set {
202 [[Set highlight order
203
204 @since 1.8]]
205 params {
206 @in objs: list<Efl.Canvas.Object> @owned; [[Order of objects to pass highlight]]
207 }
208 }
209 widget_get @const {
210 [[Get the widget object's handle which contains a given item
211
212 Note: This returns the widget object itself that an item belongs to.
213 Note: Every elm_object_item supports this API]]
214 return: Efl.Canvas.Object; [[The widget object]]
215 }
216 pre_notify_del @protected {
217 [[notify deletion of widget item]]
218 legacy: null;
219 }
220 tooltip_text_set {
221 [[Set the text to be shown in a given object item's tooltips.
222
223 Setup the text as tooltip to object. The item can have only one tooltip,
224 so any previous tooltip data - set with this function or
225 @.tooltip_content_cb_set - is removed.
226
227 See: elm_object_tooltip_text_set() for more details.]]
228 params {
229 text: string; [[The text to set in the content.]]
230 }
231 }
232 tooltip_translatable_text_set @protected {
233 [[Set widget item tooltip as a text string]]
234 legacy: null;
235 params {
236 text: string; [[Tooltip text]]
237 }
238 }
239 tooltip_unset {
240 [[Unset tooltip from item.
241
242 Remove tooltip from item. The callback provided as del_cb to
243 @.tooltip_content_cb_set will be called to notify
244 it is not used anymore.
245
246 See: elm_object_tooltip_unset() for more details.
247 See: @.tooltip_content_cb_set]]
248 }
249 cursor_unset {
250 [[Unset any custom mouse pointer/cursor decoration set to be
251 shown, when the mouse pointer is over the given
252 item, thus making it show the default cursor again.
253
254 Use this call to undo any custom settings on this item's cursor
255 decoration, bringing it back to defaults (no custom style set).
256
257 See: elm_object_cursor_unset()
258 See: @.cursor.set]]
259 }
260 part_content_unset {
261 [[Unset a content of an object item
262
263 Note: Elementary object items may have many contents]]
264 params {
265 part: string; [[The content part name to unset (NULL for the default content)]]
266 }
267 return: Efl.Canvas.Object; [[Content object]]
268 }
269 part_text_custom_update @protected {
270 [[Update additional text part content]]
271 legacy: null;
272 }
273 signal_callback_add {
274 [[Add a callback for a signal emitted by object item edje.
275
276 This function connects a callback function to a signal emitted by the
277 edje object of the object item.
278 Globs can occur in either the emission or source name.
279
280 @since 1.8]]
281 params {
282 emission: string; [[The signal's name.]]
283 source: string; [[The signal's source.]]
284 func: Elm_Object_Item_Signal_Cb; [[The callback function to be executed when the signal is emitted.]]
285 data: void_ptr; [[A pointer to data to pass to the callback function.]]
286 }
287 }
288 signal_callback_del {
289 [[Remove a signal-triggered callback from a object item edje object.
290
291 This function removes the last callback, previously attached to
292 a signal emitted by an underlying Edje object of $it, whose
293 parameters $emission, $source and $func match exactly with
294 those passed to a previous call to
295 @.signal_callback_add. The data pointer that was passed
296 to this call will be returned.
297
298 See: @.signal_callback_add
299
300 @since 1.8]]
301 params {
302 emission: string; [[The signal's name.]]
303 source: string; [[The signal's source.]]
304 func: Elm_Object_Item_Signal_Cb; [[The callback function to be executed when the signal is emitted.]]
305 }
306 return: void_ptr; [[The data pointer of the signal callback or $NULL, on errors.]]
307 }
308 signal_emit {
309 [[Send a signal to the edje object of the widget item.
310
311 This function sends a signal to the edje object of the obj item. An
312 edje program can respond to a signal by specifying matching
313 'signal' and 'source' fields.
314 Don't use this unless you want to also handle resetting of part states to default on
315 every unrealize in case of genlist/gengrid.]]
316 params {
317 emission: string; [[The signal's name.]]
318 source: string; [[The signal's source.]]
319 }
320 }
321 access_info_set {
322 [[Set the text to read out when in accessibility mode]]
323 params {
324 txt: string; [[The text that describes the widget to people with poor or no vision]]
325 }
326 }
327 access_object_get @const {
328 [[Get an accessible object of the object item.
329
330 @since 1.8]]
331 return: Efl.Canvas.Object; [[Accessible object of the object item or NULL for any error]]
332 }
333 domain_translatable_part_text_set {
334 [[Set the text for an object item's part, marking it as translatable.
335
336 The string to set as $text must be the original one. Do not pass the
337 return of $gettext() here. Elementary will translate the string
338 internally and set it on the object item using
339 @.part_text.set, also storing the original string so that it
340 can be automatically translated when the language is changed with
341 elm_language_set(). The $domain will be stored along to find the
342 translation in the correct catalog. It can be NULL, in which case it will use
343 whatever domain was set by the application with $textdomain(). This is
344 useful in case you are building a library on top of Elementary that will have
345 its own translatable strings, that should not be mixed with those of programs
346 using the library.
347
348 @since 1.8]]
349 params {
350 part: string; [[The name of the part to set]]
351 domain: string; [[The translation domain to use]]
352 label: string; [[The original, non-translated text to set]]
353 }
354 }
355 translatable_part_text_get @const {
356 [[Get the original string set as translatable for an object item.
357
358 When setting translated strings, the function @.part_text.get
359 will return the translation returned by $gettext(). To get the original
360 string use this function.
361
362 @since 1.8]]
363 params {
364 part: string; [[The name of the part that was set]]
365 }
366 return: string; [[The original, untranslated string]]
367 }
368 translate @protected {
369 [[Query translate]]
370 legacy: null;
371 }
372 domain_part_text_translatable_set {
373 [[Mark the part text to be translatable or not.
374
375 Once you mark the part text to be translatable, the text will be translated
376 internally regardless of @.part_text.set and
377 @.domain_translatable_part_text_set. In other case, if you
378 set the Elementary policy that all text will be translatable in default, you
379 can set the part text to not be translated by calling this API.
380
381 See: @.domain_translatable_part_text_set
382 See: @.part_text.set
383 See: elm_policy()
384
385 @since 1.8]]
386 params {
387 part: string; [[The part name of the translatable text]]
388 domain: string; [[The translation domain to use]]
389 translatable: bool; [[$true, the part text will be translated internally. $false, otherwise.]]
390 }
391 }
392 track {
393 [[This returns track object of the item.
394
395 Note: This gets a rectangle object that represents the object item's internal
396 object. If you want to check the geometry, visibility of the item, you
397 can call the evas apis such as evas_object_geometry_get(),
398 evas_object_visible_get() to the track object. Note that all of the
399 widget items may/may not have the internal object so this api may
400 return $NULL if the widget item doesn't have it. Additionally, the
401 widget item is managed/controlled by the widget, the widget item could
402 be changed(moved, resized even deleted) anytime by it's own widget's
403 decision. So please dont' change the track object as well as don't
404 keep the track object in your side as possible but get the track object
405 at the moment you need to refer. Otherwise, you need to add some
406 callbacks to the track object to track it's attributes changes.
407
408 Warning: After use the track object, please call the
409 @.untrack() paired to elm_object_item_track
410 definitely to free the track object properly. Don't delete the
411 track object.
412
413 See: @.untrack
414 See: @.track_get
415
416 @since 1.8]]
417 return: Efl.Canvas.Object; [[The track object]]
418 }
419 untrack {
420 [[This retrieve the track object of the item.
421
422 Note: This retrieves the track object that was returned from
423 @.track.
424
425 See: @.track
426 See: @.track_get
427
428 @since 1.8]]
429 }
430 track_get @const {
431 [[Get the track object reference count.
432
433 Note: This gets the reference count for the track object. Whenever you call
434 the @.track, the reference count will be increased by
435 one. Likely the reference count will be decreased again when you call
436 the @.untrack. Unless the reference count reaches to
437 zero, the track object won't be deleted. So please be sure to call
438 @.untrack() paired to the elm_object_item_track call
439 count.
440
441 See: @.track
442 See: @.track_get
443
444 @since 1.8]]
445 return: int; [[Track object reference count]]
446 }
447 track_cancel @protected {
448 [[Query track_cancel]]
449 legacy: null;
450 }
451 del_cb_set {
452 [[Set the function to be called when an item from the widget is
453 freed.
454
455 Note: Every elm_object_item supports this API]]
456 params {
457 del_cb: Evas_Smart_Cb @nullable; [[The function called]]
458 }
459 }
460 tooltip_content_cb_set {
461 [[Set the content to be shown in the tooltip item.
462
463 Setup the tooltip to item. The item can have only one tooltip,
464 so any previous tooltip data is removed. $func(with $data) will
465 be called every time that need show the tooltip and it should
466 return a valid Evas_Object. This object is then managed fully by
467 tooltip system and is deleted when the tooltip is gone.
468
469 See: elm_object_tooltip_content_cb_set() for more details.]]
470 params {
471 func: Elm_Tooltip_Item_Content_Cb @nullable; [[The function used to create the tooltip contents.]]
472 data: const(void_ptr) @optional; [[What to provide to $func as callback data/context.]]
473 del_cb: Evas_Smart_Cb @optional; [[Called when data is not needed anymore, either when another callback replaces $func, the tooltip is unset with @.tooltip_unset or the owner $item dies. This callback receives as the first parameter the given $data, and $event_info is the item.]]
474
475 }
476 }
477 access_register {
478 [[Register object item as an accessible object.
479
480 @since 1.8]]
481 return: Efl.Canvas.Object; [[Accessible object of the object item or NULL for any error]]
482 }
483 access_unregister {
484 [[Unregister accessible object of the object item.
485
486 @since 1.8]]
487 }
488 access_order_unset {
489 [[Unset highlight order
490
491 @since 1.8]]
492 }
493 disable @protected {
494 [[Disable widget item]]
495 legacy: null;
496 }
497 del_pre @protected {
498 [[Delete pre widget item]]
499 legacy: null;
500 }
501 focus_next_object_get @const {
502 [[Get the next object with specific focus direction.
503
504 @since 1.16]]
505 params {
506 dir: Efl.Ui.Focus.Direction; [[Focus direction]]
507 }
508 return: Efl.Canvas.Object; [[Focus next object]]
509 }
510 focus_next_object_set {
511 [[Set the next object with specific focus direction.
512
513 @since 1.16]]
514 params {
515 next: Efl.Canvas.Object @nullable; [[Focus next object]]
516 dir: Efl.Ui.Focus.Direction; [[Focus direction]]
517 }
518 }
519 focus_next_item_get @const {
520 [[Get the next object item with specific focus direction.
521
522 @since 1.16]]
523 params {
524 dir: Efl.Ui.Focus.Direction; [[Focus direction]]
525 }
526 return: Elm.Widget.Item; [[Focus next object item]]
527 }
528 focus_next_item_set {
529 [[Set the next object item with specific focus direction.
530
531 @since 1.16]]
532 params {
533 next_item: Elm.Widget.Item @nullable; [[Focus next object item]]
534 dir: Efl.Ui.Focus.Direction; [[Focus direction]]
535 }
536 }
537 }
538 implements {
539 Efl.Object.constructor;
540 Efl.Object.destructor;
541 Efl.Object.invalidate;
542 Efl.Access.Object.state_set { get; }
543 Efl.Access.Object.attributes { get; }
544 Efl.Access.Component.extents { get; set; }
545 Efl.Access.Component.focus_grab;
546 }
547}
diff --git a/src/lib/elementary/elm_widget_item_container.eo b/src/lib/elementary/elm_widget_item_container.eo
deleted file mode 100644
index 7a0c33c..0000000
--- a/src/lib/elementary/elm_widget_item_container.eo
+++ /dev/null
@@ -1,10 +0,0 @@
1interface Elm.Widget_Item_Container {
2 methods {
3 @property focused_item {
4 get {
5 [[Get the focused widget item.]]
6 return: Elm.Widget.Item; [[Focused item]]
7 }
8 }
9 }
10}
diff --git a/src/lib/elementary/elm_widget_item_container_eo.c b/src/lib/elementary/elm_widget_item_container_eo.c
new file mode 100644
index 0000000..81ca07d
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_container_eo.c
@@ -0,0 +1,33 @@
1EOAPI EFL_FUNC_BODY_CONST(elm_widget_item_container_focused_item_get, Elm_Widget_Item *, NULL);
2
3static Eina_Bool
4_elm_widget_item_container_class_initializer(Efl_Class *klass)
5{
6 const Efl_Object_Ops *opsp = NULL;
7
8 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
9
10#ifndef ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
11#define ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
12#endif
13
14 EFL_OPS_DEFINE(ops,
15 EFL_OBJECT_OP_FUNC(elm_widget_item_container_focused_item_get, NULL),
16 ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
17 );
18 opsp = &ops;
19
20 return efl_class_functions_set(klass, opsp, ropsp);
21}
22
23static const Efl_Class_Description _elm_widget_item_container_class_desc = {
24 EO_VERSION,
25 "Elm.Widget_Item_Container",
26 EFL_CLASS_TYPE_INTERFACE,
27 0,
28 _elm_widget_item_container_class_initializer,
29 NULL,
30 NULL
31};
32
33EFL_DEFINE_CLASS(elm_widget_item_container_interface_get, &_elm_widget_item_container_class_desc, NULL, NULL);
diff --git a/src/lib/elementary/elm_widget_item_container_eo.h b/src/lib/elementary/elm_widget_item_container_eo.h
new file mode 100644
index 0000000..066876e
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_container_eo.h
@@ -0,0 +1,31 @@
1#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_H_
2#define _ELM_WIDGET_ITEM_CONTAINER_EO_H_
3
4#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item_Container;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
12#define _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
13
14
15#endif
16#define ELM_WIDGET_ITEM_CONTAINER_INTERFACE elm_widget_item_container_interface_get()
17
18EWAPI const Efl_Class *elm_widget_item_container_interface_get(void);
19
20/**
21 * @brief Get the focused widget item.
22 *
23 * @param[in] obj The object.
24 *
25 * @return Focused item
26 *
27 * @ingroup Elm_Widget_Item_Container
28 */
29EOAPI Elm_Widget_Item *elm_widget_item_container_focused_item_get(const Eo *obj);
30
31#endif
diff --git a/src/lib/elementary/elm_widget_item_container_eo.legacy.h b/src/lib/elementary/elm_widget_item_container_eo.legacy.h
new file mode 100644
index 0000000..1408d4f
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_container_eo.legacy.h
@@ -0,0 +1,18 @@
1#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_LEGACY_H_
2#define _ELM_WIDGET_ITEM_CONTAINER_EO_LEGACY_H_
3
4#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item_Container;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
12#define _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
13
14
15#endif
16
17
18#endif
diff --git a/src/lib/elementary/elm_widget_item_eo.c b/src/lib/elementary/elm_widget_item_eo.c
new file mode 100644
index 0000000..903a72f
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_eo.c
@@ -0,0 +1,558 @@
1
2Eina_Bool _elm_widget_item_tooltip_window_mode_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool disable);
3
4
5static Eina_Error
6__eolian_elm_widget_item_tooltip_window_mode_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_wdg_item_tooltip_window_mode_set(obj, cval);
15 end:
16 eina_value_flush(&val);
17 return r;
18}
19
20EOAPI EFL_FUNC_BODYV(elm_wdg_item_tooltip_window_mode_set, Eina_Bool, 0, EFL_FUNC_CALL(disable), Eina_Bool disable);
21
22Eina_Bool _elm_widget_item_tooltip_window_mode_get(const Eo *obj, Elm_Widget_Item_Data *pd);
23
24
25static Eina_Value
26__eolian_elm_widget_item_tooltip_window_mode_get_reflect(Eo *obj)
27{
28 Eina_Bool val = elm_wdg_item_tooltip_window_mode_get(obj);
29 return eina_value_bool_init(val);
30}
31
32EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_tooltip_window_mode_get, Eina_Bool, 0);
33
34void _elm_widget_item_tooltip_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
35
36
37static Eina_Error
38__eolian_elm_widget_item_tooltip_style_set_reflect(Eo *obj, Eina_Value val)
39{
40 Eina_Error r = 0; const char *cval;
41 if (!eina_value_string_convert(&val, &cval))
42 {
43 r = EINA_ERROR_VALUE_FAILED;
44 goto end;
45 }
46 elm_wdg_item_tooltip_style_set(obj, cval);
47 end:
48 eina_value_flush(&val);
49 return r;
50}
51
52EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_style_set, EFL_FUNC_CALL(style), const char *style);
53
54const char *_elm_widget_item_tooltip_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
55
56
57static Eina_Value
58__eolian_elm_widget_item_tooltip_style_get_reflect(Eo *obj)
59{
60 const char *val = elm_wdg_item_tooltip_style_get(obj);
61 return eina_value_string_init(val);
62}
63
64EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_tooltip_style_get, const char *, NULL);
65
66void _elm_widget_item_cursor_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *cursor);
67
68
69static Eina_Error
70__eolian_elm_widget_item_cursor_set_reflect(Eo *obj, Eina_Value val)
71{
72 Eina_Error r = 0; const char *cval;
73 if (!eina_value_string_convert(&val, &cval))
74 {
75 r = EINA_ERROR_VALUE_FAILED;
76 goto end;
77 }
78 elm_wdg_item_cursor_set(obj, cval);
79 end:
80 eina_value_flush(&val);
81 return r;
82}
83
84EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_set, EFL_FUNC_CALL(cursor), const char *cursor);
85
86const char *_elm_widget_item_cursor_get(const Eo *obj, Elm_Widget_Item_Data *pd);
87
88
89static Eina_Value
90__eolian_elm_widget_item_cursor_get_reflect(Eo *obj)
91{
92 const char *val = elm_wdg_item_cursor_get(obj);
93 return eina_value_string_init(val);
94}
95
96EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_get, const char *, NULL);
97
98void _elm_widget_item_cursor_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
99
100
101static Eina_Error
102__eolian_elm_widget_item_cursor_style_set_reflect(Eo *obj, Eina_Value val)
103{
104 Eina_Error r = 0; const char *cval;
105 if (!eina_value_string_convert(&val, &cval))
106 {
107 r = EINA_ERROR_VALUE_FAILED;
108 goto end;
109 }
110 elm_wdg_item_cursor_style_set(obj, cval);
111 end:
112 eina_value_flush(&val);
113 return r;
114}
115
116EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_style_set, EFL_FUNC_CALL(style), const char *style);
117
118const char *_elm_widget_item_cursor_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
119
120
121static Eina_Value
122__eolian_elm_widget_item_cursor_style_get_reflect(Eo *obj)
123{
124 const char *val = elm_wdg_item_cursor_style_get(obj);
125 return eina_value_string_init(val);
126}
127
128EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_style_get, const char *, NULL);
129
130void _elm_widget_item_cursor_engine_only_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool engine_only);
131
132
133static Eina_Error
134__eolian_elm_widget_item_cursor_engine_only_set_reflect(Eo *obj, Eina_Value val)
135{
136 Eina_Error r = 0; Eina_Bool cval;
137 if (!eina_value_bool_convert(&val, &cval))
138 {
139 r = EINA_ERROR_VALUE_FAILED;
140 goto end;
141 }
142 elm_wdg_item_cursor_engine_only_set(obj, cval);
143 end:
144 eina_value_flush(&val);
145 return r;
146}
147
148EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_engine_only_set, EFL_FUNC_CALL(engine_only), Eina_Bool engine_only);
149
150Eina_Bool _elm_widget_item_cursor_engine_only_get(const Eo *obj, Elm_Widget_Item_Data *pd);
151
152
153static Eina_Value
154__eolian_elm_widget_item_cursor_engine_only_get_reflect(Eo *obj)
155{
156 Eina_Bool val = elm_wdg_item_cursor_engine_only_get(obj);
157 return eina_value_bool_init(val);
158}
159
160EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_engine_only_get, Eina_Bool, 0);
161
162void _elm_widget_item_part_content_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, Efl_Canvas_Object *content);
163
164EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_content_set, EFL_FUNC_CALL(part, content), const char *part, Efl_Canvas_Object *content);
165
166Efl_Canvas_Object *_elm_widget_item_part_content_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
167
168EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_content_get, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(part), const char *part);
169
170void _elm_widget_item_part_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *label);
171
172EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_text_set, EFL_FUNC_CALL(part, label), const char *part, const char *label);
173
174const char *_elm_widget_item_part_text_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
175
176EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_text_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
177
178void _elm_widget_item_part_text_custom_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *label);
179
180EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_text_custom_set, EFL_FUNC_CALL(part, label), const char *part, const char *label);
181
182const char *_elm_widget_item_part_text_custom_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
183
184EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_text_custom_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
185
186void _elm_widget_item_item_focus_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool focused);
187
188
189static Eina_Error
190__eolian_elm_widget_item_item_focus_set_reflect(Eo *obj, Eina_Value val)
191{
192 Eina_Error r = 0; Eina_Bool cval;
193 if (!eina_value_bool_convert(&val, &cval))
194 {
195 r = EINA_ERROR_VALUE_FAILED;
196 goto end;
197 }
198 elm_wdg_item_focus_set(obj, cval);
199 end:
200 eina_value_flush(&val);
201 return r;
202}
203
204EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_set, EFL_FUNC_CALL(focused), Eina_Bool focused);
205
206Eina_Bool _elm_widget_item_item_focus_get(const Eo *obj, Elm_Widget_Item_Data *pd);
207
208
209static Eina_Value
210__eolian_elm_widget_item_item_focus_get_reflect(Eo *obj)
211{
212 Eina_Bool val = elm_wdg_item_focus_get(obj);
213 return eina_value_bool_init(val);
214}
215
216EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_focus_get, Eina_Bool, 0);
217
218void _elm_widget_item_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
219
220
221static Eina_Error
222__eolian_elm_widget_item_style_set_reflect(Eo *obj, Eina_Value val)
223{
224 Eina_Error r = 0; const char *cval;
225 if (!eina_value_string_convert(&val, &cval))
226 {
227 r = EINA_ERROR_VALUE_FAILED;
228 goto end;
229 }
230 elm_wdg_item_style_set(obj, cval);
231 end:
232 eina_value_flush(&val);
233 return r;
234}
235
236EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_style_set, EFL_FUNC_CALL(style), const char *style);
237
238const char *_elm_widget_item_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
239
240
241static Eina_Value
242__eolian_elm_widget_item_style_get_reflect(Eo *obj)
243{
244 const char *val = elm_wdg_item_style_get(obj);
245 return eina_value_string_init(val);
246}
247
248EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_style_get, const char *, NULL);
249
250void _elm_widget_item_disabled_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool disable);
251
252
253static Eina_Error
254__eolian_elm_widget_item_disabled_set_reflect(Eo *obj, Eina_Value val)
255{
256 Eina_Error r = 0; Eina_Bool cval;
257 if (!eina_value_bool_convert(&val, &cval))
258 {
259 r = EINA_ERROR_VALUE_FAILED;
260 goto end;
261 }
262 elm_wdg_item_disabled_set(obj, cval);
263 end:
264 eina_value_flush(&val);
265 return r;
266}
267
268EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_disabled_set, EFL_FUNC_CALL(disable), Eina_Bool disable);
269
270Eina_Bool _elm_widget_item_disabled_get(const Eo *obj, Elm_Widget_Item_Data *pd);
271
272
273static Eina_Value
274__eolian_elm_widget_item_disabled_get_reflect(Eo *obj)
275{
276 Eina_Bool val = elm_wdg_item_disabled_get(obj);
277 return eina_value_bool_init(val);
278}
279
280EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_disabled_get, Eina_Bool, 0);
281
282const Eina_List *_elm_widget_item_access_order_get(Eo *obj, Elm_Widget_Item_Data *pd);
283
284EOAPI EFL_FUNC_BODY(elm_wdg_item_access_order_get, const Eina_List *, NULL);
285
286void _elm_widget_item_access_order_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_List *objs);
287
288static void
289_elm_wdg_item_access_order_set_ownership_fallback(Eina_List *objs)
290{
291 eina_list_free(objs);
292}
293
294EOAPI EFL_VOID_FUNC_BODYV_FALLBACK(elm_wdg_item_access_order_set, _elm_wdg_item_access_order_set_ownership_fallback(objs);, EFL_FUNC_CALL(objs), Eina_List *objs);
295
296Efl_Canvas_Object *_elm_widget_item_widget_get(const Eo *obj, Elm_Widget_Item_Data *pd);
297
298EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_widget_get, Efl_Canvas_Object *, NULL);
299
300void _elm_widget_item_pre_notify_del(Eo *obj, Elm_Widget_Item_Data *pd);
301
302EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_pre_notify_del);
303
304void _elm_widget_item_tooltip_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *text);
305
306EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_text_set, EFL_FUNC_CALL(text), const char *text);
307
308void _elm_widget_item_tooltip_translatable_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *text);
309
310EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_translatable_text_set, EFL_FUNC_CALL(text), const char *text);
311
312void _elm_widget_item_tooltip_unset(Eo *obj, Elm_Widget_Item_Data *pd);
313
314EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_tooltip_unset);
315
316void _elm_widget_item_cursor_unset(Eo *obj, Elm_Widget_Item_Data *pd);
317
318EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_cursor_unset);
319
320Efl_Canvas_Object *_elm_widget_item_part_content_unset(Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
321
322EOAPI EFL_FUNC_BODYV(elm_wdg_item_part_content_unset, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(part), const char *part);
323
324void _elm_widget_item_part_text_custom_update(Eo *obj, Elm_Widget_Item_Data *pd);
325
326EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_part_text_custom_update);
327
328void _elm_widget_item_signal_callback_add(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
329
330EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_signal_callback_add, EFL_FUNC_CALL(emission, source, func, data), const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
331
332void *_elm_widget_item_signal_callback_del(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
333
334EOAPI EFL_FUNC_BODYV(elm_wdg_item_signal_callback_del, void *, NULL, EFL_FUNC_CALL(emission, source, func), const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
335
336void _elm_widget_item_signal_emit(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source);
337
338EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_signal_emit, EFL_FUNC_CALL(emission, source), const char *emission, const char *source);
339
340void _elm_widget_item_access_info_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *txt);
341
342EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_access_info_set, EFL_FUNC_CALL(txt), const char *txt);
343
344Efl_Canvas_Object *_elm_widget_item_access_object_get(const Eo *obj, Elm_Widget_Item_Data *pd);
345
346EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_access_object_get, Efl_Canvas_Object *, NULL);
347
348void _elm_widget_item_domain_translatable_part_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *domain, const char *label);
349
350EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_domain_translatable_part_text_set, EFL_FUNC_CALL(part, domain, label), const char *part, const char *domain, const char *label);
351
352const char *_elm_widget_item_translatable_part_text_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
353
354EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_translatable_part_text_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
355
356void _elm_widget_item_translate(Eo *obj, Elm_Widget_Item_Data *pd);
357
358EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_translate);
359
360void _elm_widget_item_domain_part_text_translatable_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *domain, Eina_Bool translatable);
361
362EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_domain_part_text_translatable_set, EFL_FUNC_CALL(part, domain, translatable), const char *part, const char *domain, Eina_Bool translatable);
363
364Efl_Canvas_Object *_elm_widget_item_track(Eo *obj, Elm_Widget_Item_Data *pd);
365
366EOAPI EFL_FUNC_BODY(elm_wdg_item_track, Efl_Canvas_Object *, NULL);
367
368void _elm_widget_item_untrack(Eo *obj, Elm_Widget_Item_Data *pd);
369
370EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_untrack);
371
372int _elm_widget_item_track_get(const Eo *obj, Elm_Widget_Item_Data *pd);
373
374EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_track_get, int, 0);
375
376void _elm_widget_item_track_cancel(Eo *obj, Elm_Widget_Item_Data *pd);
377
378EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_track_cancel);
379
380void _elm_widget_item_del_cb_set(Eo *obj, Elm_Widget_Item_Data *pd, Evas_Smart_Cb del_cb);
381
382EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_del_cb_set, EFL_FUNC_CALL(del_cb), Evas_Smart_Cb del_cb);
383
384void _elm_widget_item_tooltip_content_cb_set(Eo *obj, Elm_Widget_Item_Data *pd, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
385
386EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_content_cb_set, EFL_FUNC_CALL(func, data, del_cb), Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
387
388Efl_Canvas_Object *_elm_widget_item_access_register(Eo *obj, Elm_Widget_Item_Data *pd);
389
390EOAPI EFL_FUNC_BODY(elm_wdg_item_access_register, Efl_Canvas_Object *, NULL);
391
392void _elm_widget_item_access_unregister(Eo *obj, Elm_Widget_Item_Data *pd);
393
394EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_access_unregister);
395
396void _elm_widget_item_access_order_unset(Eo *obj, Elm_Widget_Item_Data *pd);
397
398EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_access_order_unset);
399
400void _elm_widget_item_disable(Eo *obj, Elm_Widget_Item_Data *pd);
401
402EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_disable);
403
404void _elm_widget_item_del_pre(Eo *obj, Elm_Widget_Item_Data *pd);
405
406EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_del_pre);
407
408Efl_Canvas_Object *_elm_widget_item_focus_next_object_get(const Eo *obj, Elm_Widget_Item_Data *pd, Efl_Ui_Focus_Direction dir);
409
410EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_focus_next_object_get, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(dir), Efl_Ui_Focus_Direction dir);
411
412void _elm_widget_item_focus_next_object_set(Eo *obj, Elm_Widget_Item_Data *pd, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
413
414EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_next_object_set, EFL_FUNC_CALL(next, dir), Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
415
416Elm_Widget_Item *_elm_widget_item_focus_next_item_get(const Eo *obj, Elm_Widget_Item_Data *pd, Efl_Ui_Focus_Direction dir);
417
418EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_focus_next_item_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(dir), Efl_Ui_Focus_Direction dir);
419
420void _elm_widget_item_focus_next_item_set(Eo *obj, Elm_Widget_Item_Data *pd, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
421
422EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_next_item_set, EFL_FUNC_CALL(next_item, dir), Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
423
424Efl_Object *_elm_widget_item_efl_object_constructor(Eo *obj, Elm_Widget_Item_Data *pd);
425
426
427void _elm_widget_item_efl_object_destructor(Eo *obj, Elm_Widget_Item_Data *pd);
428
429
430void _elm_widget_item_efl_object_invalidate(Eo *obj, Elm_Widget_Item_Data *pd);
431
432
433Efl_Access_State_Set _elm_widget_item_efl_access_object_state_set_get(const Eo *obj, Elm_Widget_Item_Data *pd);
434
435
436Eina_List *_elm_widget_item_efl_access_object_attributes_get(const Eo *obj, Elm_Widget_Item_Data *pd);
437
438
439Eina_Bool _elm_widget_item_efl_access_component_extents_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool screen_coords, Eina_Rect rect);
440
441
442Eina_Rect _elm_widget_item_efl_access_component_extents_get(const Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool screen_coords);
443
444
445Eina_Bool _elm_widget_item_efl_access_component_focus_grab(Eo *obj, Elm_Widget_Item_Data *pd);
446
447
448static Eina_Bool
449_elm_widget_item_class_initializer(Efl_Class *klass)
450{
451 const Efl_Object_Ops *opsp = NULL;
452
453 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
454
455#ifndef ELM_WIDGET_ITEM_EXTRA_OPS
456#define ELM_WIDGET_ITEM_EXTRA_OPS
457#endif
458
459 EFL_OPS_DEFINE(ops,
460 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_set, _elm_widget_item_tooltip_window_mode_set),
461 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_get, _elm_widget_item_tooltip_window_mode_get),
462 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_set, _elm_widget_item_tooltip_style_set),
463 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_get, _elm_widget_item_tooltip_style_get),
464 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_set, _elm_widget_item_cursor_set),
465 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_get, _elm_widget_item_cursor_get),
466 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_style_set, _elm_widget_item_cursor_style_set),
467 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_style_get, _elm_widget_item_cursor_style_get),
468 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_engine_only_set, _elm_widget_item_cursor_engine_only_set),
469 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_engine_only_get, _elm_widget_item_cursor_engine_only_get),
470 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_set, _elm_widget_item_part_content_set),
471 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_get, _elm_widget_item_part_content_get),
472 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_set, _elm_widget_item_part_text_set),
473 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_get, _elm_widget_item_part_text_get),
474 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_set, _elm_widget_item_part_text_custom_set),
475 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_get, _elm_widget_item_part_text_custom_get),
476 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_set, _elm_widget_item_item_focus_set),
477 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_get, _elm_widget_item_item_focus_get),
478 EFL_OBJECT_OP_FUNC(elm_wdg_item_style_set, _elm_widget_item_style_set),
479 EFL_OBJECT_OP_FUNC(elm_wdg_item_style_get, _elm_widget_item_style_get),
480 EFL_OBJECT_OP_FUNC(elm_wdg_item_disabled_set, _elm_widget_item_disabled_set),
481 EFL_OBJECT_OP_FUNC(elm_wdg_item_disabled_get, _elm_widget_item_disabled_get),
482 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_get, _elm_widget_item_access_order_get),
483 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_set, _elm_widget_item_access_order_set),
484 EFL_OBJECT_OP_FUNC(elm_wdg_item_widget_get, _elm_widget_item_widget_get),
485 EFL_OBJECT_OP_FUNC(elm_wdg_item_pre_notify_del, _elm_widget_item_pre_notify_del),
486 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_text_set, _elm_widget_item_tooltip_text_set),
487 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_translatable_text_set, _elm_widget_item_tooltip_translatable_text_set),
488 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_unset, _elm_widget_item_tooltip_unset),
489 EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_unset, _elm_widget_item_cursor_unset),
490 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_unset, _elm_widget_item_part_content_unset),
491 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_update, _elm_widget_item_part_text_custom_update),
492 EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_callback_add, _elm_widget_item_signal_callback_add),
493 EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_callback_del, _elm_widget_item_signal_callback_del),
494 EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_emit, _elm_widget_item_signal_emit),
495 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_info_set, _elm_widget_item_access_info_set),
496 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_object_get, _elm_widget_item_access_object_get),
497 EFL_OBJECT_OP_FUNC(elm_wdg_item_domain_translatable_part_text_set, _elm_widget_item_domain_translatable_part_text_set),
498 EFL_OBJECT_OP_FUNC(elm_wdg_item_translatable_part_text_get, _elm_widget_item_translatable_part_text_get),
499 EFL_OBJECT_OP_FUNC(elm_wdg_item_translate, _elm_widget_item_translate),
500 EFL_OBJECT_OP_FUNC(elm_wdg_item_domain_part_text_translatable_set, _elm_widget_item_domain_part_text_translatable_set),
501 EFL_OBJECT_OP_FUNC(elm_wdg_item_track, _elm_widget_item_track),
502 EFL_OBJECT_OP_FUNC(elm_wdg_item_untrack, _elm_widget_item_untrack),
503 EFL_OBJECT_OP_FUNC(elm_wdg_item_track_get, _elm_widget_item_track_get),
504 EFL_OBJECT_OP_FUNC(elm_wdg_item_track_cancel, _elm_widget_item_track_cancel),
505 EFL_OBJECT_OP_FUNC(elm_wdg_item_del_cb_set, _elm_widget_item_del_cb_set),
506 EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_content_cb_set, _elm_widget_item_tooltip_content_cb_set),
507 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_register, _elm_widget_item_access_register),
508 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_unregister, _elm_widget_item_access_unregister),
509 EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_unset, _elm_widget_item_access_order_unset),
510 EFL_OBJECT_OP_FUNC(elm_wdg_item_disable, _elm_widget_item_disable),
511 EFL_OBJECT_OP_FUNC(elm_wdg_item_del_pre, _elm_widget_item_del_pre),
512 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_object_get, _elm_widget_item_focus_next_object_get),
513 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_object_set, _elm_widget_item_focus_next_object_set),
514 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_item_get, _elm_widget_item_focus_next_item_get),
515 EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_item_set, _elm_widget_item_focus_next_item_set),
516 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_widget_item_efl_object_constructor),
517 EFL_OBJECT_OP_FUNC(efl_destructor, _elm_widget_item_efl_object_destructor),
518 EFL_OBJECT_OP_FUNC(efl_invalidate, _elm_widget_item_efl_object_invalidate),
519 EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_widget_item_efl_access_object_state_set_get),
520 EFL_OBJECT_OP_FUNC(efl_access_object_attributes_get, _elm_widget_item_efl_access_object_attributes_get),
521 EFL_OBJECT_OP_FUNC(efl_access_component_extents_set, _elm_widget_item_efl_access_component_extents_set),
522 EFL_OBJECT_OP_FUNC(efl_access_component_extents_get, _elm_widget_item_efl_access_component_extents_get),
523 EFL_OBJECT_OP_FUNC(efl_access_component_focus_grab, _elm_widget_item_efl_access_component_focus_grab),
524 ELM_WIDGET_ITEM_EXTRA_OPS
525 );
526 opsp = &ops;
527
528 static const Efl_Object_Property_Reflection refl_table[] = {
529 {"tooltip_window_mode", __eolian_elm_widget_item_tooltip_window_mode_set_reflect, __eolian_elm_widget_item_tooltip_window_mode_get_reflect},
530 {"tooltip_style", __eolian_elm_widget_item_tooltip_style_set_reflect, __eolian_elm_widget_item_tooltip_style_get_reflect},
531 {"cursor", __eolian_elm_widget_item_cursor_set_reflect, __eolian_elm_widget_item_cursor_get_reflect},
532 {"cursor_style", __eolian_elm_widget_item_cursor_style_set_reflect, __eolian_elm_widget_item_cursor_style_get_reflect},
533 {"cursor_engine_only", __eolian_elm_widget_item_cursor_engine_only_set_reflect, __eolian_elm_widget_item_cursor_engine_only_get_reflect},
534 {"item_focus", __eolian_elm_widget_item_item_focus_set_reflect, __eolian_elm_widget_item_item_focus_get_reflect},
535 {"style", __eolian_elm_widget_item_style_set_reflect, __eolian_elm_widget_item_style_get_reflect},
536 {"disabled", __eolian_elm_widget_item_disabled_set_reflect, __eolian_elm_widget_item_disabled_get_reflect},
537 };
538 static const Efl_Object_Property_Reflection_Ops rops = {
539 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
540 };
541 ropsp = &rops;
542
543 return efl_class_functions_set(klass, opsp, ropsp);
544}
545
546static const Efl_Class_Description _elm_widget_item_class_desc = {
547 EO_VERSION,
548 "Elm.Widget.Item",
549 EFL_CLASS_TYPE_REGULAR,
550 sizeof(Elm_Widget_Item_Data),
551 _elm_widget_item_class_initializer,
552 NULL,
553 NULL
554};
555
556EFL_DEFINE_CLASS(elm_widget_item_class_get, &_elm_widget_item_class_desc, EFL_OBJECT_CLASS, EFL_ACCESS_OBJECT_MIXIN, EFL_ACCESS_COMPONENT_MIXIN, NULL);
557
558#include "elm_widget_item_eo.legacy.c"
diff --git a/src/lib/elementary/elm_widget_item_eo.h b/src/lib/elementary/elm_widget_item_eo.h
new file mode 100644
index 0000000..c6b6bed
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_eo.h
@@ -0,0 +1,883 @@
1#ifndef _ELM_WIDGET_ITEM_EO_H_
2#define _ELM_WIDGET_ITEM_EO_H_
3
4#ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_EO_TYPES
12#define _ELM_WIDGET_ITEM_EO_TYPES
13
14
15#endif
16/** Elementary widget item class
17 *
18 * @ingroup Elm_Widget_Item
19 */
20#define ELM_WIDGET_ITEM_CLASS elm_widget_item_class_get()
21
22EWAPI const Efl_Class *elm_widget_item_class_get(void);
23
24/**
25 * @brief Control size restriction state of an object's tooltip
26 *
27 * This function returns whether a tooltip is allowed to expand beyond its
28 * parent window's canvas. It will instead be limited only by the size of the
29 * display.
30 *
31 * @param[in] obj The object.
32 * @param[in] disable If @c true, size restrictions are disabled
33 *
34 * @return @c false on failure, @c true on success
35 *
36 * @ingroup Elm_Widget_Item
37 */
38EOAPI Eina_Bool elm_wdg_item_tooltip_window_mode_set(Eo *obj, Eina_Bool disable);
39
40/**
41 * @brief Control size restriction state of an object's tooltip
42 *
43 * This function returns whether a tooltip is allowed to expand beyond its
44 * parent window's canvas. It will instead be limited only by the size of the
45 * display.
46 *
47 * @param[in] obj The object.
48 *
49 * @return If @c true, size restrictions are disabled
50 *
51 * @ingroup Elm_Widget_Item
52 */
53EOAPI Eina_Bool elm_wdg_item_tooltip_window_mode_get(const Eo *obj);
54
55/**
56 * @brief Control a different style for this item tooltip.
57 *
58 * @note before you set a style you should define a tooltip with
59 * @ref elm_wdg_item_tooltip_content_cb_set or
60 * @ref elm_wdg_item_tooltip_text_set
61 *
62 * See: elm_object_tooltip_style_set() for more details.
63 *
64 * @param[in] obj The object.
65 * @param[in] style The theme style used/to use (default, transparent, ...)
66 *
67 * @ingroup Elm_Widget_Item
68 */
69EOAPI void elm_wdg_item_tooltip_style_set(Eo *obj, const char *style);
70
71/**
72 * @brief Control a different style for this item tooltip.
73 *
74 * @note before you set a style you should define a tooltip with
75 * @ref elm_wdg_item_tooltip_content_cb_set or
76 * @ref elm_wdg_item_tooltip_text_set
77 *
78 * See: elm_object_tooltip_style_set() for more details.
79 *
80 * @param[in] obj The object.
81 *
82 * @return The theme style used/to use (default, transparent, ...)
83 *
84 * @ingroup Elm_Widget_Item
85 */
86EOAPI const char *elm_wdg_item_tooltip_style_get(const Eo *obj);
87
88/**
89 * @brief Control the type of mouse pointer/cursor decoration to be shown, when
90 * the mouse pointer is over the given item
91 *
92 * This function works analogously as elm_object_cursor_set(), but here the
93 * cursor's changing area is restricted to the item's area, and not the whole
94 * widget's. Note that that item cursors have precedence over widget cursors,
95 * so that a mouse over an item with custom cursor set will always show that
96 * cursor.
97 *
98 * If this function is called twice for an object, a previously set cursor will
99 * be unset on the second call.
100 *
101 * @param[in] obj The object.
102 * @param[in] cursor The cursor type's name
103 *
104 * @ingroup Elm_Widget_Item
105 */
106EOAPI void elm_wdg_item_cursor_set(Eo *obj, const char *cursor);
107
108/**
109 * @brief Control the type of mouse pointer/cursor decoration to be shown, when
110 * the mouse pointer is over the given item
111 *
112 * This function works analogously as elm_object_cursor_set(), but here the
113 * cursor's changing area is restricted to the item's area, and not the whole
114 * widget's. Note that that item cursors have precedence over widget cursors,
115 * so that a mouse over an item with custom cursor set will always show that
116 * cursor.
117 *
118 * If this function is called twice for an object, a previously set cursor will
119 * be unset on the second call.
120 *
121 * @param[in] obj The object.
122 *
123 * @return The cursor type's name
124 *
125 * @ingroup Elm_Widget_Item
126 */
127EOAPI const char *elm_wdg_item_cursor_get(const Eo *obj);
128
129/**
130 * @brief Control a different @c style for a given custom cursor set for an
131 * item.
132 *
133 * This function only makes sense when one is using custom mouse cursor
134 * decorations defined in a theme file, which can have, given a cursor
135 * name/type, alternate styles on it. It works analogously as
136 * elm_object_cursor_style_set(), but here applies only to item objects.
137 *
138 * @warning Before you set a cursor style you should have defined a custom
139 * cursor previously on the item, with @ref elm_wdg_item_cursor_set
140 *
141 * @param[in] obj The object.
142 * @param[in] style The theme style to use/in use (e.g. $"default",
143 * $"transparent", etc)
144 *
145 * @ingroup Elm_Widget_Item
146 */
147EOAPI void elm_wdg_item_cursor_style_set(Eo *obj, const char *style);
148
149/**
150 * @brief Control a different @c style for a given custom cursor set for an
151 * item.
152 *
153 * This function only makes sense when one is using custom mouse cursor
154 * decorations defined in a theme file, which can have, given a cursor
155 * name/type, alternate styles on it. It works analogously as
156 * elm_object_cursor_style_set(), but here applies only to item objects.
157 *
158 * @warning Before you set a cursor style you should have defined a custom
159 * cursor previously on the item, with @ref elm_wdg_item_cursor_set
160 *
161 * @param[in] obj The object.
162 *
163 * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
164 *
165 * @ingroup Elm_Widget_Item
166 */
167EOAPI const char *elm_wdg_item_cursor_style_get(const Eo *obj);
168
169/**
170 * @brief Control if the (custom)cursor for a given item should be searched in
171 * its theme, also, or should only rely on the rendering engine.
172 *
173 * @note This call is of use only if you've set a custom cursor for items, with
174 * @ref elm_wdg_item_cursor_set.
175 *
176 * @note By default, cursors will only be looked for between those provided by
177 * the rendering engine.
178 *
179 * @param[in] obj The object.
180 * @param[in] engine_only Use @c true to have cursors looked for only on those
181 * provided by the rendering engine, @c false to have them searched on the
182 * widget's theme, as well.
183 *
184 * @ingroup Elm_Widget_Item
185 */
186EOAPI void elm_wdg_item_cursor_engine_only_set(Eo *obj, Eina_Bool engine_only);
187
188/**
189 * @brief Control if the (custom)cursor for a given item should be searched in
190 * its theme, also, or should only rely on the rendering engine.
191 *
192 * @note This call is of use only if you've set a custom cursor for items, with
193 * @ref elm_wdg_item_cursor_set.
194 *
195 * @note By default, cursors will only be looked for between those provided by
196 * the rendering engine.
197 *
198 * @param[in] obj The object.
199 *
200 * @return Use @c true to have cursors looked for only on those provided by the
201 * rendering engine, @c false to have them searched on the widget's theme, as
202 * well.
203 *
204 * @ingroup Elm_Widget_Item
205 */
206EOAPI Eina_Bool elm_wdg_item_cursor_engine_only_get(const Eo *obj);
207
208/**
209 * @brief Control a content of an object item
210 *
211 * This sets a new object to an item as a content object. If any object was
212 * already set as a content object in the same part, previous object will be
213 * deleted automatically.
214 *
215 * @param[in] obj The object.
216 * @param[in] part The content part name (NULL for the default content)
217 * @param[in] content The content of the object item
218 *
219 * @ingroup Elm_Widget_Item
220 */
221EOAPI void elm_wdg_item_part_content_set(Eo *obj, const char *part, Efl_Canvas_Object *content);
222
223/**
224 * @brief Control a content of an object item
225 *
226 * This sets a new object to an item as a content object. If any object was
227 * already set as a content object in the same part, previous object will be
228 * deleted automatically.
229 *
230 * @param[in] obj The object.
231 * @param[in] part The content part name (NULL for the default content)
232 *
233 * @return The content of the object item
234 *
235 * @ingroup Elm_Widget_Item
236 */
237EOAPI Efl_Canvas_Object *elm_wdg_item_part_content_get(const Eo *obj, const char *part);
238
239/**
240 * @brief Control a label of an object item
241 *
242 * @note Elementary object items may have many labels
243 *
244 * @param[in] obj The object.
245 * @param[in] part The text part name (NULL for the default label)
246 * @param[in] label Text of the label
247 *
248 * @ingroup Elm_Widget_Item
249 */
250EOAPI void elm_wdg_item_part_text_set(Eo *obj, const char *part, const char *label);
251
252/**
253 * @brief Control a label of an object item
254 *
255 * @note Elementary object items may have many labels
256 *
257 * @param[in] obj The object.
258 * @param[in] part The text part name (NULL for the default label)
259 *
260 * @return Text of the label
261 *
262 * @ingroup Elm_Widget_Item
263 */
264EOAPI const char *elm_wdg_item_part_text_get(const Eo *obj, const char *part);
265
266#ifdef ELM_WIDGET_ITEM_PROTECTED
267/**
268 * @brief Save additional text part content
269 *
270 * @param[in] obj The object.
271 * @param[in] part Part name
272 * @param[in] label Label name
273 *
274 * @ingroup Elm_Widget_Item
275 */
276EOAPI void elm_wdg_item_part_text_custom_set(Eo *obj, const char *part, const char *label);
277#endif
278
279#ifdef ELM_WIDGET_ITEM_PROTECTED
280/**
281 * @brief Get additional text part content
282 *
283 * @param[in] obj The object.
284 * @param[in] part Part name
285 *
286 * @return Label name
287 *
288 * @ingroup Elm_Widget_Item
289 */
290EOAPI const char *elm_wdg_item_part_text_custom_get(const Eo *obj, const char *part);
291#endif
292
293/**
294 * @brief Control the object item focused
295 *
296 * @param[in] obj The object.
297 * @param[in] focused The focused state
298 *
299 * @since 1.10
300 *
301 * @ingroup Elm_Widget_Item
302 */
303EOAPI void elm_wdg_item_focus_set(Eo *obj, Eina_Bool focused);
304
305/**
306 * @brief Control the object item focused
307 *
308 * @param[in] obj The object.
309 *
310 * @return The focused state
311 *
312 * @since 1.10
313 *
314 * @ingroup Elm_Widget_Item
315 */
316EOAPI Eina_Bool elm_wdg_item_focus_get(const Eo *obj);
317
318/**
319 * @brief Control the style of an object item
320 *
321 * @param[in] obj The object.
322 * @param[in] style The style of object item
323 *
324 * @since 1.9
325 *
326 * @ingroup Elm_Widget_Item
327 */
328EOAPI void elm_wdg_item_style_set(Eo *obj, const char *style);
329
330/**
331 * @brief Control the style of an object item
332 *
333 * @param[in] obj The object.
334 *
335 * @return The style of object item
336 *
337 * @since 1.9
338 *
339 * @ingroup Elm_Widget_Item
340 */
341EOAPI const char *elm_wdg_item_style_get(const Eo *obj);
342
343/**
344 * @brief Control the disabled state of a widget item.
345 *
346 * Elementary object item can be disabled, in which state they won't receive
347 * input and, in general, will be themed differently from their normal state,
348 * usually greyed out. Useful for contexts where you don't want your users to
349 * interact with some of the parts of you interface.
350 *
351 * This sets the state for the widget item, either disabling it or enabling it
352 * back.
353 *
354 * @param[in] obj The object.
355 * @param[in] disable @c true, if the widget item is disabled, @c false if it's
356 * enabled (or on errors)
357 *
358 * @ingroup Elm_Widget_Item
359 */
360EOAPI void elm_wdg_item_disabled_set(Eo *obj, Eina_Bool disable);
361
362/**
363 * @brief Control the disabled state of a widget item.
364 *
365 * Elementary object item can be disabled, in which state they won't receive
366 * input and, in general, will be themed differently from their normal state,
367 * usually greyed out. Useful for contexts where you don't want your users to
368 * interact with some of the parts of you interface.
369 *
370 * This sets the state for the widget item, either disabling it or enabling it
371 * back.
372 *
373 * @param[in] obj The object.
374 *
375 * @return @c true, if the widget item is disabled, @c false if it's enabled
376 * (or on errors)
377 *
378 * @ingroup Elm_Widget_Item
379 */
380EOAPI Eina_Bool elm_wdg_item_disabled_get(const Eo *obj);
381
382/**
383 * @brief Get highlight order
384 *
385 * @param[in] obj The object.
386 *
387 * @return List of evas canvas objects
388 *
389 * @since 1.8
390 *
391 * @ingroup Elm_Widget_Item
392 */
393EOAPI const Eina_List *elm_wdg_item_access_order_get(Eo *obj);
394
395/**
396 * @brief Set highlight order
397 *
398 * @param[in] obj The object.
399 * @param[in] objs Order of objects to pass highlight
400 *
401 * @since 1.8
402 *
403 * @ingroup Elm_Widget_Item
404 */
405EOAPI void elm_wdg_item_access_order_set(Eo *obj, Eina_List *objs);
406
407/**
408 * @brief Get the widget object's handle which contains a given item
409 *
410 * @note This returns the widget object itself that an item belongs to. Note:
411 * Every elm_object_item supports this API
412 *
413 * @param[in] obj The object.
414 *
415 * @return The widget object
416 *
417 * @ingroup Elm_Widget_Item
418 */
419EOAPI Efl_Canvas_Object *elm_wdg_item_widget_get(const Eo *obj);
420
421#ifdef ELM_WIDGET_ITEM_PROTECTED
422/** notify deletion of widget item
423 *
424 * @ingroup Elm_Widget_Item
425 */
426EOAPI void elm_wdg_item_pre_notify_del(Eo *obj);
427#endif
428
429/**
430 * @brief Set the text to be shown in a given object item's tooltips.
431 *
432 * Setup the text as tooltip to object. The item can have only one tooltip, so
433 * any previous tooltip data - set with this function or
434 * @ref elm_wdg_item_tooltip_content_cb_set - is removed.
435 *
436 * See: elm_object_tooltip_text_set() for more details.
437 *
438 * @param[in] obj The object.
439 * @param[in] text The text to set in the content.
440 *
441 * @ingroup Elm_Widget_Item
442 */
443EOAPI void elm_wdg_item_tooltip_text_set(Eo *obj, const char *text);
444
445#ifdef ELM_WIDGET_ITEM_PROTECTED
446/**
447 * @brief Set widget item tooltip as a text string
448 *
449 * @param[in] obj The object.
450 * @param[in] text Tooltip text
451 *
452 * @ingroup Elm_Widget_Item
453 */
454EOAPI void elm_wdg_item_tooltip_translatable_text_set(Eo *obj, const char *text);
455#endif
456
457/**
458 * @brief Unset tooltip from item.
459 *
460 * Remove tooltip from item. The callback provided as del_cb to
461 * @ref elm_wdg_item_tooltip_content_cb_set will be called to notify it is not
462 * used anymore.
463 *
464 * See: elm_object_tooltip_unset() for more details. See:
465 * @ref elm_wdg_item_tooltip_content_cb_set
466 * @param[in] obj The object.
467 *
468 * @ingroup Elm_Widget_Item
469 */
470EOAPI void elm_wdg_item_tooltip_unset(Eo *obj);
471
472/**
473 * @brief Unset any custom mouse pointer/cursor decoration set to be shown,
474 * when the mouse pointer is over the given item, thus making it show the
475 * default cursor again.
476 *
477 * Use this call to undo any custom settings on this item's cursor decoration,
478 * bringing it back to defaults (no custom style set).
479 *
480 * See: elm_object_cursor_unset() See: @ref elm_wdg_item_cursor_set
481 * @param[in] obj The object.
482 *
483 * @ingroup Elm_Widget_Item
484 */
485EOAPI void elm_wdg_item_cursor_unset(Eo *obj);
486
487/**
488 * @brief Unset a content of an object item
489 *
490 * @note Elementary object items may have many contents
491 *
492 * @param[in] obj The object.
493 * @param[in] part The content part name to unset (NULL for the default
494 * content)
495 *
496 * @return Content object
497 *
498 * @ingroup Elm_Widget_Item
499 */
500EOAPI Efl_Canvas_Object *elm_wdg_item_part_content_unset(Eo *obj, const char *part);
501
502#ifdef ELM_WIDGET_ITEM_PROTECTED
503/** Update additional text part content
504 *
505 * @ingroup Elm_Widget_Item
506 */
507EOAPI void elm_wdg_item_part_text_custom_update(Eo *obj);
508#endif
509
510/**
511 * @brief Add a callback for a signal emitted by object item edje.
512 *
513 * This function connects a callback function to a signal emitted by the edje
514 * object of the object item. Globs can occur in either the emission or source
515 * name.
516 *
517 * @param[in] obj The object.
518 * @param[in] emission The signal's name.
519 * @param[in] source The signal's source.
520 * @param[in] func The callback function to be executed when the signal is
521 * emitted.
522 * @param[in] data A pointer to data to pass to the callback function.
523 *
524 * @since 1.8
525 *
526 * @ingroup Elm_Widget_Item
527 */
528EOAPI void elm_wdg_item_signal_callback_add(Eo *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
529
530/**
531 * @brief Remove a signal-triggered callback from a object item edje object.
532 *
533 * This function removes the last callback, previously attached to a signal
534 * emitted by an underlying Edje object of @c it, whose parameters @c emission,
535 * @c source and @c func match exactly with those passed to a previous call to
536 * @ref elm_wdg_item_signal_callback_add. The data pointer that was passed to
537 * this call will be returned.
538 *
539 * See: @ref elm_wdg_item_signal_callback_add
540 *
541 * @param[in] obj The object.
542 * @param[in] emission The signal's name.
543 * @param[in] source The signal's source.
544 * @param[in] func The callback function to be executed when the signal is
545 * emitted.
546 *
547 * @return The data pointer of the signal callback or @c NULL, on errors.
548 *
549 * @since 1.8
550 *
551 * @ingroup Elm_Widget_Item
552 */
553EOAPI void *elm_wdg_item_signal_callback_del(Eo *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
554
555/**
556 * @brief Send a signal to the edje object of the widget item.
557 *
558 * This function sends a signal to the edje object of the obj item. An edje
559 * program can respond to a signal by specifying matching 'signal' and 'source'
560 * fields. Don't use this unless you want to also handle resetting of part
561 * states to default on every unrealize in case of genlist/gengrid.
562 *
563 * @param[in] obj The object.
564 * @param[in] emission The signal's name.
565 * @param[in] source The signal's source.
566 *
567 * @ingroup Elm_Widget_Item
568 */
569EOAPI void elm_wdg_item_signal_emit(Eo *obj, const char *emission, const char *source);
570
571/**
572 * @brief Set the text to read out when in accessibility mode
573 *
574 * @param[in] obj The object.
575 * @param[in] txt The text that describes the widget to people with poor or no
576 * vision
577 *
578 * @ingroup Elm_Widget_Item
579 */
580EOAPI void elm_wdg_item_access_info_set(Eo *obj, const char *txt);
581
582/**
583 * @brief Get an accessible object of the object item.
584 *
585 * @param[in] obj The object.
586 *
587 * @return Accessible object of the object item or NULL for any error
588 *
589 * @since 1.8
590 *
591 * @ingroup Elm_Widget_Item
592 */
593EOAPI Efl_Canvas_Object *elm_wdg_item_access_object_get(const Eo *obj);
594
595/**
596 * @brief Set the text for an object item's part, marking it as translatable.
597 *
598 * The string to set as @c text must be the original one. Do not pass the
599 * return of @c gettext() here. Elementary will translate the string internally
600 * and set it on the object item using @ref elm_wdg_item_part_text_set, also
601 * storing the original string so that it can be automatically translated when
602 * the language is changed with elm_language_set(). The @c domain will be
603 * stored along to find the translation in the correct catalog. It can be NULL,
604 * in which case it will use whatever domain was set by the application with
605 * @c textdomain(). This is useful in case you are building a library on top of
606 * Elementary that will have its own translatable strings, that should not be
607 * mixed with those of programs using the library.
608 *
609 * @param[in] obj The object.
610 * @param[in] part The name of the part to set
611 * @param[in] domain The translation domain to use
612 * @param[in] label The original, non-translated text to set
613 *
614 * @since 1.8
615 *
616 * @ingroup Elm_Widget_Item
617 */
618EOAPI void elm_wdg_item_domain_translatable_part_text_set(Eo *obj, const char *part, const char *domain, const char *label);
619
620/**
621 * @brief Get the original string set as translatable for an object item.
622 *
623 * When setting translated strings, the function
624 * @ref elm_wdg_item_part_text_get will return the translation returned by
625 * @c gettext(). To get the original string use this function.
626 *
627 * @param[in] obj The object.
628 * @param[in] part The name of the part that was set
629 *
630 * @return The original, untranslated string
631 *
632 * @since 1.8
633 *
634 * @ingroup Elm_Widget_Item
635 */
636EOAPI const char *elm_wdg_item_translatable_part_text_get(const Eo *obj, const char *part);
637
638#ifdef ELM_WIDGET_ITEM_PROTECTED
639/** Query translate
640 *
641 * @ingroup Elm_Widget_Item
642 */
643EOAPI void elm_wdg_item_translate(Eo *obj);
644#endif
645
646/**
647 * @brief Mark the part text to be translatable or not.
648 *
649 * Once you mark the part text to be translatable, the text will be translated
650 * internally regardless of @ref elm_wdg_item_part_text_set and
651 * @ref elm_wdg_item_domain_translatable_part_text_set. In other case, if you
652 * set the Elementary policy that all text will be translatable in default, you
653 * can set the part text to not be translated by calling this API.
654 *
655 * See: @ref elm_wdg_item_domain_translatable_part_text_set See:
656 * @ref elm_wdg_item_part_text_set See: elm_policy()
657 *
658 * @param[in] obj The object.
659 * @param[in] part The part name of the translatable text
660 * @param[in] domain The translation domain to use
661 * @param[in] translatable @c true, the part text will be translated
662 * internally. @c false, otherwise.
663 *
664 * @since 1.8
665 *
666 * @ingroup Elm_Widget_Item
667 */
668EOAPI void elm_wdg_item_domain_part_text_translatable_set(Eo *obj, const char *part, const char *domain, Eina_Bool translatable);
669
670/**
671 * @brief This returns track object of the item.
672 *
673 * @note This gets a rectangle object that represents the object item's
674 * internal object. If you want to check the geometry, visibility of the item,
675 * you can call the evas apis such as evas_object_geometry_get(),
676 * evas_object_visible_get() to the track object. Note that all of the widget
677 * items may/may not have the internal object so this api may return @c NULL if
678 * the widget item doesn't have it. Additionally, the widget item is
679 * managed/controlled by the widget, the widget item could be changed(moved,
680 * resized even deleted) anytime by it's own widget's decision. So please dont'
681 * change the track object as well as don't keep the track object in your side
682 * as possible but get the track object at the moment you need to refer.
683 * Otherwise, you need to add some callbacks to the track object to track it's
684 * attributes changes.
685 *
686 * @warning After use the track object, please call the
687 * @ref elm_wdg_item_untrack() paired to elm_object_item_track definitely to
688 * free the track object properly. Don't delete the track object.
689 *
690 * See: @ref elm_wdg_item_untrack See: @ref elm_wdg_item_track_get
691 *
692 * @param[in] obj The object.
693 *
694 * @return The track object
695 *
696 * @since 1.8
697 *
698 * @ingroup Elm_Widget_Item
699 */
700EOAPI Efl_Canvas_Object *elm_wdg_item_track(Eo *obj);
701
702/**
703 * @brief This retrieve the track object of the item.
704 *
705 * @note This retrieves the track object that was returned from
706 * @ref elm_wdg_item_track.
707 *
708 * See: @ref elm_wdg_item_track See: @ref elm_wdg_item_track_get
709 *
710 * @param[in] obj The object.
711 *
712 * @since 1.8
713 *
714 * @ingroup Elm_Widget_Item
715 */
716EOAPI void elm_wdg_item_untrack(Eo *obj);
717
718/**
719 * @brief Get the track object reference count.
720 *
721 * @note This gets the reference count for the track object. Whenever you call
722 * the @ref elm_wdg_item_track, the reference count will be increased by one.
723 * Likely the reference count will be decreased again when you call the
724 * @ref elm_wdg_item_untrack. Unless the reference count reaches to zero, the
725 * track object won't be deleted. So please be sure to call
726 * @ref elm_wdg_item_untrack() paired to the elm_object_item_track call count.
727 *
728 * See: @ref elm_wdg_item_track See: @ref elm_wdg_item_track_get
729 *
730 * @param[in] obj The object.
731 *
732 * @return Track object reference count
733 *
734 * @since 1.8
735 *
736 * @ingroup Elm_Widget_Item
737 */
738EOAPI int elm_wdg_item_track_get(const Eo *obj);
739
740#ifdef ELM_WIDGET_ITEM_PROTECTED
741/** Query track_cancel
742 *
743 * @ingroup Elm_Widget_Item
744 */
745EOAPI void elm_wdg_item_track_cancel(Eo *obj);
746#endif
747
748/**
749 * @brief Set the function to be called when an item from the widget is freed.
750 *
751 * @note Every elm_object_item supports this API
752 *
753 * @param[in] obj The object.
754 * @param[in] del_cb The function called
755 *
756 * @ingroup Elm_Widget_Item
757 */
758EOAPI void elm_wdg_item_del_cb_set(Eo *obj, Evas_Smart_Cb del_cb);
759
760/**
761 * @brief Set the content to be shown in the tooltip item.
762 *
763 * Setup the tooltip to item. The item can have only one tooltip, so any
764 * previous tooltip data is removed. @c func(with @c data) will be called every
765 * time that need show the tooltip and it should return a valid Evas_Object.
766 * This object is then managed fully by tooltip system and is deleted when the
767 * tooltip is gone.
768 *
769 * See: elm_object_tooltip_content_cb_set() for more details.
770 *
771 * @param[in] obj The object.
772 * @param[in] func The function used to create the tooltip contents.
773 * @param[in] data What to provide to @c func as callback data/context.
774 * @param[in] del_cb Called when data is not needed anymore, either when
775 * another callback replaces @c func, the tooltip is unset with
776 * @ref elm_wdg_item_tooltip_unset or the owner @c item dies. This callback
777 * receives as the first parameter the given @c data, and @c event_info is the
778 * item.
779 *
780 * @ingroup Elm_Widget_Item
781 */
782EOAPI void elm_wdg_item_tooltip_content_cb_set(Eo *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
783
784/**
785 * @brief Register object item as an accessible object.
786 *
787 * @param[in] obj The object.
788 *
789 * @return Accessible object of the object item or NULL for any error
790 *
791 * @since 1.8
792 *
793 * @ingroup Elm_Widget_Item
794 */
795EOAPI Efl_Canvas_Object *elm_wdg_item_access_register(Eo *obj);
796
797/** Unregister accessible object of the object item.
798 *
799 * @since 1.8
800 *
801 * @ingroup Elm_Widget_Item
802 */
803EOAPI void elm_wdg_item_access_unregister(Eo *obj);
804
805/** Unset highlight order
806 *
807 * @since 1.8
808 *
809 * @ingroup Elm_Widget_Item
810 */
811EOAPI void elm_wdg_item_access_order_unset(Eo *obj);
812
813#ifdef ELM_WIDGET_ITEM_PROTECTED
814/** Disable widget item
815 *
816 * @ingroup Elm_Widget_Item
817 */
818EOAPI void elm_wdg_item_disable(Eo *obj);
819#endif
820
821#ifdef ELM_WIDGET_ITEM_PROTECTED
822/** Delete pre widget item
823 *
824 * @ingroup Elm_Widget_Item
825 */
826EOAPI void elm_wdg_item_del_pre(Eo *obj);
827#endif
828
829/**
830 * @brief Get the next object with specific focus direction.
831 *
832 * @param[in] obj The object.
833 * @param[in] dir Focus direction
834 *
835 * @return Focus next object
836 *
837 * @since 1.16
838 *
839 * @ingroup Elm_Widget_Item
840 */
841EOAPI Efl_Canvas_Object *elm_wdg_item_focus_next_object_get(const Eo *obj, Efl_Ui_Focus_Direction dir);
842
843/**
844 * @brief Set the next object with specific focus direction.
845 *
846 * @param[in] obj The object.
847 * @param[in] next Focus next object
848 * @param[in] dir Focus direction
849 *
850 * @since 1.16
851 *
852 * @ingroup Elm_Widget_Item
853 */
854EOAPI void elm_wdg_item_focus_next_object_set(Eo *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
855
856/**
857 * @brief Get the next object item with specific focus direction.
858 *
859 * @param[in] obj The object.
860 * @param[in] dir Focus direction
861 *
862 * @return Focus next object item
863 *
864 * @since 1.16
865 *
866 * @ingroup Elm_Widget_Item
867 */
868EOAPI Elm_Widget_Item *elm_wdg_item_focus_next_item_get(const Eo *obj, Efl_Ui_Focus_Direction dir);
869
870/**
871 * @brief Set the next object item with specific focus direction.
872 *
873 * @param[in] obj The object.
874 * @param[in] next_item Focus next object item
875 * @param[in] dir Focus direction
876 *
877 * @since 1.16
878 *
879 * @ingroup Elm_Widget_Item
880 */
881EOAPI void elm_wdg_item_focus_next_item_set(Eo *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
882
883#endif
diff --git a/src/lib/elementary/elm_widget_item_eo.legacy.c b/src/lib/elementary/elm_widget_item_eo.legacy.c
new file mode 100644
index 0000000..c50797f
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_eo.legacy.c
@@ -0,0 +1,282 @@
1
2EAPI Eina_Bool
3elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable)
4{
5 return elm_wdg_item_tooltip_window_mode_set(obj, disable);
6}
7
8EAPI Eina_Bool
9elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj)
10{
11 return elm_wdg_item_tooltip_window_mode_get(obj);
12}
13
14EAPI void
15elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style)
16{
17 elm_wdg_item_tooltip_style_set(obj, style);
18}
19
20EAPI const char *
21elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj)
22{
23 return elm_wdg_item_tooltip_style_get(obj);
24}
25
26EAPI void
27elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor)
28{
29 elm_wdg_item_cursor_set(obj, cursor);
30}
31
32EAPI const char *
33elm_object_item_cursor_get(const Elm_Widget_Item *obj)
34{
35 return elm_wdg_item_cursor_get(obj);
36}
37
38EAPI void
39elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style)
40{
41 elm_wdg_item_cursor_style_set(obj, style);
42}
43
44EAPI const char *
45elm_object_item_cursor_style_get(const Elm_Widget_Item *obj)
46{
47 return elm_wdg_item_cursor_style_get(obj);
48}
49
50EAPI void
51elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool engine_only)
52{
53 elm_wdg_item_cursor_engine_only_set(obj, engine_only);
54}
55
56EAPI Eina_Bool
57elm_object_item_cursor_engine_only_get(const Elm_Widget_Item *obj)
58{
59 return elm_wdg_item_cursor_engine_only_get(obj);
60}
61
62EAPI void
63elm_object_item_part_content_set(Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content)
64{
65 elm_wdg_item_part_content_set(obj, part, content);
66}
67
68EAPI Efl_Canvas_Object *
69elm_object_item_part_content_get(const Elm_Widget_Item *obj, const char *part)
70{
71 return elm_wdg_item_part_content_get(obj, part);
72}
73
74EAPI void
75elm_object_item_part_text_set(Elm_Widget_Item *obj, const char *part, const char *label)
76{
77 elm_wdg_item_part_text_set(obj, part, label);
78}
79
80EAPI const char *
81elm_object_item_part_text_get(const Elm_Widget_Item *obj, const char *part)
82{
83 return elm_wdg_item_part_text_get(obj, part);
84}
85
86EAPI void
87elm_object_item_focus_set(Elm_Widget_Item *obj, Eina_Bool focused)
88{
89 elm_wdg_item_focus_set(obj, focused);
90}
91
92EAPI Eina_Bool
93elm_object_item_focus_get(const Elm_Widget_Item *obj)
94{
95 return elm_wdg_item_focus_get(obj);
96}
97
98EAPI void
99elm_object_item_style_set(Elm_Widget_Item *obj, const char *style)
100{
101 elm_wdg_item_style_set(obj, style);
102}
103
104EAPI const char *
105elm_object_item_style_get(const Elm_Widget_Item *obj)
106{
107 return elm_wdg_item_style_get(obj);
108}
109
110EAPI void
111elm_object_item_disabled_set(Elm_Widget_Item *obj, Eina_Bool disable)
112{
113 elm_wdg_item_disabled_set(obj, disable);
114}
115
116EAPI Eina_Bool
117elm_object_item_disabled_get(const Elm_Widget_Item *obj)
118{
119 return elm_wdg_item_disabled_get(obj);
120}
121
122EAPI const Eina_List *
123elm_object_item_access_order_get(Elm_Widget_Item *obj)
124{
125 return elm_wdg_item_access_order_get(obj);
126}
127
128EAPI void
129elm_object_item_access_order_set(Elm_Widget_Item *obj, Eina_List *objs)
130{
131 elm_wdg_item_access_order_set(obj, objs);
132}
133
134EAPI Efl_Canvas_Object *
135elm_object_item_widget_get(const Elm_Widget_Item *obj)
136{
137 return elm_wdg_item_widget_get(obj);
138}
139
140EAPI void
141elm_object_item_tooltip_text_set(Elm_Widget_Item *obj, const char *text)
142{
143 elm_wdg_item_tooltip_text_set(obj, text);
144}
145
146EAPI void
147elm_object_item_tooltip_unset(Elm_Widget_Item *obj)
148{
149 elm_wdg_item_tooltip_unset(obj);
150}
151
152EAPI void
153elm_object_item_cursor_unset(Elm_Widget_Item *obj)
154{
155 elm_wdg_item_cursor_unset(obj);
156}
157
158EAPI Efl_Canvas_Object *
159elm_object_item_part_content_unset(Elm_Widget_Item *obj, const char *part)
160{
161 return elm_wdg_item_part_content_unset(obj, part);
162}
163
164EAPI void
165elm_object_item_signal_callback_add(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data)
166{
167 elm_wdg_item_signal_callback_add(obj, emission, source, func, data);
168}
169
170EAPI void *
171elm_object_item_signal_callback_del(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func)
172{
173 return elm_wdg_item_signal_callback_del(obj, emission, source, func);
174}
175
176EAPI void
177elm_object_item_signal_emit(Elm_Widget_Item *obj, const char *emission, const char *source)
178{
179 elm_wdg_item_signal_emit(obj, emission, source);
180}
181
182EAPI void
183elm_object_item_access_info_set(Elm_Widget_Item *obj, const char *txt)
184{
185 elm_wdg_item_access_info_set(obj, txt);
186}
187
188EAPI Efl_Canvas_Object *
189elm_object_item_access_object_get(const Elm_Widget_Item *obj)
190{
191 return elm_wdg_item_access_object_get(obj);
192}
193
194EAPI void
195elm_object_item_domain_translatable_part_text_set(Elm_Widget_Item *obj, const char *part, const char *domain, const char *label)
196{
197 elm_wdg_item_domain_translatable_part_text_set(obj, part, domain, label);
198}
199
200EAPI const char *
201elm_object_item_translatable_part_text_get(const Elm_Widget_Item *obj, const char *part)
202{
203 return elm_wdg_item_translatable_part_text_get(obj, part);
204}
205
206EAPI void
207elm_object_item_domain_part_text_translatable_set(Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable)
208{
209 elm_wdg_item_domain_part_text_translatable_set(obj, part, domain, translatable);
210}
211
212EAPI Efl_Canvas_Object *
213elm_object_item_track(Elm_Widget_Item *obj)
214{
215 return elm_wdg_item_track(obj);
216}
217
218EAPI void
219elm_object_item_untrack(Elm_Widget_Item *obj)
220{
221 elm_wdg_item_untrack(obj);
222}
223
224EAPI int
225elm_object_item_track_get(const Elm_Widget_Item *obj)
226{
227 return elm_wdg_item_track_get(obj);
228}
229
230EAPI void
231elm_object_item_del_cb_set(Elm_Widget_Item *obj, Evas_Smart_Cb del_cb)
232{
233 elm_wdg_item_del_cb_set(obj, del_cb);
234}
235
236EAPI void
237elm_object_item_tooltip_content_cb_set(Elm_Widget_Item *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
238{
239 elm_wdg_item_tooltip_content_cb_set(obj, func, data, del_cb);
240}
241
242EAPI Efl_Canvas_Object *
243elm_object_item_access_register(Elm_Widget_Item *obj)
244{
245 return elm_wdg_item_access_register(obj);
246}
247
248EAPI void
249elm_object_item_access_unregister(Elm_Widget_Item *obj)
250{
251 elm_wdg_item_access_unregister(obj);
252}
253
254EAPI void
255elm_object_item_access_order_unset(Elm_Widget_Item *obj)
256{
257 elm_wdg_item_access_order_unset(obj);
258}
259
260EAPI Efl_Canvas_Object *
261elm_object_item_focus_next_object_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir)
262{
263 return elm_wdg_item_focus_next_object_get(obj, dir);
264}
265
266EAPI void
267elm_object_item_focus_next_object_set(Elm_Widget_Item *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir)
268{
269 elm_wdg_item_focus_next_object_set(obj, next, dir);
270}
271
272EAPI Elm_Widget_Item *
273elm_object_item_focus_next_item_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir)
274{
275 return elm_wdg_item_focus_next_item_get(obj, dir);
276}
277
278EAPI void
279elm_object_item_focus_next_item_set(Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir)
280{
281 elm_wdg_item_focus_next_item_set(obj, next_item, dir);
282}
diff --git a/src/lib/elementary/elm_widget_item_eo.legacy.h b/src/lib/elementary/elm_widget_item_eo.legacy.h
new file mode 100644
index 0000000..a48f446
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_eo.legacy.h
@@ -0,0 +1,799 @@
1#ifndef _ELM_WIDGET_ITEM_EO_LEGACY_H_
2#define _ELM_WIDGET_ITEM_EO_LEGACY_H_
3
4#ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_EO_TYPES
12#define _ELM_WIDGET_ITEM_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Control size restriction state of an object's tooltip
19 *
20 * This function returns whether a tooltip is allowed to expand beyond its
21 * parent window's canvas. It will instead be limited only by the size of the
22 * display.
23 *
24 * @param[in] obj The object.
25 * @param[in] disable If @c true, size restrictions are disabled
26 *
27 * @return @c false on failure, @c true on success
28 *
29 * @ingroup Elm_Object_Item_Group
30 */
31EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable);
32
33/**
34 * @brief Control size restriction state of an object's tooltip
35 *
36 * This function returns whether a tooltip is allowed to expand beyond its
37 * parent window's canvas. It will instead be limited only by the size of the
38 * display.
39 *
40 * @param[in] obj The object.
41 *
42 * @return If @c true, size restrictions are disabled
43 *
44 * @ingroup Elm_Object_Item_Group
45 */
46EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj);
47
48/**
49 * @brief Control a different style for this item tooltip.
50 *
51 * @note before you set a style you should define a tooltip with
52 * @ref elm_object_item_tooltip_content_cb_set or
53 * @ref elm_object_item_tooltip_text_set
54 *
55 * See: elm_object_tooltip_style_set() for more details.
56 *
57 * @param[in] obj The object.
58 * @param[in] style The theme style used/to use (default, transparent, ...)
59 *
60 * @ingroup Elm_Object_Item_Group
61 */
62EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style);
63
64/**
65 * @brief Control a different style for this item tooltip.
66 *
67 * @note before you set a style you should define a tooltip with
68 * @ref elm_object_item_tooltip_content_cb_set or
69 * @ref elm_object_item_tooltip_text_set
70 *
71 * See: elm_object_tooltip_style_set() for more details.
72 *
73 * @param[in] obj The object.
74 *
75 * @return The theme style used/to use (default, transparent, ...)
76 *
77 * @ingroup Elm_Object_Item_Group
78 */
79EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj);
80
81/**
82 * @brief Control the type of mouse pointer/cursor decoration to be shown, when
83 * the mouse pointer is over the given item
84 *
85 * This function works analogously as elm_object_cursor_set(), but here the
86 * cursor's changing area is restricted to the item's area, and not the whole
87 * widget's. Note that that item cursors have precedence over widget cursors,
88 * so that a mouse over an item with custom cursor set will always show that
89 * cursor.
90 *
91 * If this function is called twice for an object, a previously set cursor will
92 * be unset on the second call.
93 *
94 * @param[in] obj The object.
95 * @param[in] cursor The cursor type's name
96 *
97 * @ingroup Elm_Object_Item_Group
98 */
99EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor);
100
101/**
102 * @brief Control the type of mouse pointer/cursor decoration to be shown, when
103 * the mouse pointer is over the given item
104 *
105 * This function works analogously as elm_object_cursor_set(), but here the
106 * cursor's changing area is restricted to the item's area, and not the whole
107 * widget's. Note that that item cursors have precedence over widget cursors,
108 * so that a mouse over an item with custom cursor set will always show that
109 * cursor.
110 *
111 * If this function is called twice for an object, a previously set cursor will
112 * be unset on the second call.
113 *
114 * @param[in] obj The object.
115 *
116 * @return The cursor type's name
117 *
118 * @ingroup Elm_Object_Item_Group
119 */
120EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj);
121
122/**
123 * @brief Control a different @c style for a given custom cursor set for an
124 * item.
125 *
126 * This function only makes sense when one is using custom mouse cursor
127 * decorations defined in a theme file, which can have, given a cursor
128 * name/type, alternate styles on it. It works analogously as
129 * elm_object_cursor_style_set(), but here applies only to item objects.
130 *
131 * @warning Before you set a cursor style you should have defined a custom
132 * cursor previously on the item, with @ref elm_object_item_cursor_set
133 *
134 * @param[in] obj The object.
135 * @param[in] style The theme style to use/in use (e.g. $"default",
136 * $"transparent", etc)
137 *
138 * @ingroup Elm_Object_Item_Group
139 */
140EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style);
141
142/**
143 * @brief Control a different @c style for a given custom cursor set for an
144 * item.
145 *
146 * This function only makes sense when one is using custom mouse cursor
147 * decorations defined in a theme file, which can have, given a cursor
148 * name/type, alternate styles on it. It works analogously as
149 * elm_object_cursor_style_set(), but here applies only to item objects.
150 *
151 * @warning Before you set a cursor style you should have defined a custom
152 * cursor previously on the item, with @ref elm_object_item_cursor_set
153 *
154 * @param[in] obj The object.
155 *
156 * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
157 *
158 * @ingroup Elm_Object_Item_Group
159 */
160EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj);
161
162/**
163 * @brief Control if the (custom)cursor for a given item should be searched in
164 * its theme, also, or should only rely on the rendering engine.
165 *
166 * @note This call is of use only if you've set a custom cursor for items, with
167 * @ref elm_object_item_cursor_set.
168 *
169 * @note By default, cursors will only be looked for between those provided by
170 * the rendering engine.
171 *
172 * @param[in] obj The object.
173 * @param[in] engine_only Use @c true to have cursors looked for only on those
174 * provided by the rendering engine, @c false to have them searched on the
175 * widget's theme, as well.
176 *
177 * @ingroup Elm_Object_Item_Group
178 */
179EAPI void elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool engine_only);
180
181/**
182 * @brief Control if the (custom)cursor for a given item should be searched in
183 * its theme, also, or should only rely on the rendering engine.
184 *
185 * @note This call is of use only if you've set a custom cursor for items, with
186 * @ref elm_object_item_cursor_set.
187 *
188 * @note By default, cursors will only be looked for between those provided by
189 * the rendering engine.
190 *
191 * @param[in] obj The object.
192 *
193 * @return Use @c true to have cursors looked for only on those provided by the
194 * rendering engine, @c false to have them searched on the widget's theme, as
195 * well.
196 *
197 * @ingroup Elm_Object_Item_Group
198 */
199EAPI Eina_Bool elm_object_item_cursor_engine_only_get(const Elm_Widget_Item *obj);
200
201/**
202 * @brief Control a content of an object item
203 *
204 * This sets a new object to an item as a content object. If any object was
205 * already set as a content object in the same part, previous object will be
206 * deleted automatically.
207 *
208 * @param[in] obj The object.
209 * @param[in] part The content part name (NULL for the default content)
210 * @param[in] content The content of the object item
211 *
212 * @ingroup Elm_Object_Item_Group
213 */
214EAPI void elm_object_item_part_content_set(Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content);
215
216/**
217 * @brief Control a content of an object item
218 *
219 * This sets a new object to an item as a content object. If any object was
220 * already set as a content object in the same part, previous object will be
221 * deleted automatically.
222 *
223 * @param[in] obj The object.
224 * @param[in] part The content part name (NULL for the default content)
225 *
226 * @return The content of the object item
227 *
228 * @ingroup Elm_Object_Item_Group
229 */
230EAPI Efl_Canvas_Object *elm_object_item_part_content_get(const Elm_Widget_Item *obj, const char *part);
231
232/**
233 * @brief Control a label of an object item
234 *
235 * @note Elementary object items may have many labels
236 *
237 * @param[in] obj The object.
238 * @param[in] part The text part name (NULL for the default label)
239 * @param[in] label Text of the label
240 *
241 * @ingroup Elm_Object_Item_Group
242 */
243EAPI void elm_object_item_part_text_set(Elm_Widget_Item *obj, const char *part, const char *label);
244
245/**
246 * @brief Control a label of an object item
247 *
248 * @note Elementary object items may have many labels
249 *
250 * @param[in] obj The object.
251 * @param[in] part The text part name (NULL for the default label)
252 *
253 * @return Text of the label
254 *
255 * @ingroup Elm_Object_Item_Group
256 */
257EAPI const char *elm_object_item_part_text_get(const Elm_Widget_Item *obj, const char *part);
258
259
260
261/**
262 * @brief Control the object item focused
263 *
264 * @param[in] obj The object.
265 * @param[in] focused The focused state
266 *
267 * @since 1.10
268 *
269 * @ingroup Elm_Object_Item_Group
270 */
271EAPI void elm_object_item_focus_set(Elm_Widget_Item *obj, Eina_Bool focused);
272
273/**
274 * @brief Control the object item focused
275 *
276 * @param[in] obj The object.
277 *
278 * @return The focused state
279 *
280 * @since 1.10
281 *
282 * @ingroup Elm_Object_Item_Group
283 */
284EAPI Eina_Bool elm_object_item_focus_get(const Elm_Widget_Item *obj);
285
286/**
287 * @brief Control the style of an object item
288 *
289 * @param[in] obj The object.
290 * @param[in] style The style of object item
291 *
292 * @since 1.9
293 *
294 * @ingroup Elm_Object_Item_Group
295 */
296EAPI void elm_object_item_style_set(Elm_Widget_Item *obj, const char *style);
297
298/**
299 * @brief Control the style of an object item
300 *
301 * @param[in] obj The object.
302 *
303 * @return The style of object item
304 *
305 * @since 1.9
306 *
307 * @ingroup Elm_Object_Item_Group
308 */
309EAPI const char *elm_object_item_style_get(const Elm_Widget_Item *obj);
310
311/**
312 * @brief Control the disabled state of a widget item.
313 *
314 * Elementary object item can be disabled, in which state they won't receive
315 * input and, in general, will be themed differently from their normal state,
316 * usually greyed out. Useful for contexts where you don't want your users to
317 * interact with some of the parts of you interface.
318 *
319 * This sets the state for the widget item, either disabling it or enabling it
320 * back.
321 *
322 * @param[in] obj The object.
323 * @param[in] disable @c true, if the widget item is disabled, @c false if it's
324 * enabled (or on errors)
325 *
326 * @ingroup Elm_Object_Item_Group
327 */
328EAPI void elm_object_item_disabled_set(Elm_Widget_Item *obj, Eina_Bool disable);
329
330/**
331 * @brief Control the disabled state of a widget item.
332 *
333 * Elementary object item can be disabled, in which state they won't receive
334 * input and, in general, will be themed differently from their normal state,
335 * usually greyed out. Useful for contexts where you don't want your users to
336 * interact with some of the parts of you interface.
337 *
338 * This sets the state for the widget item, either disabling it or enabling it
339 * back.
340 *
341 * @param[in] obj The object.
342 *
343 * @return @c true, if the widget item is disabled, @c false if it's enabled
344 * (or on errors)
345 *
346 * @ingroup Elm_Object_Item_Group
347 */
348EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Widget_Item *obj);
349
350/**
351 * @brief Get highlight order
352 *
353 * @param[in] obj The object.
354 *
355 * @return List of evas canvas objects
356 *
357 * @since 1.8
358 *
359 * @ingroup Elm_Object_Item_Group
360 */
361EAPI const Eina_List *elm_object_item_access_order_get(Elm_Widget_Item *obj);
362
363/**
364 * @brief Set highlight order
365 *
366 * @param[in] obj The object.
367 * @param[in] objs Order of objects to pass highlight
368 *
369 * @since 1.8
370 *
371 * @ingroup Elm_Object_Item_Group
372 */
373EAPI void elm_object_item_access_order_set(Elm_Widget_Item *obj, Eina_List *objs);
374
375/**
376 * @brief Get the widget object's handle which contains a given item
377 *
378 * @note This returns the widget object itself that an item belongs to. Note:
379 * Every elm_object_item supports this API
380 *
381 * @param[in] obj The object.
382 *
383 * @return The widget object
384 *
385 * @ingroup Elm_Object_Item_Group
386 */
387EAPI Efl_Canvas_Object *elm_object_item_widget_get(const Elm_Widget_Item *obj);
388
389
390/**
391 * @brief Set the text to be shown in a given object item's tooltips.
392 *
393 * Setup the text as tooltip to object. The item can have only one tooltip, so
394 * any previous tooltip data - set with this function or
395 * @ref elm_object_item_tooltip_content_cb_set - is removed.
396 *
397 * See: elm_object_tooltip_text_set() for more details.
398 *
399 * @param[in] obj The object.
400 * @param[in] text The text to set in the content.
401 *
402 * @ingroup Elm_Object_Item_Group
403 */
404EAPI void elm_object_item_tooltip_text_set(Elm_Widget_Item *obj, const char *text);
405
406
407/**
408 * @brief Unset tooltip from item.
409 *
410 * Remove tooltip from item. The callback provided as del_cb to
411 * @ref elm_object_item_tooltip_content_cb_set will be called to notify it is
412 * not used anymore.
413 *
414 * See: elm_object_tooltip_unset() for more details. See:
415 * @ref elm_object_item_tooltip_content_cb_set
416 * @param[in] obj The object.
417 *
418 * @ingroup Elm_Object_Item_Group
419 */
420EAPI void elm_object_item_tooltip_unset(Elm_Widget_Item *obj);
421
422/**
423 * @brief Unset any custom mouse pointer/cursor decoration set to be shown,
424 * when the mouse pointer is over the given item, thus making it show the
425 * default cursor again.
426 *
427 * Use this call to undo any custom settings on this item's cursor decoration,
428 * bringing it back to defaults (no custom style set).
429 *
430 * See: elm_object_cursor_unset() See: @ref elm_object_item_cursor_set
431 * @param[in] obj The object.
432 *
433 * @ingroup Elm_Object_Item_Group
434 */
435EAPI void elm_object_item_cursor_unset(Elm_Widget_Item *obj);
436
437/**
438 * @brief Unset a content of an object item
439 *
440 * @note Elementary object items may have many contents
441 *
442 * @param[in] obj The object.
443 * @param[in] part The content part name to unset (NULL for the default
444 * content)
445 *
446 * @return Content object
447 *
448 * @ingroup Elm_Object_Item_Group
449 */
450EAPI Efl_Canvas_Object *elm_object_item_part_content_unset(Elm_Widget_Item *obj, const char *part);
451
452
453/**
454 * @brief Add a callback for a signal emitted by object item edje.
455 *
456 * This function connects a callback function to a signal emitted by the edje
457 * object of the object item. Globs can occur in either the emission or source
458 * name.
459 *
460 * @param[in] obj The object.
461 * @param[in] emission The signal's name.
462 * @param[in] source The signal's source.
463 * @param[in] func The callback function to be executed when the signal is
464 * emitted.
465 * @param[in] data A pointer to data to pass to the callback function.
466 *
467 * @since 1.8
468 *
469 * @ingroup Elm_Object_Item_Group
470 */
471EAPI void elm_object_item_signal_callback_add(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
472
473/**
474 * @brief Remove a signal-triggered callback from a object item edje object.
475 *
476 * This function removes the last callback, previously attached to a signal
477 * emitted by an underlying Edje object of @c it, whose parameters @c emission,
478 * @c source and @c func match exactly with those passed to a previous call to
479 * @ref elm_object_item_signal_callback_add. The data pointer that was passed
480 * to this call will be returned.
481 *
482 * See: @ref elm_object_item_signal_callback_add
483 *
484 * @param[in] obj The object.
485 * @param[in] emission The signal's name.
486 * @param[in] source The signal's source.
487 * @param[in] func The callback function to be executed when the signal is
488 * emitted.
489 *
490 * @return The data pointer of the signal callback or @c NULL, on errors.
491 *
492 * @since 1.8
493 *
494 * @ingroup Elm_Object_Item_Group
495 */
496EAPI void *elm_object_item_signal_callback_del(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
497
498/**
499 * @brief Send a signal to the edje object of the widget item.
500 *
501 * This function sends a signal to the edje object of the obj item. An edje
502 * program can respond to a signal by specifying matching 'signal' and 'source'
503 * fields. Don't use this unless you want to also handle resetting of part
504 * states to default on every unrealize in case of genlist/gengrid.
505 *
506 * @param[in] obj The object.
507 * @param[in] emission The signal's name.
508 * @param[in] source The signal's source.
509 *
510 * @ingroup Elm_Object_Item_Group
511 */
512EAPI void elm_object_item_signal_emit(Elm_Widget_Item *obj, const char *emission, const char *source);
513
514/**
515 * @brief Set the text to read out when in accessibility mode
516 *
517 * @param[in] obj The object.
518 * @param[in] txt The text that describes the widget to people with poor or no
519 * vision
520 *
521 * @ingroup Elm_Object_Item_Group
522 */
523EAPI void elm_object_item_access_info_set(Elm_Widget_Item *obj, const char *txt);
524
525/**
526 * @brief Get an accessible object of the object item.
527 *
528 * @param[in] obj The object.
529 *
530 * @return Accessible object of the object item or NULL for any error
531 *
532 * @since 1.8
533 *
534 * @ingroup Elm_Object_Item_Group
535 */
536EAPI Efl_Canvas_Object *elm_object_item_access_object_get(const Elm_Widget_Item *obj);
537
538/**
539 * @brief Set the text for an object item's part, marking it as translatable.
540 *
541 * The string to set as @c text must be the original one. Do not pass the
542 * return of @c gettext() here. Elementary will translate the string internally
543 * and set it on the object item using @ref elm_object_item_part_text_set, also
544 * storing the original string so that it can be automatically translated when
545 * the language is changed with elm_language_set(). The @c domain will be
546 * stored along to find the translation in the correct catalog. It can be NULL,
547 * in which case it will use whatever domain was set by the application with
548 * @c textdomain(). This is useful in case you are building a library on top of
549 * Elementary that will have its own translatable strings, that should not be
550 * mixed with those of programs using the library.
551 *
552 * @param[in] obj The object.
553 * @param[in] part The name of the part to set
554 * @param[in] domain The translation domain to use
555 * @param[in] label The original, non-translated text to set
556 *
557 * @since 1.8
558 *
559 * @ingroup Elm_Object_Item_Group
560 */
561EAPI void elm_object_item_domain_translatable_part_text_set(Elm_Widget_Item *obj, const char *part, const char *domain, const char *label);
562
563/**
564 * @brief Get the original string set as translatable for an object item.
565 *
566 * When setting translated strings, the function
567 * @ref elm_object_item_part_text_get will return the translation returned by
568 * @c gettext(). To get the original string use this function.
569 *
570 * @param[in] obj The object.
571 * @param[in] part The name of the part that was set
572 *
573 * @return The original, untranslated string
574 *
575 * @since 1.8
576 *
577 * @ingroup Elm_Object_Item_Group
578 */
579EAPI const char *elm_object_item_translatable_part_text_get(const Elm_Widget_Item *obj, const char *part);
580
581
582/**
583 * @brief Mark the part text to be translatable or not.
584 *
585 * Once you mark the part text to be translatable, the text will be translated
586 * internally regardless of @ref elm_object_item_part_text_set and
587 * @ref elm_object_item_domain_translatable_part_text_set. In other case, if
588 * you set the Elementary policy that all text will be translatable in default,
589 * you can set the part text to not be translated by calling this API.
590 *
591 * See: @ref elm_object_item_domain_translatable_part_text_set See:
592 * @ref elm_object_item_part_text_set See: elm_policy()
593 *
594 * @param[in] obj The object.
595 * @param[in] part The part name of the translatable text
596 * @param[in] domain The translation domain to use
597 * @param[in] translatable @c true, the part text will be translated
598 * internally. @c false, otherwise.
599 *
600 * @since 1.8
601 *
602 * @ingroup Elm_Object_Item_Group
603 */
604EAPI void elm_object_item_domain_part_text_translatable_set(Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable);
605
606/**
607 * @brief This returns track object of the item.
608 *
609 * @note This gets a rectangle object that represents the object item's
610 * internal object. If you want to check the geometry, visibility of the item,
611 * you can call the evas apis such as evas_object_geometry_get(),
612 * evas_object_visible_get() to the track object. Note that all of the widget
613 * items may/may not have the internal object so this api may return @c NULL if
614 * the widget item doesn't have it. Additionally, the widget item is
615 * managed/controlled by the widget, the widget item could be changed(moved,
616 * resized even deleted) anytime by it's own widget's decision. So please dont'
617 * change the track object as well as don't keep the track object in your side
618 * as possible but get the track object at the moment you need to refer.
619 * Otherwise, you need to add some callbacks to the track object to track it's
620 * attributes changes.
621 *
622 * @warning After use the track object, please call the
623 * @ref elm_object_item_untrack() paired to elm_object_item_track definitely to
624 * free the track object properly. Don't delete the track object.
625 *
626 * See: @ref elm_object_item_untrack See: @ref elm_object_item_track_get
627 *
628 * @param[in] obj The object.
629 *
630 * @return The track object
631 *
632 * @since 1.8
633 *
634 * @ingroup Elm_Object_Item_Group
635 */
636EAPI Efl_Canvas_Object *elm_object_item_track(Elm_Widget_Item *obj);
637
638/**
639 * @brief This retrieve the track object of the item.
640 *
641 * @note This retrieves the track object that was returned from
642 * @ref elm_object_item_track.
643 *
644 * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
645 *
646 * @param[in] obj The object.
647 *
648 * @since 1.8
649 *
650 * @ingroup Elm_Object_Item_Group
651 */
652EAPI void elm_object_item_untrack(Elm_Widget_Item *obj);
653
654/**
655 * @brief Get the track object reference count.
656 *
657 * @note This gets the reference count for the track object. Whenever you call
658 * the @ref elm_object_item_track, the reference count will be increased by
659 * one. Likely the reference count will be decreased again when you call the
660 * @ref elm_object_item_untrack. Unless the reference count reaches to zero,
661 * the track object won't be deleted. So please be sure to call
662 * @ref elm_object_item_untrack() paired to the elm_object_item_track call
663 * count.
664 *
665 * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
666 *
667 * @param[in] obj The object.
668 *
669 * @return Track object reference count
670 *
671 * @since 1.8
672 *
673 * @ingroup Elm_Object_Item_Group
674 */
675EAPI int elm_object_item_track_get(const Elm_Widget_Item *obj);
676
677
678/**
679 * @brief Set the function to be called when an item from the widget is freed.
680 *
681 * @note Every elm_object_item supports this API
682 *
683 * @param[in] obj The object.
684 * @param[in] del_cb The function called
685 *
686 * @ingroup Elm_Object_Item_Group
687 */
688EAPI void elm_object_item_del_cb_set(Elm_Widget_Item *obj, Evas_Smart_Cb del_cb);
689
690/**
691 * @brief Set the content to be shown in the tooltip item.
692 *
693 * Setup the tooltip to item. The item can have only one tooltip, so any
694 * previous tooltip data is removed. @c func(with @c data) will be called every
695 * time that need show the tooltip and it should return a valid Evas_Object.
696 * This object is then managed fully by tooltip system and is deleted when the
697 * tooltip is gone.
698 *
699 * See: elm_object_tooltip_content_cb_set() for more details.
700 *
701 * @param[in] obj The object.
702 * @param[in] func The function used to create the tooltip contents.
703 * @param[in] data What to provide to @c func as callback data/context.
704 * @param[in] del_cb Called when data is not needed anymore, either when
705 * another callback replaces @c func, the tooltip is unset with
706 * @ref elm_object_item_tooltip_unset or the owner @c item dies. This callback
707 * receives as the first parameter the given @c data, and @c event_info is the
708 * item.
709 *
710 * @ingroup Elm_Object_Item_Group
711 */
712EAPI void elm_object_item_tooltip_content_cb_set(Elm_Widget_Item *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
713
714/**
715 * @brief Register object item as an accessible object.
716 *
717 * @param[in] obj The object.
718 *
719 * @return Accessible object of the object item or NULL for any error
720 *
721 * @since 1.8
722 *
723 * @ingroup Elm_Object_Item_Group
724 */
725EAPI Efl_Canvas_Object *elm_object_item_access_register(Elm_Widget_Item *obj);
726
727/** Unregister accessible object of the object item.
728 *
729 * @since 1.8
730 *
731 * @ingroup Elm_Object_Item_Group
732 */
733EAPI void elm_object_item_access_unregister(Elm_Widget_Item *obj);
734
735/** Unset highlight order
736 *
737 * @since 1.8
738 *
739 * @ingroup Elm_Object_Item_Group
740 */
741EAPI void elm_object_item_access_order_unset(Elm_Widget_Item *obj);
742
743
744
745/**
746 * @brief Get the next object with specific focus direction.
747 *
748 * @param[in] obj The object.
749 * @param[in] dir Focus direction
750 *
751 * @return Focus next object
752 *
753 * @since 1.16
754 *
755 * @ingroup Elm_Object_Item_Group
756 */
757EAPI Efl_Canvas_Object *elm_object_item_focus_next_object_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir);
758
759/**
760 * @brief Set the next object with specific focus direction.
761 *
762 * @param[in] obj The object.
763 * @param[in] next Focus next object
764 * @param[in] dir Focus direction
765 *
766 * @since 1.16
767 *
768 * @ingroup Elm_Object_Item_Group
769 */
770EAPI void elm_object_item_focus_next_object_set(Elm_Widget_Item *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
771
772/**
773 * @brief Get the next object item with specific focus direction.
774 *
775 * @param[in] obj The object.
776 * @param[in] dir Focus direction
777 *
778 * @return Focus next object item
779 *
780 * @since 1.16
781 *
782 * @ingroup Elm_Object_Item_Group
783 */
784EAPI Elm_Widget_Item *elm_object_item_focus_next_item_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir);
785
786/**
787 * @brief Set the next object item with specific focus direction.
788 *
789 * @param[in] obj The object.
790 * @param[in] next_item Focus next object item
791 * @param[in] dir Focus direction
792 *
793 * @since 1.16
794 *
795 * @ingroup Elm_Object_Item_Group
796 */
797EAPI void elm_object_item_focus_next_item_set(Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
798
799#endif
diff --git a/src/lib/elementary/elm_widget_item_static_focus.c b/src/lib/elementary/elm_widget_item_static_focus.c
index 3e4dea9..a94e80f 100644
--- a/src/lib/elementary/elm_widget_item_static_focus.c
+++ b/src/lib/elementary/elm_widget_item_static_focus.c
@@ -183,4 +183,4 @@ _elm_widget_item_static_focus_efl_object_destructor(Eo *obj, Elm_Widget_Item_Sta
183} 183}
184 184
185 185
186#include "elm_widget_item_static_focus.eo.c" 186#include "elm_widget_item_static_focus_eo.c"
diff --git a/src/lib/elementary/elm_widget_item_static_focus.eo b/src/lib/elementary/elm_widget_item_static_focus.eo
deleted file mode 100644
index f82ebe4..0000000
--- a/src/lib/elementary/elm_widget_item_static_focus.eo
+++ /dev/null
@@ -1,9 +0,0 @@
1class Elm.Widget.Item.Static_Focus extends Elm.Widget.Item implements Efl.Ui.Focus.Object
2{
3 [[A class that ensures that at least ONE focusable target is behind this widget item. If there is none registered to it after a prepare call it will register the view of the item as item.]]
4 implements {
5 Efl.Object.constructor;
6 Efl.Object.destructor;
7 Efl.Ui.Focus.Object.setup_order_non_recursive;
8 }
9}
diff --git a/src/lib/elementary/elm_widget_item_static_focus_eo.c b/src/lib/elementary/elm_widget_item_static_focus_eo.c
new file mode 100644
index 0000000..646d5e1
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_static_focus_eo.c
@@ -0,0 +1,43 @@
1
2Efl_Object *_elm_widget_item_static_focus_efl_object_constructor(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
3
4
5void _elm_widget_item_static_focus_efl_object_destructor(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
6
7
8void _elm_widget_item_static_focus_efl_ui_focus_object_setup_order_non_recursive(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
9
10
11static Eina_Bool
12_elm_widget_item_static_focus_class_initializer(Efl_Class *klass)
13{
14 const Efl_Object_Ops *opsp = NULL;
15
16 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
17
18#ifndef ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
19#define ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
20#endif
21
22 EFL_OPS_DEFINE(ops,
23 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_widget_item_static_focus_efl_object_constructor),
24 EFL_OBJECT_OP_FUNC(efl_destructor, _elm_widget_item_static_focus_efl_object_destructor),
25 EFL_OBJECT_OP_FUNC(efl_ui_focus_object_setup_order_non_recursive, _elm_widget_item_static_focus_efl_ui_focus_object_setup_order_non_recursive),
26 ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
27 );
28 opsp = &ops;
29
30 return efl_class_functions_set(klass, opsp, ropsp);
31}
32
33static const Efl_Class_Description _elm_widget_item_static_focus_class_desc = {
34 EO_VERSION,
35 "Elm.Widget.Item.Static_Focus",
36 EFL_CLASS_TYPE_REGULAR,
37 sizeof(Elm_Widget_Item_Static_Focus_Data),
38 _elm_widget_item_static_focus_class_initializer,
39 NULL,
40 NULL
41};
42
43EFL_DEFINE_CLASS(elm_widget_item_static_focus_class_get, &_elm_widget_item_static_focus_class_desc, ELM_WIDGET_ITEM_CLASS, EFL_UI_FOCUS_OBJECT_MIXIN, NULL);
diff --git a/src/lib/elementary/elm_widget_item_static_focus_eo.h b/src/lib/elementary/elm_widget_item_static_focus_eo.h
new file mode 100644
index 0000000..c1f058f
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_static_focus_eo.h
@@ -0,0 +1,26 @@
1#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_H_
2#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_H_
3
4#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item_Static_Focus;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
12#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
13
14
15#endif
16/** A class that ensures that at least ONE focusable target is behind this
17 * widget item. If there is none registered to it after a prepare call it will
18 * register the view of the item as item.
19 *
20 * @ingroup Elm_Widget_Item_Static_Focus
21 */
22#define ELM_WIDGET_ITEM_STATIC_FOCUS_CLASS elm_widget_item_static_focus_class_get()
23
24EWAPI const Efl_Class *elm_widget_item_static_focus_class_get(void);
25
26#endif
diff --git a/src/lib/elementary/elm_widget_item_static_focus_eo.legacy.h b/src/lib/elementary/elm_widget_item_static_focus_eo.legacy.h
new file mode 100644
index 0000000..804806b
--- /dev/null
+++ b/src/lib/elementary/elm_widget_item_static_focus_eo.legacy.h
@@ -0,0 +1,17 @@
1#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_LEGACY_H_
2#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_LEGACY_H_
3
4#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
5#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
6
7typedef Eo Elm_Widget_Item_Static_Focus;
8
9#endif
10
11#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
12#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
13
14
15#endif
16
17#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 88583b3..43e67b4 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -1,6 +1,5 @@
1pub_legacy_eo_files = [ 1pub_legacy_eo_files = [
2 'efl_ui_clock_legacy.eo', 2 'efl_ui_clock_legacy.eo',
3 'elm_widget_item_static_focus.eo',
4 'elm_ctxpopup_part.eo', 3 'elm_ctxpopup_part.eo',
5 'elm_dayselector_part.eo', 4 'elm_dayselector_part.eo',
6 'elm_entry_part.eo', 5 'elm_entry_part.eo',
@@ -170,13 +169,11 @@ pub_eo_files = [
170 'efl_ui_radio_legacy_part.eo', 169 'efl_ui_radio_legacy_part.eo',
171 'efl_ui_check_legacy_part.eo', 170 'efl_ui_check_legacy_part.eo',
172 'efl_ui_progressbar_legacy_part.eo', 171 'efl_ui_progressbar_legacy_part.eo',
173 'elm_widget_item_container.eo',
174 'elm_multibuttonentry_part.eo', 172 'elm_multibuttonentry_part.eo',
175 'elm_interface_scrollable.eo', 173 'elm_interface_scrollable.eo',
176 'elm_atspi_bridge.eo', 174 'elm_atspi_bridge.eo',
177 'elm_atspi_app_object.eo', 175 'elm_atspi_app_object.eo',
178 'efl_ui_image_zoomable_pan.eo', 176 'efl_ui_image_zoomable_pan.eo',
179 'elm_widget_item.eo',
180 'efl_ui_text_part.eo', 177 'efl_ui_text_part.eo',
181 'efl_ui_caching_factory.eo', 178 'efl_ui_caching_factory.eo',
182 'efl_ui_widget_factory.eo', 179 'efl_ui_widget_factory.eo',
@@ -807,6 +804,12 @@ elementary_pub_headers = [
807 'elm_view_list_eo.legacy.h', 804 'elm_view_list_eo.legacy.h',
808 'elm_web_eo.h', 805 'elm_web_eo.h',
809 'elm_web_eo.legacy.h', 806 'elm_web_eo.legacy.h',
807 'elm_widget_item_container_eo.h',
808 'elm_widget_item_container_eo.legacy.h',
809 'elm_widget_item_eo.h',
810 'elm_widget_item_eo.legacy.h',
811 'elm_widget_item_static_focus_eo.h',
812 'elm_widget_item_static_focus_eo.legacy.h',
810] 813]
811 814
812elementary_header_src = [ 815elementary_header_src = [