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:15:12 -0800
commita8057a34032a44d680506d097258e4bf551398b3 (patch)
tree979c52ae255719b2f7ccc23ef8395a33771065c4
parent5c41b53a3fbe3043a86e242e451113d79df84494 (diff)
elm_entry: 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/D8166
-rw-r--r--src/Makefile_Elementary.am5
-rw-r--r--src/bin/elementary/test_entry.c2
-rw-r--r--src/lib/elementary/efl_ui_layout.c2
-rw-r--r--src/lib/elementary/efl_ui_spin_button.c2
-rw-r--r--src/lib/elementary/efl_ui_tags.c2
-rw-r--r--src/lib/elementary/elc_combobox.c2
-rw-r--r--src/lib/elementary/elc_fileselector.c2
-rw-r--r--src/lib/elementary/elc_fileselector_entry.c2
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c2
-rw-r--r--src/lib/elementary/elm_entry.c2
-rw-r--r--src/lib/elementary/elm_entry.eo928
-rw-r--r--src/lib/elementary/elm_entry_eo.c1190
-rw-r--r--src/lib/elementary/elm_entry_eo.h1448
-rw-r--r--src/lib/elementary/elm_entry_eo.legacy.c582
-rw-r--r--src/lib/elementary/elm_entry_eo.legacy.h1252
-rw-r--r--src/lib/elementary/elm_entry_legacy.h2
-rw-r--r--src/lib/elementary/elm_spinner.c2
-rw-r--r--src/lib/elementary/elm_view_form.c2
-rw-r--r--src/lib/elementary/elm_widget_entry.h2
-rw-r--r--src/lib/elementary/meson.build3
-rw-r--r--src/modules/elementary/prefs/elm_entry.c2
21 files changed, 4491 insertions, 945 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 866017b..2823878 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -187,7 +187,6 @@ elm_private_eolian_files = \
187elm_legacy_eolian_files = \ 187elm_legacy_eolian_files = \
188 lib/elementary/efl_ui_clock_legacy.eo \ 188 lib/elementary/efl_ui_clock_legacy.eo \
189 lib/elementary/elm_interface_fileselector.eo \ 189 lib/elementary/elm_interface_fileselector.eo \
190 lib/elementary/elm_entry.eo \
191 lib/elementary/elm_fileselector.eo \ 190 lib/elementary/elm_fileselector.eo \
192 lib/elementary/elm_gengrid.eo \ 191 lib/elementary/elm_gengrid.eo \
193 lib/elementary/elm_gengrid_pan.eo \ 192 lib/elementary/elm_gengrid_pan.eo \
@@ -345,6 +344,8 @@ lib/elementary/elm_diskselector_eo.legacy.c \
345lib/elementary/elm_diskselector_eo.c \ 344lib/elementary/elm_diskselector_eo.c \
346lib/elementary/elm_diskselector_item_eo.legacy.c \ 345lib/elementary/elm_diskselector_item_eo.legacy.c \
347lib/elementary/elm_diskselector_item_eo.c \ 346lib/elementary/elm_diskselector_item_eo.c \
347lib/elementary/elm_entry_eo.legacy.c \
348lib/elementary/elm_entry_eo.c \
348lib/elementary/elm_hoversel_eo.c \ 349lib/elementary/elm_hoversel_eo.c \
349lib/elementary/elm_hoversel_item_eo.c \ 350lib/elementary/elm_hoversel_item_eo.c \
350lib/elementary/elm_hoversel_item_eo.legacy.c 351lib/elementary/elm_hoversel_item_eo.legacy.c
@@ -428,6 +429,8 @@ lib/elementary/elm_diskselector_eo.h \
428lib/elementary/elm_diskselector_eo.legacy.h \ 429lib/elementary/elm_diskselector_eo.legacy.h \
429lib/elementary/elm_diskselector_item_eo.h \ 430lib/elementary/elm_diskselector_item_eo.h \
430lib/elementary/elm_diskselector_item_eo.legacy.h \ 431lib/elementary/elm_diskselector_item_eo.legacy.h \
432lib/elementary/elm_entry_eo.h \
433lib/elementary/elm_entry_eo.legacy.h \
431lib/elementary/elm_hoversel_eo.h \ 434lib/elementary/elm_hoversel_eo.h \
432lib/elementary/elm_hoversel_eo.legacy.h \ 435lib/elementary/elm_hoversel_eo.legacy.h \
433lib/elementary/elm_hoversel_item_eo.h \ 436lib/elementary/elm_hoversel_item_eo.h \
diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c
index cf3b148..dde8927 100644
--- a/src/bin/elementary/test_entry.c
+++ b/src/bin/elementary/test_entry.c
@@ -5,7 +5,7 @@
5#include <Elementary.h> 5#include <Elementary.h>
6 6
7// FIXME: elm_entry is not part of EO API, the below test cases may be useless 7// FIXME: elm_entry is not part of EO API, the below test cases may be useless
8#include "elm_entry.eo.h" 8#include "elm_entry_eo.h"
9#include "elm_popup.eo.h" 9#include "elm_popup.eo.h"
10 10
11static void 11static void
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index c67e948..67c9a59 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -13,7 +13,7 @@
13#include "elm_priv.h" 13#include "elm_priv.h"
14#include "elm_widget_layout.h" 14#include "elm_widget_layout.h"
15#include "elm_part_helper.h" 15#include "elm_part_helper.h"
16#include "elm_entry.eo.h" 16#include "elm_entry_eo.h"
17 17
18#define MY_CLASS EFL_UI_LAYOUT_BASE_CLASS 18#define MY_CLASS EFL_UI_LAYOUT_BASE_CLASS
19#define MY_CLASS_PFX efl_ui_layout 19#define MY_CLASS_PFX efl_ui_layout
diff --git a/src/lib/elementary/efl_ui_spin_button.c b/src/lib/elementary/efl_ui_spin_button.c
index c64642f..0194921 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -12,7 +12,7 @@
12#include "elm_priv.h" 12#include "elm_priv.h"
13#include "efl_ui_spin_button_private.h" 13#include "efl_ui_spin_button_private.h"
14#include "efl_ui_spin_private.h" 14#include "efl_ui_spin_private.h"
15#include "elm_entry.eo.h" 15#include "elm_entry_eo.h"
16 16
17#define MY_CLASS EFL_UI_SPIN_BUTTON_CLASS 17#define MY_CLASS EFL_UI_SPIN_BUTTON_CLASS
18 18
diff --git a/src/lib/elementary/efl_ui_tags.c b/src/lib/elementary/efl_ui_tags.c
index 348c877..8d377b6 100644
--- a/src/lib/elementary/efl_ui_tags.c
+++ b/src/lib/elementary/efl_ui_tags.c
@@ -5,7 +5,7 @@
5#include <Elementary.h> 5#include <Elementary.h>
6#include "elm_priv.h" 6#include "elm_priv.h"
7#include "efl_ui_tags_private.h" 7#include "efl_ui_tags_private.h"
8#include "elm_entry.eo.h" 8#include "elm_entry_eo.h"
9 9
10#define MY_CLASS EFL_UI_TAGS_CLASS 10#define MY_CLASS EFL_UI_TAGS_CLASS
11 11
diff --git a/src/lib/elementary/elc_combobox.c b/src/lib/elementary/elc_combobox.c
index ba4d39e..4a67f07 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -10,7 +10,7 @@
10#include <Elementary.h> 10#include <Elementary.h>
11#include "elm_priv.h" 11#include "elm_priv.h"
12#include "elm_widget_combobox.h" 12#include "elm_widget_combobox.h"
13#include "elm_entry.eo.h" 13#include "elm_entry_eo.h"
14#include "elm_genlist.eo.h" 14#include "elm_genlist.eo.h"
15#include "elm_hover.eo.h" 15#include "elm_hover.eo.h"
16 16
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index 096f02c..03ff26b 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -21,7 +21,7 @@
21#include "elm_fileselector_entry.eo.h" 21#include "elm_fileselector_entry.eo.h"
22#include "elm_interface_fileselector.h" 22#include "elm_interface_fileselector.h"
23#include "elm_widget_fileselector.h" 23#include "elm_widget_fileselector.h"
24#include "elm_entry.eo.h" 24#include "elm_entry_eo.h"
25#include "elm_fileselector.eo.h" 25#include "elm_fileselector.eo.h"
26#include "elm_genlist.eo.h" 26#include "elm_genlist.eo.h"
27#include "elm_gengrid.eo.h" 27#include "elm_gengrid.eo.h"
diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c
index 4b84254..9004408 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -13,7 +13,7 @@
13#include "elm_fileselector_entry.eo.h" 13#include "elm_fileselector_entry.eo.h"
14#include "elm_interface_fileselector.h" 14#include "elm_interface_fileselector.h"
15#include "elm_widget_fileselector_entry.h" 15#include "elm_widget_fileselector_entry.h"
16#include "elm_entry.eo.h" 16#include "elm_entry_eo.h"
17#include "elm_fileselector.eo.h" 17#include "elm_fileselector.eo.h"
18 18
19#include "elm_fileselector_entry_part.eo.h" 19#include "elm_fileselector_entry_part.eo.h"
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index 6aa9b94..009d612 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -13,7 +13,7 @@
13#include "elm_priv.h" 13#include "elm_priv.h"
14#include "elm_widget_multibuttonentry.h" 14#include "elm_widget_multibuttonentry.h"
15#include "elm_multibuttonentry_part.eo.h" 15#include "elm_multibuttonentry_part.eo.h"
16#include "elm_entry.eo.h" 16#include "elm_entry_eo.h"
17#include "elm_part_helper.h" 17#include "elm_part_helper.h"
18 18
19#define MY_CLASS ELM_MULTIBUTTONENTRY_CLASS 19#define MY_CLASS ELM_MULTIBUTTONENTRY_CLASS
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index ccc7624..0334881 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -6230,4 +6230,4 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
6230 ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \ 6230 ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
6231 ELM_LAYOUT_SIZING_EVAL_OPS(elm_entry) 6231 ELM_LAYOUT_SIZING_EVAL_OPS(elm_entry)
6232 6232
6233#include "elm_entry.eo.c" 6233#include "elm_entry_eo.c"
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
deleted file mode 100644
index fb903db..0000000
--- a/src/lib/elementary/elm_entry.eo
+++ /dev/null
@@ -1,928 +0,0 @@
1import elm_general;
2
3type Elm_Entry_Item_Provider_Cb: __undefined_type; [[Elementary entry item provider callback type]]
4type Elm_Entry_Filter_Cb: __undefined_type; [[Elementary entry filter callback type]]
5
6class Elm.Entry extends Efl.Ui.Layout_Base implements Elm.Interface_Scrollable, Efl.Ui.Clickable,
7 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File,
8 Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Access.Widget.Action,
9 Efl.Ui.Legacy
10{
11 [[Elementary entry class]]
12 legacy_prefix: elm_entry;
13 eo_prefix: elm_obj_entry;
14 event_prefix: elm_entry;
15 methods {
16 @property scrollable {
17 set {
18 [[Enable or disable scrolling in entry
19
20 Normally the entry is not scrollable unless you enable it with this call.
21 ]]
22 }
23 get {
24 [[Get the scrollable state of the entry
25
26 Normally the entry is not scrollable. This gets the scrollable state
27 of the entry.
28 ]]
29 }
30 values {
31 scroll: bool; [[$true if it is to be scrollable, $false otherwise.]]
32 }
33 }
34 @property input_panel_show_on_demand {
35 set {
36 [[Set the attribute to show the input panel in case of only an user's explicit Mouse Up event.
37 It doesn't request to show the input panel even though it has focus.
38
39 @since 1.9
40 ]]
41 }
42 get {
43 [[Get the attribute to show the input panel in case of only an user's explicit Mouse Up event.
44
45 @since 1.9
46 ]]
47 }
48 values {
49 ondemand: bool; [[If $true, the input panel will be shown in case of only Mouse up event.
50 (Focus event will be ignored.)
51 ]]
52 }
53 }
54 @property context_menu_disabled {
55 set {
56 [[This disables the entry's contextual (longpress) menu.]]
57 }
58 get {
59 [[This returns whether the entry's contextual (longpress) menu is
60 disabled.
61 ]]
62 }
63 values {
64 disabled: bool; [[If $true, the menu is disabled.]]
65 }
66 }
67 @property cnp_mode {
68 set {
69 [[Control pasting of text and images for the widget.
70
71 Normally the entry allows both text and images to be pasted.
72 By setting cnp_mode to be #ELM_CNP_MODE_NO_IMAGE, this prevents images from being copy or past.
73 By setting cnp_mode to be #ELM_CNP_MODE_PLAINTEXT, this remove all tags in text .
74
75 Note: This only changes the behaviour of text.
76 ]]
77 }
78 get {
79 [[Getting elm_entry text paste/drop mode.
80
81 Normally the entry allows both text and images to be pasted.
82 This gets the copy & paste mode of the entry.
83 ]]
84 }
85 values {
86 cnp_mode: Elm.Cnp_Mode; [[One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP, #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.]]
87 }
88 }
89 @property file_text_format {
90 [[Text format used to load and save the file, which could be plain text or markup text.
91
92 Default is $ELM_TEXT_FORMAT_PLAIN_UTF8, if you want to use
93 $ELM_TEXT_FORMAT_MARKUP_UTF8 then you need to set the text format
94 before calling @Efl.File.load.
95
96 You could also set it before a call to @.file_save
97 in order to save with the given format.
98 ]]
99
100 set {
101 [[Use it before calling @Efl.File.load or @.file_save.]]
102 }
103 values {
104 format: Elm.Text_Format(Elm.Text_Format.plain_utf8); [[ The file format ]]
105 }
106 }
107 @property input_panel_language {
108 set {
109 [[Set the language mode of the input panel.
110
111 This API can be used if you want to show the alphabet keyboard mode.
112 ]]
113 }
114 get {
115 [[Get the language mode of the input panel.]]
116 }
117 values {
118 lang: Elm.Input.Panel.Lang; [[Language to be set to the input panel.]]
119 }
120 }
121 @property selection_handler_disabled {
122 set {
123 [[This disabled the entry's selection handlers.]]
124 }
125 get {
126 [[This returns whether the entry's selection handlers are disabled.]]
127 legacy: null;
128 }
129 values {
130 disabled: bool; [[If $true, the selection handlers are disabled.]]
131 }
132 }
133 @property input_panel_layout_variation {
134 set {
135 [[Set the input panel layout variation of the entry
136
137 @since 1.8
138 ]]
139 }
140 get {
141 [[Get the input panel layout variation of the entry
142
143 @since 1.8
144 ]]
145 }
146 values {
147 variation: int; [[Layout variation type.]]
148 }
149 }
150 @property autocapital_type {
151 set {
152 [[Set the autocapitalization type on the immodule.]]
153 }
154 get {
155 [[Get the autocapitalization type on the immodule.]]
156 }
157 values {
158 autocapital_type: Elm.Autocapital.Type; [[The type of autocapitalization.]]
159 }
160 }
161 @property editable {
162 set {
163 [[Sets if the entry is to be editable or not.
164
165 By default, entries are editable and when focused, any text input by the
166 user will be inserted at the current cursor position. But calling this
167 function with $editable as $false will prevent the user from
168 inputting text into the entry.
169
170 The only way to change the text of a non-editable entry is to use
171 \@ref elm_object_text_set, \@ref elm_entry_entry_insert and other related
172 functions.
173 ]]
174 }
175 get {
176 [[Get whether the entry is editable or not.]]
177 }
178 values {
179 editable: bool; [[If $true, user input will be inserted in the entry,
180 if not, the entry is read-only and no user input is allowed.]]
181 }
182 }
183 @property anchor_hover_style {
184 set {
185 [[Set the style that the hover should use
186
187 When creating the popup hover, entry will request that it's
188 themed according to $style.
189
190 Setting style no $null means disabling automatic hover.
191 ]]
192 }
193 get {
194 [[Get the style that the hover should use.]]
195 }
196 values {
197 style: string @nullable; [[The style to use for the underlying hover.]]
198 }
199 }
200 @property single_line {
201 set {
202 [[Sets the entry to single line mode.
203
204 In single line mode, entries don't ever wrap when the text reaches the
205 edge, and instead they keep growing horizontally. Pressing the $Enter
206 key will generate an $"activate" event instead of adding a new line.
207
208 When $single_line is $false, line wrapping takes effect again
209 and pressing enter will break the text into a different line
210 without generating any events.
211 ]]
212 }
213 get {
214 [[Get whether the entry is set to be single line.]]
215 }
216 values {
217 single_line: bool; [[If $true, the text in the entry
218 will be on a single line.]]
219 }
220 }
221 @property password {
222 set {
223 [[Sets the entry to password mode.
224
225 In password mode, entries are implicitly single line and the display of
226 any text in them is replaced with asterisks (*).
227 ]]
228 }
229 get {
230 [[Get whether the entry is set to password mode.]]
231 }
232 values {
233 password: bool; [[If $true, password mode is enabled.]]
234 }
235 }
236 @property input_panel_return_key_disabled {
237 set {
238 [[Set the return key on the input panel to be disabled.]]
239 }
240 get {
241 [[Get whether the return key on the input panel should be disabled or not.]]
242 }
243 values {
244 disabled: bool; [[The state to put in in: $true for
245 disabled, $false for enabled.]]
246 }
247 }
248 @property autosave {
249 set {
250 [[This sets the entry object to 'autosave' the loaded text file or not.]]
251 }
252 get {
253 [[This gets the entry object's 'autosave' status.]]
254 }
255 values {
256 auto_save: bool; [[Autosave the loaded file or not.]]
257 }
258 }
259 @property anchor_hover_parent {
260 set {
261 [[Set the parent of the hover popup
262
263 Sets the parent object to use by the hover created by the entry
264 when an anchor is clicked.
265 ]]
266 }
267 get {
268 [[Get the parent of the hover popup
269
270 Get the object used as parent for the hover created by the entry
271 widget. If no parent is set, the same entry object will be used.
272 ]]
273 }
274 values {
275 parent: Efl.Canvas.Object @nullable; [[The object to use as parent for the hover.]]
276 }
277 }
278 @property prediction_allow {
279 set {
280 [[Set whether the entry should allow to use the text prediction.]]
281 }
282 get {
283 [[Get whether the entry should allow to use the text prediction.]]
284 }
285 values {
286 prediction: bool; [[Whether the entry should allow to use the text prediction.]]
287 }
288 }
289 @property input_hint {
290 set {
291 [[Sets the input hint which allows input methods to fine-tune their behavior.]]
292 }
293 get {
294 [[Gets the value of input hint.]]
295 }
296 values {
297 hints: Elm.Input.Hints; [[Input hint.]]
298 }
299 }
300 @property input_panel_layout {
301 set {
302 [[Set the input panel layout of the entry.]]
303 }
304 get {
305 [[Get the input panel layout of the entry.]]
306 }
307 values {
308 layout: Elm.Input.Panel.Layout(Elm.Input.Panel.Layout.invalid); [[Layout type.]]
309 }
310 }
311 @property input_panel_return_key_type {
312 set {
313 [[Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
314
315 An input panel displays the string or icon associated with this type.
316
317 Regardless of return key type, "activated" event will be generated when pressing return key in single line entry.
318 ]]
319 }
320 get {
321 [[Get the "return" key type.]]
322 }
323 values {
324 return_key_type: Elm.Input.Panel.Return_Key.Type; [[The type of "return" key on the input panel.]]
325 }
326 }
327 @property input_panel_enabled {
328 set {
329 [[Sets the attribute to show the input panel automatically.]]
330 }
331 get {
332 [[Get the attribute to show the input panel automatically.]]
333 }
334 values {
335 enabled: bool; [[If $true, the input panel is appeared when entry is clicked or has a focus.]]
336 }
337 }
338 @property line_wrap {
339 set {
340 [[Set the line wrap type to use on multi-line entries.
341
342 Sets the wrap type used by the entry to any of the specified in
343 Elm_Wrap_Type. This tells how the text will be implicitly cut into a new
344 line (without inserting a line break or paragraph separator) when it
345 reaches the far edge of the widget.
346
347 Note that this only makes sense for multi-line entries. A widget set
348 to be single line will never wrap.
349 ]]
350 }
351 get {
352 [[Get the wrap mode the entry was set to use.]]
353 }
354 values {
355 wrap: Elm.Wrap.Type; [[The wrap mode to use. See Elm_Wrap_Type for details on them.]]
356 }
357 }
358 @property cursor_pos {
359 set {
360 [[Sets the cursor position in the entry to the given value
361
362 The value in $pos is the index of the character position within the
363 contents of the string as returned by @.cursor_pos.get.
364 ]]
365 }
366 get {
367 [[Get the current position of the cursor in the entry.]]
368 }
369 values {
370 pos: int; [[The position of the cursor.]]
371 }
372 }
373 @property icon_visible {
374 set {
375 [[Sets the visibility of the left-side widget of the entry,
376 set by \@ref elm_object_part_content_set.]]
377 }
378 values {
379 setting: bool; [[$true if the object should be displayed,
380 $false if not.]]
381 }
382 }
383 @property cursor_line_end {
384 set {
385 [[This moves the cursor to the end of the current line.]]
386 }
387 }
388 @property select_region {
389 set {
390 [[This selects a region of text within the entry.
391
392 @since 1.9
393 ]]
394 }
395 get {
396 [[Get the current position of the selection cursors in the entry.
397
398 @since 1.18
399 ]]
400 }
401 values {
402 start: int; [[The starting position.]]
403 end: int; [[The end position.]]
404 }
405 }
406 @property input_panel_return_key_autoenabled {
407 set {
408 [[Set whether the return key on the input panel is disabled automatically when entry has no text.
409
410 If $enabled is $true, The return key on input panel is disabled when the entry has no text.
411 The return key on the input panel is automatically enabled when the entry has text.
412 The default value is $false.
413 ]]
414 }
415 values {
416 enabled: bool; [[If $enabled is $true, the return key is automatically disabled when the entry has no text.]]
417 }
418 }
419 @property end_visible {
420 set {
421 [[Sets the visibility of the end widget of the entry, set by
422 \@ref elm_object_part_content_set(ent, "end", content).]]
423 }
424 values {
425 setting: bool; [[$true if the object should be displayed,
426 false if not.]]
427 }
428 }
429 @property cursor_begin {
430 set {
431 [[This moves the cursor to the beginning of the entry.]]
432 }
433 }
434 @property cursor_line_begin {
435 set {
436 [[This moves the cursor to the beginning of the current line.]]
437 }
438 }
439 @property cursor_end {
440 set {
441 [[This moves the cursor to the end of the entry.]]
442 }
443 }
444 @property textblock {
445 get {
446 [[
447 Returns the actual textblock object of the entry.
448
449 This function exposes the internal textblock object that actually
450 contains and draws the text. This should be used for low-level
451 manipulations that are otherwise not possible.
452
453 Changing the textblock directly from here will not notify edje/elm to
454 recalculate the textblock size automatically, so any modifications
455 done to the textblock returned by this function should be followed by
456 a call to \@ref elm_entry_calc_force.
457
458 The return value is marked as const as an additional warning.
459 One should not use the returned object with any of the generic evas
460 functions (geometry_get/resize/move and etc), but only with the textblock
461 functions; The former will either not work at all, or break the correct
462 functionality.
463
464 IMPORTANT: Many functions may change (i.e delete and create a new one)
465 the internal textblock object. Do NOT cache the returned object, and try
466 not to mix calls on this object with regular elm_entry calls (which may
467 change the internal textblock object). This applies to all cursors
468 returned from textblock calls, and all the other derivative values.
469 ]]
470 return: Efl.Canvas.Object; [[Textblock object]]
471 }
472 }
473 @property textblock_cursor_geometry {
474 get {
475 [[This function returns the geometry of the cursor.
476
477 It's useful if you want to draw something on the cursor (or where it is),
478 or for example in the case of scrolled entry where you want to show the
479 cursor.
480 ]]
481 legacy: elm_entry_cursor_geometry_get;
482 return: bool; [[$true on success, $false otherwise]]
483 }
484 values {
485 x: int; [[X coordinate]]
486 y: int; [[Y coordinate]]
487 w: int; [[Width]]
488 h: int; [[Height]]
489 }
490 }
491 @property imf_context {
492 get {
493 [[Returns the input method context of the entry.
494
495 This function exposes the internal input method context.
496
497 IMPORTANT: Many functions may change (i.e delete and create a new one)
498 the internal input method context. Do NOT cache the returned object.
499 ]]
500 return: void_ptr; [[Input method context]]
501 }
502 }
503 @property cursor_is_format {
504 get {
505 [[Get whether a format node exists at the current cursor position.
506
507 A format node is anything that defines how the text is rendered. It can
508 be a visible format node, such as a line break or a paragraph separator,
509 or an invisible one, such as bold begin or end tag.
510 This function returns whether any format node exists at the current
511 cursor position.
512 ]]
513 return: bool; [[$true if format node exists, $false otherwise]]
514 }
515 }
516 @property textblock_cursor_content {
517 get {
518 [[Get the character pointed by the cursor at its current position.
519
520 This function returns a string with the utf8 character stored at the
521 current cursor position.
522 Only the text is returned, any format that may exist will not be part
523 of the return value. You must free the string when done with \@ref free.
524 ]]
525 legacy: elm_entry_cursor_content_get;
526 return: mstring @owned @warn_unused; [[Character]]
527 }
528 }
529 @property selection {
530 get {
531 [[Get any selected text within the entry.
532
533 If there's any selected text in the entry, this function returns it as
534 a string in markup format. $null is returned if no selection exists or
535 if an error occurred.
536
537 The returned value points to an internal string and should not be freed
538 or modified in any way. If the $entry object is deleted or its
539 contents are changed, the returned pointer should be considered invalid.
540 ]]
541 return: string; [[Selected string]]
542 }
543 }
544 @property cursor_is_visible_format {
545 get {
546 [[Get if the current cursor position holds a visible format node.]]
547 return: bool; [[$true if position has a visible format, $false otherwise]]
548 }
549 }
550 @property select_allow {
551 [[Allow selection in the entry.
552
553 @since 1.18
554 ]]
555 set {
556 }
557 get {
558 }
559 values {
560 allow: bool; [[If $allow is true, the text selection is allowed.]]
561 }
562 }
563 cursor_prev {
564 [[This moves the cursor one place to the left within the entry.]]
565 return: bool; [[$true on success, $false otherwise]]
566 }
567 text_style_user_pop {
568 [[Remove the style in the top of user style stack.
569
570 @since 1.7
571 ]]
572 }
573 item_provider_prepend {
574 [[This prepends a custom item provider to the list for that entry
575
576 This prepends the given callback.]]
577 params {
578 @in func: Elm_Entry_Item_Provider_Cb; [[The function called to provide the item object.]]
579 @in data: void_ptr @optional; [[The data passed to $func.]]
580 }
581 }
582 input_panel_show {
583 [[Show the input panel (virtual keyboard) based on the input panel property of entry such as layout, autocapital types, and so on.
584
585 Note that input panel is shown or hidden automatically according to the focus state of entry widget.
586 This API can be used in the case of manually controlling by using @.input_panel_enabled.set(en, $false).
587 ]]
588 }
589 imf_context_reset {
590 [[Reset the input method context of the entry if needed.
591
592 This can be necessary in the case where modifying the buffer would confuse on-going input method behavior.
593 This will typically cause the Input Method Context to clear the preedit state.
594 ]]
595 }
596 anchor_hover_end {
597 [[Ends the hover popup in the entry
598
599 When an anchor is clicked, the entry widget will create a hover
600 object to use as a popup with user provided content. This function
601 terminates this popup, returning the entry to its normal state.
602 ]]
603 }
604 cursor_selection_begin {
605 [[This begins a selection within the entry as though
606 the user were holding down the mouse button to make a selection.]]
607 }
608 cursor_down {
609 [[This moves the cursor one line down within the entry.]]
610 return: bool; [[$true on success, $false otherwise]]
611 }
612 file_save {
613 [[This function writes any changes made to the file set with
614 \@ref elm_entry_file_set.]]
615 }
616 selection_copy {
617 [[This executes a "copy" action on the selected text in the entry.]]
618 }
619 text_style_user_push {
620 [[Push the style to the top of user style stack.
621 If there is styles in the user style stack, the properties in the top style
622 of user style stack will replace the properties in current theme.
623 The input style is specified in format tag='property=value' (i.e. DEFAULT='font=Sans font_size=60'hilight=' + font_weight=Bold').
624
625 @since 1.7
626 ]]
627 params {
628 @in style: string; [[The style user to push.]]
629 }
630 }
631 item_provider_remove {
632 [[This removes a custom item provider to the list for that entry
633
634 This removes the given callback. See @.item_provider_append for
635 more information
636 ]]
637 params {
638 @in func: Elm_Entry_Item_Provider_Cb; [[The function called to provide the item object.]]
639 @in data: void_ptr @optional; [[The data passed to $func.]]
640 }
641 }
642 text_style_user_peek @const {
643 [[Get the style on the top of user style stack.
644
645 See also @.text_style_user_push.
646
647 @since 1.7
648 ]]
649 return: string; [[Style]]
650 }
651 context_menu_clear {
652 [[This clears and frees the items in a entry's contextual (longpress)
653 menu.
654
655 See also @.context_menu_item_add.
656 ]]
657 }
658 cursor_up {
659 [[This moves the cursor one line up within the entry.]]
660 return: bool; [[$true on success, $false otherwise]]
661 }
662 entry_insert {
663 [[Inserts the given text into the entry at the current cursor position.
664
665 This inserts text at the cursor position as if it was typed
666 by the user (note that this also allows markup which a user
667 can't just "type" as it would be converted to escaped text, so this
668 call can be used to insert things like emoticon items or bold push/pop
669 tags, other font and color change tags etc.)
670
671 If any selection exists, it will be replaced by the inserted text.
672
673 The inserted text is subject to any filters set for the widget.
674
675 See also @.markup_filter_append.
676 ]]
677 params {
678 @in entry: string; [[The text to insert.]]
679 }
680 }
681 input_panel_imdata_set {
682 [[Set the input panel-specific data to deliver to the input panel.
683
684 This API is used by applications to deliver specific data to the input panel.
685 The data format MUST be negotiated by both application and the input panel.
686 The size and format of data are defined by the input panel.
687 ]]
688 params {
689 @in data: const(void_ptr); [[The specific data to be set to the input panel.]]
690 @in len: int; [[The length of data, in bytes, to send to the input panel.]]
691 }
692 }
693 input_panel_imdata_get @const {
694 [[Get the specific data of the current input panel.]]
695 params {
696 @out data: void; [[The specific data to be got from the input panel.]]
697 @out len: int; [[The length of data.]]
698 }
699 }
700 selection_paste {
701 [[This executes a "paste" action in the entry.]]
702 }
703 cursor_next {
704 [[This moves the cursor one place to the right within the entry.]]
705 return: bool; [[$true on success, $false otherwise]]
706 }
707 select_none {
708 [[This drops any existing text selection within the entry.]]
709 }
710 input_panel_hide {
711 [[Hide the input panel (virtual keyboard).
712
713 Note that input panel is shown or hidden automatically according to the focus state of entry widget.
714 This API can be used in the case of manually controlling by using @.input_panel_enabled.set(en, $false)
715 ]]
716 }
717 select_all {
718 [[This selects all text within the entry.]]
719 }
720 cursor_selection_end {
721 [[This ends a selection within the entry as though
722 the user had just released the mouse button while making a selection.]]
723 }
724 selection_cut {
725 [[This executes a "cut" action on the selected text in the entry.]]
726 }
727 is_empty @const {
728 [[Get whether the entry is empty.
729
730 Empty means no text at all. If there are any markup tags, like an item
731 tag for which no provider finds anything, and no text is displayed, this
732 function still returns $false.
733 ]]
734 return: bool(true); [[$true if empty, $false otherwise]]
735 }
736 markup_filter_remove {
737 [[Remove a markup filter from the list
738
739 Removes the given callback from the filter list. See
740 @.markup_filter_append for more information.
741 ]]
742 params {
743 @in func: Elm_Entry_Filter_Cb; [[The filter function to remove.]]
744 @in data: void_ptr @optional; [[The user data passed when adding the function.]]
745 }
746 }
747 item_provider_append {
748 [[This appends a custom item provider to the list for that entry
749
750 This appends the given callback. The list is walked from beginning to end
751 with each function called given the item href string in the text. If the
752 function returns an object handle other than $null (it should create an
753 object to do this), then this object is used to replace that item. If
754 not the next provider is called until one provides an item object, or the
755 default provider in entry does.
756
757 See also \@ref entry-items.
758 ]]
759 params {
760 @in func: Elm_Entry_Item_Provider_Cb; [[The function called to provide the item object.]]
761 @in data: void_ptr @optional; [[The data passed to $func.]]
762 }
763 }
764 markup_filter_append {
765 [[Append a markup filter function for text inserted in the entry
766
767 Append the given callback to the list. This functions will be called
768 whenever any text is inserted into the entry, with the text to be inserted
769 as a parameter. The type of given text is always markup.
770 The callback function is free to alter the text in any way it wants, but
771 it must remember to free the given pointer and update it.
772 If the new text is to be discarded, the function can free it and set its
773 text parameter to $null. This will also prevent any following filters from
774 being called.
775 ]]
776 params {
777 @in func: Elm_Entry_Filter_Cb; [[The function to use as text filter.]]
778 @in data: void_ptr @optional; [[User data to pass to $func.]]
779 }
780 }
781 entry_append {
782 [[Appends $str to the text of the entry.
783
784 Adds the text in $str to the end of any text already present in the
785 widget.
786
787 The appended text is subject to any filters set for the widget.
788
789 See also @.markup_filter_append.
790 ]]
791 params {
792 @in str: string; [[The text to be appended.]]
793 }
794 }
795 context_menu_item_add {
796 [[This adds an item to the entry's contextual menu.
797
798 A longpress on an entry will make the contextual menu show up, if this
799 hasn't been disabled with @.context_menu_disabled.set.
800 By default, this menu provides a few options like enabling selection mode,
801 which is useful on embedded devices that need to be explicit about it,
802 and when a selection exists it also shows the copy and cut actions.
803
804 With this function, developers can add other options to this menu to
805 perform any action they deem necessary.
806 ]]
807 params {
808 @in label: string @optional; [[The item's text label.]]
809 @in icon_file: string @optional; [[The item's icon file.]]
810 @in icon_type: Elm.Icon.Type; [[The item's icon type.]]
811 @in func: Evas_Smart_Cb @optional; [[The callback to execute when the item is clicked.]]
812 @in data: const(void_ptr) @optional; [[The data to associate with the item for related functions.]]
813 }
814 }
815 markup_filter_prepend {
816 [[Prepend a markup filter function for text inserted in the entry
817
818 Prepend the given callback to the list.]]
819 params {
820 @in func: Elm_Entry_Filter_Cb; [[The function to use as text filter.]]
821 @in data: void_ptr @optional; [[User data to pass to $func.]]
822 }
823 }
824 prediction_hint_set {
825 [[Sets the prediction hint to use an intelligent reply suggestion service.
826
827 @since 1.20
828 ]]
829 params {
830 prediction_hint: string; [[The prediction hint text.]]
831 }
832 }
833 prediction_hint_hash_set {
834 [[Sets the prediction hint data at the specified key.
835
836 @since 1.21
837 ]]
838 return: bool; [[$true on success, $false otherwise]]
839 params {
840 key: string; [[The key of the prediction hint.]]
841 value: string; [[The data to replace.]]
842 }
843 }
844 prediction_hint_hash_del {
845 [[Removes the prediction hint data identified by a key.
846
847 @since 1.21
848 ]]
849 return: bool; [[$true on success, $false otherwise]]
850 params {
851 key: string; [[The key of the prediction hint.]]
852 }
853 }
854 }
855 implements {
856 class.constructor;
857 Efl.Object.constructor;
858 Efl.Gfx.Entity.visible { set; }
859 Efl.Gfx.Entity.position { set; }
860 Efl.Gfx.Entity.size { set; }
861 Efl.Canvas.Group.group_member_add;
862 Efl.Layout.Signal.signal_callback_add;
863 Efl.Layout.Signal.signal_callback_del;
864 Efl.Layout.Signal.signal_emit;
865 Efl.Layout.Calc.calc_force;
866 Efl.Ui.Widget.on_access_activate;
867 Efl.Ui.Widget.theme_apply;
868 Efl.Ui.Widget_Focus_Manager.focus_manager_create;
869 Efl.Ui.Focus.Object.on_focus_update;
870 Efl.Ui.Widget.interest_region { get; }
871 Efl.Ui.Widget.disabled {set;}
872 Efl.Ui.Widget.widget_sub_object_del;
873 Elm.Interface_Scrollable.policy { set; }
874 Elm.Interface_Scrollable.bounce_allow { set; }
875 Efl.Access.Object.state_set { get; }
876 Efl.Access.Object.i18n_name { get; }
877 Efl.Access.Text.access_text { get; }
878 Efl.Access.Text.string { get; }
879 Efl.Access.Text.attribute { get; }
880 Efl.Access.Text.text_attributes { get; }
881 Efl.Access.Text.default_attributes { get; }
882 Efl.Access.Text.caret_offset { get; set; }
883 Efl.Access.Text.character { get; }
884 Efl.Access.Text.character_extents { get; }
885 Efl.Access.Text.character_count { get; }
886 Efl.Access.Text.offset_at_point { get; }
887 Efl.Access.Text.bounded_ranges { get; }
888 Efl.Access.Text.range_extents { get; }
889 Efl.Access.Text.access_selection { get; set; }
890 Efl.Access.Text.selections_count { get; }
891 Efl.Access.Text.selection_add;
892 Efl.Access.Text.selection_remove;
893 Efl.Access.Editable.Text.text_content { set; }
894 Efl.Access.Editable.Text.insert;
895 Efl.Access.Editable.Text.copy;
896 Efl.Access.Editable.Text.cut;
897 Efl.Access.Editable.Text.delete;
898 Efl.Access.Editable.Text.paste;
899 Efl.Access.Widget.Action.elm_actions { get; }
900 Efl.File.file { set; }
901 Efl.File.load;
902 Efl.Part.part_get;
903 }
904 events {
905 activated: void; [[Called when entry got activated]]
906 changed: void; [[Called when entry changed]]
907 /* FIXME: Canm be NULL but @nullable does not work on events */
908 changed,user: Elm.Entry_Change_Info; [[Called when the object changed due to user interaction]]
909 validate: Elm.Validate_Content; [[Called when validating]]
910 context,open: void; [[Called when context menu was opened]]
911 anchor,clicked: Elm.Entry_Anchor_Info; [[Called when anchor was clicked]]
912 rejected: void; [[Called when entry was rejected]]
913 maxlength,reached: void; [[Called when maximum entry length has been reached]]
914 preedit,changed: void; [[Called when entry preedit changed]]
915 press: void; [[Called when entry pressed]]
916 redo,request: void; [[Called when redo was requested]]
917 undo,request: void; [[Called when undo was requested]]
918 text,set,done: void; [[Called when text set finished]]
919 aborted: void; [[Called when entry was aborted]]
920 anchor,down: Elm.Entry_Anchor_Info; [[Called on anchor down]]
921 anchor,hover,opened: Elm.Entry_Anchor_Hover_Info; [[Called when hover opened]]
922 anchor,in: Elm.Entry_Anchor_Info; [[Called on anchor in]]
923 anchor,out: Elm.Entry_Anchor_Info; [[Called on anchor out]]
924 anchor,up: Elm.Entry_Anchor_Info; [[called on anchor up]]
925 cursor,changed: void; [[Called on cursor changed]]
926 cursor,changed,manual: void; [[Called on manual cursor change]]
927 }
928}
diff --git a/src/lib/elementary/elm_entry_eo.c b/src/lib/elementary/elm_entry_eo.c
new file mode 100644
index 0000000..6df71f9
--- /dev/null
+++ b/src/lib/elementary/elm_entry_eo.c
@@ -0,0 +1,1190 @@
1EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ACTIVATED =
2 EFL_EVENT_DESCRIPTION("activated");
3EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED =
4 EFL_EVENT_DESCRIPTION("changed");
5EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED_USER =
6 EFL_EVENT_DESCRIPTION("changed,user");
7EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_VALIDATE =
8 EFL_EVENT_DESCRIPTION("validate");
9EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_CONTEXT_OPEN =
10 EFL_EVENT_DESCRIPTION("context,open");
11EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_CLICKED =
12 EFL_EVENT_DESCRIPTION("anchor,clicked");
13EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_REJECTED =
14 EFL_EVENT_DESCRIPTION("rejected");
15EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_MAXLENGTH_REACHED =
16 EFL_EVENT_DESCRIPTION("maxlength,reached");
17EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_PREEDIT_CHANGED =
18 EFL_EVENT_DESCRIPTION("preedit,changed");
19EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_PRESS =
20 EFL_EVENT_DESCRIPTION("press");
21EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_REDO_REQUEST =
22 EFL_EVENT_DESCRIPTION("redo,request");
23EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_UNDO_REQUEST =
24 EFL_EVENT_DESCRIPTION("undo,request");
25EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_TEXT_SET_DONE =
26 EFL_EVENT_DESCRIPTION("text,set,done");
27EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ABORTED =
28 EFL_EVENT_DESCRIPTION("aborted");
29EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_DOWN =
30 EFL_EVENT_DESCRIPTION("anchor,down");
31EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_HOVER_OPENED =
32 EFL_EVENT_DESCRIPTION("anchor,hover,opened");
33EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_IN =
34 EFL_EVENT_DESCRIPTION("anchor,in");
35EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_OUT =
36 EFL_EVENT_DESCRIPTION("anchor,out");
37EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_UP =
38 EFL_EVENT_DESCRIPTION("anchor,up");
39EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_CURSOR_CHANGED =
40 EFL_EVENT_DESCRIPTION("cursor,changed");
41EWAPI const Efl_Event_Description _ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL =
42 EFL_EVENT_DESCRIPTION("cursor,changed,manual");
43
44void _elm_entry_scrollable_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool scroll);
45
46
47static Eina_Error
48__eolian_elm_entry_scrollable_set_reflect(Eo *obj, Eina_Value val)
49{
50 Eina_Error r = 0; Eina_Bool cval;
51 if (!eina_value_bool_convert(&val, &cval))
52 {
53 r = EINA_ERROR_VALUE_FAILED;
54 goto end;
55 }
56 elm_obj_entry_scrollable_set(obj, cval);
57 end:
58 eina_value_flush(&val);
59 return r;
60}
61
62EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_scrollable_set, EFL_FUNC_CALL(scroll), Eina_Bool scroll);
63
64Eina_Bool _elm_entry_scrollable_get(const Eo *obj, Elm_Entry_Data *pd);
65
66
67static Eina_Value
68__eolian_elm_entry_scrollable_get_reflect(Eo *obj)
69{
70 Eina_Bool val = elm_obj_entry_scrollable_get(obj);
71 return eina_value_bool_init(val);
72}
73
74EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_scrollable_get, Eina_Bool, 0);
75
76void _elm_entry_input_panel_show_on_demand_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool ondemand);
77
78
79static Eina_Error
80__eolian_elm_entry_input_panel_show_on_demand_set_reflect(Eo *obj, Eina_Value val)
81{
82 Eina_Error r = 0; Eina_Bool cval;
83 if (!eina_value_bool_convert(&val, &cval))
84 {
85 r = EINA_ERROR_VALUE_FAILED;
86 goto end;
87 }
88 elm_obj_entry_input_panel_show_on_demand_set(obj, cval);
89 end:
90 eina_value_flush(&val);
91 return r;
92}
93
94EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_show_on_demand_set, EFL_FUNC_CALL(ondemand), Eina_Bool ondemand);
95
96Eina_Bool _elm_entry_input_panel_show_on_demand_get(const Eo *obj, Elm_Entry_Data *pd);
97
98
99static Eina_Value
100__eolian_elm_entry_input_panel_show_on_demand_get_reflect(Eo *obj)
101{
102 Eina_Bool val = elm_obj_entry_input_panel_show_on_demand_get(obj);
103 return eina_value_bool_init(val);
104}
105
106EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_show_on_demand_get, Eina_Bool, 0);
107
108void _elm_entry_context_menu_disabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool disabled);
109
110
111static Eina_Error
112__eolian_elm_entry_context_menu_disabled_set_reflect(Eo *obj, Eina_Value val)
113{
114 Eina_Error r = 0; Eina_Bool cval;
115 if (!eina_value_bool_convert(&val, &cval))
116 {
117 r = EINA_ERROR_VALUE_FAILED;
118 goto end;
119 }
120 elm_obj_entry_context_menu_disabled_set(obj, cval);
121 end:
122 eina_value_flush(&val);
123 return r;
124}
125
126EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_context_menu_disabled_set, EFL_FUNC_CALL(disabled), Eina_Bool disabled);
127
128Eina_Bool _elm_entry_context_menu_disabled_get(const Eo *obj, Elm_Entry_Data *pd);
129
130
131static Eina_Value
132__eolian_elm_entry_context_menu_disabled_get_reflect(Eo *obj)
133{
134 Eina_Bool val = elm_obj_entry_context_menu_disabled_get(obj);
135 return eina_value_bool_init(val);
136}
137
138EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_context_menu_disabled_get, Eina_Bool, 0);
139
140void _elm_entry_cnp_mode_set(Eo *obj, Elm_Entry_Data *pd, Elm_Cnp_Mode cnp_mode);
141
142EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_cnp_mode_set, EFL_FUNC_CALL(cnp_mode), Elm_Cnp_Mode cnp_mode);
143
144Elm_Cnp_Mode _elm_entry_cnp_mode_get(const Eo *obj, Elm_Entry_Data *pd);
145
146EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_cnp_mode_get, Elm_Cnp_Mode, 0);
147
148void _elm_entry_file_text_format_set(Eo *obj, Elm_Entry_Data *pd, Elm_Text_Format format);
149
150EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_file_text_format_set, EFL_FUNC_CALL(format), Elm_Text_Format format);
151
152void _elm_entry_input_panel_language_set(Eo *obj, Elm_Entry_Data *pd, Elm_Input_Panel_Lang lang);
153
154EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_language_set, EFL_FUNC_CALL(lang), Elm_Input_Panel_Lang lang);
155
156Elm_Input_Panel_Lang _elm_entry_input_panel_language_get(const Eo *obj, Elm_Entry_Data *pd);
157
158EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_language_get, Elm_Input_Panel_Lang, 0);
159
160void _elm_entry_selection_handler_disabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool disabled);
161
162
163static Eina_Error
164__eolian_elm_entry_selection_handler_disabled_set_reflect(Eo *obj, Eina_Value val)
165{
166 Eina_Error r = 0; Eina_Bool cval;
167 if (!eina_value_bool_convert(&val, &cval))
168 {
169 r = EINA_ERROR_VALUE_FAILED;
170 goto end;
171 }
172 elm_obj_entry_selection_handler_disabled_set(obj, cval);
173 end:
174 eina_value_flush(&val);
175 return r;
176}
177
178EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_selection_handler_disabled_set, EFL_FUNC_CALL(disabled), Eina_Bool disabled);
179
180Eina_Bool _elm_entry_selection_handler_disabled_get(const Eo *obj, Elm_Entry_Data *pd);
181
182
183static Eina_Value
184__eolian_elm_entry_selection_handler_disabled_get_reflect(Eo *obj)
185{
186 Eina_Bool val = elm_obj_entry_selection_handler_disabled_get(obj);
187 return eina_value_bool_init(val);
188}
189
190EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_selection_handler_disabled_get, Eina_Bool, 0);
191
192void _elm_entry_input_panel_layout_variation_set(Eo *obj, Elm_Entry_Data *pd, int variation);
193
194
195static Eina_Error
196__eolian_elm_entry_input_panel_layout_variation_set_reflect(Eo *obj, Eina_Value val)
197{
198 Eina_Error r = 0; int cval;
199 if (!eina_value_int_convert(&val, &cval))
200 {
201 r = EINA_ERROR_VALUE_FAILED;
202 goto end;
203 }
204 elm_obj_entry_input_panel_layout_variation_set(obj, cval);
205 end:
206 eina_value_flush(&val);
207 return r;
208}
209
210EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_layout_variation_set, EFL_FUNC_CALL(variation), int variation);
211
212int _elm_entry_input_panel_layout_variation_get(const Eo *obj, Elm_Entry_Data *pd);
213
214
215static Eina_Value
216__eolian_elm_entry_input_panel_layout_variation_get_reflect(Eo *obj)
217{
218 int val = elm_obj_entry_input_panel_layout_variation_get(obj);
219 return eina_value_int_init(val);
220}
221
222EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_layout_variation_get, int, 0);
223
224void _elm_entry_autocapital_type_set(Eo *obj, Elm_Entry_Data *pd, Elm_Autocapital_Type autocapital_type);
225
226EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_autocapital_type_set, EFL_FUNC_CALL(autocapital_type), Elm_Autocapital_Type autocapital_type);
227
228Elm_Autocapital_Type _elm_entry_autocapital_type_get(const Eo *obj, Elm_Entry_Data *pd);
229
230EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_autocapital_type_get, Elm_Autocapital_Type, 0);
231
232void _elm_entry_editable_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool editable);
233
234
235static Eina_Error
236__eolian_elm_entry_editable_set_reflect(Eo *obj, Eina_Value val)
237{
238 Eina_Error r = 0; Eina_Bool cval;
239 if (!eina_value_bool_convert(&val, &cval))
240 {
241 r = EINA_ERROR_VALUE_FAILED;
242 goto end;
243 }
244 elm_obj_entry_editable_set(obj, cval);
245 end:
246 eina_value_flush(&val);
247 return r;
248}
249
250EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_editable_set, EFL_FUNC_CALL(editable), Eina_Bool editable);
251
252Eina_Bool _elm_entry_editable_get(const Eo *obj, Elm_Entry_Data *pd);
253
254
255static Eina_Value
256__eolian_elm_entry_editable_get_reflect(Eo *obj)
257{
258 Eina_Bool val = elm_obj_entry_editable_get(obj);
259 return eina_value_bool_init(val);
260}
261
262EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_editable_get, Eina_Bool, 0);
263
264void _elm_entry_anchor_hover_style_set(Eo *obj, Elm_Entry_Data *pd, const char *style);
265
266
267static Eina_Error
268__eolian_elm_entry_anchor_hover_style_set_reflect(Eo *obj, Eina_Value val)
269{
270 Eina_Error r = 0; const char *cval;
271 if (!eina_value_string_convert(&val, &cval))
272 {
273 r = EINA_ERROR_VALUE_FAILED;
274 goto end;
275 }
276 elm_obj_entry_anchor_hover_style_set(obj, cval);
277 end:
278 eina_value_flush(&val);
279 return r;
280}
281
282EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_anchor_hover_style_set, EFL_FUNC_CALL(style), const char *style);
283
284const char *_elm_entry_anchor_hover_style_get(const Eo *obj, Elm_Entry_Data *pd);
285
286
287static Eina_Value
288__eolian_elm_entry_anchor_hover_style_get_reflect(Eo *obj)
289{
290 const char *val = elm_obj_entry_anchor_hover_style_get(obj);
291 return eina_value_string_init(val);
292}
293
294EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_anchor_hover_style_get, const char *, NULL);
295
296void _elm_entry_single_line_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool single_line);
297
298
299static Eina_Error
300__eolian_elm_entry_single_line_set_reflect(Eo *obj, Eina_Value val)
301{
302 Eina_Error r = 0; Eina_Bool cval;
303 if (!eina_value_bool_convert(&val, &cval))
304 {
305 r = EINA_ERROR_VALUE_FAILED;
306 goto end;
307 }
308 elm_obj_entry_single_line_set(obj, cval);
309 end:
310 eina_value_flush(&val);
311 return r;
312}
313
314EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_single_line_set, EFL_FUNC_CALL(single_line), Eina_Bool single_line);
315
316Eina_Bool _elm_entry_single_line_get(const Eo *obj, Elm_Entry_Data *pd);
317
318
319static Eina_Value
320__eolian_elm_entry_single_line_get_reflect(Eo *obj)
321{
322 Eina_Bool val = elm_obj_entry_single_line_get(obj);
323 return eina_value_bool_init(val);
324}
325
326EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_single_line_get, Eina_Bool, 0);
327
328void _elm_entry_password_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool password);
329
330
331static Eina_Error
332__eolian_elm_entry_password_set_reflect(Eo *obj, Eina_Value val)
333{
334 Eina_Error r = 0; Eina_Bool cval;
335 if (!eina_value_bool_convert(&val, &cval))
336 {
337 r = EINA_ERROR_VALUE_FAILED;
338 goto end;
339 }
340 elm_obj_entry_password_set(obj, cval);
341 end:
342 eina_value_flush(&val);
343 return r;
344}
345
346EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_password_set, EFL_FUNC_CALL(password), Eina_Bool password);
347
348Eina_Bool _elm_entry_password_get(const Eo *obj, Elm_Entry_Data *pd);
349
350
351static Eina_Value
352__eolian_elm_entry_password_get_reflect(Eo *obj)
353{
354 Eina_Bool val = elm_obj_entry_password_get(obj);
355 return eina_value_bool_init(val);
356}
357
358EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_password_get, Eina_Bool, 0);
359
360void _elm_entry_input_panel_return_key_disabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool disabled);
361
362
363static Eina_Error
364__eolian_elm_entry_input_panel_return_key_disabled_set_reflect(Eo *obj, Eina_Value val)
365{
366 Eina_Error r = 0; Eina_Bool cval;
367 if (!eina_value_bool_convert(&val, &cval))
368 {
369 r = EINA_ERROR_VALUE_FAILED;
370 goto end;
371 }
372 elm_obj_entry_input_panel_return_key_disabled_set(obj, cval);
373 end:
374 eina_value_flush(&val);
375 return r;
376}
377
378EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_return_key_disabled_set, EFL_FUNC_CALL(disabled), Eina_Bool disabled);
379
380Eina_Bool _elm_entry_input_panel_return_key_disabled_get(const Eo *obj, Elm_Entry_Data *pd);
381
382
383static Eina_Value
384__eolian_elm_entry_input_panel_return_key_disabled_get_reflect(Eo *obj)
385{
386 Eina_Bool val = elm_obj_entry_input_panel_return_key_disabled_get(obj);
387 return eina_value_bool_init(val);
388}
389
390EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_return_key_disabled_get, Eina_Bool, 0);
391
392void _elm_entry_autosave_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool auto_save);
393
394
395static Eina_Error
396__eolian_elm_entry_autosave_set_reflect(Eo *obj, Eina_Value val)
397{
398 Eina_Error r = 0; Eina_Bool cval;
399 if (!eina_value_bool_convert(&val, &cval))
400 {
401 r = EINA_ERROR_VALUE_FAILED;
402 goto end;
403 }
404 elm_obj_entry_autosave_set(obj, cval);
405 end:
406 eina_value_flush(&val);
407 return r;
408}
409
410EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_autosave_set, EFL_FUNC_CALL(auto_save), Eina_Bool auto_save);
411
412Eina_Bool _elm_entry_autosave_get(const Eo *obj, Elm_Entry_Data *pd);
413
414
415static Eina_Value
416__eolian_elm_entry_autosave_get_reflect(Eo *obj)
417{
418 Eina_Bool val = elm_obj_entry_autosave_get(obj);
419 return eina_value_bool_init(val);
420}
421
422EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_autosave_get, Eina_Bool, 0);
423
424void _elm_entry_anchor_hover_parent_set(Eo *obj, Elm_Entry_Data *pd, Efl_Canvas_Object *parent);
425
426EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_anchor_hover_parent_set, EFL_FUNC_CALL(parent), Efl_Canvas_Object *parent);
427
428Efl_Canvas_Object *_elm_entry_anchor_hover_parent_get(const Eo *obj, Elm_Entry_Data *pd);
429
430EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_anchor_hover_parent_get, Efl_Canvas_Object *, NULL);
431
432void _elm_entry_prediction_allow_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool prediction);
433
434
435static Eina_Error
436__eolian_elm_entry_prediction_allow_set_reflect(Eo *obj, Eina_Value val)
437{
438 Eina_Error r = 0; Eina_Bool cval;
439 if (!eina_value_bool_convert(&val, &cval))
440 {
441 r = EINA_ERROR_VALUE_FAILED;
442 goto end;
443 }
444 elm_obj_entry_prediction_allow_set(obj, cval);
445 end:
446 eina_value_flush(&val);
447 return r;
448}
449
450EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_prediction_allow_set, EFL_FUNC_CALL(prediction), Eina_Bool prediction);
451
452Eina_Bool _elm_entry_prediction_allow_get(const Eo *obj, Elm_Entry_Data *pd);
453
454
455static Eina_Value
456__eolian_elm_entry_prediction_allow_get_reflect(Eo *obj)
457{
458 Eina_Bool val = elm_obj_entry_prediction_allow_get(obj);
459 return eina_value_bool_init(val);
460}
461
462EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_prediction_allow_get, Eina_Bool, 0);
463
464void _elm_entry_input_hint_set(Eo *obj, Elm_Entry_Data *pd, Elm_Input_Hints hints);
465
466EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_hint_set, EFL_FUNC_CALL(hints), Elm_Input_Hints hints);
467
468Elm_Input_Hints _elm_entry_input_hint_get(const Eo *obj, Elm_Entry_Data *pd);
469
470EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_hint_get, Elm_Input_Hints, 0);
471
472void _elm_entry_input_panel_layout_set(Eo *obj, Elm_Entry_Data *pd, Elm_Input_Panel_Layout layout);
473
474EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_layout_set, EFL_FUNC_CALL(layout), Elm_Input_Panel_Layout layout);
475
476Elm_Input_Panel_Layout _elm_entry_input_panel_layout_get(const Eo *obj, Elm_Entry_Data *pd);
477
478EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_layout_get, Elm_Input_Panel_Layout, 8 /* Elm.Input.Panel.Layout.invalid */);
479
480void _elm_entry_input_panel_return_key_type_set(Eo *obj, Elm_Entry_Data *pd, Elm_Input_Panel_Return_Key_Type return_key_type);
481
482EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_return_key_type_set, EFL_FUNC_CALL(return_key_type), Elm_Input_Panel_Return_Key_Type return_key_type);
483
484Elm_Input_Panel_Return_Key_Type _elm_entry_input_panel_return_key_type_get(const Eo *obj, Elm_Entry_Data *pd);
485
486EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_return_key_type_get, Elm_Input_Panel_Return_Key_Type, 0);
487
488void _elm_entry_input_panel_enabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool enabled);
489
490
491static Eina_Error
492__eolian_elm_entry_input_panel_enabled_set_reflect(Eo *obj, Eina_Value val)
493{
494 Eina_Error r = 0; Eina_Bool cval;
495 if (!eina_value_bool_convert(&val, &cval))
496 {
497 r = EINA_ERROR_VALUE_FAILED;
498 goto end;
499 }
500 elm_obj_entry_input_panel_enabled_set(obj, cval);
501 end:
502 eina_value_flush(&val);
503 return r;
504}
505
506EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_enabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
507
508Eina_Bool _elm_entry_input_panel_enabled_get(const Eo *obj, Elm_Entry_Data *pd);
509
510
511static Eina_Value
512__eolian_elm_entry_input_panel_enabled_get_reflect(Eo *obj)
513{
514 Eina_Bool val = elm_obj_entry_input_panel_enabled_get(obj);
515 return eina_value_bool_init(val);
516}
517
518EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_input_panel_enabled_get, Eina_Bool, 0);
519
520void _elm_entry_line_wrap_set(Eo *obj, Elm_Entry_Data *pd, Elm_Wrap_Type wrap);
521
522EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_line_wrap_set, EFL_FUNC_CALL(wrap), Elm_Wrap_Type wrap);
523
524Elm_Wrap_Type _elm_entry_line_wrap_get(const Eo *obj, Elm_Entry_Data *pd);
525
526EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_line_wrap_get, Elm_Wrap_Type, 0);
527
528void _elm_entry_cursor_pos_set(Eo *obj, Elm_Entry_Data *pd, int pos);
529
530
531static Eina_Error
532__eolian_elm_entry_cursor_pos_set_reflect(Eo *obj, Eina_Value val)
533{
534 Eina_Error r = 0; int cval;
535 if (!eina_value_int_convert(&val, &cval))
536 {
537 r = EINA_ERROR_VALUE_FAILED;
538 goto end;
539 }
540 elm_obj_entry_cursor_pos_set(obj, cval);
541 end:
542 eina_value_flush(&val);
543 return r;
544}
545
546EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_cursor_pos_set, EFL_FUNC_CALL(pos), int pos);
547
548int _elm_entry_cursor_pos_get(const Eo *obj, Elm_Entry_Data *pd);
549
550
551static Eina_Value
552__eolian_elm_entry_cursor_pos_get_reflect(Eo *obj)
553{
554 int val = elm_obj_entry_cursor_pos_get(obj);
555 return eina_value_int_init(val);
556}
557
558EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_cursor_pos_get, int, 0);
559
560void _elm_entry_icon_visible_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool setting);
561
562
563static Eina_Error
564__eolian_elm_entry_icon_visible_set_reflect(Eo *obj, Eina_Value val)
565{
566 Eina_Error r = 0; Eina_Bool cval;
567 if (!eina_value_bool_convert(&val, &cval))
568 {
569 r = EINA_ERROR_VALUE_FAILED;
570 goto end;
571 }
572 elm_obj_entry_icon_visible_set(obj, cval);
573 end:
574 eina_value_flush(&val);
575 return r;
576}
577
578EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_icon_visible_set, EFL_FUNC_CALL(setting), Eina_Bool setting);
579
580void _elm_entry_cursor_line_end_set(Eo *obj, Elm_Entry_Data *pd);
581
582EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_line_end_set);
583
584void _elm_entry_select_region_set(Eo *obj, Elm_Entry_Data *pd, int start, int end);
585
586EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_select_region_set, EFL_FUNC_CALL(start, end), int start, int end);
587
588void _elm_entry_select_region_get(const Eo *obj, Elm_Entry_Data *pd, int *start, int *end);
589
590EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_entry_select_region_get, EFL_FUNC_CALL(start, end), int *start, int *end);
591
592void _elm_entry_input_panel_return_key_autoenabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool enabled);
593
594
595static Eina_Error
596__eolian_elm_entry_input_panel_return_key_autoenabled_set_reflect(Eo *obj, Eina_Value val)
597{
598 Eina_Error r = 0; Eina_Bool cval;
599 if (!eina_value_bool_convert(&val, &cval))
600 {
601 r = EINA_ERROR_VALUE_FAILED;
602 goto end;
603 }
604 elm_obj_entry_input_panel_return_key_autoenabled_set(obj, cval);
605 end:
606 eina_value_flush(&val);
607 return r;
608}
609
610EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_return_key_autoenabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
611
612void _elm_entry_end_visible_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool setting);
613
614
615static Eina_Error
616__eolian_elm_entry_end_visible_set_reflect(Eo *obj, Eina_Value val)
617{
618 Eina_Error r = 0; Eina_Bool cval;
619 if (!eina_value_bool_convert(&val, &cval))
620 {
621 r = EINA_ERROR_VALUE_FAILED;
622 goto end;
623 }
624 elm_obj_entry_end_visible_set(obj, cval);
625 end:
626 eina_value_flush(&val);
627 return r;
628}
629
630EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_end_visible_set, EFL_FUNC_CALL(setting), Eina_Bool setting);
631
632void _elm_entry_cursor_begin_set(Eo *obj, Elm_Entry_Data *pd);
633
634EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_begin_set);
635
636void _elm_entry_cursor_line_begin_set(Eo *obj, Elm_Entry_Data *pd);
637
638EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_line_begin_set);
639
640void _elm_entry_cursor_end_set(Eo *obj, Elm_Entry_Data *pd);
641
642EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_end_set);
643
644Efl_Canvas_Object *_elm_entry_textblock_get(const Eo *obj, Elm_Entry_Data *pd);
645
646EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_textblock_get, Efl_Canvas_Object *, NULL);
647
648Eina_Bool _elm_entry_textblock_cursor_geometry_get(const Eo *obj, Elm_Entry_Data *pd, int *x, int *y, int *w, int *h);
649
650EOAPI EFL_FUNC_BODYV_CONST(elm_obj_entry_textblock_cursor_geometry_get, Eina_Bool, 0, EFL_FUNC_CALL(x, y, w, h), int *x, int *y, int *w, int *h);
651
652void *_elm_entry_imf_context_get(const Eo *obj, Elm_Entry_Data *pd);
653
654EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_imf_context_get, void *, NULL);
655
656Eina_Bool _elm_entry_cursor_is_format_get(const Eo *obj, Elm_Entry_Data *pd);
657
658EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_cursor_is_format_get, Eina_Bool, 0);
659
660char *_elm_entry_textblock_cursor_content_get(const Eo *obj, Elm_Entry_Data *pd);
661
662EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_textblock_cursor_content_get, char *, NULL);
663
664const char *_elm_entry_selection_get(const Eo *obj, Elm_Entry_Data *pd);
665
666EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_selection_get, const char *, NULL);
667
668Eina_Bool _elm_entry_cursor_is_visible_format_get(const Eo *obj, Elm_Entry_Data *pd);
669
670EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_cursor_is_visible_format_get, Eina_Bool, 0);
671
672void _elm_entry_select_allow_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool allow);
673
674
675static Eina_Error
676__eolian_elm_entry_select_allow_set_reflect(Eo *obj, Eina_Value val)
677{
678 Eina_Error r = 0; Eina_Bool cval;
679 if (!eina_value_bool_convert(&val, &cval))
680 {
681 r = EINA_ERROR_VALUE_FAILED;
682 goto end;
683 }
684 elm_obj_entry_select_allow_set(obj, cval);
685 end:
686 eina_value_flush(&val);
687 return r;
688}
689
690EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_select_allow_set, EFL_FUNC_CALL(allow), Eina_Bool allow);
691
692Eina_Bool _elm_entry_select_allow_get(const Eo *obj, Elm_Entry_Data *pd);
693
694
695static Eina_Value
696__eolian_elm_entry_select_allow_get_reflect(Eo *obj)
697{
698 Eina_Bool val = elm_obj_entry_select_allow_get(obj);
699 return eina_value_bool_init(val);
700}
701
702EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_select_allow_get, Eina_Bool, 0);
703
704Eina_Bool _elm_entry_cursor_prev(Eo *obj, Elm_Entry_Data *pd);
705
706EOAPI EFL_FUNC_BODY(elm_obj_entry_cursor_prev, Eina_Bool, 0);
707
708void _elm_entry_text_style_user_pop(Eo *obj, Elm_Entry_Data *pd);
709
710EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_text_style_user_pop);
711
712void _elm_entry_item_provider_prepend(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Item_Provider_Cb func, void *data);
713
714EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_item_provider_prepend, EFL_FUNC_CALL(func, data), Elm_Entry_Item_Provider_Cb func, void *data);
715
716void _elm_entry_input_panel_show(Eo *obj, Elm_Entry_Data *pd);
717
718EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_input_panel_show);
719
720void _elm_entry_imf_context_reset(Eo *obj, Elm_Entry_Data *pd);
721
722EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_imf_context_reset);
723
724void _elm_entry_anchor_hover_end(Eo *obj, Elm_Entry_Data *pd);
725
726EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_anchor_hover_end);
727
728void _elm_entry_cursor_selection_begin(Eo *obj, Elm_Entry_Data *pd);
729
730EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_selection_begin);
731
732Eina_Bool _elm_entry_cursor_down(Eo *obj, Elm_Entry_Data *pd);
733
734EOAPI EFL_FUNC_BODY(elm_obj_entry_cursor_down, Eina_Bool, 0);
735
736void _elm_entry_file_save(Eo *obj, Elm_Entry_Data *pd);
737
738EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_file_save);
739
740void _elm_entry_selection_copy(Eo *obj, Elm_Entry_Data *pd);
741
742EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_selection_copy);
743
744void _elm_entry_text_style_user_push(Eo *obj, Elm_Entry_Data *pd, const char *style);
745
746EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_text_style_user_push, EFL_FUNC_CALL(style), const char *style);
747
748void _elm_entry_item_provider_remove(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Item_Provider_Cb func, void *data);
749
750EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_item_provider_remove, EFL_FUNC_CALL(func, data), Elm_Entry_Item_Provider_Cb func, void *data);
751
752const char *_elm_entry_text_style_user_peek(const Eo *obj, Elm_Entry_Data *pd);
753
754EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_text_style_user_peek, const char *, NULL);
755
756void _elm_entry_context_menu_clear(Eo *obj, Elm_Entry_Data *pd);
757
758EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_context_menu_clear);
759
760Eina_Bool _elm_entry_cursor_up(Eo *obj, Elm_Entry_Data *pd);
761
762EOAPI EFL_FUNC_BODY(elm_obj_entry_cursor_up, Eina_Bool, 0);
763
764void _elm_entry_entry_insert(Eo *obj, Elm_Entry_Data *pd, const char *entry);
765
766EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_insert, EFL_FUNC_CALL(entry), const char *entry);
767
768void _elm_entry_input_panel_imdata_set(Eo *obj, Elm_Entry_Data *pd, const void *data, int len);
769
770EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_input_panel_imdata_set, EFL_FUNC_CALL(data, len), const void *data, int len);
771
772void _elm_entry_input_panel_imdata_get(const Eo *obj, Elm_Entry_Data *pd, void *data, int *len);
773
774EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_entry_input_panel_imdata_get, EFL_FUNC_CALL(data, len), void *data, int *len);
775
776void _elm_entry_selection_paste(Eo *obj, Elm_Entry_Data *pd);
777
778EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_selection_paste);
779
780Eina_Bool _elm_entry_cursor_next(Eo *obj, Elm_Entry_Data *pd);
781
782EOAPI EFL_FUNC_BODY(elm_obj_entry_cursor_next, Eina_Bool, 0);
783
784void _elm_entry_select_none(Eo *obj, Elm_Entry_Data *pd);
785
786EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_select_none);
787
788void _elm_entry_input_panel_hide(Eo *obj, Elm_Entry_Data *pd);
789
790EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_input_panel_hide);
791
792void _elm_entry_select_all(Eo *obj, Elm_Entry_Data *pd);
793
794EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_select_all);
795
796void _elm_entry_cursor_selection_end(Eo *obj, Elm_Entry_Data *pd);
797
798EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_cursor_selection_end);
799
800void _elm_entry_selection_cut(Eo *obj, Elm_Entry_Data *pd);
801
802EOAPI EFL_VOID_FUNC_BODY(elm_obj_entry_selection_cut);
803
804Eina_Bool _elm_entry_is_empty(const Eo *obj, Elm_Entry_Data *pd);
805
806EOAPI EFL_FUNC_BODY_CONST(elm_obj_entry_is_empty, Eina_Bool, EINA_TRUE /* true */);
807
808void _elm_entry_markup_filter_remove(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Filter_Cb func, void *data);
809
810EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_markup_filter_remove, EFL_FUNC_CALL(func, data), Elm_Entry_Filter_Cb func, void *data);
811
812void _elm_entry_item_provider_append(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Item_Provider_Cb func, void *data);
813
814EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_item_provider_append, EFL_FUNC_CALL(func, data), Elm_Entry_Item_Provider_Cb func, void *data);
815
816void _elm_entry_markup_filter_append(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Filter_Cb func, void *data);
817
818EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_markup_filter_append, EFL_FUNC_CALL(func, data), Elm_Entry_Filter_Cb func, void *data);
819
820void _elm_entry_entry_append(Eo *obj, Elm_Entry_Data *pd, const char *str);
821
822EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_append, EFL_FUNC_CALL(str), const char *str);
823
824void _elm_entry_context_menu_item_add(Eo *obj, Elm_Entry_Data *pd, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
825
826EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_context_menu_item_add, EFL_FUNC_CALL(label, icon_file, icon_type, func, data), const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
827
828void _elm_entry_markup_filter_prepend(Eo *obj, Elm_Entry_Data *pd, Elm_Entry_Filter_Cb func, void *data);
829
830EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_markup_filter_prepend, EFL_FUNC_CALL(func, data), Elm_Entry_Filter_Cb func, void *data);
831
832void _elm_entry_prediction_hint_set(Eo *obj, Elm_Entry_Data *pd, const char *prediction_hint);
833
834EOAPI EFL_VOID_FUNC_BODYV(elm_obj_entry_prediction_hint_set, EFL_FUNC_CALL(prediction_hint), const char *prediction_hint);
835
836Eina_Bool _elm_entry_prediction_hint_hash_set(Eo *obj, Elm_Entry_Data *pd, const char *key, const char *value);
837
838EOAPI EFL_FUNC_BODYV(elm_obj_entry_prediction_hint_hash_set, Eina_Bool, 0, EFL_FUNC_CALL(key, value), const char *key, const char *value);
839
840Eina_Bool _elm_entry_prediction_hint_hash_del(Eo *obj, Elm_Entry_Data *pd, const char *key);
841
842EOAPI EFL_FUNC_BODYV(elm_obj_entry_prediction_hint_hash_del, Eina_Bool, 0, EFL_FUNC_CALL(key), const char *key);
843
844Efl_Object *_elm_entry_efl_object_constructor(Eo *obj, Elm_Entry_Data *pd);
845
846
847void _elm_entry_efl_gfx_entity_visible_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool v);
848
849
850void _elm_entry_efl_gfx_entity_position_set(Eo *obj, Elm_Entry_Data *pd, Eina_Position2D pos);
851
852
853void _elm_entry_efl_gfx_entity_size_set(Eo *obj, Elm_Entry_Data *pd, Eina_Size2D size);
854
855
856void _elm_entry_efl_canvas_group_group_member_add(Eo *obj, Elm_Entry_Data *pd, Efl_Canvas_Object *sub_obj);
857
858
859Eina_Bool _elm_entry_efl_layout_signal_signal_callback_add(Eo *obj, Elm_Entry_Data *pd, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb);
860
861
862Eina_Bool _elm_entry_efl_layout_signal_signal_callback_del(Eo *obj, Elm_Entry_Data *pd, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb);
863
864
865void _elm_entry_efl_layout_signal_signal_emit(Eo *obj, Elm_Entry_Data *pd, const char *emission, const char *source);
866
867
868void _elm_entry_efl_layout_calc_calc_force(Eo *obj, Elm_Entry_Data *pd);
869
870
871Eina_Bool _elm_entry_efl_ui_widget_on_access_activate(Eo *obj, Elm_Entry_Data *pd, Efl_Ui_Activate act);
872
873
874Eina_Error _elm_entry_efl_ui_widget_theme_apply(Eo *obj, Elm_Entry_Data *pd);
875
876
877Efl_Ui_Focus_Manager *_elm_entry_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj, Elm_Entry_Data *pd, Efl_Ui_Focus_Object *root);
878
879
880Eina_Bool _elm_entry_efl_ui_focus_object_on_focus_update(Eo *obj, Elm_Entry_Data *pd);
881
882
883Eina_Rect _elm_entry_efl_ui_widget_interest_region_get(const Eo *obj, Elm_Entry_Data *pd);
884
885
886void _elm_entry_efl_ui_widget_disabled_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool disabled);
887
888
889Eina_Bool _elm_entry_efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Entry_Data *pd, Efl_Canvas_Object *sub_obj);
890
891
892void _elm_entry_elm_interface_scrollable_policy_set(Eo *obj, Elm_Entry_Data *pd, Elm_Scroller_Policy hbar, Elm_Scroller_Policy vbar);
893
894
895void _elm_entry_elm_interface_scrollable_bounce_allow_set(Eo *obj, Elm_Entry_Data *pd, Eina_Bool horiz, Eina_Bool vert);
896
897
898Efl_Access_State_Set _elm_entry_efl_access_object_state_set_get(const Eo *obj, Elm_Entry_Data *pd);
899
900
901const char *_elm_entry_efl_access_object_i18n_name_get(const Eo *obj, Elm_Entry_Data *pd);
902
903
904char *_elm_entry_efl_access_text_access_text_get(const Eo *obj, Elm_Entry_Data *pd, int start_offset, int end_offset);
905
906
907char *_elm_entry_efl_access_text_string_get(const Eo *obj, Elm_Entry_Data *pd, Efl_Access_Text_Granularity granularity, int *start_offset, int *end_offset);
908
909
910Eina_Bool _elm_entry_efl_access_text_attribute_get(const Eo *obj, Elm_Entry_Data *pd, const char *name, int *start_offset, int *end_offset, char **value);
911
912
913Eina_List *_elm_entry_efl_access_text_text_attributes_get(const Eo *obj, Elm_Entry_Data *pd, int *start_offset, int *end_offset);
914
915
916Eina_List *_elm_entry_efl_access_text_default_attributes_get(const Eo *obj, Elm_Entry_Data *pd);
917
918
919Eina_Bool _elm_entry_efl_access_text_caret_offset_set(Eo *obj, Elm_Entry_Data *pd, int offset);
920
921
922int _elm_entry_efl_access_text_caret_offset_get(const Eo *obj, Elm_Entry_Data *pd);
923
924
925Eina_Unicode _elm_entry_efl_access_text_character_get(const Eo *obj, Elm_Entry_Data *pd, int offset);
926
927
928Eina_Bool _elm_entry_efl_access_text_character_extents_get(const Eo *obj, Elm_Entry_Data *pd, int offset, Eina_Bool screen_coords, Eina_Rect *rect);
929
930
931int _elm_entry_efl_access_text_character_count_get(const Eo *obj, Elm_Entry_Data *pd);
932
933
934int _elm_entry_efl_access_text_offset_at_point_get(const Eo *obj, Elm_Entry_Data *pd, Eina_Bool screen_coords, int x, int y);
935
936
937Eina_List *_elm_entry_efl_access_text_bounded_ranges_get(const Eo *obj, Elm_Entry_Data *pd, Eina_Bool screen_coords, Eina_Rect rect, Efl_Access_Text_Clip_Type xclip, Efl_Access_Text_Clip_Type yclip);
938
939
940Eina_Bool _elm_entry_efl_access_text_range_extents_get(const Eo *obj, Elm_Entry_Data *pd, Eina_Bool screen_coords, int start_offset, int end_offset, Eina_Rect *rect);
941
942
943Eina_Bool _elm_entry_efl_access_text_access_selection_set(Eo *obj, Elm_Entry_Data *pd, int selection_number, int start_offset, int end_offset);
944
945
946void _elm_entry_efl_access_text_access_selection_get(const Eo *obj, Elm_Entry_Data *pd, int selection_number, int *start_offset, int *end_offset);
947
948
949int _elm_entry_efl_access_text_selections_count_get(const Eo *obj, Elm_Entry_Data *pd);
950
951
952Eina_Bool _elm_entry_efl_access_text_selection_add(Eo *obj, Elm_Entry_Data *pd, int start_offset, int end_offset);
953
954
955Eina_Bool _elm_entry_efl_access_text_selection_remove(Eo *obj, Elm_Entry_Data *pd, int selection_number);
956
957
958Eina_Bool _elm_entry_efl_access_editable_text_text_content_set(Eo *obj, Elm_Entry_Data *pd, const char *string);
959
960
961Eina_Bool _elm_entry_efl_access_editable_text_insert(Eo *obj, Elm_Entry_Data *pd, const char *string, int position);
962
963
964Eina_Bool _elm_entry_efl_access_editable_text_copy(Eo *obj, Elm_Entry_Data *pd, int start, int end);
965
966
967Eina_Bool _elm_entry_efl_access_editable_text_cut(Eo *obj, Elm_Entry_Data *pd, int start, int end);
968
969
970Eina_Bool _elm_entry_efl_access_editable_text_delete(Eo *obj, Elm_Entry_Data *pd, int start, int end);
971
972
973Eina_Bool _elm_entry_efl_access_editable_text_paste(Eo *obj, Elm_Entry_Data *pd, int position);
974
975
976const Efl_Access_Action_Data *_elm_entry_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Entry_Data *pd);
977
978
979Eina_Error _elm_entry_efl_file_file_set(Eo *obj, Elm_Entry_Data *pd, const char *file);
980
981
982Eina_Error _elm_entry_efl_file_load(Eo *obj, Elm_Entry_Data *pd);
983
984
985Efl_Object *_elm_entry_efl_part_part_get(const Eo *obj, Elm_Entry_Data *pd, const char *name);
986
987
988static Eina_Bool
989_elm_entry_class_initializer(Efl_Class *klass)
990{
991 const Efl_Object_Ops *opsp = NULL;
992
993 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
994
995#ifndef ELM_ENTRY_EXTRA_OPS
996#define ELM_ENTRY_EXTRA_OPS
997#endif
998
999 EFL_OPS_DEFINE(ops,
1000 EFL_OBJECT_OP_FUNC(elm_obj_entry_scrollable_set, _elm_entry_scrollable_set),
1001 EFL_OBJECT_OP_FUNC(elm_obj_entry_scrollable_get, _elm_entry_scrollable_get),
1002 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_show_on_demand_set, _elm_entry_input_panel_show_on_demand_set),
1003 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_show_on_demand_get, _elm_entry_input_panel_show_on_demand_get),
1004 EFL_OBJECT_OP_FUNC(elm_obj_entry_context_menu_disabled_set, _elm_entry_context_menu_disabled_set),
1005 EFL_OBJECT_OP_FUNC(elm_obj_entry_context_menu_disabled_get, _elm_entry_context_menu_disabled_get),
1006 EFL_OBJECT_OP_FUNC(elm_obj_entry_cnp_mode_set, _elm_entry_cnp_mode_set),
1007 EFL_OBJECT_OP_FUNC(elm_obj_entry_cnp_mode_get, _elm_entry_cnp_mode_get),
1008 EFL_OBJECT_OP_FUNC(elm_obj_entry_file_text_format_set, _elm_entry_file_text_format_set),
1009 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_language_set, _elm_entry_input_panel_language_set),
1010 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_language_get, _elm_entry_input_panel_language_get),
1011 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_handler_disabled_set, _elm_entry_selection_handler_disabled_set),
1012 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_handler_disabled_get, _elm_entry_selection_handler_disabled_get),
1013 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_layout_variation_set, _elm_entry_input_panel_layout_variation_set),
1014 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_layout_variation_get, _elm_entry_input_panel_layout_variation_get),
1015 EFL_OBJECT_OP_FUNC(elm_obj_entry_autocapital_type_set, _elm_entry_autocapital_type_set),
1016 EFL_OBJECT_OP_FUNC(elm_obj_entry_autocapital_type_get, _elm_entry_autocapital_type_get),
1017 EFL_OBJECT_OP_FUNC(elm_obj_entry_editable_set, _elm_entry_editable_set),
1018 EFL_OBJECT_OP_FUNC(elm_obj_entry_editable_get, _elm_entry_editable_get),
1019 EFL_OBJECT_OP_FUNC(elm_obj_entry_anchor_hover_style_set, _elm_entry_anchor_hover_style_set),
1020 EFL_OBJECT_OP_FUNC(elm_obj_entry_anchor_hover_style_get, _elm_entry_anchor_hover_style_get),
1021 EFL_OBJECT_OP_FUNC(elm_obj_entry_single_line_set, _elm_entry_single_line_set),
1022 EFL_OBJECT_OP_FUNC(elm_obj_entry_single_line_get, _elm_entry_single_line_get),
1023 EFL_OBJECT_OP_FUNC(elm_obj_entry_password_set, _elm_entry_password_set),
1024 EFL_OBJECT_OP_FUNC(elm_obj_entry_password_get, _elm_entry_password_get),
1025 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_return_key_disabled_set, _elm_entry_input_panel_return_key_disabled_set),
1026 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_return_key_disabled_get, _elm_entry_input_panel_return_key_disabled_get),
1027 EFL_OBJECT_OP_FUNC(elm_obj_entry_autosave_set, _elm_entry_autosave_set),
1028 EFL_OBJECT_OP_FUNC(elm_obj_entry_autosave_get, _elm_entry_autosave_get),
1029 EFL_OBJECT_OP_FUNC(elm_obj_entry_anchor_hover_parent_set, _elm_entry_anchor_hover_parent_set),
1030 EFL_OBJECT_OP_FUNC(elm_obj_entry_anchor_hover_parent_get, _elm_entry_anchor_hover_parent_get),
1031 EFL_OBJECT_OP_FUNC(elm_obj_entry_prediction_allow_set, _elm_entry_prediction_allow_set),
1032 EFL_OBJECT_OP_FUNC(elm_obj_entry_prediction_allow_get, _elm_entry_prediction_allow_get),
1033 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_hint_set, _elm_entry_input_hint_set),
1034 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_hint_get, _elm_entry_input_hint_get),
1035 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_layout_set, _elm_entry_input_panel_layout_set),
1036 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_layout_get, _elm_entry_input_panel_layout_get),
1037 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_return_key_type_set, _elm_entry_input_panel_return_key_type_set),
1038 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_return_key_type_get, _elm_entry_input_panel_return_key_type_get),
1039 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_enabled_set, _elm_entry_input_panel_enabled_set),
1040 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_enabled_get, _elm_entry_input_panel_enabled_get),
1041 EFL_OBJECT_OP_FUNC(elm_obj_entry_line_wrap_set, _elm_entry_line_wrap_set),
1042 EFL_OBJECT_OP_FUNC(elm_obj_entry_line_wrap_get, _elm_entry_line_wrap_get),
1043 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_pos_set, _elm_entry_cursor_pos_set),
1044 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_pos_get, _elm_entry_cursor_pos_get),
1045 EFL_OBJECT_OP_FUNC(elm_obj_entry_icon_visible_set, _elm_entry_icon_visible_set),
1046 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_line_end_set, _elm_entry_cursor_line_end_set),
1047 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_region_set, _elm_entry_select_region_set),
1048 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_region_get, _elm_entry_select_region_get),
1049 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_return_key_autoenabled_set, _elm_entry_input_panel_return_key_autoenabled_set),
1050 EFL_OBJECT_OP_FUNC(elm_obj_entry_end_visible_set, _elm_entry_end_visible_set),
1051 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_begin_set, _elm_entry_cursor_begin_set),
1052 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_line_begin_set, _elm_entry_cursor_line_begin_set),
1053 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_end_set, _elm_entry_cursor_end_set),
1054 EFL_OBJECT_OP_FUNC(elm_obj_entry_textblock_get, _elm_entry_textblock_get),
1055 EFL_OBJECT_OP_FUNC(elm_obj_entry_textblock_cursor_geometry_get, _elm_entry_textblock_cursor_geometry_get),
1056 EFL_OBJECT_OP_FUNC(elm_obj_entry_imf_context_get, _elm_entry_imf_context_get),
1057 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_is_format_get, _elm_entry_cursor_is_format_get),
1058 EFL_OBJECT_OP_FUNC(elm_obj_entry_textblock_cursor_content_get, _elm_entry_textblock_cursor_content_get),
1059 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_get, _elm_entry_selection_get),
1060 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_is_visible_format_get, _elm_entry_cursor_is_visible_format_get),
1061 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_allow_set, _elm_entry_select_allow_set),
1062 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_allow_get, _elm_entry_select_allow_get),
1063 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_prev, _elm_entry_cursor_prev),
1064 EFL_OBJECT_OP_FUNC(elm_obj_entry_text_style_user_pop, _elm_entry_text_style_user_pop),
1065 EFL_OBJECT_OP_FUNC(elm_obj_entry_item_provider_prepend, _elm_entry_item_provider_prepend),
1066 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_show, _elm_entry_input_panel_show),
1067 EFL_OBJECT_OP_FUNC(elm_obj_entry_imf_context_reset, _elm_entry_imf_context_reset),
1068 EFL_OBJECT_OP_FUNC(elm_obj_entry_anchor_hover_end, _elm_entry_anchor_hover_end),
1069 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_selection_begin, _elm_entry_cursor_selection_begin),
1070 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_down, _elm_entry_cursor_down),
1071 EFL_OBJECT_OP_FUNC(elm_obj_entry_file_save, _elm_entry_file_save),
1072 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_copy, _elm_entry_selection_copy),
1073 EFL_OBJECT_OP_FUNC(elm_obj_entry_text_style_user_push, _elm_entry_text_style_user_push),
1074 EFL_OBJECT_OP_FUNC(elm_obj_entry_item_provider_remove, _elm_entry_item_provider_remove),
1075 EFL_OBJECT_OP_FUNC(elm_obj_entry_text_style_user_peek, _elm_entry_text_style_user_peek),
1076 EFL_OBJECT_OP_FUNC(elm_obj_entry_context_menu_clear, _elm_entry_context_menu_clear),
1077 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_up, _elm_entry_cursor_up),
1078 EFL_OBJECT_OP_FUNC(elm_obj_entry_insert, _elm_entry_entry_insert),
1079 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_imdata_set, _elm_entry_input_panel_imdata_set),
1080 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_imdata_get, _elm_entry_input_panel_imdata_get),
1081 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_paste, _elm_entry_selection_paste),
1082 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_next, _elm_entry_cursor_next),
1083 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_none, _elm_entry_select_none),
1084 EFL_OBJECT_OP_FUNC(elm_obj_entry_input_panel_hide, _elm_entry_input_panel_hide),
1085 EFL_OBJECT_OP_FUNC(elm_obj_entry_select_all, _elm_entry_select_all),
1086 EFL_OBJECT_OP_FUNC(elm_obj_entry_cursor_selection_end, _elm_entry_cursor_selection_end),
1087 EFL_OBJECT_OP_FUNC(elm_obj_entry_selection_cut, _elm_entry_selection_cut),
1088 EFL_OBJECT_OP_FUNC(elm_obj_entry_is_empty, _elm_entry_is_empty),
1089 EFL_OBJECT_OP_FUNC(elm_obj_entry_markup_filter_remove, _elm_entry_markup_filter_remove),
1090 EFL_OBJECT_OP_FUNC(elm_obj_entry_item_provider_append, _elm_entry_item_provider_append),
1091 EFL_OBJECT_OP_FUNC(elm_obj_entry_markup_filter_append, _elm_entry_markup_filter_append),
1092 EFL_OBJECT_OP_FUNC(elm_obj_entry_append, _elm_entry_entry_append),
1093 EFL_OBJECT_OP_FUNC(elm_obj_entry_context_menu_item_add, _elm_entry_context_menu_item_add),
1094 EFL_OBJECT_OP_FUNC(elm_obj_entry_markup_filter_prepend, _elm_entry_markup_filter_prepend),
1095 EFL_OBJECT_OP_FUNC(elm_obj_entry_prediction_hint_set, _elm_entry_prediction_hint_set),
1096 EFL_OBJECT_OP_FUNC(elm_obj_entry_prediction_hint_hash_set, _elm_entry_prediction_hint_hash_set),
1097 EFL_OBJECT_OP_FUNC(elm_obj_entry_prediction_hint_hash_del, _elm_entry_prediction_hint_hash_del),
1098 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_entry_efl_object_constructor),
1099 EFL_OBJECT_OP_FUNC(efl_gfx_entity_visible_set, _elm_entry_efl_gfx_entity_visible_set),
1100 EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_entry_efl_gfx_entity_position_set),
1101 EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_entry_efl_gfx_entity_size_set),
1102 EFL_OBJECT_OP_FUNC(efl_canvas_group_member_add, _elm_entry_efl_canvas_group_group_member_add),
1103 EFL_OBJECT_OP_FUNC(efl_layout_signal_callback_add, _elm_entry_efl_layout_signal_signal_callback_add),
1104 EFL_OBJECT_OP_FUNC(efl_layout_signal_callback_del, _elm_entry_efl_layout_signal_signal_callback_del),
1105 EFL_OBJECT_OP_FUNC(efl_layout_signal_emit, _elm_entry_efl_layout_signal_signal_emit),
1106 EFL_OBJECT_OP_FUNC(efl_layout_calc_force, _elm_entry_efl_layout_calc_calc_force),
1107 EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_activate, _elm_entry_efl_ui_widget_on_access_activate),
1108 EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_entry_efl_ui_widget_theme_apply),
1109 EFL_OBJECT_OP_FUNC(efl_ui_widget_focus_manager_create, _elm_entry_efl_ui_widget_focus_manager_focus_manager_create),
1110 EFL_OBJECT_OP_FUNC(efl_ui_focus_object_on_focus_update, _elm_entry_efl_ui_focus_object_on_focus_update),
1111 EFL_OBJECT_OP_FUNC(efl_ui_widget_interest_region_get, _elm_entry_efl_ui_widget_interest_region_get),
1112 EFL_OBJECT_OP_FUNC(efl_ui_widget_disabled_set, _elm_entry_efl_ui_widget_disabled_set),
1113 EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_del, _elm_entry_efl_ui_widget_widget_sub_object_del),
1114 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_policy_set, _elm_entry_elm_interface_scrollable_policy_set),
1115 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_bounce_allow_set, _elm_entry_elm_interface_scrollable_bounce_allow_set),
1116 EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_entry_efl_access_object_state_set_get),
1117 EFL_OBJECT_OP_FUNC(efl_access_object_i18n_name_get, _elm_entry_efl_access_object_i18n_name_get),
1118 EFL_OBJECT_OP_FUNC(efl_access_text_get, _elm_entry_efl_access_text_access_text_get),
1119 EFL_OBJECT_OP_FUNC(efl_access_text_string_get, _elm_entry_efl_access_text_string_get),
1120 EFL_OBJECT_OP_FUNC(efl_access_text_attribute_get, _elm_entry_efl_access_text_attribute_get),
1121 EFL_OBJECT_OP_FUNC(efl_access_text_attributes_get, _elm_entry_efl_access_text_text_attributes_get),
1122 EFL_OBJECT_OP_FUNC(efl_access_text_default_attributes_get, _elm_entry_efl_access_text_default_attributes_get),
1123 EFL_OBJECT_OP_FUNC(efl_access_text_caret_offset_set, _elm_entry_efl_access_text_caret_offset_set),
1124 EFL_OBJECT_OP_FUNC(efl_access_text_caret_offset_get, _elm_entry_efl_access_text_caret_offset_get),
1125 EFL_OBJECT_OP_FUNC(efl_access_text_character_get, _elm_entry_efl_access_text_character_get),
1126 EFL_OBJECT_OP_FUNC(efl_access_text_character_extents_get, _elm_entry_efl_access_text_character_extents_get),
1127 EFL_OBJECT_OP_FUNC(efl_access_text_character_count_get, _elm_entry_efl_access_text_character_count_get),
1128 EFL_OBJECT_OP_FUNC(efl_access_text_offset_at_point_get, _elm_entry_efl_access_text_offset_at_point_get),
1129 EFL_OBJECT_OP_FUNC(efl_access_text_bounded_ranges_get, _elm_entry_efl_access_text_bounded_ranges_get),
1130 EFL_OBJECT_OP_FUNC(efl_access_text_range_extents_get, _elm_entry_efl_access_text_range_extents_get),
1131 EFL_OBJECT_OP_FUNC(efl_access_text_access_selection_set, _elm_entry_efl_access_text_access_selection_set),
1132 EFL_OBJECT_OP_FUNC(efl_access_text_access_selection_get, _elm_entry_efl_access_text_access_selection_get),
1133 EFL_OBJECT_OP_FUNC(efl_access_text_selections_count_get, _elm_entry_efl_access_text_selections_count_get),
1134 EFL_OBJECT_OP_FUNC(efl_access_text_selection_add, _elm_entry_efl_access_text_selection_add),
1135 EFL_OBJECT_OP_FUNC(efl_access_text_selection_remove, _elm_entry_efl_access_text_selection_remove),
1136 EFL_OBJECT_OP_FUNC(efl_access_editable_text_content_set, _elm_entry_efl_access_editable_text_text_content_set),
1137 EFL_OBJECT_OP_FUNC(efl_access_editable_text_insert, _elm_entry_efl_access_editable_text_insert),
1138 EFL_OBJECT_OP_FUNC(efl_access_editable_text_copy, _elm_entry_efl_access_editable_text_copy),
1139 EFL_OBJECT_OP_FUNC(efl_access_editable_text_cut, _elm_entry_efl_access_editable_text_cut),
1140 EFL_OBJECT_OP_FUNC(efl_access_editable_text_delete, _elm_entry_efl_access_editable_text_delete),
1141 EFL_OBJECT_OP_FUNC(efl_access_editable_text_paste, _elm_entry_efl_access_editable_text_paste),
1142 EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_entry_efl_access_widget_action_elm_actions_get),
1143 EFL_OBJECT_OP_FUNC(efl_file_set, _elm_entry_efl_file_file_set),
1144 EFL_OBJECT_OP_FUNC(efl_file_load, _elm_entry_efl_file_load),
1145 EFL_OBJECT_OP_FUNC(efl_part_get, _elm_entry_efl_part_part_get),
1146 ELM_ENTRY_EXTRA_OPS
1147 );
1148 opsp = &ops;
1149
1150 static const Efl_Object_Property_Reflection refl_table[] = {
1151 {"scrollable", __eolian_elm_entry_scrollable_set_reflect, __eolian_elm_entry_scrollable_get_reflect},
1152 {"input_panel_show_on_demand", __eolian_elm_entry_input_panel_show_on_demand_set_reflect, __eolian_elm_entry_input_panel_show_on_demand_get_reflect},
1153 {"context_menu_disabled", __eolian_elm_entry_context_menu_disabled_set_reflect, __eolian_elm_entry_context_menu_disabled_get_reflect},
1154 {"selection_handler_disabled", __eolian_elm_entry_selection_handler_disabled_set_reflect, __eolian_elm_entry_selection_handler_disabled_get_reflect},
1155 {"input_panel_layout_variation", __eolian_elm_entry_input_panel_layout_variation_set_reflect, __eolian_elm_entry_input_panel_layout_variation_get_reflect},
1156 {"editable", __eolian_elm_entry_editable_set_reflect, __eolian_elm_entry_editable_get_reflect},
1157 {"anchor_hover_style", __eolian_elm_entry_anchor_hover_style_set_reflect, __eolian_elm_entry_anchor_hover_style_get_reflect},
1158 {"single_line", __eolian_elm_entry_single_line_set_reflect, __eolian_elm_entry_single_line_get_reflect},
1159 {"password", __eolian_elm_entry_password_set_reflect, __eolian_elm_entry_password_get_reflect},
1160 {"input_panel_return_key_disabled", __eolian_elm_entry_input_panel_return_key_disabled_set_reflect, __eolian_elm_entry_input_panel_return_key_disabled_get_reflect},
1161 {"autosave", __eolian_elm_entry_autosave_set_reflect, __eolian_elm_entry_autosave_get_reflect},
1162 {"prediction_allow", __eolian_elm_entry_prediction_allow_set_reflect, __eolian_elm_entry_prediction_allow_get_reflect},
1163 {"input_panel_enabled", __eolian_elm_entry_input_panel_enabled_set_reflect, __eolian_elm_entry_input_panel_enabled_get_reflect},
1164 {"cursor_pos", __eolian_elm_entry_cursor_pos_set_reflect, __eolian_elm_entry_cursor_pos_get_reflect},
1165 {"icon_visible", __eolian_elm_entry_icon_visible_set_reflect, NULL},
1166 {"input_panel_return_key_autoenabled", __eolian_elm_entry_input_panel_return_key_autoenabled_set_reflect, NULL},
1167 {"end_visible", __eolian_elm_entry_end_visible_set_reflect, NULL},
1168 {"select_allow", __eolian_elm_entry_select_allow_set_reflect, __eolian_elm_entry_select_allow_get_reflect},
1169 };
1170 static const Efl_Object_Property_Reflection_Ops rops = {
1171 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
1172 };
1173 ropsp = &rops;
1174
1175 return efl_class_functions_set(klass, opsp, ropsp);
1176}
1177
1178static const Efl_Class_Description _elm_entry_class_desc = {
1179 EO_VERSION,
1180 "Elm.Entry",
1181 EFL_CLASS_TYPE_REGULAR,
1182 sizeof(Elm_Entry_Data),
1183 _elm_entry_class_initializer,
1184 _elm_entry_class_constructor,
1185 NULL
1186};
1187
1188EFL_DEFINE_CLASS(elm_entry_class_get, &_elm_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_UI_CLICKABLE_INTERFACE, EFL_ACCESS_TEXT_INTERFACE, EFL_ACCESS_EDITABLE_TEXT_INTERFACE, EFL_FILE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_SCROLLABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
1189
1190#include "elm_entry_eo.legacy.c"
diff --git a/src/lib/elementary/elm_entry_eo.h b/src/lib/elementary/elm_entry_eo.h
index 8d7fab3..f762563 100644
--- a/src/lib/elementary/elm_entry_eo.h
+++ b/src/lib/elementary/elm_entry_eo.h
@@ -1 +1,1447 @@
1#include "elm_entry.eo.h" 1#ifndef _ELM_ENTRY_EO_H_
2#define _ELM_ENTRY_EO_H_
3
4#ifndef _ELM_ENTRY_EO_CLASS_TYPE
5#define _ELM_ENTRY_EO_CLASS_TYPE
6
7typedef Eo Elm_Entry;
8
9#endif
10
11#ifndef _ELM_ENTRY_EO_TYPES
12#define _ELM_ENTRY_EO_TYPES
13
14
15#endif
16/** Elementary entry class
17 *
18 * @ingroup Elm_Entry
19 */
20#define ELM_ENTRY_CLASS elm_entry_class_get()
21
22EWAPI const Efl_Class *elm_entry_class_get(void);
23
24/**
25 * @brief Enable or disable scrolling in entry
26 *
27 * Normally the entry is not scrollable unless you enable it with this call.
28 *
29 * @param[in] obj The object.
30 * @param[in] scroll @c true if it is to be scrollable, @c false otherwise.
31 *
32 * @ingroup Elm_Entry
33 */
34EOAPI void elm_obj_entry_scrollable_set(Eo *obj, Eina_Bool scroll);
35
36/**
37 * @brief Get the scrollable state of the entry
38 *
39 * Normally the entry is not scrollable. This gets the scrollable state of the
40 * entry.
41 *
42 * @param[in] obj The object.
43 *
44 * @return @c true if it is to be scrollable, @c false otherwise.
45 *
46 * @ingroup Elm_Entry
47 */
48EOAPI Eina_Bool elm_obj_entry_scrollable_get(const Eo *obj);
49
50/**
51 * @brief Set the attribute to show the input panel in case of only an user's
52 * explicit Mouse Up event. It doesn't request to show the input panel even
53 * though it has focus.
54 *
55 * @param[in] obj The object.
56 * @param[in] ondemand If @c true, the input panel will be shown in case of
57 * only Mouse up event. (Focus event will be ignored.)
58 *
59 * @since 1.9
60 *
61 * @ingroup Elm_Entry
62 */
63EOAPI void elm_obj_entry_input_panel_show_on_demand_set(Eo *obj, Eina_Bool ondemand);
64
65/**
66 * @brief Get the attribute to show the input panel in case of only an user's
67 * explicit Mouse Up event.
68 *
69 * @param[in] obj The object.
70 *
71 * @return If @c true, the input panel will be shown in case of only Mouse up
72 * event. (Focus event will be ignored.)
73 *
74 * @since 1.9
75 *
76 * @ingroup Elm_Entry
77 */
78EOAPI Eina_Bool elm_obj_entry_input_panel_show_on_demand_get(const Eo *obj);
79
80/**
81 * @brief This disables the entry's contextual (longpress) menu.
82 *
83 * @param[in] obj The object.
84 * @param[in] disabled If @c true, the menu is disabled.
85 *
86 * @ingroup Elm_Entry
87 */
88EOAPI void elm_obj_entry_context_menu_disabled_set(Eo *obj, Eina_Bool disabled);
89
90/**
91 * @brief This returns whether the entry's contextual (longpress) menu is
92 * disabled.
93 *
94 * @param[in] obj The object.
95 *
96 * @return If @c true, the menu is disabled.
97 *
98 * @ingroup Elm_Entry
99 */
100EOAPI Eina_Bool elm_obj_entry_context_menu_disabled_get(const Eo *obj);
101
102/**
103 * @brief Control pasting of text and images for the widget.
104 *
105 * Normally the entry allows both text and images to be pasted. By setting
106 * cnp_mode to be #ELM_CNP_MODE_NO_IMAGE, this prevents images from being copy
107 * or past. By setting cnp_mode to be #ELM_CNP_MODE_PLAINTEXT, this remove all
108 * tags in text .
109 *
110 * @note This only changes the behaviour of text.
111 *
112 * @param[in] obj The object.
113 * @param[in] cnp_mode One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP,
114 * #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
115 *
116 * @ingroup Elm_Entry
117 */
118EOAPI void elm_obj_entry_cnp_mode_set(Eo *obj, Elm_Cnp_Mode cnp_mode);
119
120/**
121 * @brief Getting elm_entry text paste/drop mode.
122 *
123 * Normally the entry allows both text and images to be pasted. This gets the
124 * copy & paste mode of the entry.
125 *
126 * @param[in] obj The object.
127 *
128 * @return One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP, #ELM_CNP_MODE_NO_IMAGE,
129 * #ELM_CNP_MODE_PLAINTEXT.
130 *
131 * @ingroup Elm_Entry
132 */
133EOAPI Elm_Cnp_Mode elm_obj_entry_cnp_mode_get(const Eo *obj);
134
135/**
136 * @brief Text format used to load and save the file, which could be plain text
137 * or markup text.
138 *
139 * Default is @c ELM_TEXT_FORMAT_PLAIN_UTF8, if you want to use
140 * @c ELM_TEXT_FORMAT_MARKUP_UTF8 then you need to set the text format before
141 * calling @ref efl_file_load.
142 *
143 * You could also set it before a call to @ref elm_obj_entry_file_save in order
144 * to save with the given format.
145 *
146 * Use it before calling @ref efl_file_load or @ref elm_obj_entry_file_save.
147 *
148 * @param[in] obj The object.
149 * @param[in] format The file format
150 *
151 * @ingroup Elm_Entry
152 */
153EOAPI void elm_obj_entry_file_text_format_set(Eo *obj, Elm_Text_Format format);
154
155/**
156 * @brief Set the language mode of the input panel.
157 *
158 * This API can be used if you want to show the alphabet keyboard mode.
159 *
160 * @param[in] obj The object.
161 * @param[in] lang Language to be set to the input panel.
162 *
163 * @ingroup Elm_Entry
164 */
165EOAPI void elm_obj_entry_input_panel_language_set(Eo *obj, Elm_Input_Panel_Lang lang);
166
167/**
168 * @brief Get the language mode of the input panel.
169 *
170 * @param[in] obj The object.
171 *
172 * @return Language to be set to the input panel.
173 *
174 * @ingroup Elm_Entry
175 */
176EOAPI Elm_Input_Panel_Lang elm_obj_entry_input_panel_language_get(const Eo *obj);
177
178/**
179 * @brief This disabled the entry's selection handlers.
180 *
181 * @param[in] obj The object.
182 * @param[in] disabled If @c true, the selection handlers are disabled.
183 *
184 * @ingroup Elm_Entry
185 */
186EOAPI void elm_obj_entry_selection_handler_disabled_set(Eo *obj, Eina_Bool disabled);
187
188/**
189 * @brief This returns whether the entry's selection handlers are disabled.
190 *
191 * @param[in] obj The object.
192 *
193 * @return If @c true, the selection handlers are disabled.
194 *
195 * @ingroup Elm_Entry
196 */
197EOAPI Eina_Bool elm_obj_entry_selection_handler_disabled_get(const Eo *obj);
198
199/**
200 * @brief Set the input panel layout variation of the entry
201 *
202 * @param[in] obj The object.
203 * @param[in] variation Layout variation type.
204 *
205 * @since 1.8
206 *
207 * @ingroup Elm_Entry
208 */
209EOAPI void elm_obj_entry_input_panel_layout_variation_set(Eo *obj, int variation);
210
211/**
212 * @brief Get the input panel layout variation of the entry
213 *
214 * @param[in] obj The object.
215 *
216 * @return Layout variation type.
217 *
218 * @since 1.8
219 *
220 * @ingroup Elm_Entry
221 */
222EOAPI int elm_obj_entry_input_panel_layout_variation_get(const Eo *obj);
223
224/**
225 * @brief Set the autocapitalization type on the immodule.
226 *
227 * @param[in] obj The object.
228 * @param[in] autocapital_type The type of autocapitalization.
229 *
230 * @ingroup Elm_Entry
231 */
232EOAPI void elm_obj_entry_autocapital_type_set(Eo *obj, Elm_Autocapital_Type autocapital_type);
233
234/**
235 * @brief Get the autocapitalization type on the immodule.
236 *
237 * @param[in] obj The object.
238 *
239 * @return The type of autocapitalization.
240 *
241 * @ingroup Elm_Entry
242 */
243EOAPI Elm_Autocapital_Type elm_obj_entry_autocapital_type_get(const Eo *obj);
244
245/**
246 * @brief Sets if the entry is to be editable or not.
247 *
248 * By default, entries are editable and when focused, any text input by the
249 * user will be inserted at the current cursor position. But calling this
250 * function with @c editable as @c false will prevent the user from inputting
251 * text into the entry.
252 *
253 * The only way to change the text of a non-editable entry is to use @ref
254 * elm_object_text_set, @ref elm_entry_entry_insert and other related
255 * functions.
256 *
257 * @param[in] obj The object.
258 * @param[in] editable If @c true, user input will be inserted in the entry, if
259 * not, the entry is read-only and no user input is allowed.
260 *
261 * @ingroup Elm_Entry
262 */
263EOAPI void elm_obj_entry_editable_set(Eo *obj, Eina_Bool editable);
264
265/**
266 * @brief Get whether the entry is editable or not.
267 *
268 * @param[in] obj The object.
269 *
270 * @return If @c true, user input will be inserted in the entry, if not, the
271 * entry is read-only and no user input is allowed.
272 *
273 * @ingroup Elm_Entry
274 */
275EOAPI Eina_Bool elm_obj_entry_editable_get(const Eo *obj);
276
277/**
278 * @brief Set the style that the hover should use
279 *
280 * When creating the popup hover, entry will request that it's themed according
281 * to @c style.
282 *
283 * Setting style no @c null means disabling automatic hover.
284 *
285 * @param[in] obj The object.
286 * @param[in] style The style to use for the underlying hover.
287 *
288 * @ingroup Elm_Entry
289 */
290EOAPI void elm_obj_entry_anchor_hover_style_set(Eo *obj, const char *style);
291
292/**
293 * @brief Get the style that the hover should use.
294 *
295 * @param[in] obj The object.
296 *
297 * @return The style to use for the underlying hover.
298 *
299 * @ingroup Elm_Entry
300 */
301EOAPI const char *elm_obj_entry_anchor_hover_style_get(const Eo *obj);
302
303/**
304 * @brief Sets the entry to single line mode.
305 *
306 * In single line mode, entries don't ever wrap when the text reaches the edge,
307 * and instead they keep growing horizontally. Pressing the @c Enter key will
308 * generate an $"activate" event instead of adding a new line.
309 *
310 * When @c single_line is @c false, line wrapping takes effect again and
311 * pressing enter will break the text into a different line without generating
312 * any events.
313 *
314 * @param[in] obj The object.
315 * @param[in] single_line If @c true, the text in the entry will be on a single
316 * line.
317 *
318 * @ingroup Elm_Entry
319 */
320EOAPI void elm_obj_entry_single_line_set(Eo *obj, Eina_Bool single_line);
321
322/**
323 * @brief Get whether the entry is set to be single line.
324 *
325 * @param[in] obj The object.
326 *
327 * @return If @c true, the text in the entry will be on a single line.
328 *
329 * @ingroup Elm_Entry
330 */
331EOAPI Eina_Bool elm_obj_entry_single_line_get(const Eo *obj);
332
333/**
334 * @brief Sets the entry to password mode.
335 *
336 * In password mode, entries are implicitly single line and the display of any
337 * text in them is replaced with asterisks (*).
338 *
339 * @param[in] obj The object.
340 * @param[in] password If @c true, password mode is enabled.
341 *
342 * @ingroup Elm_Entry
343 */
344EOAPI void elm_obj_entry_password_set(Eo *obj, Eina_Bool password);
345
346/**
347 * @brief Get whether the entry is set to password mode.
348 *
349 * @param[in] obj The object.
350 *
351 * @return If @c true, password mode is enabled.
352 *
353 * @ingroup Elm_Entry
354 */
355EOAPI Eina_Bool elm_obj_entry_password_get(const Eo *obj);
356
357/**
358 * @brief Set the return key on the input panel to be disabled.
359 *
360 * @param[in] obj The object.
361 * @param[in] disabled The state to put in in: @c true for disabled, @c false
362 * for enabled.
363 *
364 * @ingroup Elm_Entry
365 */
366EOAPI void elm_obj_entry_input_panel_return_key_disabled_set(Eo *obj, Eina_Bool disabled);
367
368/**
369 * @brief Get whether the return key on the input panel should be disabled or
370 * not.
371 *
372 * @param[in] obj The object.
373 *
374 * @return The state to put in in: @c true for disabled, @c false for enabled.
375 *
376 * @ingroup Elm_Entry
377 */
378EOAPI Eina_Bool elm_obj_entry_input_panel_return_key_disabled_get(const Eo *obj);
379
380/**
381 * @brief This sets the entry object to 'autosave' the loaded text file or not.
382 *
383 * @param[in] obj The object.
384 * @param[in] auto_save Autosave the loaded file or not.
385 *
386 * @ingroup Elm_Entry
387 */
388EOAPI void elm_obj_entry_autosave_set(Eo *obj, Eina_Bool auto_save);
389
390/**
391 * @brief This gets the entry object's 'autosave' status.
392 *
393 * @param[in] obj The object.
394 *
395 * @return Autosave the loaded file or not.
396 *
397 * @ingroup Elm_Entry
398 */
399EOAPI Eina_Bool elm_obj_entry_autosave_get(const Eo *obj);
400
401/**
402 * @brief Set the parent of the hover popup
403 *
404 * Sets the parent object to use by the hover created by the entry when an
405 * anchor is clicked.
406 *
407 * @param[in] obj The object.
408 * @param[in] parent The object to use as parent for the hover.
409 *
410 * @ingroup Elm_Entry
411 */
412EOAPI void elm_obj_entry_anchor_hover_parent_set(Eo *obj, Efl_Canvas_Object *parent);
413
414/**
415 * @brief Get the parent of the hover popup
416 *
417 * Get the object used as parent for the hover created by the entry widget. If
418 * no parent is set, the same entry object will be used.
419 *
420 * @param[in] obj The object.
421 *
422 * @return The object to use as parent for the hover.
423 *
424 * @ingroup Elm_Entry
425 */
426EOAPI Efl_Canvas_Object *elm_obj_entry_anchor_hover_parent_get(const Eo *obj);
427
428/**
429 * @brief Set whether the entry should allow to use the text prediction.
430 *
431 * @param[in] obj The object.
432 * @param[in] prediction Whether the entry should allow to use the text
433 * prediction.
434 *
435 * @ingroup Elm_Entry
436 */
437EOAPI void elm_obj_entry_prediction_allow_set(Eo *obj, Eina_Bool prediction);
438
439/**
440 * @brief Get whether the entry should allow to use the text prediction.
441 *
442 * @param[in] obj The object.
443 *
444 * @return Whether the entry should allow to use the text prediction.
445 *
446 * @ingroup Elm_Entry
447 */
448EOAPI Eina_Bool elm_obj_entry_prediction_allow_get(const Eo *obj);
449
450/**
451 * @brief Sets the input hint which allows input methods to fine-tune their
452 * behavior.
453 *
454 * @param[in] obj The object.
455 * @param[in] hints Input hint.
456 *
457 * @ingroup Elm_Entry
458 */
459EOAPI void elm_obj_entry_input_hint_set(Eo *obj, Elm_Input_Hints hints);
460
461/**
462 * @brief Gets the value of input hint.
463 *
464 * @param[in] obj The object.
465 *
466 * @return Input hint.
467 *
468 * @ingroup Elm_Entry
469 */
470EOAPI Elm_Input_Hints elm_obj_entry_input_hint_get(const Eo *obj);
471
472/**
473 * @brief Set the input panel layout of the entry.
474 *
475 * @param[in] obj The object.
476 * @param[in] layout Layout type.
477 *
478 * @ingroup Elm_Entry
479 */
480EOAPI void elm_obj_entry_input_panel_layout_set(Eo *obj, Elm_Input_Panel_Layout layout);
481
482/**
483 * @brief Get the input panel layout of the entry.
484 *
485 * @param[in] obj The object.
486 *
487 * @return Layout type.
488 *
489 * @ingroup Elm_Entry
490 */
491EOAPI Elm_Input_Panel_Layout elm_obj_entry_input_panel_layout_get(const Eo *obj);
492
493/**
494 * @brief Set the "return" key type. This type is used to set string or icon on
495 * the "return" key of the input panel.
496 *
497 * An input panel displays the string or icon associated with this type.
498 *
499 * Regardless of return key type, "activated" event will be generated when
500 * pressing return key in single line entry.
501 *
502 * @param[in] obj The object.
503 * @param[in] return_key_type The type of "return" key on the input panel.
504 *
505 * @ingroup Elm_Entry
506 */
507EOAPI void elm_obj_entry_input_panel_return_key_type_set(Eo *obj, Elm_Input_Panel_Return_Key_Type return_key_type);
508
509/**
510 * @brief Get the "return" key type.
511 *
512 * @param[in] obj The object.
513 *
514 * @return The type of "return" key on the input panel.
515 *
516 * @ingroup Elm_Entry
517 */
518EOAPI Elm_Input_Panel_Return_Key_Type elm_obj_entry_input_panel_return_key_type_get(const Eo *obj);
519
520/**
521 * @brief Sets the attribute to show the input panel automatically.
522 *
523 * @param[in] obj The object.
524 * @param[in] enabled If @c true, the input panel is appeared when entry is
525 * clicked or has a focus.
526 *
527 * @ingroup Elm_Entry
528 */
529EOAPI void elm_obj_entry_input_panel_enabled_set(Eo *obj, Eina_Bool enabled);
530
531/**
532 * @brief Get the attribute to show the input panel automatically.
533 *
534 * @param[in] obj The object.
535 *
536 * @return If @c true, the input panel is appeared when entry is clicked or has
537 * a focus.
538 *
539 * @ingroup Elm_Entry
540 */
541EOAPI Eina_Bool elm_obj_entry_input_panel_enabled_get(const Eo *obj);
542
543/**
544 * @brief Set the line wrap type to use on multi-line entries.
545 *
546 * Sets the wrap type used by the entry to any of the specified in
547 * Elm_Wrap_Type. This tells how the text will be implicitly cut into a new
548 * line (without inserting a line break or paragraph separator) when it reaches
549 * the far edge of the widget.
550 *
551 * Note that this only makes sense for multi-line entries. A widget set to be
552 * single line will never wrap.
553 *
554 * @param[in] obj The object.
555 * @param[in] wrap The wrap mode to use. See Elm_Wrap_Type for details on them.
556 *
557 * @ingroup Elm_Entry
558 */
559EOAPI void elm_obj_entry_line_wrap_set(Eo *obj, Elm_Wrap_Type wrap);
560
561/**
562 * @brief Get the wrap mode the entry was set to use.
563 *
564 * @param[in] obj The object.
565 *
566 * @return The wrap mode to use. See Elm_Wrap_Type for details on them.
567 *
568 * @ingroup Elm_Entry
569 */
570EOAPI Elm_Wrap_Type elm_obj_entry_line_wrap_get(const Eo *obj);
571
572/**
573 * @brief Sets the cursor position in the entry to the given value
574 *
575 * The value in @c pos is the index of the character position within the
576 * contents of the string as returned by @ref elm_obj_entry_cursor_pos_get.
577 *
578 * @param[in] obj The object.
579 * @param[in] pos The position of the cursor.
580 *
581 * @ingroup Elm_Entry
582 */
583EOAPI void elm_obj_entry_cursor_pos_set(Eo *obj, int pos);
584
585/**
586 * @brief Get the current position of the cursor in the entry.
587 *
588 * @param[in] obj The object.
589 *
590 * @return The position of the cursor.
591 *
592 * @ingroup Elm_Entry
593 */
594EOAPI int elm_obj_entry_cursor_pos_get(const Eo *obj);
595
596/**
597 * @brief Sets the visibility of the left-side widget of the entry, set by @ref
598 * elm_object_part_content_set.
599 *
600 * @param[in] obj The object.
601 * @param[in] setting @c true if the object should be displayed, @c false if
602 * not.
603 *
604 * @ingroup Elm_Entry
605 */
606EOAPI void elm_obj_entry_icon_visible_set(Eo *obj, Eina_Bool setting);
607
608/** This moves the cursor to the end of the current line.
609 *
610 * @ingroup Elm_Entry
611 */
612EOAPI void elm_obj_entry_cursor_line_end_set(Eo *obj);
613
614/**
615 * @brief This selects a region of text within the entry.
616 *
617 * @param[in] obj The object.
618 * @param[in] start The starting position.
619 * @param[in] end The end position.
620 *
621 * @since 1.9
622 *
623 * @ingroup Elm_Entry
624 */
625EOAPI void elm_obj_entry_select_region_set(Eo *obj, int start, int end);
626
627/**
628 * @brief Get the current position of the selection cursors in the entry.
629 *
630 * @param[in] obj The object.
631 * @param[out] start The starting position.
632 * @param[out] end The end position.
633 *
634 * @since 1.18
635 *
636 * @ingroup Elm_Entry
637 */
638EOAPI void elm_obj_entry_select_region_get(const Eo *obj, int *start, int *end);
639
640/**
641 * @brief Set whether the return key on the input panel is disabled
642 * automatically when entry has no text.
643 *
644 * If @c enabled is @c true, The return key on input panel is disabled when the
645 * entry has no text. The return key on the input panel is automatically
646 * enabled when the entry has text. The default value is @c false.
647 *
648 * @param[in] obj The object.
649 * @param[in] enabled If @c enabled is @c true, the return key is automatically
650 * disabled when the entry has no text.
651 *
652 * @ingroup Elm_Entry
653 */
654EOAPI void elm_obj_entry_input_panel_return_key_autoenabled_set(Eo *obj, Eina_Bool enabled);
655
656/**
657 * @brief Sets the visibility of the end widget of the entry, set by @ref
658 * elm_object_part_content_set(ent, "end", content).
659 *
660 * @param[in] obj The object.
661 * @param[in] setting @c true if the object should be displayed, false if not.
662 *
663 * @ingroup Elm_Entry
664 */
665EOAPI void elm_obj_entry_end_visible_set(Eo *obj, Eina_Bool setting);
666
667/** This moves the cursor to the beginning of the entry.
668 *
669 * @ingroup Elm_Entry
670 */
671EOAPI void elm_obj_entry_cursor_begin_set(Eo *obj);
672
673/** This moves the cursor to the beginning of the current line.
674 *
675 * @ingroup Elm_Entry
676 */
677EOAPI void elm_obj_entry_cursor_line_begin_set(Eo *obj);
678
679/** This moves the cursor to the end of the entry.
680 *
681 * @ingroup Elm_Entry
682 */
683EOAPI void elm_obj_entry_cursor_end_set(Eo *obj);
684
685/**
686 * @brief Returns the actual textblock object of the entry.
687 *
688 * This function exposes the internal textblock object that actually contains
689 * and draws the text. This should be used for low-level manipulations that are
690 * otherwise not possible.
691 *
692 * Changing the textblock directly from here will not notify edje/elm to
693 * recalculate the textblock size automatically, so any modifications done to
694 * the textblock returned by this function should be followed by a call to @ref
695 * elm_entry_calc_force.
696 *
697 * The return value is marked as const as an additional warning. One should not
698 * use the returned object with any of the generic evas functions
699 * (geometry_get/resize/move and etc), but only with the textblock functions;
700 * The former will either not work at all, or break the correct functionality.
701 *
702 * IMPORTANT: Many functions may change (i.e delete and create a new one) the
703 * internal textblock object. Do NOT cache the returned object, and try not to
704 * mix calls on this object with regular elm_entry calls (which may change the
705 * internal textblock object). This applies to all cursors returned from
706 * textblock calls, and all the other derivative values.
707 *
708 * @param[in] obj The object.
709 *
710 * @return Textblock object
711 *
712 * @ingroup Elm_Entry
713 */
714EOAPI Efl_Canvas_Object *elm_obj_entry_textblock_get(const Eo *obj);
715
716/**
717 * @brief This function returns the geometry of the cursor.
718 *
719 * It's useful if you want to draw something on the cursor (or where it is), or
720 * for example in the case of scrolled entry where you want to show the cursor.
721 *
722 * @param[in] obj The object.
723 * @param[out] x X coordinate
724 * @param[out] y Y coordinate
725 * @param[out] w Width
726 * @param[out] h Height
727 *
728 * @return @c true on success, @c false otherwise
729 *
730 * @ingroup Elm_Entry
731 */
732EOAPI Eina_Bool elm_obj_entry_textblock_cursor_geometry_get(const Eo *obj, int *x, int *y, int *w, int *h);
733
734/**
735 * @brief Returns the input method context of the entry.
736 *
737 * This function exposes the internal input method context.
738 *
739 * IMPORTANT: Many functions may change (i.e delete and create a new one) the
740 * internal input method context. Do NOT cache the returned object.
741 *
742 * @param[in] obj The object.
743 *
744 * @return Input method context
745 *
746 * @ingroup Elm_Entry
747 */
748EOAPI void *elm_obj_entry_imf_context_get(const Eo *obj);
749
750/**
751 * @brief Get whether a format node exists at the current cursor position.
752 *
753 * A format node is anything that defines how the text is rendered. It can be a
754 * visible format node, such as a line break or a paragraph separator, or an
755 * invisible one, such as bold begin or end tag. This function returns whether
756 * any format node exists at the current cursor position.
757 *
758 * @param[in] obj The object.
759 *
760 * @return @c true if format node exists, @c false otherwise
761 *
762 * @ingroup Elm_Entry
763 */
764EOAPI Eina_Bool elm_obj_entry_cursor_is_format_get(const Eo *obj);
765
766/**
767 * @brief Get the character pointed by the cursor at its current position.
768 *
769 * This function returns a string with the utf8 character stored at the current
770 * cursor position. Only the text is returned, any format that may exist will
771 * not be part of the return value. You must free the string when done with
772 * @ref free.
773 *
774 * @param[in] obj The object.
775 *
776 * @return Character
777 *
778 * @ingroup Elm_Entry
779 */
780EOAPI char *elm_obj_entry_textblock_cursor_content_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
781
782/**
783 * @brief Get any selected text within the entry.
784 *
785 * If there's any selected text in the entry, this function returns it as a
786 * string in markup format. @c null is returned if no selection exists or if an
787 * error occurred.
788 *
789 * The returned value points to an internal string and should not be freed or
790 * modified in any way. If the @c entry object is deleted or its contents are
791 * changed, the returned pointer should be considered invalid.
792 *
793 * @param[in] obj The object.
794 *
795 * @return Selected string
796 *
797 * @ingroup Elm_Entry
798 */
799EOAPI const char *elm_obj_entry_selection_get(const Eo *obj);
800
801/**
802 * @brief Get if the current cursor position holds a visible format node.
803 *
804 * @param[in] obj The object.
805 *
806 * @return @c true if position has a visible format, @c false otherwise
807 *
808 * @ingroup Elm_Entry
809 */
810EOAPI Eina_Bool elm_obj_entry_cursor_is_visible_format_get(const Eo *obj);
811
812/**
813 * @brief Allow selection in the entry.
814 *
815 * @param[in] obj The object.
816 * @param[in] allow If @c allow is true, the text selection is allowed.
817 *
818 * @since 1.18
819 *
820 * @ingroup Elm_Entry
821 */
822EOAPI void elm_obj_entry_select_allow_set(Eo *obj, Eina_Bool allow);
823
824/**
825 * @brief Allow selection in the entry.
826 *
827 * @param[in] obj The object.
828 *
829 * @return If @c allow is true, the text selection is allowed.
830 *
831 * @since 1.18
832 *
833 * @ingroup Elm_Entry
834 */
835EOAPI Eina_Bool elm_obj_entry_select_allow_get(const Eo *obj);
836
837/**
838 * @brief This moves the cursor one place to the left within the entry.
839 *
840 * @param[in] obj The object.
841 *
842 * @return @c true on success, @c false otherwise
843 *
844 * @ingroup Elm_Entry
845 */
846EOAPI Eina_Bool elm_obj_entry_cursor_prev(Eo *obj);
847
848/** Remove the style in the top of user style stack.
849 *
850 * @since 1.7
851 *
852 * @ingroup Elm_Entry
853 */
854EOAPI void elm_obj_entry_text_style_user_pop(Eo *obj);
855
856/**
857 * @brief This prepends a custom item provider to the list for that entry
858 *
859 * This prepends the given callback.
860 *
861 * @param[in] obj The object.
862 * @param[in] func The function called to provide the item object.
863 * @param[in] data The data passed to @c func.
864 *
865 * @ingroup Elm_Entry
866 */
867EOAPI void elm_obj_entry_item_provider_prepend(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
868
869/**
870 * @brief Show the input panel (virtual keyboard) based on the input panel
871 * property of entry such as layout, autocapital types, and so on.
872 *
873 * Note that input panel is shown or hidden automatically according to the
874 * focus state of entry widget. This API can be used in the case of manually
875 * controlling by using @ref elm_obj_entry_input_panel_enabled_set(en,
876 * @c false).
877 * @param[in] obj The object.
878 *
879 * @ingroup Elm_Entry
880 */
881EOAPI void elm_obj_entry_input_panel_show(Eo *obj);
882
883/**
884 * @brief Reset the input method context of the entry if needed.
885 *
886 * This can be necessary in the case where modifying the buffer would confuse
887 * on-going input method behavior. This will typically cause the Input Method
888 * Context to clear the preedit state.
889 * @param[in] obj The object.
890 *
891 * @ingroup Elm_Entry
892 */
893EOAPI void elm_obj_entry_imf_context_reset(Eo *obj);
894
895/**
896 * @brief Ends the hover popup in the entry
897 *
898 * When an anchor is clicked, the entry widget will create a hover object to
899 * use as a popup with user provided content. This function terminates this
900 * popup, returning the entry to its normal state.
901 * @param[in] obj The object.
902 *
903 * @ingroup Elm_Entry
904 */
905EOAPI void elm_obj_entry_anchor_hover_end(Eo *obj);
906
907/** This begins a selection within the entry as though the user were holding
908 * down the mouse button to make a selection.
909 *
910 * @ingroup Elm_Entry
911 */
912EOAPI void elm_obj_entry_cursor_selection_begin(Eo *obj);
913
914/**
915 * @brief This moves the cursor one line down within the entry.
916 *
917 * @param[in] obj The object.
918 *
919 * @return @c true on success, @c false otherwise
920 *
921 * @ingroup Elm_Entry
922 */
923EOAPI Eina_Bool elm_obj_entry_cursor_down(Eo *obj);
924
925/** This function writes any changes made to the file set with @ref
926 * elm_entry_file_set.
927 *
928 * @ingroup Elm_Entry
929 */
930EOAPI void elm_obj_entry_file_save(Eo *obj);
931
932/** This executes a "copy" action on the selected text in the entry.
933 *
934 * @ingroup Elm_Entry
935 */
936EOAPI void elm_obj_entry_selection_copy(Eo *obj);
937
938/**
939 * @brief Push the style to the top of user style stack. If there is styles in
940 * the user style stack, the properties in the top style of user style stack
941 * will replace the properties in current theme. The input style is specified
942 * in format tag='property=value' (i.e. DEFAULT='font=Sans
943 * font_size=60'hilight=' + font_weight=Bold').
944 *
945 * @param[in] obj The object.
946 * @param[in] style The style user to push.
947 *
948 * @since 1.7
949 *
950 * @ingroup Elm_Entry
951 */
952EOAPI void elm_obj_entry_text_style_user_push(Eo *obj, const char *style);
953
954/**
955 * @brief This removes a custom item provider to the list for that entry
956 *
957 * This removes the given callback. See @ref elm_obj_entry_item_provider_append
958 * for more information
959 *
960 * @param[in] obj The object.
961 * @param[in] func The function called to provide the item object.
962 * @param[in] data The data passed to @c func.
963 *
964 * @ingroup Elm_Entry
965 */
966EOAPI void elm_obj_entry_item_provider_remove(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
967
968/**
969 * @brief Get the style on the top of user style stack.
970 *
971 * See also @ref elm_obj_entry_text_style_user_push.
972 *
973 * @param[in] obj The object.
974 *
975 * @return Style
976 *
977 * @since 1.7
978 *
979 * @ingroup Elm_Entry
980 */
981EOAPI const char *elm_obj_entry_text_style_user_peek(const Eo *obj);
982
983/**
984 * @brief This clears and frees the items in a entry's contextual (longpress)
985 * menu.
986 *
987 * See also @ref elm_obj_entry_context_menu_item_add.
988 * @param[in] obj The object.
989 *
990 * @ingroup Elm_Entry
991 */
992EOAPI void elm_obj_entry_context_menu_clear(Eo *obj);
993
994/**
995 * @brief This moves the cursor one line up within the entry.
996 *
997 * @param[in] obj The object.
998 *
999 * @return @c true on success, @c false otherwise
1000 *
1001 * @ingroup Elm_Entry
1002 */
1003EOAPI Eina_Bool elm_obj_entry_cursor_up(Eo *obj);
1004
1005/**
1006 * @brief Inserts the given text into the entry at the current cursor position.
1007 *
1008 * This inserts text at the cursor position as if it was typed by the user
1009 * (note that this also allows markup which a user can't just "type" as it
1010 * would be converted to escaped text, so this call can be used to insert
1011 * things like emoticon items or bold push/pop tags, other font and color
1012 * change tags etc.)
1013 *
1014 * If any selection exists, it will be replaced by the inserted text.
1015 *
1016 * The inserted text is subject to any filters set for the widget.
1017 *
1018 * See also @ref elm_obj_entry_markup_filter_append.
1019 *
1020 * @param[in] obj The object.
1021 * @param[in] entry The text to insert.
1022 *
1023 * @ingroup Elm_Entry
1024 */
1025EOAPI void elm_obj_entry_insert(Eo *obj, const char *entry);
1026
1027/**
1028 * @brief Set the input panel-specific data to deliver to the input panel.
1029 *
1030 * This API is used by applications to deliver specific data to the input
1031 * panel. The data format MUST be negotiated by both application and the input
1032 * panel. The size and format of data are defined by the input panel.
1033 *
1034 * @param[in] obj The object.
1035 * @param[in] data The specific data to be set to the input panel.
1036 * @param[in] len The length of data, in bytes, to send to the input panel.
1037 *
1038 * @ingroup Elm_Entry
1039 */
1040EOAPI void elm_obj_entry_input_panel_imdata_set(Eo *obj, const void *data, int len);
1041
1042/**
1043 * @brief Get the specific data of the current input panel.
1044 *
1045 * @param[in] obj The object.
1046 * @param[out] data The specific data to be got from the input panel.
1047 * @param[out] len The length of data.
1048 *
1049 * @ingroup Elm_Entry
1050 */
1051EOAPI void elm_obj_entry_input_panel_imdata_get(const Eo *obj, void *data, int *len);
1052
1053/** This executes a "paste" action in the entry.
1054 *
1055 * @ingroup Elm_Entry
1056 */
1057EOAPI void elm_obj_entry_selection_paste(Eo *obj);
1058
1059/**
1060 * @brief This moves the cursor one place to the right within the entry.
1061 *
1062 * @param[in] obj The object.
1063 *
1064 * @return @c true on success, @c false otherwise
1065 *
1066 * @ingroup Elm_Entry
1067 */
1068EOAPI Eina_Bool elm_obj_entry_cursor_next(Eo *obj);
1069
1070/** This drops any existing text selection within the entry.
1071 *
1072 * @ingroup Elm_Entry
1073 */
1074EOAPI void elm_obj_entry_select_none(Eo *obj);
1075
1076/**
1077 * @brief Hide the input panel (virtual keyboard).
1078 *
1079 * Note that input panel is shown or hidden automatically according to the
1080 * focus state of entry widget. This API can be used in the case of manually
1081 * controlling by using @ref elm_obj_entry_input_panel_enabled_set(en,
1082 * @c false)
1083 * @param[in] obj The object.
1084 *
1085 * @ingroup Elm_Entry
1086 */
1087EOAPI void elm_obj_entry_input_panel_hide(Eo *obj);
1088
1089/** This selects all text within the entry.
1090 *
1091 * @ingroup Elm_Entry
1092 */
1093EOAPI void elm_obj_entry_select_all(Eo *obj);
1094
1095/** This ends a selection within the entry as though the user had just released
1096 * the mouse button while making a selection.
1097 *
1098 * @ingroup Elm_Entry
1099 */
1100EOAPI void elm_obj_entry_cursor_selection_end(Eo *obj);
1101
1102/** This executes a "cut" action on the selected text in the entry.
1103 *
1104 * @ingroup Elm_Entry
1105 */
1106EOAPI void elm_obj_entry_selection_cut(Eo *obj);
1107
1108/**
1109 * @brief Get whether the entry is empty.
1110 *
1111 * Empty means no text at all. If there are any markup tags, like an item tag
1112 * for which no provider finds anything, and no text is displayed, this
1113 * function still returns @c false.
1114 *
1115 * @param[in] obj The object.
1116 *
1117 * @return @c true if empty, @c false otherwise
1118 *
1119 * @ingroup Elm_Entry
1120 */
1121EOAPI Eina_Bool elm_obj_entry_is_empty(const Eo *obj);
1122
1123/**
1124 * @brief Remove a markup filter from the list
1125 *
1126 * Removes the given callback from the filter list. See
1127 * @ref elm_obj_entry_markup_filter_append for more information.
1128 *
1129 * @param[in] obj The object.
1130 * @param[in] func The filter function to remove.
1131 * @param[in] data The user data passed when adding the function.
1132 *
1133 * @ingroup Elm_Entry
1134 */
1135EOAPI void elm_obj_entry_markup_filter_remove(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
1136
1137/**
1138 * @brief This appends a custom item provider to the list for that entry
1139 *
1140 * This appends the given callback. The list is walked from beginning to end
1141 * with each function called given the item href string in the text. If the
1142 * function returns an object handle other than @c null (it should create an
1143 * object to do this), then this object is used to replace that item. If not
1144 * the next provider is called until one provides an item object, or the
1145 * default provider in entry does.
1146 *
1147 * See also @ref entry-items.
1148 *
1149 * @param[in] obj The object.
1150 * @param[in] func The function called to provide the item object.
1151 * @param[in] data The data passed to @c func.
1152 *
1153 * @ingroup Elm_Entry
1154 */
1155EOAPI void elm_obj_entry_item_provider_append(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
1156
1157/**
1158 * @brief Append a markup filter function for text inserted in the entry
1159 *
1160 * Append the given callback to the list. This functions will be called
1161 * whenever any text is inserted into the entry, with the text to be inserted
1162 * as a parameter. The type of given text is always markup. The callback
1163 * function is free to alter the text in any way it wants, but it must remember
1164 * to free the given pointer and update it. If the new text is to be discarded,
1165 * the function can free it and set its text parameter to @c null. This will
1166 * also prevent any following filters from being called.
1167 *
1168 * @param[in] obj The object.
1169 * @param[in] func The function to use as text filter.
1170 * @param[in] data User data to pass to @c func.
1171 *
1172 * @ingroup Elm_Entry
1173 */
1174EOAPI void elm_obj_entry_markup_filter_append(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
1175
1176/**
1177 * @brief Appends @c str to the text of the entry.
1178 *
1179 * Adds the text in @c str to the end of any text already present in the
1180 * widget.
1181 *
1182 * The appended text is subject to any filters set for the widget.
1183 *
1184 * See also @ref elm_obj_entry_markup_filter_append.
1185 *
1186 * @param[in] obj The object.
1187 * @param[in] str The text to be appended.
1188 *
1189 * @ingroup Elm_Entry
1190 */
1191EOAPI void elm_obj_entry_append(Eo *obj, const char *str);
1192
1193/**
1194 * @brief This adds an item to the entry's contextual menu.
1195 *
1196 * A longpress on an entry will make the contextual menu show up, if this
1197 * hasn't been disabled with @ref elm_obj_entry_context_menu_disabled_set. By
1198 * default, this menu provides a few options like enabling selection mode,
1199 * which is useful on embedded devices that need to be explicit about it, and
1200 * when a selection exists it also shows the copy and cut actions.
1201 *
1202 * With this function, developers can add other options to this menu to perform
1203 * any action they deem necessary.
1204 *
1205 * @param[in] obj The object.
1206 * @param[in] label The item's text label.
1207 * @param[in] icon_file The item's icon file.
1208 * @param[in] icon_type The item's icon type.
1209 * @param[in] func The callback to execute when the item is clicked.
1210 * @param[in] data The data to associate with the item for related functions.
1211 *
1212 * @ingroup Elm_Entry
1213 */
1214EOAPI void elm_obj_entry_context_menu_item_add(Eo *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
1215
1216/**
1217 * @brief Prepend a markup filter function for text inserted in the entry
1218 *
1219 * Prepend the given callback to the list.
1220 *
1221 * @param[in] obj The object.
1222 * @param[in] func The function to use as text filter.
1223 * @param[in] data User data to pass to @c func.
1224 *
1225 * @ingroup Elm_Entry
1226 */
1227EOAPI void elm_obj_entry_markup_filter_prepend(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
1228
1229/**
1230 * @brief Sets the prediction hint to use an intelligent reply suggestion
1231 * service.
1232 *
1233 * @param[in] obj The object.
1234 * @param[in] prediction_hint The prediction hint text.
1235 *
1236 * @since 1.20
1237 *
1238 * @ingroup Elm_Entry
1239 */
1240EOAPI void elm_obj_entry_prediction_hint_set(Eo *obj, const char *prediction_hint);
1241
1242/**
1243 * @brief Sets the prediction hint data at the specified key.
1244 *
1245 * @param[in] obj The object.
1246 * @param[in] key The key of the prediction hint.
1247 * @param[in] value The data to replace.
1248 *
1249 * @return @c true on success, @c false otherwise
1250 *
1251 * @since 1.21
1252 *
1253 * @ingroup Elm_Entry
1254 */
1255EOAPI Eina_Bool elm_obj_entry_prediction_hint_hash_set(Eo *obj, const char *key, const char *value);
1256
1257/**
1258 * @brief Removes the prediction hint data identified by a key.
1259 *
1260 * @param[in] obj The object.
1261 * @param[in] key The key of the prediction hint.
1262 *
1263 * @return @c true on success, @c false otherwise
1264 *
1265 * @since 1.21
1266 *
1267 * @ingroup Elm_Entry
1268 */
1269EOAPI Eina_Bool elm_obj_entry_prediction_hint_hash_del(Eo *obj, const char *key);
1270
1271EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ACTIVATED;
1272
1273/** Called when entry got activated
1274 *
1275 * @ingroup Elm_Entry
1276 */
1277#define ELM_ENTRY_EVENT_ACTIVATED (&(_ELM_ENTRY_EVENT_ACTIVATED))
1278
1279EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED;
1280
1281/** Called when entry changed
1282 *
1283 * @ingroup Elm_Entry
1284 */
1285#define ELM_ENTRY_EVENT_CHANGED (&(_ELM_ENTRY_EVENT_CHANGED))
1286
1287EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED_USER;
1288
1289/** Called when the object changed due to user interaction
1290 * @return Elm_Entry_Change_Info
1291 *
1292 * @ingroup Elm_Entry
1293 */
1294#define ELM_ENTRY_EVENT_CHANGED_USER (&(_ELM_ENTRY_EVENT_CHANGED_USER))
1295
1296EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_VALIDATE;
1297
1298/** Called when validating
1299 * @return Elm_Validate_Content
1300 *
1301 * @ingroup Elm_Entry
1302 */
1303#define ELM_ENTRY_EVENT_VALIDATE (&(_ELM_ENTRY_EVENT_VALIDATE))
1304
1305EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CONTEXT_OPEN;
1306
1307/** Called when context menu was opened
1308 *
1309 * @ingroup Elm_Entry
1310 */
1311#define ELM_ENTRY_EVENT_CONTEXT_OPEN (&(_ELM_ENTRY_EVENT_CONTEXT_OPEN))
1312
1313EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_CLICKED;
1314
1315/** Called when anchor was clicked
1316 * @return Elm_Entry_Anchor_Info
1317 *
1318 * @ingroup Elm_Entry
1319 */
1320#define ELM_ENTRY_EVENT_ANCHOR_CLICKED (&(_ELM_ENTRY_EVENT_ANCHOR_CLICKED))
1321
1322EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_REJECTED;
1323
1324/** Called when entry was rejected
1325 *
1326 * @ingroup Elm_Entry
1327 */
1328#define ELM_ENTRY_EVENT_REJECTED (&(_ELM_ENTRY_EVENT_REJECTED))
1329
1330EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_MAXLENGTH_REACHED;
1331
1332/** Called when maximum entry length has been reached
1333 *
1334 * @ingroup Elm_Entry
1335 */
1336#define ELM_ENTRY_EVENT_MAXLENGTH_REACHED (&(_ELM_ENTRY_EVENT_MAXLENGTH_REACHED))
1337
1338EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_PREEDIT_CHANGED;
1339
1340/** Called when entry preedit changed
1341 *
1342 * @ingroup Elm_Entry
1343 */
1344#define ELM_ENTRY_EVENT_PREEDIT_CHANGED (&(_ELM_ENTRY_EVENT_PREEDIT_CHANGED))
1345
1346EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_PRESS;
1347
1348/** Called when entry pressed
1349 *
1350 * @ingroup Elm_Entry
1351 */
1352#define ELM_ENTRY_EVENT_PRESS (&(_ELM_ENTRY_EVENT_PRESS))
1353
1354EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_REDO_REQUEST;
1355
1356/** Called when redo was requested
1357 *
1358 * @ingroup Elm_Entry
1359 */
1360#define ELM_ENTRY_EVENT_REDO_REQUEST (&(_ELM_ENTRY_EVENT_REDO_REQUEST))
1361
1362EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_UNDO_REQUEST;
1363
1364/** Called when undo was requested
1365 *
1366 * @ingroup Elm_Entry
1367 */
1368#define ELM_ENTRY_EVENT_UNDO_REQUEST (&(_ELM_ENTRY_EVENT_UNDO_REQUEST))
1369
1370EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_TEXT_SET_DONE;
1371
1372/** Called when text set finished
1373 *
1374 * @ingroup Elm_Entry
1375 */
1376#define ELM_ENTRY_EVENT_TEXT_SET_DONE (&(_ELM_ENTRY_EVENT_TEXT_SET_DONE))
1377
1378EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ABORTED;
1379
1380/** Called when entry was aborted
1381 *
1382 * @ingroup Elm_Entry
1383 */
1384#define ELM_ENTRY_EVENT_ABORTED (&(_ELM_ENTRY_EVENT_ABORTED))
1385
1386EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_DOWN;
1387
1388/** Called on anchor down
1389 * @return Elm_Entry_Anchor_Info
1390 *