summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:15:35 -0800
commit6db020521dd6857028426308943da7f5ea2dbba1 (patch)
tree04add4a780a7279bb4b743b679f9fb8ca64c57fa /src
parentc5493fb81ca40f16f591346bd9d732f8cea188af (diff)
elm_interface_fileselector: 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/D8178
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am4
-rw-r--r--src/lib/elementary/elc_fileselector_legacy.h2
-rw-r--r--src/lib/elementary/elm_interface_fileselector.c2
-rw-r--r--src/lib/elementary/elm_interface_fileselector.eo173
-rw-r--r--src/lib/elementary/elm_interface_fileselector.h4
-rw-r--r--src/lib/elementary/elm_interface_fileselector_eo.c236
-rw-r--r--src/lib/elementary/elm_interface_fileselector_eo.h326
-rw-r--r--src/lib/elementary/elm_interface_fileselector_eo.legacy.h73
-rw-r--r--src/lib/elementary/meson.build3
9 files changed, 644 insertions, 179 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index ba07090..f16b37c 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -186,7 +186,6 @@ elm_private_eolian_files = \
186# Legacy classes - not part of public EO API 186# Legacy classes - not part of public EO API
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 \
190 lib/elementary/elm_label.eo \ 189 lib/elementary/elm_label.eo \
191 lib/elementary/elm_list.eo \ 190 lib/elementary/elm_list.eo \
192 lib/elementary/elm_map.eo \ 191 lib/elementary/elm_map.eo \
@@ -362,6 +361,7 @@ lib/elementary/elm_index_eo.c \
362lib/elementary/elm_index_eo.legacy.c \ 361lib/elementary/elm_index_eo.legacy.c \
363lib/elementary/elm_index_item_eo.c \ 362lib/elementary/elm_index_item_eo.c \
364lib/elementary/elm_index_item_eo.legacy.c \ 363lib/elementary/elm_index_item_eo.legacy.c \
364lib/elementary/elm_interface_fileselector_eo.c \
365$(NULL) 365$(NULL)
366 366
367elm_legacy_eo_headers = \ 367elm_legacy_eo_headers = \
@@ -487,6 +487,8 @@ lib/elementary/elm_index_eo.h \
487lib/elementary/elm_index_eo.legacy.h \ 487lib/elementary/elm_index_eo.legacy.h \
488lib/elementary/elm_index_item_eo.h \ 488lib/elementary/elm_index_item_eo.h \
489lib/elementary/elm_index_item_eo.legacy.h \ 489lib/elementary/elm_index_item_eo.legacy.h \
490lib/elementary/elm_interface_fileselector_eo.h \
491lib/elementary/elm_interface_fileselector_eo.legacy.h \
490$(NULL) 492$(NULL)
491 493
492 494
diff --git a/src/lib/elementary/elc_fileselector_legacy.h b/src/lib/elementary/elc_fileselector_legacy.h
index abc15a8..252767e 100644
--- a/src/lib/elementary/elc_fileselector_legacy.h
+++ b/src/lib/elementary/elc_fileselector_legacy.h
@@ -1,4 +1,4 @@
1#include "elm_interface_fileselector.eo.legacy.h" 1#include "elm_interface_fileselector_eo.legacy.h"
2/** 2/**
3 * Add a new file selector widget to the given parent Elementary 3 * Add a new file selector widget to the given parent Elementary
4 * (container) object 4 * (container) object
diff --git a/src/lib/elementary/elm_interface_fileselector.c b/src/lib/elementary/elm_interface_fileselector.c
index cd2c195..1ccf3b1 100644
--- a/src/lib/elementary/elm_interface_fileselector.c
+++ b/src/lib/elementary/elm_interface_fileselector.c
@@ -8,4 +8,4 @@
8 8
9#include "elm_interface_fileselector.h" 9#include "elm_interface_fileselector.h"
10 10
11#include "elm_interface_fileselector.eo.c" 11#include "elm_interface_fileselector_eo.c"
diff --git a/src/lib/elementary/elm_interface_fileselector.eo b/src/lib/elementary/elm_interface_fileselector.eo
deleted file mode 100644
index 1bdd24c..0000000
--- a/src/lib/elementary/elm_interface_fileselector.eo
+++ /dev/null
@@ -1,173 +0,0 @@
1type Elm_Fileselector_Filter_Func: __undefined_type; [[Elementary fileselector filter function type]]
2
3enum Elm.Fileselector.Mode
4{
5 [[Defines how a file selector widget is to layout its contents
6 (file system entries).
7 ]]
8 legacy: elm_fileselector;
9 list = 0, [[Layout as a list.]]
10 grid, [[Layout as a grid.]]
11 last [[Sentinel value to indicate last enum field during iteration]]
12}
13
14enum Elm.Fileselector.Sort
15{
16 [[Fileselector sorting modes]]
17 by_filename_asc = 0, [[Alphabetical sort by ascending filename, default]]
18 by_filename_desc, [[Alphabetical sorting by descending filename]]
19 by_type_asc, [[Sort by file type]]
20 by_type_desc, [[Sort by file type description]]
21 by_size_asc, [[Sort by ascending file size]]
22 by_size_desc, [[Sort by descending file size]]
23 by_modified_asc, [[Sort by ascending modified date]]
24 by_modified_desc, [[Sort by descending modified date]]
25 last [[Sentinel value to indicate last enum field during iteration]]
26}
27
28interface Elm.Interface.Fileselector extends Efl.Ui.View
29{
30 [[Elementary fileselector interface]]
31 eo_prefix: elm_interface_fileselector;
32 methods {
33 @property folder_only {
34 set {
35 [[Enable/disable folder-only view for a given file selector widget]]
36 }
37 get {
38 [[Get whether folder-only view is set for a given file selector]]
39 }
40 values {
41 only: bool; [[$true if folder view is set, $false otherwise]]
42 }
43 }
44 @property thumbnail_size {
45 set {
46 [[Set the size for the thumbnail of the file selector widget's view.]]
47 }
48 get {
49 [[Get the size for the thumbnail of a given file selector widget]]
50 }
51 values {
52 w: int; [[Width]]
53 h: int; [[Height]]
54 }
55 }
56 @property hidden_visible {
57 set {
58 [[Enable or disable visibility of hidden files/directories in the file selector widget.]]
59 }
60 get {
61 [[Get if hiden files/directories in the file selector are visible or not.]]
62 }
63 values {
64 hidden: bool; [[$true if hidden files are visible, $false otherwise]]
65 }
66 }
67 @property sort_method {
68 set {
69 [[Set the sort method of the file selector widget.]]
70 }
71 get {
72 [[Get the sort method of the file selector widget.]]
73 }
74 values {
75 sort: Elm.Fileselector.Sort; [[Sort method]]
76 }
77 }
78 @property multi_select {
79 set {
80 [[Enable or disable multi-selection in the fileselector]]
81 }
82 get {
83 [[Gets if multi-selection in fileselector is enabled or disabled.]]
84 }
85 values {
86 multi: bool; [[$true if multiselection is enabled, $false otherwise]]
87 }
88 }
89 @property expandable {
90 set {
91 [[Enable/disable a tree view in the given file selector widget, <b>if it's in]]
92 }
93 get {
94 [[Get whether tree view is enabled for the given file selector]]
95 }
96 values {
97 expand: bool; [[$true if tree view is expanded, $false otherwise]]
98 }
99 }
100 @property mode {
101 set {
102 [[Set the mode in which a given file selector widget will display (layout) file system entries in its view]]
103 }
104 get {
105 [[Get the mode in which a given file selector widget is displaying]]
106 }
107 values {
108 mode: Elm.Fileselector.Mode; [[Fileselector mode]]
109 }
110 }
111 @property is_save {
112 set {
113 [[Enable/disable the file name entry box where the user can type in a name for a file, in a given file selector widget]]
114 }
115 get {
116 [[Get whether the given file selector is in "saving dialog" mode]]
117 }
118 values {
119 is_save: bool; [[$true if in saving mode, $false otherwise]]
120 }
121 }
122 @property selected_models {
123 get {
124 [[Get a list of models selected in the fileselector.]]
125 }
126 values {
127 ret: const(list<Efl.Model>); [[List of selected models]]
128 }
129 }
130 @property current_name {
131 [[ The filename that will be displayed in the filename entry]]
132 set {
133 }
134 get {
135 }
136 values {
137 name: string; [[Name]]
138 }
139 }
140 @property selected_model @beta {
141 set {
142 [[Set, programmatically, the currently selected file/directory in the given file selector widget]]
143 return: bool; [[$true on success, $false otherwise]]
144 }
145 get {
146 [[Get the currently selected item's model, in the given file the given file selector widget]]
147 }
148 values {
149 model: Efl.Io.Model; [[Model to be set, NULL reset it.]]
150 }
151 }
152 custom_filter_append {
153 [[Append custom filter into filter list]]
154 params {
155 @in func: Elm_Fileselector_Filter_Func; [[Filter function]]
156 @in data: void_ptr; [[Data pointer]]
157 @in filter_name: string; [[Filter name]]
158 }
159 return: bool; [[$true on success, $false otherwise]]
160 }
161 filters_clear {
162 [[Clear all filters registered]]
163 }
164 mime_types_filter_append {
165 [[Append mime type based filter into filter list]]
166 params {
167 @in mime_types: string; [[Mime types]]
168 @in filter_name: string; [[Filter name]]
169 }
170 return: bool; [[$true on success, $false otherwise]]
171 }
172 }
173}
diff --git a/src/lib/elementary/elm_interface_fileselector.h b/src/lib/elementary/elm_interface_fileselector.h
index 3938e11..2e01555 100644
--- a/src/lib/elementary/elm_interface_fileselector.h
+++ b/src/lib/elementary/elm_interface_fileselector.h
@@ -2,10 +2,10 @@
2#define ELM_INTEFARCE_FILESELECTOR_H 2#define ELM_INTEFARCE_FILESELECTOR_H
3 3
4#ifdef EFL_EO_API_SUPPORT 4#ifdef EFL_EO_API_SUPPORT
5#include "elm_interface_fileselector.eo.h" 5#include "elm_interface_fileselector_eo.h"
6#endif 6#endif
7#ifndef EFL_NOLEGACY_API_SUPPORT 7#ifndef EFL_NOLEGACY_API_SUPPORT
8#include "elm_interface_fileselector.eo.legacy.h" 8#include "elm_interface_fileselector_eo.legacy.h"
9#endif 9#endif
10 10
11#define ELM_FILESELECTOR_INTERFACE_CHECK(obj, ...) \ 11#define ELM_FILESELECTOR_INTERFACE_CHECK(obj, ...) \
diff --git a/src/lib/elementary/elm_interface_fileselector_eo.c b/src/lib/elementary/elm_interface_fileselector_eo.c
new file mode 100644
index 0000000..d24b1dc
--- /dev/null
+++ b/src/lib/elementary/elm_interface_fileselector_eo.c
@@ -0,0 +1,236 @@
1
2static Eina_Error
3__eolian_elm_interface_fileselector_folder_only_set_reflect(Eo *obj, Eina_Value val)
4{
5 Eina_Error r = 0; Eina_Bool cval;
6 if (!eina_value_bool_convert(&val, &cval))
7 {
8 r = EINA_ERROR_VALUE_FAILED;
9 goto end;
10 }
11 elm_interface_fileselector_folder_only_set(obj, cval);
12 end:
13 eina_value_flush(&val);
14 return r;
15}
16
17EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_folder_only_set, EFL_FUNC_CALL(only), Eina_Bool only);
18
19static Eina_Value
20__eolian_elm_interface_fileselector_folder_only_get_reflect(Eo *obj)
21{
22 Eina_Bool val = elm_interface_fileselector_folder_only_get(obj);
23 return eina_value_bool_init(val);
24}
25
26EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_folder_only_get, Eina_Bool, 0);
27EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_thumbnail_size_set, EFL_FUNC_CALL(w, h), int w, int h);
28EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_interface_fileselector_thumbnail_size_get, EFL_FUNC_CALL(w, h), int *w, int *h);
29
30static Eina_Error
31__eolian_elm_interface_fileselector_hidden_visible_set_reflect(Eo *obj, Eina_Value val)
32{
33 Eina_Error r = 0; Eina_Bool cval;
34 if (!eina_value_bool_convert(&val, &cval))
35 {
36 r = EINA_ERROR_VALUE_FAILED;
37 goto end;
38 }
39 elm_interface_fileselector_hidden_visible_set(obj, cval);
40 end:
41 eina_value_flush(&val);
42 return r;
43}
44
45EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_hidden_visible_set, EFL_FUNC_CALL(hidden), Eina_Bool hidden);
46
47static Eina_Value
48__eolian_elm_interface_fileselector_hidden_visible_get_reflect(Eo *obj)
49{
50 Eina_Bool val = elm_interface_fileselector_hidden_visible_get(obj);
51 return eina_value_bool_init(val);
52}
53
54EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_hidden_visible_get, Eina_Bool, 0);
55EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_sort_method_set, EFL_FUNC_CALL(sort), Elm_Fileselector_Sort sort);
56EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_sort_method_get, Elm_Fileselector_Sort, 0);
57
58static Eina_Error
59__eolian_elm_interface_fileselector_multi_select_set_reflect(Eo *obj, Eina_Value val)
60{
61 Eina_Error r = 0; Eina_Bool cval;
62 if (!eina_value_bool_convert(&val, &cval))
63 {
64 r = EINA_ERROR_VALUE_FAILED;
65 goto end;
66 }
67 elm_interface_fileselector_multi_select_set(obj, cval);
68 end:
69 eina_value_flush(&val);
70 return r;
71}
72
73EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_multi_select_set, EFL_FUNC_CALL(multi), Eina_Bool multi);
74
75static Eina_Value
76__eolian_elm_interface_fileselector_multi_select_get_reflect(Eo *obj)
77{
78 Eina_Bool val = elm_interface_fileselector_multi_select_get(obj);
79 return eina_value_bool_init(val);
80}
81
82EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_multi_select_get, Eina_Bool, 0);
83
84static Eina_Error
85__eolian_elm_interface_fileselector_expandable_set_reflect(Eo *obj, Eina_Value val)
86{
87 Eina_Error r = 0; Eina_Bool cval;
88 if (!eina_value_bool_convert(&val, &cval))
89 {
90 r = EINA_ERROR_VALUE_FAILED;
91 goto end;
92 }
93 elm_interface_fileselector_expandable_set(obj, cval);
94 end:
95 eina_value_flush(&val);
96 return r;
97}
98
99EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_expandable_set, EFL_FUNC_CALL(expand), Eina_Bool expand);
100
101static Eina_Value
102__eolian_elm_interface_fileselector_expandable_get_reflect(Eo *obj)
103{
104 Eina_Bool val = elm_interface_fileselector_expandable_get(obj);
105 return eina_value_bool_init(val);
106}
107
108EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_expandable_get, Eina_Bool, 0);
109EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_mode_set, EFL_FUNC_CALL(mode), Elm_Fileselector_Mode mode);
110EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_mode_get, Elm_Fileselector_Mode, 0);
111
112static Eina_Error
113__eolian_elm_interface_fileselector_is_save_set_reflect(Eo *obj, Eina_Value val)
114{
115 Eina_Error r = 0; Eina_Bool cval;
116 if (!eina_value_bool_convert(&val, &cval))
117 {
118 r = EINA_ERROR_VALUE_FAILED;
119 goto end;
120 }
121 elm_interface_fileselector_is_save_set(obj, cval);
122 end:
123 eina_value_flush(&val);
124 return r;
125}
126
127EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_is_save_set, EFL_FUNC_CALL(is_save), Eina_Bool is_save);
128
129static Eina_Value
130__eolian_elm_interface_fileselector_is_save_get_reflect(Eo *obj)
131{
132 Eina_Bool val = elm_interface_fileselector_is_save_get(obj);
133 return eina_value_bool_init(val);
134}
135
136EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_is_save_get, Eina_Bool, 0);
137EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_selected_models_get, const Eina_List *, NULL);
138
139static Eina_Error
140__eolian_elm_interface_fileselector_current_name_set_reflect(Eo *obj, Eina_Value val)
141{
142 Eina_Error r = 0; const char *cval;
143 if (!eina_value_string_convert(&val, &cval))
144 {
145 r = EINA_ERROR_VALUE_FAILED;
146 goto end;
147 }
148 elm_interface_fileselector_current_name_set(obj, cval);
149 end:
150 eina_value_flush(&val);
151 return r;
152}
153
154EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_current_name_set, EFL_FUNC_CALL(name), const char *name);
155
156static Eina_Value
157__eolian_elm_interface_fileselector_current_name_get_reflect(Eo *obj)
158{
159 const char *val = elm_interface_fileselector_current_name_get(obj);
160 return eina_value_string_init(val);
161}
162
163EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_current_name_get, const char *, NULL);
164EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_selected_model_set, Eina_Bool, 0, EFL_FUNC_CALL(model), Efl_Io_Model *model);
165EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_selected_model_get, Efl_Io_Model *, NULL);
166EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_custom_filter_append, Eina_Bool, 0, EFL_FUNC_CALL(func, data, filter_name), Elm_Fileselector_Filter_Func func, void *data, const char *filter_name);
167EOAPI EFL_VOID_FUNC_BODY(elm_interface_fileselector_filters_clear);
168EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_mime_types_filter_append, Eina_Bool, 0, EFL_FUNC_CALL(mime_types, filter_name), const char *mime_types, const char *filter_name);
169
170static Eina_Bool
171_elm_interface_fileselector_class_initializer(Efl_Class *klass)
172{
173 const Efl_Object_Ops *opsp = NULL;
174
175 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
176
177#ifndef ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
178#define ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
179#endif
180
181 EFL_OPS_DEFINE(ops,
182 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_set, NULL),
183 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_get, NULL),
184 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_set, NULL),
185 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_get, NULL),
186 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_set, NULL),
187 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_get, NULL),
188 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_set, NULL),
189 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_get, NULL),
190 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_set, NULL),
191 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_get, NULL),
192 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_set, NULL),
193 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_get, NULL),
194 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_set, NULL),
195 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_get, NULL),
196 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_set, NULL),
197 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_get, NULL),
198 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_models_get, NULL),
199 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_set, NULL),
200 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_get, NULL),
201 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_set, NULL),
202 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_get, NULL),
203 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_custom_filter_append, NULL),
204 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_filters_clear, NULL),
205 EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mime_types_filter_append, NULL),
206 ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
207 );
208 opsp = &ops;
209
210 static const Efl_Object_Property_Reflection refl_table[] = {
211 {"folder_only", __eolian_elm_interface_fileselector_folder_only_set_reflect, __eolian_elm_interface_fileselector_folder_only_get_reflect},
212 {"hidden_visible", __eolian_elm_interface_fileselector_hidden_visible_set_reflect, __eolian_elm_interface_fileselector_hidden_visible_get_reflect},
213 {"multi_select", __eolian_elm_interface_fileselector_multi_select_set_reflect, __eolian_elm_interface_fileselector_multi_select_get_reflect},
214 {"expandable", __eolian_elm_interface_fileselector_expandable_set_reflect, __eolian_elm_interface_fileselector_expandable_get_reflect},
215 {"is_save", __eolian_elm_interface_fileselector_is_save_set_reflect, __eolian_elm_interface_fileselector_is_save_get_reflect},
216 {"current_name", __eolian_elm_interface_fileselector_current_name_set_reflect, __eolian_elm_interface_fileselector_current_name_get_reflect},
217 };
218 static const Efl_Object_Property_Reflection_Ops rops = {
219 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
220 };
221 ropsp = &rops;
222
223 return efl_class_functions_set(klass, opsp, ropsp);
224}
225
226static const Efl_Class_Description _elm_interface_fileselector_class_desc = {
227 EO_VERSION,
228 "Elm.Interface.Fileselector",
229 EFL_CLASS_TYPE_INTERFACE,
230 0,
231 _elm_interface_fileselector_class_initializer,
232 NULL,
233 NULL
234};
235
236EFL_DEFINE_CLASS(elm_interface_fileselector_interface_get, &_elm_interface_fileselector_class_desc, NULL, EFL_UI_VIEW_INTERFACE, NULL);
diff --git a/src/lib/elementary/elm_interface_fileselector_eo.h b/src/lib/elementary/elm_interface_fileselector_eo.h
new file mode 100644
index 0000000..f0996f1
--- /dev/null
+++ b/src/lib/elementary/elm_interface_fileselector_eo.h
@@ -0,0 +1,326 @@
1#ifndef _ELM_INTERFACE_FILESELECTOR_EO_H_
2#define _ELM_INTERFACE_FILESELECTOR_EO_H_
3
4#ifndef _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
5#define _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
6
7typedef Eo Elm_Interface_Fileselector;
8
9#endif
10
11#ifndef _ELM_INTERFACE_FILESELECTOR_EO_TYPES
12#define _ELM_INTERFACE_FILESELECTOR_EO_TYPES
13
14/** Defines how a file selector widget is to layout its contents (file system
15 * entries).
16 *
17 * @ingroup Elm_Fileselector
18 */
19typedef enum
20{
21 ELM_FILESELECTOR_LIST = 0, /**< Layout as a list. */
22 ELM_FILESELECTOR_GRID, /**< Layout as a grid. */
23 ELM_FILESELECTOR_LAST /**< Sentinel value to indicate last enum field during
24 * iteration */
25} Elm_Fileselector_Mode;
26
27/** Fileselector sorting modes
28 *
29 * @ingroup Elm_Fileselector
30 */
31typedef enum
32{
33 ELM_FILESELECTOR_SORT_BY_FILENAME_ASC = 0, /**< Alphabetical sort by ascending
34 * filename, default */
35 ELM_FILESELECTOR_SORT_BY_FILENAME_DESC, /**< Alphabetical sorting by
36 * descending filename */
37 ELM_FILESELECTOR_SORT_BY_TYPE_ASC, /**< Sort by file type */
38 ELM_FILESELECTOR_SORT_BY_TYPE_DESC, /**< Sort by file type description */
39 ELM_FILESELECTOR_SORT_BY_SIZE_ASC, /**< Sort by ascending file size */
40 ELM_FILESELECTOR_SORT_BY_SIZE_DESC, /**< Sort by descending file size */
41 ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC, /**< Sort by ascending modified date */
42 ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC, /**< Sort by descending modified date
43 */
44 ELM_FILESELECTOR_SORT_LAST /**< Sentinel value to indicate last enum field
45 * during iteration */
46} Elm_Fileselector_Sort;
47
48
49#endif
50/** Elementary fileselector interface
51 *
52 * @ingroup Elm_Interface_Fileselector
53 */
54#define ELM_INTERFACE_FILESELECTOR_INTERFACE elm_interface_fileselector_interface_get()
55
56EWAPI const Efl_Class *elm_interface_fileselector_interface_get(void);
57
58/**
59 * @brief Enable/disable folder-only view for a given file selector widget
60 *
61 * @param[in] obj The object.
62 * @param[in] only @c true if folder view is set, @c false otherwise
63 *
64 * @ingroup Elm_Interface_Fileselector
65 */
66EOAPI void elm_interface_fileselector_folder_only_set(Eo *obj, Eina_Bool only);
67
68/**
69 * @brief Get whether folder-only view is set for a given file selector
70 *
71 * @param[in] obj The object.
72 *
73 * @return @c true if folder view is set, @c false otherwise
74 *
75 * @ingroup Elm_Interface_Fileselector
76 */
77EOAPI Eina_Bool elm_interface_fileselector_folder_only_get(const Eo *obj);
78
79/**
80 * @brief Set the size for the thumbnail of the file selector widget's view.
81 *
82 * @param[in] obj The object.
83 * @param[in] w Width
84 * @param[in] h Height
85 *
86 * @ingroup Elm_Interface_Fileselector
87 */
88EOAPI void elm_interface_fileselector_thumbnail_size_set(Eo *obj, int w, int h);
89
90/**
91 * @brief Get the size for the thumbnail of a given file selector widget
92 *
93 * @param[in] obj The object.
94 * @param[out] w Width
95 * @param[out] h Height
96 *
97 * @ingroup Elm_Interface_Fileselector
98 */
99EOAPI void elm_interface_fileselector_thumbnail_size_get(const Eo *obj, int *w, int *h);
100
101/**
102 * @brief Enable or disable visibility of hidden files/directories in the file
103 * selector widget.
104 *
105 * @param[in] obj The object.
106 * @param[in] hidden @c true if hidden files are visible, @c false otherwise
107 *
108 * @ingroup Elm_Interface_Fileselector
109 */
110EOAPI void elm_interface_fileselector_hidden_visible_set(Eo *obj, Eina_Bool hidden);
111
112/**
113 * @brief Get if hiden files/directories in the file selector are visible or
114 * not.
115 *
116 * @param[in] obj The object.
117 *
118 * @return @c true if hidden files are visible, @c false otherwise
119 *
120 * @ingroup Elm_Interface_Fileselector
121 */
122EOAPI Eina_Bool elm_interface_fileselector_hidden_visible_get(const Eo *obj);
123
124/**
125 * @brief Set the sort method of the file selector widget.
126 *
127 * @param[in] obj The object.
128 * @param[in] sort Sort method
129 *
130 * @ingroup Elm_Interface_Fileselector
131 */
132EOAPI void elm_interface_fileselector_sort_method_set(Eo *obj, Elm_Fileselector_Sort sort);
133
134/**
135 * @brief Get the sort method of the file selector widget.
136 *
137 * @param[in] obj The object.
138 *
139 * @return Sort method
140 *
141 * @ingroup Elm_Interface_Fileselector
142 */
143EOAPI Elm_Fileselector_Sort elm_interface_fileselector_sort_method_get(const Eo *obj);
144
145/**
146 * @brief Enable or disable multi-selection in the fileselector
147 *
148 * @param[in] obj The object.
149 * @param[in] multi @c true if multiselection is enabled, @c false otherwise
150 *
151 * @ingroup Elm_Interface_Fileselector
152 */
153EOAPI void elm_interface_fileselector_multi_select_set(Eo *obj, Eina_Bool multi);
154
155/**
156 * @brief Gets if multi-selection in fileselector is enabled or disabled.
157 *
158 * @param[in] obj The object.
159 *
160 * @return @c true if multiselection is enabled, @c false otherwise
161 *
162 * @ingroup Elm_Interface_Fileselector
163 */
164EOAPI Eina_Bool elm_interface_fileselector_multi_select_get(const Eo *obj);
165
166/**
167 * @brief Enable/disable a tree view in the given file selector widget, <b>if
168 * it's in
169 *
170 * @param[in] obj The object.
171 * @param[in] expand @c true if tree view is expanded, @c false otherwise
172 *
173 * @ingroup Elm_Interface_Fileselector
174 */
175EOAPI void elm_interface_fileselector_expandable_set(Eo *obj, Eina_Bool expand);
176
177/**
178 * @brief Get whether tree view is enabled for the given file selector
179 *
180 * @param[in] obj The object.
181 *
182 * @return @c true if tree view is expanded, @c false otherwise
183 *
184 * @ingroup Elm_Interface_Fileselector
185 */
186EOAPI Eina_Bool elm_interface_fileselector_expandable_get(const Eo *obj);
187
188/**
189 * @brief Set the mode in which a given file selector widget will display
190 * (layout) file system entries in its view
191 *
192 * @param[in] obj The object.
193 * @param[in] mode Fileselector mode
194 *
195 * @ingroup Elm_Interface_Fileselector
196 */
197EOAPI void elm_interface_fileselector_mode_set(Eo *obj, Elm_Fileselector_Mode mode);
198
199/**
200 * @brief Get the mode in which a given file selector widget is displaying
201 *
202 * @param[in] obj The object.
203 *
204 * @return Fileselector mode
205 *
206 * @ingroup Elm_Interface_Fileselector
207 */
208EOAPI Elm_Fileselector_Mode elm_interface_fileselector_mode_get(const Eo *obj);
209
210/**
211 * @brief Enable/disable the file name entry box where the user can type in a
212 * name for a file, in a given file selector widget
213 *
214 * @param[in] obj The object.
215 * @param[in] is_save @c true if in saving mode, @c false otherwise
216 *
217 * @ingroup Elm_Interface_Fileselector
218 */
219EOAPI void elm_interface_fileselector_is_save_set(Eo *obj, Eina_Bool is_save);
220
221/**
222 * @brief Get whether the given file selector is in "saving dialog" mode
223 *
224 * @param[in] obj The object.
225 *
226 * @return @c true if in saving mode, @c false otherwise
227 *
228 * @ingroup Elm_Interface_Fileselector
229 */
230EOAPI Eina_Bool elm_interface_fileselector_is_save_get(const Eo *obj);
231
232/**
233 * @brief Get a list of models selected in the fileselector.
234 *
235 * @param[in] obj The object.
236 *
237 * @return List of selected models
238 *
239 * @ingroup Elm_Interface_Fileselector
240 */
241EOAPI const Eina_List *elm_interface_fileselector_selected_models_get(const Eo *obj);
242
243/**
244 * @brief The filename that will be displayed in the filename entry
245 *
246 * @param[in] obj The object.
247 * @param[in] name Name
248 *
249 * @ingroup Elm_Interface_Fileselector
250 */
251EOAPI void elm_interface_fileselector_current_name_set(Eo *obj, const char *name);
252
253/**
254 * @brief The filename that will be displayed in the filename entry
255 *
256 * @param[in] obj The object.
257 *
258 * @return Name
259 *
260 * @ingroup Elm_Interface_Fileselector
261 */
262EOAPI const char *elm_interface_fileselector_current_name_get(const Eo *obj);
263
264#ifdef EFL_BETA_API_SUPPORT
265/**
266 * @brief Set, programmatically, the currently selected file/directory in the
267 * given file selector widget
268 *
269 * @param[in] obj The object.
270 * @param[in] model Model to be set, NULL reset it.
271 *
272 * @return @c true on success, @c false otherwise
273 *
274 * @ingroup Elm_Interface_Fileselector
275 */
276EOAPI Eina_Bool elm_interface_fileselector_selected_model_set(Eo *obj, Efl_Io_Model *model);
277#endif /* EFL_BETA_API_SUPPORT */
278
279#ifdef EFL_BETA_API_SUPPORT
280/**
281 * @brief Get the currently selected item's model, in the given file the given
282 * file selector widget
283 *
284 * @param[in] obj The object.
285 *
286 * @return Model to be set, NULL reset it.
287 *
288 * @ingroup Elm_Interface_Fileselector
289 */
290EOAPI Efl_Io_Model *elm_interface_fileselector_selected_model_get(const Eo *obj);
291#endif /* EFL_BETA_API_SUPPORT */
292
293/**
294 * @brief Append custom filter into filter list
295 *
296 * @param[in] obj The object.
297 * @param[in] func Filter function
298 * @param[in] data Data pointer
299 * @param[in] filter_name Filter name
300 *
301 * @return @c true on success, @c false otherwise
302 *
303 * @ingroup Elm_Interface_Fileselector
304 */
305EOAPI Eina_Bool elm_interface_fileselector_custom_filter_append(Eo *obj, Elm_Fileselector_Filter_Func func, void *data, const char *filter_name);
306
307/** Clear all filters registered
308 *
309 * @ingroup Elm_Interface_Fileselector
310 */
311EOAPI void elm_interface_fileselector_filters_clear(Eo *obj);
312
313/**
314 * @brief Append mime type based filter into filter list
315 *
316 * @param[in] obj The object.
317 * @param[in] mime_types Mime types
318 * @param[in] filter_name Filter name
319 *
320 * @return @c true on success, @c false otherwise
321 *
322 * @ingroup Elm_Interface_Fileselector
323 */
324EOAPI Eina_Bool elm_interface_fileselector_mime_types_filter_append(Eo *obj, const char *mime_types, const char *filter_name);
325
326#endif
diff --git a/src/lib/elementary/elm_interface_fileselector_eo.legacy.h b/src/lib/elementary/elm_interface_fileselector_eo.legacy.h
new file mode 100644
index 0000000..31c7a45
--- /dev/null
+++ b/src/lib/elementary/elm_interface_fileselector_eo.legacy.h
@@ -0,0 +1,73 @@
1#ifndef _ELM_INTERFACE_FILESELECTOR_EO_LEGACY_H_
2#define _ELM_INTERFACE_FILESELECTOR_EO_LEGACY_H_
3
4#ifndef _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
5#define _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
6
7typedef Eo Elm_Interface_Fileselector;
8
9#endif
10
11#ifndef _ELM_INTERFACE_FILESELECTOR_EO_TYPES
12#define _ELM_INTERFACE_FILESELECTOR_EO_TYPES
13
14/** Defines how a file selector widget is to layout its contents (file system
15 * entries).
16 *
17 * @ingroup Elm_Fileselector
18 */
19typedef enum
20{
21 ELM_FILESELECTOR_LIST = 0, /**< Layout as a list. */
22 ELM_FILESELECTOR_GRID, /**< Layout as a grid. */
23 ELM_FILESELECTOR_LAST /**< Sentinel value to indicate last enum field during
24 * iteration */
25} Elm_Fileselector_Mode;
26
27/** Fileselector sorting modes
28 *
29 * @ingroup Elm_Fileselector
30 */
31typedef enum
32{
33 ELM_FILESELECTOR_SORT_BY_FILENAME_ASC = 0, /**< Alphabetical sort by ascending
34 * filename, default */
35 ELM_FILESELECTOR_SORT_BY_FILENAME_DESC, /**< Alphabetical sorting by
36 * descending filename */
37 ELM_FILESELECTOR_SORT_BY_TYPE_ASC, /**< Sort by file type */
38 ELM_FILESELECTOR_SORT_BY_TYPE_DESC, /**< Sort by file type description */
39 ELM_FILESELECTOR_SORT_BY_SIZE_ASC, /**< Sort by ascending file size */
40 ELM_FILESELECTOR_SORT_BY_SIZE_DESC, /**< Sort by descending file size */
41 ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC, /**< Sort by ascending modified date */
42 ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC, /**< Sort by descending modified date
43 */
44 ELM_FILESELECTOR_SORT_LAST /**< Sentinel value to indicate last enum field
45 * during iteration */
46} Elm_Fileselector_Sort;
47
48
49#endif
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 32ed3e8..3cf8fe8 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -1,6 +1,5 @@
1pub_legacy_eo_files = [ 1pub_legacy_eo_files = [
2 'efl_ui_clock_legacy.eo', 2 'efl_ui_clock_legacy.eo',
3 'elm_interface_fileselector.eo',
4 'elm_label.eo', 3 'elm_label.eo',
5 'elm_list.eo', 4 'elm_list.eo',
6 'elm_map.eo', 5 'elm_map.eo',
@@ -763,6 +762,8 @@ elementary_pub_headers = [
763 'elm_index_eo.legacy.h', 762 'elm_index_eo.legacy.h',
764 'elm_index_item_eo.h', 763 'elm_index_item_eo.h',
765 'elm_index_item_eo.legacy.h', 764 'elm_index_item_eo.legacy.h',
765 'elm_interface_fileselector_eo.h',
766 'elm_interface_fileselector_eo.legacy.h',
766] 767]
767 768
768elementary_header_src = [ 769elementary_header_src = [