summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/ecore_buffer/meson.build9
-rw-r--r--src/bin/edje/edje_cc_out.c8
-rw-r--r--src/bin/edje/meson.build9
-rw-r--r--src/bin/elementary/Makefile.am1
-rw-r--r--src/bin/elementary/meson.build1
-rw-r--r--src/bin/elementary/test.c3
-rw-r--r--src/bin/elementary/test_bg.c22
-rw-r--r--src/bin/elementary/test_box.c4
-rw-r--r--src/bin/elementary/test_calendar.c1
-rw-r--r--src/bin/elementary/test_code.c43
-rw-r--r--src/bin/elementary/test_ctxpopup.c3
-rw-r--r--src/bin/elementary/test_efl_anim_event_anim.c91
-rw-r--r--src/bin/elementary/test_efl_gfx_mapping.c3
-rw-r--r--src/bin/elementary/test_efl_ui_text.c15
-rw-r--r--src/bin/elementary/test_entry.c4
-rw-r--r--src/bin/elementary/test_evas_map.c4
-rw-r--r--src/bin/elementary/test_evas_mask.c6
-rw-r--r--src/bin/elementary/test_evas_snapshot.c4
-rw-r--r--src/bin/elementary/test_events.c1
-rw-r--r--src/bin/elementary/test_gfx_filters.c7
-rw-r--r--src/bin/elementary/test_glview.c2
-rw-r--r--src/bin/elementary/test_image.c1
-rw-r--r--src/bin/elementary/test_nstate.c1
-rw-r--r--src/bin/elementary/test_part_bg.c7
-rw-r--r--src/bin/elementary/test_part_shadow.c3
-rw-r--r--src/bin/elementary/test_photocam.c8
-rw-r--r--src/bin/elementary/test_systray.c2
-rw-r--r--src/bin/elementary/test_ui_box.c1
-rw-r--r--src/bin/elementary/test_ui_button.c7
-rw-r--r--src/bin/elementary/test_ui_clock.c3
-rw-r--r--src/bin/elementary/test_ui_datepicker.c3
-rw-r--r--src/bin/elementary/test_ui_pager.c15
-rw-r--r--src/bin/elementary/test_ui_pager_scroll.c15
-rw-r--r--src/bin/elementary/test_ui_panel.c7
-rw-r--r--src/bin/elementary/test_ui_panes.c3
-rw-r--r--src/bin/elementary/test_ui_popup.c19
-rw-r--r--src/bin/elementary/test_ui_progressbar.c6
-rw-r--r--src/bin/elementary/test_ui_relative_layout.c3
-rw-r--r--src/bin/elementary/test_ui_scroller.c3
-rw-r--r--src/bin/elementary/test_ui_slider.c3
-rw-r--r--src/bin/elementary/test_ui_slider_interval.c3
-rw-r--r--src/bin/elementary/test_ui_spin.c3
-rw-r--r--src/bin/elementary/test_ui_spin_button.c3
-rw-r--r--src/bin/elementary/test_ui_stack.c1
-rw-r--r--src/bin/elementary/test_ui_tab_pager.c9
-rw-r--r--src/bin/elementary/test_ui_table.c27
-rw-r--r--src/bin/elementary/test_ui_table_static.c1
-rw-r--r--src/bin/elementary/test_ui_tags.c3
-rw-r--r--src/bin/elementary/test_ui_textpath.c1
-rw-r--r--src/bin/elementary/test_ui_timepicker.c3
-rw-r--r--src/bin/elementary/test_win_dialog.c7
-rw-r--r--src/bin/elementary/test_win_indicator.c11
-rw-r--r--src/bin/elementary/test_win_inline.c1
-rw-r--r--src/bin/elementary/test_win_plug.c2
-rw-r--r--src/bin/elementary/test_win_stack.c5
-rw-r--r--src/bin/elementary/test_win_state.c18
-rw-r--r--src/bin/eolian/sources.c88
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh12
-rw-r--r--src/bin/eolian_mono/eolian/mono/events.hh5
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh75
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_pointer.hh8
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_registration.hh7
-rw-r--r--src/bin/eolian_mono/eolian/mono/generation_contexts.hh1
-rw-r--r--src/bin/eolian_mono/eolian/mono/klass.hh57
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_annotation.hh134
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type.hh46
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh36
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh18
-rw-r--r--src/bin/eolian_mono/eolian/mono/parameter.hh64
-rw-r--r--src/bin/eolian_mono/eolian/mono/part_definition.hh2
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_definition.hh48
-rw-r--r--src/bin/eolian_mono/eolian/mono/type_impl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/utils.hh8
-rw-r--r--src/bin/eolian_mono/eolian/mono/variable_definition.hh99
-rw-r--r--src/bin/eolian_mono/eolian_mono.cc17
75 files changed, 556 insertions, 633 deletions
diff --git a/src/bin/ecore_buffer/meson.build b/src/bin/ecore_buffer/meson.build
index 86ee20a..5e1a9d9 100644
--- a/src/bin/ecore_buffer/meson.build
+++ b/src/bin/ecore_buffer/meson.build
@@ -1,5 +1,6 @@
1executable('bq_mgr', 1executable('bqmgr',
2 ['bq_mgr_protocol.c', 'bq_mgr.c'], 2 ['bq_mgr_protocol.c', 'bq_mgr.c'],
3 dependencies: [ecore, ecore_buffer, ecore_buffer_deps], 3 dependencies: [ecore, ecore_buffer, ecore_buffer_deps],
4 install : true 4 install: true,
5 install_dir: join_paths(dir_lib, 'ecore_buffer', 'bin')
5) 6)
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index fbcfd01..9575f4a 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -1456,11 +1456,9 @@ data_write_vectors(Eet_File *ef, int *vector_num)
1456 } 1456 }
1457 else 1457 else
1458 { 1458 {
1459 f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); 1459 if (efl_file_set(vg, eina_strbuf_string_get(buf)))
1460 if (!f) continue; 1460 error_and_abort(ef, "Failed to parse svg : %s", vector->entry);
1461 eina_file_close(f); 1461 if (efl_file_load(vg))
1462
1463 if (!efl_file_set(vg, eina_strbuf_string_get(buf), NULL))
1464 error_and_abort(ef, "Failed to parse svg : %s", vector->entry); 1462 error_and_abort(ef, "Failed to parse svg : %s", vector->entry);
1465 1463
1466 eina_strbuf_reset(buf); 1464 eina_strbuf_reset(buf);
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build
index 9269d33..2fedb2c 100644
--- a/src/bin/edje/meson.build
+++ b/src/bin/edje/meson.build
@@ -81,6 +81,15 @@ edje_codegen = executable('edje_codegen',
81 c_args : package_c_args, 81 c_args : package_c_args,
82) 82)
83 83
84if meson.is_cross_build()
85 _edje_codegen = find_program('edje_codegen', native: true)
86 edje_codegen_path = _edje_codegen.path()
87 edje_codegen_exe = [_edje_codegen]
88else
89 env = find_program('env', native: true)
90 edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()]
91endif
92
84edje_pick = executable('edje_pick', 93edje_pick = executable('edje_pick',
85 'edje_pick.c', 94 'edje_pick.c',
86 dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], 95 dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
diff --git a/src/bin/elementary/Makefile.am b/src/bin/elementary/Makefile.am
index b63861d..8100fb4 100644
--- a/src/bin/elementary/Makefile.am
+++ b/src/bin/elementary/Makefile.am
@@ -38,7 +38,6 @@ test_efl_anim_scale.c \
38test_efl_anim_translate.c \ 38test_efl_anim_translate.c \
39test_efl_anim_group_parallel.c \ 39test_efl_anim_group_parallel.c \
40test_efl_anim_group_sequential.c \ 40test_efl_anim_group_sequential.c \
41test_efl_anim_event_anim.c \
42test_efl_anim_pause.c \ 41test_efl_anim_pause.c \
43test_efl_anim_repeat.c \ 42test_efl_anim_repeat.c \
44test_efl_anim_start_delay.c \ 43test_efl_anim_start_delay.c \
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index a3a570a..1612e0b 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -35,7 +35,6 @@ elementary_test_src = [
35 'test_efl_anim_translate.c', 35 'test_efl_anim_translate.c',
36 'test_efl_anim_group_parallel.c', 36 'test_efl_anim_group_parallel.c',
37 'test_efl_anim_group_sequential.c', 37 'test_efl_anim_group_sequential.c',
38 'test_efl_anim_event_anim.c',
39 'test_efl_anim_pause.c', 38 'test_efl_anim_pause.c',
40 'test_efl_anim_repeat.c', 39 'test_efl_anim_repeat.c',
41 'test_efl_anim_start_delay.c', 40 'test_efl_anim_start_delay.c',
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index fa2bb74..91fe009 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#include <string.h> 5#include <string.h>
6#include <Efl_Ui.h>
6#include <Elementary.h> 7#include <Elementary.h>
7#include "test.h" 8#include "test.h"
8#include "test_explode.h" 9#include "test_explode.h"
@@ -365,7 +366,6 @@ void test_efl_anim_translate(void *data, Evas_Object *obj, void *event_info);
365void test_efl_anim_translate_absolute(void *data, Evas_Object *obj, void *event_info); 366void test_efl_anim_translate_absolute(void *data, Evas_Object *obj, void *event_info);
366void test_efl_anim_group_parallel(void *data, Evas_Object *obj, void *event_info); 367void test_efl_anim_group_parallel(void *data, Evas_Object *obj, void *event_info);
367void test_efl_anim_group_sequential(void *data, Evas_Object *obj, void *event_info); 368void test_efl_anim_group_sequential(void *data, Evas_Object *obj, void *event_info);
368void test_efl_anim_event_anim(void *data, Evas_Object *obj, void *event_info);
369void test_efl_anim_pause(void *data, Evas_Object *obj, void *event_info); 369void test_efl_anim_pause(void *data, Evas_Object *obj, void *event_info);
370void test_efl_anim_repeat(void *data, Evas_Object *obj, void *event_info); 370void test_efl_anim_repeat(void *data, Evas_Object *obj, void *event_info);
371void test_efl_anim_start_delay(void *data, Evas_Object *obj, void *event_info); 371void test_efl_anim_start_delay(void *data, Evas_Object *obj, void *event_info);
@@ -923,7 +923,6 @@ add_tests:
923 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Translate Absolute", test_efl_anim_translate_absolute); 923 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Translate Absolute", test_efl_anim_translate_absolute);
924 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Parallel", test_efl_anim_group_parallel); 924 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Parallel", test_efl_anim_group_parallel);
925 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Sequential", test_efl_anim_group_sequential); 925 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Sequential", test_efl_anim_group_sequential);
926 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Event Animation", test_efl_anim_event_anim);
927 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Pause", test_efl_anim_pause); 926 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Pause", test_efl_anim_pause);
928 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Repeat", test_efl_anim_repeat); 927 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Repeat", test_efl_anim_repeat);
929 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Start Delay", test_efl_anim_start_delay); 928 ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Start Delay", test_efl_anim_start_delay);
diff --git a/src/bin/elementary/test_bg.c b/src/bin/elementary/test_bg.c
index 338084b..68e2ba9 100644
--- a/src/bin/elementary/test_bg.c
+++ b/src/bin/elementary/test_bg.c
@@ -2,8 +2,9 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6#include "elm_colorselector.eo.h" 7#include "elm_colorselector_eo.h"
7 8
8static void 9static void
9_cb_size_radio_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED) 10_cb_size_radio_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED)
@@ -292,15 +293,15 @@ _file_cb(void *data, const Efl_Event *ev)
292 const char *f, *k; 293 const char *f, *k;
293 294
294 // File API 295 // File API
295 efl_file_get(efl_part(win, "background"), &f, &k); 296 efl_file_simple_get(efl_part(win, "background"), &f, &k);
296 if (f) 297 if (f)
297 { 298 {
298 efl_file_set(efl_part(win, "background"), NULL, NULL); 299 efl_file_simple_load(efl_part(win, "background"), NULL, NULL);
299 } 300 }
300 else 301 else
301 { 302 {
302 efl_file_get(ev->object, &f, &k); 303 efl_file_simple_get(ev->object, &f, &k);
303 efl_file_set(efl_part(win, "background"), f, k); 304 efl_file_simple_load(efl_part(win, "background"), f, k);
304 } 305 }
305} 306}
306 307
@@ -315,10 +316,11 @@ _image_cb(void *data, const Efl_Event *ev)
315 efl_content_set(efl_part(win, "background"), NULL); 316 efl_content_set(efl_part(win, "background"), NULL);
316 else 317 else
317 { 318 {
318 efl_file_get(ev->object, &f, &k); 319 efl_file_simple_get(ev->object, &f, &k);
319 o = efl_add(EFL_UI_IMAGE_CLASS, win, 320 o = efl_add(EFL_UI_IMAGE_CLASS, win,
320 efl_gfx_image_scale_type_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE), 321 efl_gfx_image_scale_type_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE),
321 efl_file_set(efl_added, f, k) 322 efl_file_set(efl_added, f),
323 efl_file_key_set(efl_added, k)
322 ); 324 );
323 efl_content_set(efl_part(win, "background"), o); 325 efl_content_set(efl_part(win, "background"), o);
324 } 326 }
@@ -353,7 +355,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
353 355
354 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); 356 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
355 efl_add(EFL_UI_IMAGE_CLASS, win, 357 efl_add(EFL_UI_IMAGE_CLASS, win,
356 efl_file_set(efl_added, buf, NULL), 358 efl_file_set(efl_added, buf),
357 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)), 359 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
358 efl_gfx_hint_align_set(efl_added, 0.5, 0.5), 360 efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
359 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _file_cb, win), 361 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _file_cb, win),
@@ -361,7 +363,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
361 363
362 snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get()); 364 snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get());
363 efl_add(EFL_UI_IMAGE_CLASS, win, 365 efl_add(EFL_UI_IMAGE_CLASS, win,
364 efl_file_set(efl_added, buf, NULL), 366 efl_file_set(efl_added, buf),
365 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)), 367 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
366 efl_gfx_hint_align_set(efl_added, 0.5, 0.5), 368 efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
367 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _image_cb, win), 369 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _image_cb, win),
@@ -420,7 +422,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
420 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); 422 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
421 423
422 o_bg = efl_add(EFL_UI_BG_CLASS, box, 424 o_bg = efl_add(EFL_UI_BG_CLASS, box,
423 efl_file_set(efl_added, buf, NULL), 425 efl_file_set(efl_added, buf),
424 efl_gfx_hint_weight_set(efl_added, EFL_GFX_HINT_EXPAND, EFL_GFX_HINT_EXPAND), 426 efl_gfx_hint_weight_set(efl_added, EFL_GFX_HINT_EXPAND, EFL_GFX_HINT_EXPAND),
425 efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE), 427 efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE),
426 efl_pack(box, efl_added)); 428 efl_pack(box, efl_added));
diff --git a/src/bin/elementary/test_box.c b/src/bin/elementary/test_box.c
index 31ccc9c..2d0e6af 100644
--- a/src/bin/elementary/test_box.c
+++ b/src/bin/elementary/test_box.c
@@ -2,6 +2,7 @@
2#ifdef HAVE_CONFIG_H 2#ifdef HAVE_CONFIG_H
3# include "elementary_config.h" 3# include "elementary_config.h"
4#endif 4#endif
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7#define ICON_MAX 24 8#define ICON_MAX 24
@@ -916,7 +917,8 @@ test_box_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
916 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); 917 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
917 o = efl_add(EFL_UI_IMAGE_CLASS, win, 918 o = efl_add(EFL_UI_IMAGE_CLASS, win,
918 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)), 919 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
919 efl_file_set(efl_added, buf, NULL)); 920 efl_file_set(efl_added, buf),
921 efl_file_load(efl_added));
920 efl_pack(bx, o); 922 efl_pack(bx, o);
921 923
922 efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300)); 924 efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300));
diff --git a/src/bin/elementary/test_calendar.c b/src/bin/elementary/test_calendar.c
index ba37407..9a5de37 100644
--- a/src/bin/elementary/test_calendar.c
+++ b/src/bin/elementary/test_calendar.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6struct _api_data 7struct _api_data
diff --git a/src/bin/elementary/test_code.c b/src/bin/elementary/test_code.c
index bb010ce..076ef6d 100644
--- a/src/bin/elementary/test_code.c
+++ b/src/bin/elementary/test_code.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static Evas_Object *_test_code_win_create(const char *id, const char *name) 7static Evas_Object *_test_code_win_create(const char *id, const char *name)
@@ -69,7 +70,7 @@ _elm_code_test_welcome_setup(Evas_Object *parent)
69 evas_object_show(widget); 70 evas_object_show(widget);
70 71
71 efl_event_callback_add(widget, &ELM_CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL); 72 efl_event_callback_add(widget, &ELM_CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL);
72 efl_event_callback_add(widget, ELM_OBJ_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code); 73 efl_event_callback_add(widget, EFL_UI_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code);
73 74
74 _append_line(code->file, "❤ Hello World, Elm Code! ❤"); 75 _append_line(code->file, "❤ Hello World, Elm Code! ❤");
75 _append_line(code->file, "*** Currently experimental ***"); 76 _append_line(code->file, "*** Currently experimental ***");
@@ -103,10 +104,10 @@ _elm_code_test_editor_setup(Evas_Object *parent, Eina_Bool log)
103 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); 104 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
104 evas_object_show(widget); 105 evas_object_show(widget);
105 106
106 elm_obj_code_widget_font_set(widget, NULL, 14); 107 efl_ui_code_widget_font_set(widget, NULL, 14);
107 elm_obj_code_widget_editable_set(widget, EINA_TRUE); 108 efl_ui_code_widget_editable_set(widget, EINA_TRUE);
108 elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE); 109 efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
109 elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); 110 efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
110 111
111 if (!log) 112 if (!log)
112 { 113 {
@@ -135,11 +136,11 @@ _elm_code_test_syntax_setup(Evas_Object *parent)
135 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); 136 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
136 evas_object_show(widget); 137 evas_object_show(widget);
137 138
138 elm_obj_code_widget_editable_set(widget, EINA_TRUE); 139 efl_ui_code_widget_editable_set(widget, EINA_TRUE);
139 elm_obj_code_widget_syntax_enabled_set(widget, EINA_TRUE); 140 efl_ui_code_widget_syntax_enabled_set(widget, EINA_TRUE);
140 elm_obj_code_widget_code_get(widget)->file->mime = "text/x-csrc"; 141 efl_ui_code_widget_code_get(widget)->file->mime = "text/x-csrc";
141 elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE); 142 efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
142 elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); 143 efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
143 144
144 _append_line(code->file, "#include <stdio.h>"); 145 _append_line(code->file, "#include <stdio.h>");
145 _append_line(code->file, "int main(int argc, char **argv)"); 146 _append_line(code->file, "int main(int argc, char **argv)");
@@ -163,13 +164,13 @@ _elm_code_test_syntax_tabbed_setup(Evas_Object *parent)
163 164
164 code = elm_code_create(); 165 code = elm_code_create();
165 code->config.indent_style_efl = EINA_FALSE; 166 code->config.indent_style_efl = EINA_FALSE;
166 widget = efl_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(efl_added, code)); 167 widget = efl_add(ELM_CODE_WIDGET_CLASS, parent, efl_ui_code_widget_code_set(efl_added, code));
167 elm_obj_code_widget_editable_set(widget, EINA_TRUE); 168 efl_ui_code_widget_editable_set(widget, EINA_TRUE);
168 elm_obj_code_widget_syntax_enabled_set(widget, EINA_TRUE); 169 efl_ui_code_widget_syntax_enabled_set(widget, EINA_TRUE);
169 elm_obj_code_widget_code_get(widget)->file->mime = "text/x-csrc"; 170 efl_ui_code_widget_code_get(widget)->file->mime = "text/x-csrc";
170 elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE); 171 efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
171 elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); 172 efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
172 elm_obj_code_widget_tab_inserts_spaces_set(widget, EINA_FALSE); 173 efl_ui_code_widget_tab_inserts_spaces_set(widget, EINA_FALSE);
173 174
174 _append_line(code->file, "#include <stdio.h>"); 175 _append_line(code->file, "#include <stdio.h>");
175 _append_line(code->file, "int main(int argc, char **argv)"); 176 _append_line(code->file, "int main(int argc, char **argv)");
@@ -199,8 +200,8 @@ _elm_code_test_mirror_setup(Elm_Code *code, char *font_name, Evas_Object *parent
199 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); 200 evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
200 evas_object_show(widget); 201 evas_object_show(widget);
201 202
202 elm_obj_code_widget_font_set(widget, font_name, 11); 203 efl_ui_code_widget_font_set(widget, font_name, 11);
203 elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); 204 efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
204 205
205 return widget; 206 return widget;
206} 207}
@@ -326,7 +327,7 @@ test_code_log(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
326 327
327 o = elm_button_add(screen); 328 o = elm_button_add(screen);
328 elm_object_text_set(o, "log"); 329 elm_object_text_set(o, "log");
329 evas_object_smart_callback_add(o, "clicked", _elm_code_test_log_clicked, elm_obj_code_widget_code_get(code)); 330 evas_object_smart_callback_add(o, "clicked", _elm_code_test_log_clicked, efl_ui_code_widget_code_get(code));
330 elm_box_pack_end(screen, o); 331 elm_box_pack_end(screen, o);
331 evas_object_show(o); 332 evas_object_show(o);
332 333
@@ -348,7 +349,7 @@ test_code_mirror(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
348 evas_object_size_hint_weight_set(screen, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 349 evas_object_size_hint_weight_set(screen, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
349 350
350 widget = _elm_code_test_editor_setup(screen, EINA_FALSE); 351 widget = _elm_code_test_editor_setup(screen, EINA_FALSE);
351 code = elm_obj_code_widget_code_get(widget); 352 code = efl_ui_code_widget_code_get(widget);
352 elm_box_pack_end(screen, widget); 353 elm_box_pack_end(screen, widget);
353 354
354 elm_box_pack_end(screen, _elm_code_test_mirror_setup(code, "Mono:style=Oblique", screen)); 355 elm_box_pack_end(screen, _elm_code_test_mirror_setup(code, "Mono:style=Oblique", screen));
diff --git a/src/bin/elementary/test_ctxpopup.c b/src/bin/elementary/test_ctxpopup.c
index 9293647..f547f08 100644
--- a/src/bin/elementary/test_ctxpopup.c
+++ b/src/bin/elementary/test_ctxpopup.c
@@ -39,10 +39,11 @@ _print_current_dir(Evas_Object *obj)
39} 39}
40 40
41static void 41static void
42_btn_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 42_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
43 void *event_info EINA_UNUSED) 43 void *event_info EINA_UNUSED)
44{ 44{
45 printf("Button Clicked\n"); 45 printf("Button Clicked\n");
46 elm_object_disabled_set(data, !elm_object_disabled_get(data));
46} 47}
47 48
48static void 49static void
diff --git a/src/bin/elementary/test_efl_anim_event_anim.c b/src/bin/elementary/test_efl_anim_event_anim.c
deleted file mode 100644
index b4c3518..0000000
--- a/src/bin/elementary/test_efl_anim_event_anim.c
+++ /dev/null
@@ -1,91 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h"
3#endif
4#include <Elementary.h>
5
6typedef struct _App_Data
7{
8 Efl_Canvas_Animation_Player *target;
9
10 Eina_Bool is_btn_visible;
11} App_Data;
12
13static void
14_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
15{
16 App_Data *ad = data;
17
18 ad->is_btn_visible = !(ad->is_btn_visible);
19
20 if (ad->is_btn_visible)
21 {
22 //Start animtion by showing button
23 evas_object_show(ad->target);
24 elm_object_text_set(obj, "Hide Button");
25 }
26 else
27 {
28 //Start animtion by hiding button
29 evas_object_hide(ad->target);
30 elm_object_text_set(obj, "Show Button");
31 }
32}
33
34static void
35_win_del_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
36{
37 App_Data *ad = data;
38 free(ad);
39}
40
41void
42test_efl_anim_event_anim(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
43{
44 App_Data *ad = calloc(1, sizeof(App_Data));
45 if (!ad) return;
46
47 Evas_Object *win = elm_win_add(NULL, "Efl Animation Event Animation", ELM_WIN_BASIC);
48 elm_win_title_set(win, "Efl Animation Event Animation");
49 elm_win_autodel_set(win, EINA_TRUE);
50 evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ad);
51
52 //Button to be animated
53 Evas_Object *btn = elm_button_add(win);
54 elm_object_text_set(btn, "Button");
55 evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
56 evas_object_resize(btn, 200, 200);
57 evas_object_move(btn, 100, 50);
58
59 //Show Animation
60 Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
61 efl_animation_alpha_set(show_anim, 0.0, 1.0);
62 efl_animation_duration_set(show_anim, 1.0);
63 efl_animation_final_state_keep_set(show_anim, EINA_TRUE);
64 efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_SHOW, show_anim);
65
66 //Show button after setting event animation to show animation for show event
67 evas_object_show(btn);
68
69 //Hide Animation
70 Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
71 efl_animation_alpha_set(hide_anim, 1.0, 0.0);
72 efl_animation_duration_set(hide_anim, 1.0);
73 efl_animation_final_state_keep_set(hide_anim, EINA_TRUE);
74 efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_HIDE, hide_anim);
75
76 //Initialize App Data
77 ad->target = btn;
78 ad->is_btn_visible = EINA_TRUE;
79
80 //Button to start animation
81 Evas_Object *btn2 = elm_button_add(win);
82 elm_object_text_set(btn2, "Hide Button");
83 evas_object_smart_callback_add(btn2, "clicked", _btn_clicked_cb, ad);
84 evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
85 evas_object_resize(btn2, 200, 50);
86 evas_object_move(btn2, 100, 300);
87 evas_object_show(btn2);
88
89 evas_object_resize(win, 400, 400);
90 evas_object_show(win);
91}
diff --git a/src/bin/elementary/test_efl_gfx_mapping.c b/src/bin/elementary/test_efl_gfx_mapping.c
index 71cfd82..c4080c1 100644
--- a/src/bin/elementary/test_efl_gfx_mapping.c
+++ b/src/bin/elementary/test_efl_gfx_mapping.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -53,7 +54,7 @@ test_efl_gfx_mapping(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
53 snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get()); 54 snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
54 img = efl_add(EFL_UI_IMAGE_CLASS, win, 55 img = efl_add(EFL_UI_IMAGE_CLASS, win,
55 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)), 56 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
56 efl_file_set(efl_added, buf, NULL)); 57 efl_file_set(efl_added, buf));
57 efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL); 58 efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
58 evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE, 59 evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,
59 _image_resize_cb, NULL); 60 _image_resize_cb, NULL);
diff --git a/src/bin/elementary/test_efl_ui_text.c b/src/bin/elementary/test_efl_ui_text.c
index 9cc2a32..120eca7 100644
--- a/src/bin/elementary/test_efl_ui_text.c
+++ b/src/bin/elementary/test_efl_ui_text.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#define EO_BETA_API 4#define EO_BETA_API
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7static void 8static void
@@ -41,7 +42,7 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi
41 char *markup; 42 char *markup;
42 43
43 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 44 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
44 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 45 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
45 efl_text_set(efl_added, "Efl Canvas_Layout"), 46 efl_text_set(efl_added, "Efl Canvas_Layout"),
46 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 47 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
47 48
@@ -145,7 +146,7 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
145 Eo *bt; 146 Eo *bt;
146 147
147 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 148 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
148 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 149 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
149 efl_text_set(efl_added, "Efl Ui Text"), 150 efl_text_set(efl_added, "Efl Ui Text"),
150 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 151 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
151 152
@@ -204,7 +205,7 @@ test_efl_ui_text_inputfield(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED
204 Eo *win, *bx, *en; 205 Eo *win, *bx, *en;
205 206
206 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 207 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
207 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 208 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
208 efl_text_set(efl_added, "Efl Ui Text Input Field"), 209 efl_text_set(efl_added, "Efl Ui Text Input Field"),
209 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 210 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
210 211
@@ -251,7 +252,7 @@ _on_factory_bt_image_clicked(void *data, const Efl_Event *event EINA_UNUSED)
251 252
252 image_idx = (image_idx + 1) % IMAGES_SZ; 253 image_idx = (image_idx + 1) % IMAGES_SZ;
253 efl_text_cursor_item_insert(en, 254 efl_text_cursor_item_insert(en,
254 efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), 255 efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
255 images[image_idx], "size=32x32"); 256 images[image_idx], "size=32x32");
256 printf("Inserted image: key = %s\n", images[image_idx]); 257 printf("Inserted image: key = %s\n", images[image_idx]);
257} 258}
@@ -260,7 +261,7 @@ static void
260_on_factory_bt_emoticon_clicked(void *data, const Efl_Event *event EINA_UNUSED) 261_on_factory_bt_emoticon_clicked(void *data, const Efl_Event *event EINA_UNUSED)
261{ 262{
262 Evas_Object *en = data; 263 Evas_Object *en = data;
263 efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), 264 efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
264 "emoticon/evil-laugh", "size=32x32"); 265 "emoticon/evil-laugh", "size=32x32");
265} 266}
266 267
@@ -294,7 +295,7 @@ test_ui_text_item_factory(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
294 Eina_File *f; 295 Eina_File *f;
295 296
296 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 297 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
297 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 298 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
298 efl_text_set(efl_added, "Efl Ui Text Item Factory"), 299 efl_text_set(efl_added, "Efl Ui Text Item Factory"),
299 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 300 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
300 301
@@ -353,7 +354,7 @@ test_ui_text_item_factory(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
353 efl_text_font_set(en, "Sans", 14); 354 efl_text_font_set(en, "Sans", 14);
354 efl_text_normal_color_set(en, 255, 255, 255, 255); 355 efl_text_normal_color_set(en, 255, 255, 255, 255);
355 356
356 main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN); 357 main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
357 cur = efl_text_cursor_new(en); 358 cur = efl_text_cursor_new(en);
358 359
359 efl_text_cursor_position_set(en, cur, 2); 360 efl_text_cursor_position_set(en, cur, 2);
diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c
index cf3b148..56264cc 100644
--- a/src/bin/elementary/test_entry.c
+++ b/src/bin/elementary/test_entry.c
@@ -5,8 +5,8 @@
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
12my_entry_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 12my_entry_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
diff --git a/src/bin/elementary/test_evas_map.c b/src/bin/elementary/test_evas_map.c
index b598044..3cabe96 100644
--- a/src/bin/elementary/test_evas_map.c
+++ b/src/bin/elementary/test_evas_map.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -61,7 +62,8 @@ test_evas_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
61 snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get()); 62 snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
62 img = efl_add(EFL_UI_IMAGE_CLASS, win, 63 img = efl_add(EFL_UI_IMAGE_CLASS, win,
63 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)), 64 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
64 efl_file_set(efl_added, buf, NULL)); 65 efl_file_set(efl_added, buf),
66 efl_file_load(efl_added));
65 efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL); 67 efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
66 evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE, 68 evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,
67 _image_resize_cb, NULL); 69 _image_resize_cb, NULL);
diff --git a/src/bin/elementary/test_evas_mask.c b/src/bin/elementary/test_evas_mask.c
index 497d4a2..223d657 100644
--- a/src/bin/elementary/test_evas_mask.c
+++ b/src/bin/elementary/test_evas_mask.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Elementary.h> 4#include <Elementary.h>
5#include <Efl_Ui.h>
5 6
6 7
7static Evas_Object * 8static Evas_Object *
@@ -118,12 +119,13 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
118 119
119 // FIXME: No API to set background as "tile" :( 120 // FIXME: No API to set background as "tile" :(
120 snprintf(buf, sizeof(buf), "%s/images/pm_fill.png", elm_app_data_dir_get()); 121 snprintf(buf, sizeof(buf), "%s/images/pm_fill.png", elm_app_data_dir_get());
121 efl_file_set(efl_part(win, "background"), buf, NULL); 122 efl_file_simple_load(efl_part(win, "background"), buf, NULL);
122 123
123 // FIXME: layout EO API 124 // FIXME: layout EO API
124 snprintf(buf, sizeof(buf), "%s/objects/test_masking.edj", elm_app_data_dir_get()); 125 snprintf(buf, sizeof(buf), "%s/objects/test_masking.edj", elm_app_data_dir_get());
125 ly = efl_add(EFL_UI_LAYOUT_CLASS, win, 126 ly = efl_add(EFL_UI_LAYOUT_CLASS, win,
126 efl_file_set(efl_added, buf, "masking")); 127 efl_file_set(efl_added, buf),
128 efl_file_key_set(efl_added, "masking"));
127 efl_pack(box, ly); 129 efl_pack(box, ly);
128 130
129 // FIXME: No genlist in EO API 131 // FIXME: No genlist in EO API
diff --git a/src/bin/elementary/test_evas_snapshot.c b/src/bin/elementary/test_evas_snapshot.c
index c1b110e..855c33a 100644
--- a/src/bin/elementary/test_evas_snapshot.c
+++ b/src/bin/elementary/test_evas_snapshot.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6#define TABLE_SIZE 10 7#define TABLE_SIZE 10
@@ -29,7 +30,8 @@ static inline Eo *
29_image_create(Eo *win, const char *path) 30_image_create(Eo *win, const char *path)
30{ 31{
31 return efl_add(EFL_UI_IMAGE_CLASS, win, 32 return efl_add(EFL_UI_IMAGE_CLASS, win,
32 efl_file_set(efl_added, path, NULL), 33 efl_file_set(efl_added, path),
34 efl_file_load(efl_added),
33 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(20, 20))); 35 efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(20, 20)));
34} 36}
35 37
diff --git a/src/bin/elementary/test_events.c b/src/bin/elementary/test_events.c
index 1eba66c..e81fca5 100644
--- a/src/bin/elementary/test_events.c
+++ b/src/bin/elementary/test_events.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6#define EFL_INTERNAL_UNSTABLE 7#define EFL_INTERNAL_UNSTABLE
diff --git a/src/bin/elementary/test_gfx_filters.c b/src/bin/elementary/test_gfx_filters.c
index 965720a..4937219 100644
--- a/src/bin/elementary/test_gfx_filters.c
+++ b/src/bin/elementary/test_gfx_filters.c
@@ -3,7 +3,8 @@
3#endif 3#endif
4 4
5#include <Elementary.h> 5#include <Elementary.h>
6#include "elm_colorselector.eo.h" 6#include <Efl_Ui.h>
7#include "elm_spinner_eo.h"
7 8
8static const int default_font_size = 48; 9static const int default_font_size = 48;
9 10
@@ -307,7 +308,7 @@ _flip_click(void *data, const Efl_Event *ev EINA_UNUSED)
307 Eo *flip = efl_key_wref_get(win, "flip"); 308 Eo *flip = efl_key_wref_get(win, "flip");
308 309
309 /* FIXME: The flip APIs don't make sense for N items (front!?) */ 310 /* FIXME: The flip APIs don't make sense for N items (front!?) */
310 efl_ui_flip_go(flip, EFL_UI_FLIP_CROSS_FADE); 311 efl_ui_flip_go(flip, EFL_UI_FLIP_MODE_CROSS_FADE);
311} 312}
312 313
313static void 314static void
@@ -403,7 +404,7 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
403 efl_gfx_hint_align_set(efl_added, 0.5, 0.5), 404 efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
404 efl_gfx_hint_size_max_set(efl_added, size), 405 efl_gfx_hint_size_max_set(efl_added, size),
405 efl_gfx_hint_size_min_set(efl_added, size), 406 efl_gfx_hint_size_min_set(efl_added, size),
406 efl_file_set(efl_added, buf, NULL), 407 efl_file_set(efl_added, buf),
407 efl_name_set(efl_added, images[k].src_name), 408 efl_name_set(efl_added, images[k].src_name),
408 elm_object_tooltip_text_set(efl_added, images[k].src_name)); 409 elm_object_tooltip_text_set(efl_added, images[k].src_name));
409 if (efl_player_playable_get(o)) 410 if (efl_player_playable_get(o))
diff --git a/src/bin/elementary/test_glview.c b/src/bin/elementary/test_glview.c
index 2a42b95..d71e371 100644
--- a/src/bin/elementary/test_glview.c
+++ b/src/bin/elementary/test_glview.c
@@ -1,8 +1,10 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
7#include <Efl_Ui.h>
6#include <Elementary.h> 8#include <Elementary.h>
7#ifndef M_PI 9#ifndef M_PI
8#define M_PI 3.14159265 10#define M_PI 3.14159265
diff --git a/src/bin/elementary/test_image.c b/src/bin/elementary/test_image.c
index c6d5f7a..986767b 100644
--- a/src/bin/elementary/test_image.c
+++ b/src/bin/elementary/test_image.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static const struct { 7static const struct {
diff --git a/src/bin/elementary/test_nstate.c b/src/bin/elementary/test_nstate.c
index 4da3b21..717828e 100644
--- a/src/bin/elementary/test_nstate.c
+++ b/src/bin/elementary/test_nstate.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
diff --git a/src/bin/elementary/test_part_bg.c b/src/bin/elementary/test_part_bg.c
index 37e39da..2724870 100644
--- a/src/bin/elementary/test_part_bg.c
+++ b/src/bin/elementary/test_part_bg.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6#define MAX_NUM_OF_CONTENT 18 7#define MAX_NUM_OF_CONTENT 18
@@ -18,7 +19,7 @@ _reset_cb(void *data, const Efl_Event *ev EINA_UNUSED)
18 target = evas_object_data_get(radio, "data"); 19 target = evas_object_data_get(radio, "data");
19 20
20 efl_gfx_color_set(efl_part(target, "background"), 0, 0, 0, 0); 21 efl_gfx_color_set(efl_part(target, "background"), 0, 0, 0, 0);
21 efl_file_set(efl_part(target, "background"), NULL, NULL); 22 efl_file_simple_load(efl_part(target, "background"), NULL, NULL);
22} 23}
23 24
24static void 25static void
@@ -46,7 +47,7 @@ _scale_type_cb(void *data, const Efl_Event *ev EINA_UNUSED)
46 target = evas_object_data_get(radio, "data"); 47 target = evas_object_data_get(radio, "data");
47 48
48 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); 49 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
49 efl_file_set(efl_part(target, "background"), buf, NULL); 50 efl_file_simple_load(efl_part(target, "background"), buf, NULL);
50 type = efl_gfx_image_scale_type_get(efl_part(target, "background")); 51 type = efl_gfx_image_scale_type_get(efl_part(target, "background"));
51 type = (type + 1) % 5; 52 type = (type + 1) % 5;
52 efl_gfx_image_scale_type_set(efl_part(target, "background"), type); 53 efl_gfx_image_scale_type_set(efl_part(target, "background"), type);
@@ -103,7 +104,7 @@ _create_box_contents(Evas_Object *box)
103 if (efl_isa(content, EFL_UI_IMAGE_CLASS)) 104 if (efl_isa(content, EFL_UI_IMAGE_CLASS))
104 { 105 {
105 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); 106 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
106 efl_file_set(content, buf, NULL); 107 efl_file_simple_load(content, buf, NULL);
107 } 108 }
108 109
109 evas_object_data_set(radio, "data", content); 110 evas_object_data_set(radio, "data", content);
diff --git a/src/bin/elementary/test_part_shadow.c b/src/bin/elementary/test_part_shadow.c
index 70d9a6f..a0e1165 100644
--- a/src/bin/elementary/test_part_shadow.c
+++ b/src/bin/elementary/test_part_shadow.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_UI_WIDGET_PROTECTED 5#define EFL_UI_WIDGET_PROTECTED
6#include <Efl_Ui.h>
6#include <Elementary.h> 7#include <Elementary.h>
7 8
8typedef struct Test_Data 9typedef struct Test_Data
@@ -109,7 +110,7 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
109 110
110 ic = efl_add(EFL_UI_IMAGE_CLASS, win); 111 ic = efl_add(EFL_UI_IMAGE_CLASS, win);
111 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); 112 snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
112 efl_file_set(ic, buf, NULL); 113 efl_file_simple_load(ic, buf, NULL);
113 efl_pack(bx, ic); 114 efl_pack(bx, ic);
114 td->ico = ic; 115 td->ico = ic;
115 116
diff --git a/src/bin/elementary/test_photocam.c b/src/bin/elementary/test_photocam.c
index c1e055e..cbfb79a 100644
--- a/src/bin/elementary/test_photocam.c
+++ b/src/bin/elementary/test_photocam.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static const struct { 7static const struct {
@@ -142,7 +143,7 @@ my_bt_open(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
142 if (eina_list_count(grps) > 0) 143 if (eina_list_count(grps) > 0)
143 { 144 {
144 const char *grp = eina_list_nth(grps, 0); 145 const char *grp = eina_list_nth(grps, 0);
145 efl_file_set(ph, file, grp); 146 efl_file_simple_load(ph, file, grp);
146 printf("Successfully set the edje file: %s, group: %s\n", file, grp); 147 printf("Successfully set the edje file: %s, group: %s\n", file, grp);
147 } 148 }
148 else printf("Failed to set edje file\n"); 149 else printf("Failed to set edje file\n");
@@ -805,7 +806,7 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
805 char buf[PATH_MAX]; 806 char buf[PATH_MAX];
806 807
807 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 808 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
808 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 809 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
809 efl_text_set(efl_added, "Efl.Ui.Image_Zoomable animation"), 810 efl_text_set(efl_added, "Efl.Ui.Image_Zoomable animation"),
810 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 811 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
811 812
@@ -823,7 +824,8 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
823 824
824 snprintf(buf, sizeof(buf), "%s/images/animated_logo.gif", elm_app_data_dir_get()); 825 snprintf(buf, sizeof(buf), "%s/images/animated_logo.gif", elm_app_data_dir_get());
825 zoomable = efl_add(EFL_UI_IMAGE_ZOOMABLE_CLASS, win, 826 zoomable = efl_add(EFL_UI_IMAGE_ZOOMABLE_CLASS, win,
826 efl_file_set(efl_added, buf, NULL), 827 efl_file_set(efl_added, buf),
828 efl_file_load(efl_added),
827 efl_pack(bx, efl_added), 829 efl_pack(bx, efl_added),
828 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _zoomable_clicked_cb, NULL) 830 efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _zoomable_clicked_cb, NULL)
829 ); 831 );
diff --git a/src/bin/elementary/test_systray.c b/src/bin/elementary/test_systray.c
index f4ade32..1b159aa 100644
--- a/src/bin/elementary/test_systray.c
+++ b/src/bin/elementary/test_systray.c
@@ -6,7 +6,7 @@
6 6
7// FIXME: systray has no proper legacy API and clearly isn't ready for prime 7// FIXME: systray has no proper legacy API and clearly isn't ready for prime
8// time with EO either. 8// time with EO either.
9#include "elm_systray.eo.h" 9#include "elm_systray_eo.h"
10 10
11#define WIDTH 320 11#define WIDTH 320
12#define HEIGHT 160 12#define HEIGHT 160
diff --git a/src/bin/elementary/test_ui_box.c b/src/bin/elementary/test_ui_box.c
index d3cfc1c..c5b9db8 100644
--- a/src/bin/elementary/test_ui_box.c
+++ b/src/bin/elementary/test_ui_box.c
@@ -4,6 +4,7 @@
4#endif 4#endif
5 5
6#define EFL_PACK_LAYOUT_PROTECTED 6#define EFL_PACK_LAYOUT_PROTECTED
7#include <Efl_Ui.h>
7#include <Elementary.h> 8#include <Elementary.h>
8#include <assert.h> 9#include <assert.h>
9 10
diff --git a/src/bin/elementary/test_ui_button.c b/src/bin/elementary/test_ui_button.c
index f5aa340..1696a6d 100644
--- a/src/bin/elementary/test_ui_button.c
+++ b/src/bin/elementary/test_ui_button.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -28,7 +29,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
28 char buf[PATH_MAX]; 29 char buf[PATH_MAX];
29 30
30 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 31 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
31 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 32 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
32 efl_text_set(efl_added, "Efl.Ui.Button"), 33 efl_text_set(efl_added, "Efl.Ui.Button"),
33 efl_ui_win_autodel_set(efl_added, EINA_TRUE) 34 efl_ui_win_autodel_set(efl_added, EINA_TRUE)
34 ); 35 );
@@ -55,7 +56,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
55 efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL) 56 efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL)
56 ); 57 );
57 efl_add(EFL_UI_IMAGE_CLASS, btn, 58 efl_add(EFL_UI_IMAGE_CLASS, btn,
58 efl_file_set(efl_added, buf, NULL), 59 efl_file_set(efl_added, buf),
59 efl_content_set(btn, efl_added) 60 efl_content_set(btn, efl_added)
60 ); 61 );
61 62
@@ -69,7 +70,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
69 efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL) 70 efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL)
70 ); 71 );
71 efl_add(EFL_UI_IMAGE_CLASS, btn, 72 efl_add(EFL_UI_IMAGE_CLASS, btn,
72 efl_file_set(efl_added, buf, NULL), 73 efl_file_set(efl_added, buf),
73 efl_content_set(btn, efl_added) 74 efl_content_set(btn, efl_added)
74 ); 75 );
75 76
diff --git a/src/bin/elementary/test_ui_clock.c b/src/bin/elementary/test_ui_clock.c
index 4a0fa11..936efd1 100644
--- a/src/bin/elementary/test_ui_clock.c
+++ b/src/bin/elementary/test_ui_clock.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2#include "elementary_config.h" 2#include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6/* A simple test, just displaying clock in its default format */ 7/* A simple test, just displaying clock in its default format */
@@ -48,7 +49,7 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
48 Evas_Object *win, *bx; 49 Evas_Object *win, *bx;
49 50
50 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 51 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
51 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 52 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
52 efl_text_set(efl_added, "Efl.Ui.Clock"), 53 efl_text_set(efl_added, "Efl.Ui.Clock"),
53 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 54 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
54 55
diff --git a/src/bin/elementary/test_ui_datepicker.c b/src/bin/elementary/test_ui_datepicker.c
index 1eb0461..3fe6251 100644
--- a/src/bin/elementary/test_ui_datepicker.c
+++ b/src/bin/elementary/test_ui_datepicker.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -18,7 +19,7 @@ test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
18 Eo *win, *bx; 19 Eo *win, *bx;
19 20
20 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 21 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
21 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 22 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
22 efl_text_set(efl_added, "Efl.Ui.Datepicker"), 23 efl_text_set(efl_added, "Efl.Ui.Datepicker"),
23 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 24 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
24 25
diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c
index e8d602f..9a51699 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -4,6 +4,7 @@
4#define EO_BETA_API 4#define EO_BETA_API
5#define EFL_UI_WIDGET_PROTECTED 5#define EFL_UI_WIDGET_PROTECTED
6 6
7#include <Efl_Ui.h>
7#include <Elementary.h> 8#include <Elementary.h>
8 9
9 10
@@ -78,7 +79,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
78 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 79 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
79 elm_app_data_dir_get()); 80 elm_app_data_dir_get());
80 page = efl_add(EFL_UI_LAYOUT_CLASS, parent, 81 page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
81 efl_file_set(efl_added, buf, "page"), 82 efl_file_set(efl_added, buf),
83 efl_file_key_set(efl_added, "page"),
84 efl_file_load(efl_added),
82 efl_text_set(efl_part(efl_added, "text"), "Layout Page")); 85 efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
83 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE); 86 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
84 break; 87 break;
@@ -104,7 +107,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
104 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 107 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
105 elm_app_data_dir_get()); 108 elm_app_data_dir_get());
106 page = efl_add(EFL_UI_LAYOUT_CLASS, parent, 109 page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
107 efl_file_set(efl_added, buf, "page"), 110 efl_file_set(efl_added, buf),
111 efl_file_key_set(efl_added, "page"),
112 efl_file_load(efl_added),
108 efl_text_set(efl_part(efl_added, "text"), "Layout Page")); 113 efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
109 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE); 114 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
110 break; 115 break;
@@ -674,7 +679,7 @@ void test_ui_pager(void *data EINA_UNUSED,
674 int i; 679 int i;
675 680
676 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 681 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
677 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 682 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
678 efl_text_set(efl_added, "Pager"), 683 efl_text_set(efl_added, "Pager"),
679 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 684 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
680 685
@@ -696,7 +701,9 @@ void test_ui_pager(void *data EINA_UNUSED,
696 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 701 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
697 elm_app_data_dir_get()); 702 elm_app_data_dir_get());
698 layout = efl_add(EFL_UI_LAYOUT_CLASS, panes, 703 layout = efl_add(EFL_UI_LAYOUT_CLASS, panes,
699 efl_file_set(efl_added, buf, "pager"), 704 efl_file_set(efl_added, buf),
705 efl_file_key_set(efl_added, "pager"),
706 efl_file_load(efl_added),
700 efl_content_set(efl_part(panes, "second"), efl_added)); 707 efl_content_set(efl_part(panes, "second"), efl_added));
701 708
702 pager = efl_add(EFL_UI_PAGER_CLASS, layout, 709 pager = efl_add(EFL_UI_PAGER_CLASS, layout,
diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c
index 9941304..f062a9d 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -4,6 +4,7 @@
4#define EO_BETA_API 4#define EO_BETA_API
5#define EFL_UI_WIDGET_PROTECTED 5#define EFL_UI_WIDGET_PROTECTED
6 6
7#include <Efl_Ui.h>
7#include <Elementary.h> 8#include <Elementary.h>
8 9
9 10
@@ -83,7 +84,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
83 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 84 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
84 elm_app_data_dir_get()); 85 elm_app_data_dir_get());
85 page = efl_add(EFL_UI_LAYOUT_CLASS, parent, 86 page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
86 efl_file_set(efl_added, buf, "page"), 87 efl_file_set(efl_added, buf),
88 efl_file_key_set(efl_added, "page"),
89 efl_file_load(efl_added),
87 efl_text_set(efl_part(efl_added, "text"), "Layout Page")); 90 efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
88 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE); 91 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
89 break; 92 break;
@@ -109,7 +112,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
109 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 112 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
110 elm_app_data_dir_get()); 113 elm_app_data_dir_get());
111 page = efl_add(EFL_UI_LAYOUT_CLASS, parent, 114 page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
112 efl_file_set(efl_added, buf, "page"), 115 efl_file_set(efl_added, buf),
116 efl_file_key_set(efl_added, "page"),
117 efl_file_load(efl_added),
113 efl_text_set(efl_part(efl_added, "text"), "Layout Page")); 118 efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
114 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE); 119 efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
115 break; 120 break;
@@ -855,7 +860,7 @@ void test_ui_pager_scroll(void *data EINA_UNUSED,
855 int i; 860 int i;
856 861
857 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 862 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
858 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 863 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
859 efl_text_set(efl_added, "Pager"), 864 efl_text_set(efl_added, "Pager"),
860 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 865 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
861 866
@@ -877,7 +882,9 @@ void test_ui_pager_scroll(void *data EINA_UNUSED,
877 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", 882 snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
878 elm_app_data_dir_get()); 883 elm_app_data_dir_get());
879 layout = efl_add(EFL_UI_LAYOUT_CLASS, panes, 884 layout = efl_add(EFL_UI_LAYOUT_CLASS, panes,
880 efl_file_set(efl_added, buf, "pager"), 885 efl_file_set(efl_added, buf),
886 efl_file_key_set(efl_added, "pager"),
887 efl_file_load(efl_added),
881 efl_content_set(efl_part(panes, "second"), efl_added)); 888 efl_content_set(efl_part(panes, "second"), efl_added));
882 889
883 pager = efl_add(EFL_UI_PAGER_CLASS, layout, 890 pager = efl_add(EFL_UI_PAGER_CLASS, layout,
diff --git a/src/bin/elementary/test_ui_panel.c b/src/bin/elementary/test_ui_panel.c
index 40ca680..a9c3caf 100644
--- a/src/bin/elementary/test_ui_panel.c
+++ b/src/bin/elementary/test_ui_panel.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6void 7void
@@ -10,7 +11,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
10 Eo *win, *table, *panel; 11 Eo *win, *table, *panel;
11 12
12 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 13 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
13 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 14 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
14 efl_text_set(efl_added, "Efl.Ui.Panel"), 15 efl_text_set(efl_added, "Efl.Ui.Panel"),
15 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 16 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
16 17
@@ -19,7 +20,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
19 20
20 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); 21 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
21 efl_add(EFL_UI_IMAGE_CLASS, table, 22 efl_add(EFL_UI_IMAGE_CLASS, table,
22 efl_file_set(efl_added, buf, NULL), 23 efl_file_set(efl_added, buf),
23 efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), 24 efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
24 efl_gfx_hint_align_set(efl_added, EVAS_HINT_FILL, EVAS_HINT_FILL), 25 efl_gfx_hint_align_set(efl_added, EVAS_HINT_FILL, EVAS_HINT_FILL),
25 efl_pack_table(table, efl_added, 0, 0, 4, 5)); 26 efl_pack_table(table, efl_added, 0, 0, 4, 5));
@@ -103,7 +104,7 @@ test_ui_panel2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
103 Eo *win, *box, *check, *btn, *table, *list, *panel; 104 Eo *win, *box, *check, *btn, *table, *list, *panel;
104 105
105 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 106 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
106 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 107 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
107 efl_text_set(efl_added, "Efl.Ui.Panel"), 108 efl_text_set(efl_added, "Efl.Ui.Panel"),
108 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 109 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
109 110
diff --git a/src/bin/elementary/test_ui_panes.c b/src/bin/elementary/test_ui_panes.c
index 3dcf010..a9d0c80 100644
--- a/src/bin/elementary/test_ui_panes.c
+++ b/src/bin/elementary/test_ui_panes.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6void 7void
@@ -9,7 +10,7 @@ test_panes_minsize(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
9 Eo *win, *panes, *panes_h; 10 Eo *win, *panes, *panes_h;
10 11
11 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 12 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
12 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 13 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
13 efl_text_set(efl_added, "Efl.Ui.Panes"), 14 efl_text_set(efl_added, "Efl.Ui.Panes"),
14 efl_ui_win_autodel_set(efl_added, EINA_TRUE) 15 efl_ui_win_autodel_set(efl_added, EINA_TRUE)
15 ); 16 );
diff --git a/src/bin/elementary/test_ui_popup.c b/src/bin/elementary/test_ui_popup.c
index 311ec1d..d70592c 100644
--- a/src/bin/elementary/test_ui_popup.c
+++ b/src/bin/elementary/test_ui_popup.c
@@ -4,6 +4,7 @@
4 4
5#define EFL_UI_ANCHOR_POPUP_BETA 5#define EFL_UI_ANCHOR_POPUP_BETA
6#define EFL_UI_SCROLL_ALERT_POPUP_BETA 6#define EFL_UI_SCROLL_ALERT_POPUP_BETA
7#include <Efl_Ui.h>
7#include <Elementary.h> 8#include <Elementary.h>
8 9
9#define POPUP_POINT_MAX 8 10#define POPUP_POINT_MAX 8
@@ -85,12 +86,12 @@ _backwall_cb(void *data EINA_UNUSED, const Efl_Event *ev)
85 { 86 {
86 char buf[PATH_MAX]; 87 char buf[PATH_MAX];
87 snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); 88 snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get());
88 efl_file_set(efl_part(p_data->efl_ui_popup, "backwall"), buf, NULL); 89 efl_file_simple_load(efl_part(p_data->efl_ui_popup, "backwall"), buf, NULL);
89 efl_text_set(ev->object, "Backwall UnSet"); 90 efl_text_set(ev->object, "Backwall UnSet");
90 } 91 }
91 else 92 else
92 { 93 {
93 efl_file_set(efl_part(p_data->efl_ui_popup, "backwall"), NULL, NULL); 94 efl_file_simple_load(efl_part(p_data->efl_ui_popup, "backwall"), NULL, NULL);
94 efl_text_set(ev->object, "Backwall Set"); 95 efl_text_set(ev->object, "Backwall Set");
95 } 96 }
96 k = !k; 97 k = !k;
@@ -365,7 +366,7 @@ test_ui_alert_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
365 366
366 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 367 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
367 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 368 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
368 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 369 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
369 370
370 efl_content_set(efl_ui_popup, layout); 371 efl_content_set(efl_ui_popup, layout);
371 efl_ui_alert_popup_button_set(efl_ui_popup, EFL_UI_ALERT_POPUP_BUTTON_POSITIVE, "Yes", NULL); 372 efl_ui_alert_popup_button_set(efl_ui_popup, EFL_UI_ALERT_POPUP_BUTTON_POSITIVE, "Yes", NULL);
@@ -386,7 +387,7 @@ _alert_scroll_case1_cb(void *data, const Efl_Event *ev EINA_UNUSED)
386 387
387 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 388 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
388 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 389 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
389 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 390 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
390 391
391 efl_content_set(efl_ui_popup, layout); 392 efl_content_set(efl_ui_popup, layout);
392 393
@@ -410,7 +411,7 @@ _alert_scroll_case2_cb(void *data, const Efl_Event *ev EINA_UNUSED)
410 411
411 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 412 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
412 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 413 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
413 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 414 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
414 415
415 efl_content_set(efl_ui_popup, layout); 416 efl_content_set(efl_ui_popup, layout);
416 417
@@ -436,7 +437,7 @@ _alert_scroll_case3_cb(void *data, const Efl_Event *ev EINA_UNUSED)
436 437
437 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 438 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
438 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 439 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
439 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 440 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
440 441
441 efl_content_set(efl_ui_popup, layout); 442 efl_content_set(efl_ui_popup, layout);
442 443
@@ -462,7 +463,7 @@ _alert_scroll_case4_cb(void *data, const Efl_Event *ev EINA_UNUSED)
462 463
463 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 464 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
464 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 465 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
465 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 466 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
466 467
467 efl_content_set(efl_ui_popup, layout); 468 efl_content_set(efl_ui_popup, layout);
468 469
@@ -488,7 +489,7 @@ _alert_scroll_case5_cb(void *data, const Efl_Event *ev EINA_UNUSED)
488 489
489 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); 490 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
490 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 491 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
491 efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); 492 efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
492 493
493 efl_content_set(efl_ui_popup, layout); 494 efl_content_set(efl_ui_popup, layout);
494 495
@@ -1008,7 +1009,7 @@ test_ui_anchor_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
1008 1009
1009 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win); 1010 Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
1010 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); 1011 snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
1011 efl_file_set(layout, buf, "efl_ui_anchor_popup_layout"); 1012 efl_file_simple_load(layout, buf, "efl_ui_anchor_popup_layout");
1012 efl_gfx_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 1013 efl_gfx_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
1013 efl_content_set(win, layout); 1014 efl_content_set(win, layout);
1014 1015
diff --git a/src/bin/elementary/test_ui_progressbar.c b/src/bin/elementary/test_ui_progressbar.c
index cbb2fdc..e851769 100644
--- a/src/bin/elementary/test_ui_progressbar.c
+++ b/src/bin/elementary/test_ui_progressbar.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6typedef struct _pbdata 7typedef struct _pbdata
@@ -118,7 +119,7 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_inf
118 pd = (pbdata *)calloc(1, sizeof(pbdata)); 119 pd = (pbdata *)calloc(1, sizeof(pbdata));
119 120
120 pd->win = win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 121 pd->win = win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
121 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 122 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
122 efl_text_set(efl_added, "Efl.Ui.Progressbar"), 123 efl_text_set(efl_added, "Efl.Ui.Progressbar"),
123 efl_ui_win_autodel_set(efl_added, EINA_TRUE), 124 efl_ui_win_autodel_set(efl_added, EINA_TRUE),
124 efl_event_callback_add(efl_added, EFL_UI_WIN_EVENT_DELETE_REQUEST, 125 efl_event_callback_add(efl_added, EFL_UI_WIN_EVENT_DELETE_REQUEST,
@@ -138,7 +139,8 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_inf
138 139
139 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); 140 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
140 efl_add(EFL_UI_IMAGE_CLASS, pd->pb1, 141 efl_add(EFL_UI_IMAGE_CLASS, pd->pb1,
141 efl_file_set(efl_added, buf, NULL), 142 efl_file_set(efl_added, buf),
143 efl_file_load(efl_added),
142 efl_content_set(pd->pb1, efl_added) 144 efl_content_set(pd->pb1, efl_added)
143 ); 145 );
144 146
diff --git a/src/bin/elementary/test_ui_relative_layout.c b/src/bin/elementary/test_ui_relative_layout.c
index 24546ca..e6481ec 100644
--- a/src/bin/elementary/test_ui_relative_layout.c
+++ b/src/bin/elementary/test_ui_relative_layout.c
@@ -3,6 +3,7 @@
3# include "elementary_config.h" 3# include "elementary_config.h"
4#endif 4#endif
5 5
6#include <Efl_Ui.h>
6#include <Elementary.h> 7#include <Elementary.h>
7 8
8static Eo *layout, *btn1, *btn2, *btn3; 9static Eo *layout, *btn1, *btn2, *btn3;
@@ -264,7 +265,7 @@ test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
264 Eo *win, *vbox, *f, *hbox; 265 Eo *win, *vbox, *f, *hbox;
265 266
266 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 267 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
267 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 268 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
268 efl_text_set(efl_added, "Efl.Ui.Relative_Layout"), 269 efl_text_set(efl_added, "Efl.Ui.Relative_Layout"),
269 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 270 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
270 271
diff --git a/src/bin/elementary/test_ui_scroller.c b/src/bin/elementary/test_ui_scroller.c
index 3a43a43..9864e77 100644
--- a/src/bin/elementary/test_ui_scroller.c
+++ b/src/bin/elementary/test_ui_scroller.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7static void 8static void
@@ -31,7 +32,7 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
31 int i, j; 32 int i, j;
32 33
33 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 34 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
34 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 35 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
35 efl_text_set(efl_added, "Efl Ui Scroller"), 36 efl_text_set(efl_added, "Efl Ui Scroller"),
36 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 37 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
37 efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400)); 38 efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400));
diff --git a/src/bin/elementary/test_ui_slider.c b/src/bin/elementary/test_ui_slider.c
index 66bfe0f..305177f 100644
--- a/src/bin/elementary/test_ui_slider.c
+++ b/src/bin/elementary/test_ui_slider.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static double 7static double
@@ -33,7 +34,7 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
33 double step; 34 double step;
34 35
35 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 36 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
36 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 37 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
37 efl_text_set(efl_added, "Efl.Ui.Slider"), 38 efl_text_set(efl_added, "Efl.Ui.Slider"),
38 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 39 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
39 40
diff --git a/src/bin/elementary/test_ui_slider_interval.c b/src/bin/elementary/test_ui_slider_interval.c
index 09589a7..3e4bdcd 100644
--- a/src/bin/elementary/test_ui_slider_interval.c
+++ b/src/bin/elementary/test_ui_slider_interval.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static double 7static double
@@ -33,7 +34,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
33 double step; 34 double step;
34 35
35 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 36 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
36 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 37 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
37 efl_text_set(efl_added, "Efl.Ui.Slider_Interval"), 38 efl_text_set(efl_added, "Efl.Ui.Slider_Interval"),
38 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 39 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
39 40
diff --git a/src/bin/elementary/test_ui_spin.c b/src/bin/elementary/test_ui_spin.c
index 85945a3..7c60606 100644
--- a/src/bin/elementary/test_ui_spin.c
+++ b/src/bin/elementary/test_ui_spin.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -37,7 +38,7 @@ test_ui_spin(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
37 Eo *win, *bx, *sp; 38 Eo *win, *bx, *sp;
38 39
39 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 40 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
40 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 41 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
41 efl_text_set(efl_added, "Efl.Ui.Spin"), 42 efl_text_set(efl_added, "Efl.Ui.Spin"),
42 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 43 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
43 44
diff --git a/src/bin/elementary/test_ui_spin_button.c b/src/bin/elementary/test_ui_spin_button.c
index 0e00820..b6e4381 100644
--- a/src/bin/elementary/test_ui_spin_button.c
+++ b/src/bin/elementary/test_ui_spin_button.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6#define NUM_OF_VALS 12 7#define NUM_OF_VALS 12
@@ -28,7 +29,7 @@ test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
28 eina_array_push(array, &values[i]); 29 eina_array_push(array, &values[i]);
29 30
30 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 31 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
31 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 32 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
32 efl_text_set(efl_added, "Efl.Ui.Spin_Button"), 33 efl_text_set(efl_added, "Efl.Ui.Spin_Button"),
33 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 34 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
34 35
diff --git a/src/bin/elementary/test_ui_stack.c b/src/bin/elementary/test_ui_stack.c
index 1cb3041..087e51f 100644
--- a/src/bin/elementary/test_ui_stack.c
+++ b/src/bin/elementary/test_ui_stack.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7static void _third_layout_push(void *data, const Efl_Event *ev EINA_UNUSED); 8static void _third_layout_push(void *data, const Efl_Event *ev EINA_UNUSED);
diff --git a/src/bin/elementary/test_ui_tab_pager.c b/src/bin/elementary/test_ui_tab_pager.c
index 318e019..ef8ccae 100644
--- a/src/bin/elementary/test_ui_tab_pager.c
+++ b/src/bin/elementary/test_ui_tab_pager.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6#define TAB_LABEL_COUNT 15 7#define TAB_LABEL_COUNT 15
@@ -86,7 +87,8 @@ content_add(Eo *parent, char *text)
86 snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get()); 87 snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get());
87 88
88 page = efl_add(EFL_UI_LAYOUT_CLASS, parent, 89 page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
89 efl_file_set(efl_added, buf, "page_layout"), 90 efl_file_set(efl_added, buf),
91 efl_file_key_set(efl_added, "page_layout"),
90 efl_text_set(efl_part(efl_added, "text"), text), 92 efl_text_set(efl_part(efl_added, "text"), text),
91 efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), 93 efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
92 efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE)); 94 efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE));
@@ -122,14 +124,15 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
122 int i; 124 int i;
123 125
124 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 126 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
125 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 127 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
126 efl_text_set(efl_added, "Efl.Ui.Tab_Pager"), 128 efl_text_set(efl_added, "Efl.Ui.Tab_Pager"),
127 efl_ui_win_autodel_set(efl_added, EINA_TRUE), 129 efl_ui_win_autodel_set(efl_added, EINA_TRUE),
128 efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad)); 130 efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad));
129 131
130 snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get()); 132 snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get());
131 layout = efl_add(EFL_UI_LAYOUT_CLASS, win, 133 layout = efl_add(EFL_UI_LAYOUT_CLASS, win,
132 efl_file_set(efl_added, buf, "tab_page_layout"), 134 efl_file_set(efl_added, buf),
135 efl_file_key_set(efl_added, "tab_page_layout"),
133 efl_content_set(win, efl_added)); 136 efl_content_set(win, efl_added));
134 137
135 navi = elm_naviframe_add(layout); 138 navi = elm_naviframe_add(layout);
diff --git a/src/bin/elementary/test_ui_table.c b/src/bin/elementary/test_ui_table.c
index 098fe13..f0e63d2 100644
--- a/src/bin/elementary/test_ui_table.c
+++ b/src/bin/elementary/test_ui_table.c
@@ -3,6 +3,7 @@
3#endif 3#endif
4 4
5#define EFL_PACK_LAYOUT_PROTECTED 5#define EFL_PACK_LAYOUT_PROTECTED
6#include <Efl_Ui.h>
6#include <Elementary.h> 7#include <Elementary.h>
7 8
8static void _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED); 9static void _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED);
@@ -34,31 +35,31 @@ weights_cb(void *data, const Efl_Event *event)
34 { 35 {
35 case NONE: 36 case NONE:
36 efl_gfx_hint_align_set(table, 0.5, 0.5); 37 efl_gfx_hint_align_set(table, 0.5, 0.5);
37 for (int i = 0; i < 7; i++) 38 for (int i = 1; i < 7; i++)
38 efl_gfx_hint_weight_set(objects[i], 0, 0); 39 efl_gfx_hint_weight_set(objects[i], 0, 0);
39 break; 40 break;
40 case NONE_BUT_FILL: 41 case NONE_BUT_FILL:
41 efl_gfx_hint_fill_set(table, EINA_TRUE, EINA_TRUE); 42 efl_gfx_hint_fill_set(table, EINA_TRUE, EINA_TRUE);
42 for (int i = 0; i < 7; i++) 43 for (int i = 1; i < 7; i++)
43 efl_gfx_hint_weight_set(objects[i], 0, 0); 44 efl_gfx_hint_weight_set(objects[i], 0, 0);
44 break; 45 break;
45 case EQUAL: 46 case EQUAL:
46 efl_gfx_hint_align_set(table, 0.5, 0.5); 47 efl_gfx_hint_align_set(table, 0.5, 0.5);
47 for (int i = 0; i < 7; i++) 48 for (int i = 1; i < 7; i++)
48 efl_gfx_hint_weight_set(objects[i], 1, 1); 49 efl_gfx_hint_weight_set(objects[i], 1, 1);
49 break; 50 break;
50 case ONE: 51 case ONE:
51 efl_gfx_hint_align_set(table, 0.5, 0.5); 52 efl_gfx_hint_align_set(table, 0.5, 0.5);
52 for (int i = 0; i < 6; i++) 53 for (int i = 1; i < 7; i++)
53 efl_gfx_hint_weight_set(objects[i], 0, 0); 54 efl_gfx_hint_weight_set(objects[i], 0, 0);
54 efl_gfx_hint_weight_set(objects[6], 1, 1); 55 efl_gfx_hint_weight_set(objects[2], 1, 1);
55 break; 56 break;
56 case TWO: 57 case TWO:
57 efl_gfx_hint_align_set(table, 0.5, 0.5); 58 efl_gfx_hint_align_set(table, 0.5, 0.5);
58 for (int i = 0; i < 5; i++) 59 for (int i = 1; i < 7; i++)
59 efl_gfx_hint_weight_set(objects[i], 0, 0); 60 efl_gfx_hint_weight_set(objects[i], 0, 0);
60 efl_gfx_hint_weight_set(objects[5], 1, 1); 61 efl_gfx_hint_weight_set(objects[2], 1, 1);
61 efl_gfx_hint_weight_set(objects[6], 1, 1); 62 efl_gfx_hint_weight_set(objects[3], 1, 1);
62 break; 63 break;
63 case CUSTOM: 64 case CUSTOM:
64 efl_object_override(table, &custom_layout_ops); 65 efl_object_override(table, &custom_layout_ops);
@@ -89,11 +90,11 @@ margin_slider_cb(void *data, const Efl_Event *event)
89} 90}
90 91
91static void 92static void
92btnmargins_slider_cb(void *data, const Efl_Event *event) 93btnmargins_slider_cb(void *data EINA_UNUSED, const Efl_Event *event)
93{ 94{
94 int val = elm_slider_value_get(event->object); 95 int val = elm_slider_value_get(event->object);
95 for (int i = 1; i < 7; i++) 96 for (int i = 1; i < 7; i++)
96 efl_gfx_hint_margin_set(data, val, val, val, val); 97 efl_gfx_hint_margin_set(objects[i], val, val, val, val);
97} 98}
98 99
99static void 100static void
@@ -333,7 +334,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
333 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, padding_slider_cb, table); 334 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, padding_slider_cb, table);
334 elm_slider_min_max_set(o, 0, 40); 335 elm_slider_min_max_set(o, 0, 40);
335 elm_slider_inverted_set(o, 1); 336 elm_slider_inverted_set(o, 1);
336 elm_slider_value_set(o, 10); 337 elm_slider_value_set(o, 0);
337 efl_pack(bx, o); 338 efl_pack(bx, o);
338 efl_gfx_entity_visible_set(o, 1); 339 efl_gfx_entity_visible_set(o, 1);
339 340
@@ -359,7 +360,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
359 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, margin_slider_cb, table); 360 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, margin_slider_cb, table);
360 elm_slider_min_max_set(o, 0, 40); 361 elm_slider_min_max_set(o, 0, 40);
361 elm_slider_inverted_set(o, 1); 362 elm_slider_inverted_set(o, 1);
362 elm_slider_value_set(o, 10); 363 elm_slider_value_set(o, 0);
363 efl_pack(bx, o); 364 efl_pack(bx, o);
364 efl_gfx_entity_visible_set(o, 1); 365 efl_gfx_entity_visible_set(o, 1);
365 366
@@ -386,7 +387,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
386 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, btnmargins_slider_cb, table); 387 efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, btnmargins_slider_cb, table);
387 elm_slider_min_max_set(o, 0, 40); 388 elm_slider_min_max_set(o, 0, 40);
388 elm_slider_inverted_set(o, 1); 389 elm_slider_inverted_set(o, 1);
389 elm_slider_value_set(o, 10); 390 elm_slider_value_set(o, 0);
390 efl_pack(bx, o); 391 efl_pack(bx, o);
391 efl_gfx_entity_visible_set(o, 1); 392 efl_gfx_entity_visible_set(o, 1);
392 393
diff --git a/src/bin/elementary/test_ui_table_static.c b/src/bin/elementary/test_ui_table_static.c
index 369236f..d21d6b6c 100644
--- a/src/bin/elementary/test_ui_table_static.c
+++ b/src/bin/elementary/test_ui_table_static.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#include <Efl_Ui.h>
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7struct _Api_Data 8struct _Api_Data
diff --git a/src/bin/elementary/test_ui_tags.c b/src/bin/elementary/test_ui_tags.c
index 2c8b3e6..410c7b2 100644
--- a/src/bin/elementary/test_ui_tags.c
+++ b/src/bin/elementary/test_ui_tags.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -59,7 +60,7 @@ test_ui_tags(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
59 char buf[PATH_MAX]; 60 char buf[PATH_MAX];
60 61
61 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 62 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
62 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 63 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
63 efl_text_set(efl_added, "Efl.Ui.Tags"), 64 efl_text_set(efl_added, "Efl.Ui.Tags"),
64 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 65 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
65 66
diff --git a/src/bin/elementary/test_ui_textpath.c b/src/bin/elementary/test_ui_textpath.c
index 2f5542a..0042f2b 100644
--- a/src/bin/elementary/test_ui_textpath.c
+++ b/src/bin/elementary/test_ui_textpath.c
@@ -3,6 +3,7 @@
3# include "elementary_config.h" 3# include "elementary_config.h"
4#endif 4#endif
5 5
6#include <Efl_Ui.h>
6#include <Elementary.h> 7#include <Elementary.h>
7 8
8#define CX 180 9#define CX 180
diff --git a/src/bin/elementary/test_ui_timepicker.c b/src/bin/elementary/test_ui_timepicker.c
index cb88ef5..60464d0 100644
--- a/src/bin/elementary/test_ui_timepicker.c
+++ b/src/bin/elementary/test_ui_timepicker.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -19,7 +20,7 @@ test_ui_timepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
19 Eo *win, *bx; 20 Eo *win, *bx;
20 21
21 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 22 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
22 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 23 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
23 efl_text_set(efl_added, "Efl.Ui.Timepicker"), 24 efl_text_set(efl_added, "Efl.Ui.Timepicker"),
24 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 25 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
25 26
diff --git a/src/bin/elementary/test_win_dialog.c b/src/bin/elementary/test_win_dialog.c
index 1aaa844..ef8a67b 100644
--- a/src/bin/elementary/test_win_dialog.c
+++ b/src/bin/elementary/test_win_dialog.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -29,7 +30,7 @@ _bt2_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_
29 Eina_Size2D size = { 300, 150 }; 30 Eina_Size2D size = { 300, 150 };
30 31
31 dia = efl_add(EFL_UI_WIN_CLASS, parent, 32 dia = efl_add(EFL_UI_WIN_CLASS, parent,
32 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC), 33 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
33 efl_ui_win_name_set(efl_added, "window-dia-2"), 34 efl_ui_win_name_set(efl_added, "window-dia-2"),
34 efl_ui_win_autodel_set(efl_added, EINA_TRUE), 35 efl_ui_win_autodel_set(efl_added, EINA_TRUE),
35 efl_text_set(efl_added, "A Fixed Size Dialog")); 36 efl_text_set(efl_added, "A Fixed Size Dialog"));
@@ -76,7 +77,7 @@ _bt3_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_
76 Efl_Canvas_Object *dia, *lb, *parent = data; 77 Efl_Canvas_Object *dia, *lb, *parent = data;
77 78
78 dia = efl_add(EFL_UI_WIN_CLASS, parent, 79 dia = efl_add(EFL_UI_WIN_CLASS, parent,
79 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC), 80 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
80 efl_ui_win_name_set(efl_added, "window-dia-3"), 81 efl_ui_win_name_set(efl_added, "window-dia-3"),
81 efl_ui_win_autodel_set(efl_added, EINA_TRUE), 82 efl_ui_win_autodel_set(efl_added, EINA_TRUE),
82 efl_text_set(efl_added, "Min/Max Size Dialog")); 83 efl_text_set(efl_added, "Min/Max Size Dialog"));
@@ -102,7 +103,7 @@ _bt4_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *even
102 Efl_Canvas_Object *dia, *lb; 103 Efl_Canvas_Object *dia, *lb;
103 104
104 dia = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 105 dia = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
105 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC), 106 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
106 efl_ui_win_name_set(efl_added, "window-dia-4"), 107 efl_ui_win_name_set(efl_added, "window-dia-4"),
107 efl_ui_win_autodel_set(efl_added, EINA_TRUE), 108 efl_ui_win_autodel_set(efl_added, EINA_TRUE),
108 efl_text_set(efl_added, "Min/Max Size Dialog") 109 efl_text_set(efl_added, "Min/Max Size Dialog")
diff --git a/src/bin/elementary/test_win_indicator.c b/src/bin/elementary/test_win_indicator.c
index 1b72b0d..0ebb30b 100644
--- a/src/bin/elementary/test_win_indicator.c
+++ b/src/bin/elementary/test_win_indicator.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
@@ -56,25 +57,25 @@ _create_indicator(void)
56static void 57static void
57_off_clicked(void *data, const Efl_Event *ev EINA_UNUSED) 58_off_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
58{ 59{
59 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_OFF); 60 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_OFF);
60} 61}
61 62
62static void 63static void
63_opaque_clicked(void *data, const Efl_Event *ev EINA_UNUSED) 64_opaque_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
64{ 65{
65 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_BG_OPAQUE); 66 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_BG_OPAQUE);
66} 67}
67 68
68static void 69static void
69_transparent_clicked(void *data, const Efl_Event *ev EINA_UNUSED) 70_transparent_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
70{ 71{
71 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_BG_TRANSPARENT); 72 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_BG_TRANSPARENT);
72} 73}
73 74
74static void 75static void
75_hidden_clicked(void *data, const Efl_Event *ev EINA_UNUSED) 76_hidden_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
76{ 77{
77 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_HIDDEN); 78 efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_HIDDEN);
78} 79}
79 80
80static void 81static void
@@ -92,7 +93,7 @@ test_win_indicator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
92 93
93 // FIXME: Resizing window should no cause sizing issues! 94 // FIXME: Resizing window should no cause sizing issues!
94 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 95 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
95 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), 96 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
96 efl_text_set(efl_added, "Efl.Win.Indicator"), 97 efl_text_set(efl_added, "Efl.Win.Indicator"),
97 efl_gfx_hint_size_max_set(efl_added, EINA_SIZE2D(300, -1)), 98 efl_gfx_hint_size_max_set(efl_added, EINA_SIZE2D(300, -1)),
98 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 99 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
diff --git a/src/bin/elementary/test_win_inline.c b/src/bin/elementary/test_win_inline.c
index ea93f0b..122f2d4 100644
--- a/src/bin/elementary/test_win_inline.c
+++ b/src/bin/elementary/test_win_inline.c
@@ -1,6 +1,7 @@
1#ifdef HAVE_CONFIG_H 1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4#include <Efl_Ui.h>
4#include <Elementary.h> 5#include <Elementary.h>
5 6
6static void 7static void
diff --git a/src/bin/elementary/test_win_plug.c b/src/bin/elementary/test_win_plug.c
index 867e5c4..615e6fa 100644
--- a/src/bin/elementary/test_win_plug.c
+++ b/src/bin/elementary/test_win_plug.c
@@ -4,7 +4,7 @@
4 4
5#include <Elementary.h> 5#include <Elementary.h>
6// FIXME: use smart cb 6// FIXME: use smart cb
7#include "elm_notify.eo.h" 7#include "elm_notify_eo.h"
8 8
9#define MAX_TRY 40 9#define MAX_TRY 40
10 10
diff --git a/src/bin/elementary/test_win_stack.c b/src/bin/elementary/test_win_stack.c
index d13072d..c16c07b 100644
--- a/src/bin/elementary/test_win_stack.c
+++ b/src/bin/elementary/test_win_stack.c
@@ -4,6 +4,7 @@
4 4
5// Stack API is still beta (and EO only) 5// Stack API is still beta (and EO only)
6#define EFL_UI_WIN_BETA 6#define EFL_UI_WIN_BETA
7#include <Efl_Ui.h>
7#include <Elementary.h> 8#include <Elementary.h>
8 9
9static int level = 0; 10static int level = 0;
@@ -20,13 +21,13 @@ _win_new(Evas_Object *stack_top, const char *title)
20 if (level >= 3) 21 if (level >= 3)
21 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 22 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
22 efl_ui_win_name_set(efl_added, "window-stack"), 23 efl_ui_win_name_set(efl_added, "window-stack"),
23 efl_ui_win_type_set(efl_added, ELM_WIN_NAVIFRAME_BASIC), 24 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_NAVIFRAME_BASIC),
24 efl_text_set(efl_added, title), 25 efl_text_set(efl_added, title),
25 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 26 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
26 else 27 else
27 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, 28 win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
28 efl_ui_win_name_set(efl_added, "window-stack"), 29 efl_ui_win_name_set(efl_added, "window-stack"),
29 efl_ui_win_type_set(efl_added, ELM_WIN_DIALOG_BASIC), 30 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
30 efl_text_set(efl_added, title), 31 efl_text_set(efl_added, title),
31 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 32 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
32 33
diff --git a/src/bin/elementary/test_win_state.c b/src/bin/elementary/test_win_state.c
index b4d084e..f1b9af3 100644
--- a/src/bin/elementary/test_win_state.c
+++ b/src/bin/elementary/test_win_state.c
@@ -263,39 +263,39 @@ _bt_pressed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
263 { 263 {
264 case 1: 264 case 1:
265 printf("Top Left\n"); 265 printf("Top Left\n");
266 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT); 266 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_LEFT);
267 break; 267 break;
268 case 2: 268 case 2:
269 printf("Top\n"); 269 printf("Top\n");
270 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP); 270 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP);
271 break; 271 break;
272 case 3: 272 case 3:
273 printf("Top Right\n"); 273 printf("Top Right\n");
274 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT); 274 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_RIGHT);
275 break; 275 break;
276 case 4: 276 case 4:
277 printf("Left\n"); 277 printf("Left\n");
278 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_LEFT); 278 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_LEFT);
279 break; 279 break;
280 case 5: 280 case 5:
281 printf("Move win\n"); 281 printf("Move win\n");
282 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_MOVE); 282 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_MOVE);
283 break; 283 break;
284 case 6: 284 case 6:
285 printf("Right\n"); 285 printf("Right\n");
286 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_RIGHT); 286 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_RIGHT);
287 break; 287 break;
288 case 7: 288 case 7:
289 printf("Bottom Left\n"); 289 printf("Bottom Left\n");
290 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT); 290 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_LEFT);
291 break; 291 break;
292 case 8: 292 case 8:
293 printf("Bottom\n"); 293 printf("Bottom\n");
294 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM); 294 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM);
295 break; 295 break;
296 case 9: 296 case 9:
297 printf("Bottom Right\n"); 297 printf("Bottom Right\n");
298 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT); 298 res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_RIGHT);
299 break; 299 break;
300 default: 300 default:
301 printf("No action\n"); 301 printf("No action\n");
diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c
index e7a4612..a973dd3 100644
--- a/src/bin/eolian/sources.c
+++ b/src/bin/eolian/sources.c
@@ -194,11 +194,6 @@ _generate_iterative_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eolia
194 194
195 //generate the field definition 195 //generate the field definition
196 eina_strbuf_append_printf(*buf, " %s", eolian_type_c_type_get(inner_type, EOLIAN_C_TYPE_DEFAULT)); 196 eina_strbuf_append_printf(*buf, " %s", eolian_type_c_type_get(inner_type, EOLIAN_C_TYPE_DEFAULT));
197 if(t == EOLIAN_TYPE_BUILTIN_INARRAY
198 || t == EOLIAN_TYPE_BUILTIN_INLIST)
199 {
200 eina_strbuf_append(*buf, "*");
201 }
202 eina_strbuf_append_buffer(*buf, iter_param); 197 eina_strbuf_append_buffer(*buf, iter_param);
203 eina_strbuf_append(*buf, ";\n"); 198 eina_strbuf_append(*buf, ";\n");
204 199
@@ -212,24 +207,6 @@ _generate_iterative_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eolia
212 eina_strbuf_append(*buf, ")\n"); 207 eina_strbuf_append(*buf, ")\n");
213 _generate_loop_content(buf, inner_type, iter_param); 208 _generate_loop_content(buf, inner_type, iter_param);
214 } 209 }
215 else if (t == EOLIAN_TYPE_BUILTIN_INARRAY)
216 {
217 eina_strbuf_append_printf(*buf, " EINA_INARRAY_FOREACH(");
218 eina_strbuf_append_buffer(*buf, param);
219 eina_strbuf_append_char(*buf, ',');
220 eina_strbuf_append_buffer(*buf, iter_param);
221 eina_strbuf_append(*buf, ")\n");
222 _generate_loop_content(buf, inner_type, iter_param);
223 }
224 else if (t == EOLIAN_TYPE_BUILTIN_INLIST)
225 {
226 eina_strbuf_append_printf(*buf, " EINA_INLIST_FREE(");
227 eina_strbuf_append_buffer(*buf, param);
228 eina_strbuf_append_char(*buf, ',');
229 eina_strbuf_append_buffer(*buf, iter_param);
230 eina_strbuf_append(*buf, ")\n");
231 _generate_loop_content(buf, inner_type, iter_param);
232 }
233 else if (t == EOLIAN_TYPE_BUILTIN_ITERATOR) 210 else if (t == EOLIAN_TYPE_BUILTIN_ITERATOR)
234 { 211 {
235 eina_strbuf_append_printf(*buf, " EINA_ITERATOR_FOREACH("); 212 eina_strbuf_append_printf(*buf, " EINA_ITERATOR_FOREACH(");
@@ -437,6 +414,39 @@ _gen_reflect_set(Eina_Strbuf *buf, const char *cnamel, const Eolian_Type *valt,
437} 414}
438 415
439static void 416static void
417_emit_class_function(Eina_Strbuf *buf, const Eolian_Function *fid, const Eolian_Type *rtp, Eina_Strbuf *params_full,
418 const char *ocnamel, const char *func_suffix, Eina_Strbuf *params, const char *function_name)
419{
420 eina_strbuf_append(buf, "EOAPI ");
421 if (rtp)
422 eina_strbuf_append(buf, eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN));
423 else
424 eina_strbuf_append(buf, "void");
425 eina_strbuf_append(buf, " ");
426 eina_strbuf_append(buf, function_name);
427 eina_strbuf_append(buf, "(");
428 if (eina_strbuf_length_get(params_full) == 0)
429 eina_strbuf_append(buf, "void");
430 else
431 eina_strbuf_append_buffer(buf, params_full);
432 eina_strbuf_append(buf, ")\n");
433 eina_strbuf_append(buf, "{\n");
434 eina_strbuf_append_printf(buf, " %s();\n", eolian_class_c_get_function_name_get(eolian_function_class_get(fid)));
435 if (rtp)
436 eina_strbuf_append(buf, " return ");
437 else
438 eina_strbuf_append(buf, " ");
439 eina_strbuf_append_printf(buf, "_%s", ocnamel);
440 eina_strbuf_append_char(buf, '_');
441 eina_strbuf_append(buf, eolian_function_name_get(fid));
442 eina_strbuf_append(buf, func_suffix);
443 eina_strbuf_append(buf, "(");
444 eina_strbuf_append_buffer(buf, params);
445 eina_strbuf_append(buf, ");\n");
446 eina_strbuf_append(buf, "}\n");
447}
448
449static void
440_gen_func(const Eolian_Class *cl, const Eolian_Function *fid, 450_gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
441 Eolian_Function_Type ftype, Eina_Strbuf *buf, 451 Eolian_Function_Type ftype, Eina_Strbuf *buf,
442 const Eolian_Implement *impl, Eina_Strbuf *lbuf, 452 const Eolian_Implement *impl, Eina_Strbuf *lbuf,
@@ -901,33 +911,11 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
901 } 911 }
902 if (impl_same_class && eolian_function_is_class(fid)) 912 if (impl_same_class && eolian_function_is_class(fid))
903 { 913 {
904 eina_strbuf_append(buf, "EOAPI "); 914 const char *legacy_name = eolian_function_full_c_name_get(fid, ftype, EINA_TRUE);
905 if (rtp) 915
906 eina_strbuf_append(buf, eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN)); 916 _emit_class_function(buf, fid, rtp, params_full, ocnamel, func_suffix, params, eolian_function_full_c_name_get(fid, ftype, EINA_FALSE));
907 else 917 if (legacy_name)
908 eina_strbuf_append(buf, "void"); 918 _emit_class_function(buf, fid, rtp, params_full, ocnamel, func_suffix, params, legacy_name);
909 eina_strbuf_append(buf, " ");
910 eina_strbuf_append(buf, eolian_function_full_c_name_get(fid, ftype, EINA_FALSE));
911 eina_strbuf_append(buf, "(");
912 if (eina_strbuf_length_get(params_full) == 0)
913 eina_strbuf_append(buf, "void");
914 else
915 eina_strbuf_append_buffer(buf, params_full);
916 eina_strbuf_append(buf, ")\n");
917 eina_strbuf_append(buf, "{\n");
918 eina_strbuf_append_printf(buf, " %s();\n", eolian_class_c_get_function_name_get(cl));
919 if (rtp)
920 eina_strbuf_append(buf, " return ");
921 else
922 eina_strbuf_append(buf, " ");
923 eina_strbuf_append_printf(buf, "_%s", ocnamel);
924 eina_strbuf_append_char(buf, '_');
925 eina_strbuf_append(buf, eolian_function_name_get(fid));
926 eina_strbuf_append(buf, func_suffix);
927 eina_strbuf_append(buf, "(");
928 eina_strbuf_append_buffer(buf, params);
929 eina_strbuf_append(buf, ");\n");
930 eina_strbuf_append(buf, "}\n");
931 } 919 }
932 920
933 free(cname); 921 free(cname);
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index c00b449..764ecb8 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -135,6 +135,18 @@ struct documentation_generator
135 case ::EOLIAN_OBJECT_FUNCTION: 135 case ::EOLIAN_OBJECT_FUNCTION:
136 ref += function_conversion(data, (const ::Eolian_Function *)data2, name_tail); 136 ref += function_conversion(data, (const ::Eolian_Function *)data2, name_tail);
137 break; 137 break;
138 case ::EOLIAN_OBJECT_VARIABLE:
139 if (::eolian_variable_type_get((::Eolian_Variable *)data) == ::EOLIAN_VAR_CONSTANT)
140 {
141 auto names = utils::split(name_helpers::managed_namespace(::eolian_object_name_get(data)), '.');
142 names.pop_back(); // Remove var name
143 ref = name_helpers::join_namespaces(names, '.');
144 ref += "Constants.";
145 ref += name_helpers::managed_name(::eolian_object_short_name_get(data));
146 }
147 // Otherwise, do nothing and no <see> tag will be generated. Because, who would
148 // reference a global (non-constant) variable in the docs?
149 break;
138 case ::EOLIAN_OBJECT_UNKNOWN: 150 case ::EOLIAN_OBJECT_UNKNOWN:
139 // If the reference cannot be resolved, just return an empty string and 151 // If the reference cannot be resolved, just return an empty string and
140 // it won't be converted into a <see> tag. 152 // it won't be converted into a <see> tag.
diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh
index 20225b4..2a2aa4c 100644
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -301,12 +301,15 @@ struct event_definition_generator
301 bool generate_event_add_remove(OutputIterator sink, attributes::event_def const &evt, const std::string& event_name, Context context) const 301 bool generate_event_add_remove(OutputIterator sink, attributes::event_def const &evt, const std::string& event_name, Context context) const
302 { 302 {
303 std::string upper_c_name = utils::to_uppercase(evt.c_name); 303 std::string upper_c_name = utils::to_uppercase(evt.c_name);
304 auto unit = (const Eolian_Unit*) context_find_tag<eolian_state_context>(context).state;
305 attributes::klass_def klass(get_klass(evt.klass, unit), unit);
306 auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename);
304 return as_generator( 307 return as_generator(
305 scope_tab << "{\n" 308 scope_tab << "{\n"
306 << scope_tab << scope_tab << "add {\n" 309 << scope_tab << scope_tab << "add {\n"
307 << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" 310 << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
308 << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" 311 << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
309 << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << event_name << "_delegate)) {\n" 312 << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(" << library_name << ", key, this.evt_" << event_name << "_delegate)) {\n"
310 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eventHandlers.AddHandler(" << event_name << "Key , value);\n" 313 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eventHandlers.AddHandler(" << event_name << "Key , value);\n"
311 << scope_tab << scope_tab << scope_tab << scope_tab << "} else\n" 314 << scope_tab << scope_tab << scope_tab << scope_tab << "} else\n"
312 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Error adding proxy for event {key}\");\n" 315 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Error adding proxy for event {key}\");\n"
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index 9fef462..67dfcc0 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -32,41 +32,50 @@ struct native_function_definition_generator
32 bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const 32 bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const
33 { 33 {
34 EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "native_function_definition_generator: " << f.c_name << std::endl; 34 EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "native_function_definition_generator: " << f.c_name << std::endl;
35 if(blacklist::is_function_blacklisted(f, context) || f.is_static) // Only Concrete classes implement static methods. 35 if(blacklist::is_function_blacklisted(f, context))
36 return true; 36 return true;
37 else 37 else
38 { 38 {
39 if(!as_generator 39 if(!as_generator
40 ("\n\n" << scope_tab 40 ("\n\n" << scope_tab
41 << eolian_mono::marshall_native_annotation(true) 41 << eolian_mono::marshall_annotation(true)
42 << " private delegate " 42 << " private delegate "
43 << eolian_mono::marshall_type(true) 43 << eolian_mono::marshall_type(true)
44 << " " 44 << " "
45 << string 45 << string
46 << "_delegate(System.IntPtr obj, System.IntPtr pd" 46 << "_delegate(" << (f.is_static ? "" : "System.IntPtr obj, System.IntPtr pd")
47 << *grammar::attribute_reorder<-1, -1> 47 << ((!f.is_static && f.parameters.size() > 0) ? ", " : "")
48 << (grammar::attribute_reorder<-1, -1>
48 ( 49 (
49 (", " << marshall_native_annotation << " " << marshall_parameter) 50 (marshall_annotation << " " << marshall_parameter)
50 ) 51 ) % ", ")
51 << ");\n") 52 << ");\n")
52 .generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context)) 53 .generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
53 return false; 54 return false;
54 55
55 if(!as_generator 56 if(!as_generator
56 (scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(f.filename) << ")] " 57 ("\n\n" << scope_tab
57 << eolian_mono::marshall_native_annotation(true) 58 << eolian_mono::marshall_annotation(true)
58 << " private static extern " 59 << " public delegate "
59 << eolian_mono::marshall_type(true) 60 << eolian_mono::marshall_type(true)
60 << " " << string 61 << " "
61 << "(System.IntPtr obj" 62 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj")
62 << *grammar::attribute_reorder<-1, -1> 63 << ((!f.is_static && f.parameters.size() > 0) ? ", " : "")
64 << (grammar::attribute_reorder<-1, -1>
63 ( 65 (
64 (", " << marshall_native_annotation << " " << marshall_parameter) 66 (marshall_annotation << " " << marshall_parameter)
65 ) 67 ) % ", ")
66 << ");\n") 68 << ");\n")
67 .generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context)) 69 .generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
68 return false; 70 return false;
69 71
72 if(!as_generator
73 (scope_tab
74 << " public static Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
75 << string << "_api_delegate>(_Module, \"" << string << "\");\n")
76 .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context))
77 return false;
78
70 std::string return_type; 79 std::string return_type;
71 if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context)) 80 if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context))
72 return false; 81 return false;
@@ -77,6 +86,11 @@ struct native_function_definition_generator
77 else 86 else
78 klass_cast_name = name_helpers::klass_interface_name(*klass); 87 klass_cast_name = name_helpers::klass_interface_name(*klass);
79 88
89 std::string self = "Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj))";
90
91 if (f.is_static)
92 self = "";
93
80 if(!as_generator 94 if(!as_generator
81 (scope_tab 95 (scope_tab
82 << " private static " 96 << " private static "
@@ -93,7 +107,8 @@ struct native_function_definition_generator
93 << scope_tab << scope_tab << "if(wrapper != null) {\n" 107 << scope_tab << scope_tab << "if(wrapper != null) {\n"
94 << scope_tab << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble() 108 << scope_tab << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble()
95 << scope_tab << scope_tab << scope_tab << "try {\n" 109 << scope_tab << scope_tab << scope_tab << "try {\n"
96 << scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "((" << klass_cast_name << ")wrapper)." << string 110 << scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "")
111 << (f.is_static ? "" : "((") << klass_cast_name << (f.is_static ? "." : ")wrapper).") << string
97 << "(" << (native_argument_invocation % ", ") << ");\n" 112 << "(" << (native_argument_invocation % ", ") << ");\n"
98 << scope_tab << scope_tab << scope_tab << "} catch (Exception e) {\n" 113 << scope_tab << scope_tab << scope_tab << "} catch (Exception e) {\n"
99 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n" 114 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
@@ -102,7 +117,7 @@ struct native_function_definition_generator
102 << eolian_mono::native_function_definition_epilogue(*klass) 117 << eolian_mono::native_function_definition_epilogue(*klass)
103 << scope_tab << scope_tab << "} else {\n" 118 << scope_tab << scope_tab << "} else {\n"
104 << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string 119 << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string
105 << "(Efl.Eo.Globals.efl_super(obj, " << "Efl.Eo.Globals.efl_class_get(obj))" << *(", " << argument) << ");\n" 120 << "_ptr.Value.Delegate(" << self << ((!f.is_static && f.parameters.size() > 0) ? ", " : "") << (argument % ", ") << ");\n"
106 << scope_tab << scope_tab << "}\n" 121 << scope_tab << scope_tab << "}\n"
107 << scope_tab << "}\n" 122 << scope_tab << "}\n"
108 ) 123 )
@@ -118,9 +133,13 @@ struct native_function_definition_generator
118 , context)) 133 , context))
119 return false; 134 return false;
120 135
136 // Static functions do not need to be called from C
137 if (f.is_static)
138 return true;
139
121 // This is the delegate that will be passed to Eo to be called from C. 140 // This is the delegate that will be passed to Eo to be called from C.
122 if(!as_generator( 141 if(!as_generator(
123 scope_tab << "private " << f.c_name << "_delegate " << f.c_name << "_static_delegate;\n" 142 scope_tab << "private static " << f.c_name << "_delegate " << f.c_name << "_static_delegate;\n"
124 ).generate(sink, attributes::unused, context)) 143 ).generate(sink, attributes::unused, context))
125 return false; 144 return false;
126 return true; 145 return true;
@@ -141,22 +160,6 @@ struct function_definition_generator
141 if(blacklist::is_function_blacklisted(f, context)) 160 if(blacklist::is_function_blacklisted(f, context))
142 return true; 161 return true;
143 162
144 if(!as_generator
145 ("\n\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(f.filename) << ")]\n"
146 << scope_tab << eolian_mono::marshall_annotation(true)
147 << (do_super ? " protected " : " private ") << "static extern "
148 << eolian_mono::marshall_type(true)
149 << " " << string
150 << "(" << (f.is_static ? "" : "System.IntPtr obj")
151 << ((!f.is_static && (f.parameters.size() > 0)) ? ", " : "")
152 << (grammar::attribute_reorder<-1, -1>
153 (
154 (marshall_annotation << " " << marshall_parameter)
155 ) % ",")
156 << ");\n")
157 .generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
158 return false;
159
160 std::string return_type; 163 std::string return_type;
161 if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context)) 164 if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context))
162 return false; 165 return false;
@@ -176,8 +179,10 @@ struct function_definition_generator
176 if(!as_generator 179 if(!as_generator
177 (scope_tab << ((do_super && !f.is_static) ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ") 180 (scope_tab << ((do_super && !f.is_static) ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ")
178 << ") {\n " 181 << ") {\n "
179 << eolian_mono::function_definition_preamble() << string << "(" 182 << eolian_mono::function_definition_preamble()
180 << self << ((!f.is_static && (f.parameters.size() > 0)) ? "," : "") 183 << klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate("
184 << self
185 << ((!f.is_static && (f.parameters.size() > 0)) ? "," : "")
181 << (argument_invocation % ", ") << ");\n" 186 << (argument_invocation % ", ") << ");\n"
182 << eolian_mono::function_definition_epilogue() 187 << eolian_mono::function_definition_epilogue()
183 << " }\n") 188 << " }\n")
diff --git a/src/bin/eolian_mono/eolian/mono/function_pointer.hh b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
index 2c62abe..a7e692b 100644
--- a/src/bin/eolian_mono/eolian/mono/function_pointer.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
@@ -47,9 +47,9 @@ struct function_pointer {
47 .generate(sink, std::make_tuple(f, f.return_type, f_name, f.parameters), funcptr_ctx)) 47 .generate(sink, std::make_tuple(f, f.return_type, f_name, f.parameters), funcptr_ctx))
48 return false; 48 return false;
49 // "Internal" delegate, 1-to-1 with the Unamaged function type 49 // "Internal" delegate, 1-to-1 with the Unamaged function type
50 if (!as_generator(marshall_native_annotation(true) 50 if (!as_generator(marshall_annotation(true)
51 << "public delegate " << marshall_type(true) << " " << string // public? 51 << "public delegate " << marshall_type(true) << " " << string // public?
52 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ");\n") 52 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n")
53 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx)) 53 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx))
54 return false; 54 return false;
55 55
@@ -80,8 +80,8 @@ struct function_pointer {
80 << scope_tab << "}\n\n" 80 << scope_tab << "}\n\n"
81 81
82 82
83 << scope_tab << marshall_native_annotation(true) 83 << scope_tab << marshall_annotation(true)
84 << scope_tab << "internal static " << marshall_type(true) << " Cb(IntPtr cb_data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ")\n" 84 << scope_tab << "internal static " << marshall_type(true) << " Cb(IntPtr cb_data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ")\n"
85 << scope_tab << "{\n" 85 << scope_tab << "{\n"
86 << scope_tab << scope_tab << "GCHandle handle = GCHandle.FromIntPtr(cb_data);\n" 86 << scope_tab << scope_tab << "GCHandle handle = GCHandle.FromIntPtr(cb_data);\n"
87 << scope_tab << scope_tab << string << " cb = (" << string << ")handle.Target;\n" 87 << scope_tab << scope_tab << string << " cb = (" << string << ")handle.Target;\n"
diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh b/src/bin/eolian_mono/eolian/mono/function_registration.hh
index 90cbbc4..cc7534b 100644
--- a/src/bin/eolian_mono/eolian/mono/function_registration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh
@@ -37,7 +37,8 @@ struct function_registration_generator
37 // auto index = index_generator(); 37 // auto index = index_generator();
38 38
39 if(!as_generator( 39 if(!as_generator(
40 scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" << 40 scope_tab << scope_tab << "if (" << f.c_name << "_static_delegate == null)\n"
41 << scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" <<
41 escape_keyword(f.name) << ");\n" 42 escape_keyword(f.name) << ");\n"
42 ).generate(sink, attributes::unused, context)) 43 ).generate(sink, attributes::unused, context))
43 return false; 44 return false;
@@ -47,9 +48,9 @@ struct function_registration_generator
47#ifdef _WIN32 48#ifdef _WIN32
48 << "api_func = Marshal.StringToHGlobalAnsi(\"" << string << "\")" 49 << "api_func = Marshal.StringToHGlobalAnsi(\"" << string << "\")"
49#else 50#else
50 << "api_func = Efl.Eo.Globals.dlsym(Efl.Eo.Globals.RTLD_DEFAULT, \"" << string << "\")" 51 << "api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, \"" << string << "\")"
51#endif 52#endif
52 ", func = Marshal.GetFunctionPointerForDelegate(" << string << "_static_delegate)});\n" 53 << ", func = Marshal.GetFunctionPointerForDelegate(" << string << "_static_delegate)});\n"
53 ) 54 )
54 .generate(sink, std::make_tuple(f.c_name, f.c_name), context)) 55 .generate(sink, std::make_tuple(f.c_name, f.c_name), context))
55 return false; 56 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
index 9a1493a..5cc57ef 100644
--- a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
+++ b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
@@ -14,6 +14,7 @@ struct class_context
14 enums, 14 enums,
15 function_ptr, 15 function_ptr,
16 alias, 16 alias,
17 variables,
17 }; 18 };
18 wrapper_kind current_wrapper_kind; 19 wrapper_kind current_wrapper_kind;
19}; 20};
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index 6c02de6..0689648 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -347,6 +347,15 @@ struct klass
347 return false; 347 return false;
348 } 348 }
349 349
350 // Copied from nativeinherit class, used when setting up providers.
351 if(!as_generator(
352 scope_tab << "private static IntPtr GetEflClassStatic()\n"
353 << scope_tab << "{\n"
354 << scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
355 << scope_tab << "}\n"
356 ).generate(sink, attributes::unused, inherit_cxt))
357 return false;
358
350 if(!as_generator("}\n").generate(sink, attributes::unused, inherit_cxt)) return false; 359 if(!as_generator("}\n").generate(sink, attributes::unused, inherit_cxt)) return false;
351 } 360 }
352 361
@@ -365,9 +374,10 @@ struct klass
365 374
366 if(!as_generator 375 if(!as_generator
367 ( 376 (
368 "public class " << native_inherit_name << " " << (root ? ": Efl.Eo.NativeClass" : (": " + base_name)) <<"{\n" 377 "public class " << native_inherit_name << " " << (root ? " : Efl.Eo.NativeClass" : (": " + base_name)) <<"{\n"
369 // << scope_tab << (root ? "protected IntPtr EoKlass { get; set; }\n" : "\n") 378 << scope_tab << "public " << (root ? "" : "new ") << " static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule("
370 << scope_tab << "public " << /*(root ? "" : "new ")*/ "override " << "System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)\n" 379 << context_find_tag<library_context>(context).actual_library_name(cls.filename) << ");\n"
380 << scope_tab << "public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)\n"
371 << scope_tab << "{\n" 381 << scope_tab << "{\n"
372 << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<Efl_Op_Description>();\n" 382 << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<Efl_Op_Description>();\n"
373 ) 383 )
@@ -454,7 +464,7 @@ struct klass
454 << scope_tab << scope_tab << scope_tab << "if (((object)this).GetType() == typeof (" << inherit_name << "))\n" 464 << scope_tab << scope_tab << scope_tab << "if (((object)this).GetType() == typeof (" << inherit_name << "))\n"
455 << scope_tab << scope_tab << scope_tab << scope_tab << "return " << native_inherit_full_name << ".GetEflClassStatic();\n" 465 << scope_tab << scope_tab << scope_tab << scope_tab << "return " << native_inherit_full_name << ".GetEflClassStatic();\n"
456 << scope_tab << scope_tab << scope_tab << "else\n" 466 << scope_tab << scope_tab << scope_tab << "else\n"
457 << scope_tab << scope_tab << scope_tab << scope_tab << "return Efl.Eo.Globals.klasses[((object)this).GetType()];\n" 467 << scope_tab << scope_tab << scope_tab << scope_tab << "return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];\n"
458 << scope_tab << scope_tab << "}\n" 468 << scope_tab << scope_tab << "}\n"
459 << scope_tab << "}\n" 469 << scope_tab << "}\n"
460 ).generate(sink, attributes::unused, context)) 470 ).generate(sink, attributes::unused, context))
@@ -471,16 +481,13 @@ struct klass
471 if (is_inherit) 481 if (is_inherit)
472 { 482 {
473 if (!as_generator( 483 if (!as_generator(
474 scope_tab << "private static readonly object klassAllocLock = new object();\n" 484 scope_tab << "protected bool inherited;\n"
475 << scope_tab << "protected bool inherited;\n"
476 ).generate(sink, attributes::unused, context)) 485 ).generate(sink, attributes::unused, context))
477 return false; 486 return false;
478 } 487 }
479 488
480 return as_generator( 489 return as_generator(
481 scope_tab << visibility << " System.IntPtr handle;\n" 490 scope_tab << visibility << " System.IntPtr handle;\n"
482 << scope_tab << "public Dictionary<String, IntPtr> cached_strings = new Dictionary<String, IntPtr>();" << "\n"
483 << scope_tab << "public Dictionary<String, IntPtr> cached_stringshares = new Dictionary<String, IntPtr>();" << "\n"
484 << scope_tab << "///<summary>Pointer to the native instance.</summary>\n" 491 << scope_tab << "///<summary>Pointer to the native instance.</summary>\n"
485 << scope_tab << "public System.IntPtr NativeHandle {\n" 492 << scope_tab << "public System.IntPtr NativeHandle {\n"
486 << scope_tab << scope_tab << "get { return handle; }\n" 493 << scope_tab << scope_tab << "get { return handle; }\n"
@@ -502,7 +509,12 @@ struct klass
502 ).generate(sink, attributes::unused, context)) 509 ).generate(sink, attributes::unused, context))
503 return false; 510 return false;
504 511
505 auto constructors = helpers::reorder_constructors(cls.get_all_constructors()); 512 auto all_constructors = helpers::reorder_constructors(cls.get_all_constructors());
513 decltype (all_constructors) constructors;
514
515 std::copy_if(all_constructors.cbegin(), all_constructors.cend(), std::back_inserter(constructors), [&context](attributes::constructor_def const& ctor) {
516 return !blacklist::is_function_blacklisted(ctor.function, context);
517 });
506 518
507 // Public (API) constructors 519 // Public (API) constructors
508 if (!as_generator( 520 if (!as_generator(
@@ -512,7 +524,7 @@ struct klass
512 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters. 524 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters.
513 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null") << "\n" 525 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null") << "\n"
514 << scope_tab << scope_tab << scope_tab << *(", " << constructor_param ) << ") :\n" 526 << scope_tab << scope_tab << scope_tab << *(", " << constructor_param ) << ") :\n"
515 << scope_tab << scope_tab << (root ? "this" : "base") << "(\"" << inherit_name << "\", " << name_helpers::klass_get_name(cls) << "(), typeof(" << inherit_name << "), parent)\n" 527 << scope_tab << scope_tab << (root ? "this" : "base") << "(" << name_helpers::klass_get_name(cls) << "(), typeof(" << inherit_name << "), parent)\n"
516 << scope_tab << "{\n" 528 << scope_tab << "{\n"
517 << *(scope_tab << scope_tab << constructor_invocation << "\n" ) 529 << *(scope_tab << scope_tab << constructor_invocation << "\n" )
518 << scope_tab << scope_tab << "FinishInstantiation();\n" 530 << scope_tab << scope_tab << "FinishInstantiation();\n"
@@ -531,7 +543,7 @@ struct klass
531 { 543 {
532 return as_generator( 544 return as_generator(
533 scope_tab << "///<summary>Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>\n" 545 scope_tab << "///<summary>Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>\n"
534 << scope_tab << "protected " << inherit_name << "(String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(klass_name, base_klass, managed_type, parent) {}\n" 546 << scope_tab << "protected " << inherit_name << "(IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(base_klass, managed_type, parent) {}\n"
535 ).generate(sink, attributes::unused, context); 547 ).generate(sink, attributes::unused, context);
536 548
537 } 549 }
@@ -539,22 +551,12 @@ struct klass
539 // Detailed constructors go only in root classes. 551 // Detailed constructors go only in root classes.
540 return as_generator( 552 return as_generator(
541 /// Actual root costructor that creates class and instantiates 553 /// Actual root costructor that creates class and instantiates
542 scope_tab << "protected " << inherit_name << "(String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent)\n" 554 scope_tab << "protected " << inherit_name << "(IntPtr base_klass, System.Type managed_type, Efl.Object parent)\n"
543 << scope_tab << "{\n" 555 << scope_tab << "{\n"
544 << scope_tab << scope_tab << "inherited = ((object)this).GetType() != managed_type;\n" 556 << scope_tab << scope_tab << "inherited = ((object)this).GetType() != managed_type;\n"
545 << scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n" 557 << scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n"
546 << scope_tab << scope_tab << "if (inherited) {\n" 558 << scope_tab << scope_tab << "if (inherited) {\n"
547 << scope_tab << scope_tab << scope_tab << "if (!Efl.Eo.Globals.klasses.ContainsKey(((object)this).GetType())) {\n" 559 << scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.ClassRegister.GetInheritKlassOrRegister(base_klass, ((object)this).GetType());\n"
548 << scope_tab << scope_tab << scope_tab << scope_tab << "lock (klassAllocLock) {\n"
549 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.Globals.register_class(klass_name, base_klass, ((object)this).GetType());\n"
550 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "if (actual_klass == System.IntPtr.Zero) {\n"
551 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "throw new System.InvalidOperationException(\"Failed to initialize class '" << inherit_name << "'\");\n"
552 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
553 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.klasses[((object)this).GetType()] = actual_klass;\n"
554 << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
555 << scope_tab << scope_tab << scope_tab << "}\n"
556 << scope_tab << scope_tab << scope_tab << "else\n"
557 << scope_tab << scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.Globals.klasses[((object)this).GetType()];\n"
558 << scope_tab << scope_tab << "}\n" 560 << scope_tab << scope_tab << "}\n"
559 << scope_tab << scope_tab << "handle = Efl.Eo.Globals.instantiate_start(actual_klass, parent);\n" 561 << scope_tab << scope_tab << "handle = Efl.Eo.Globals.instantiate_start(actual_klass, parent);\n"
560 << scope_tab << scope_tab << "register_event_proxies();\n" 562 << scope_tab << scope_tab << "register_event_proxies();\n"
@@ -604,8 +606,6 @@ struct klass
604 << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n" 606 << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
605 << scope_tab << "public void Dispose()\n" 607 << scope_tab << "public void Dispose()\n"
606 << scope_tab << "{\n" 608 << scope_tab << "{\n"
607 << scope_tab << "Efl.Eo.Globals.free_dict_values(cached_strings);" << "\n"
608 << scope_tab << "Efl.Eo.Globals.free_stringshare_values(cached_stringshares);" << "\n"
609 << scope_tab << scope_tab << "Dispose(true);\n" 609 << scope_tab << scope_tab << "Dispose(true);\n"
610 << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n" 610 << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
611 << scope_tab << "}\n" 611 << scope_tab << "}\n"
@@ -682,13 +682,13 @@ struct klass
682 682
683 // Callback registration functions 683 // Callback registration functions
684 if (!as_generator( 684 if (!as_generator(
685 scope_tab << visibility << "bool add_cpp_event_handler(string key, Efl.EventCb evt_delegate) {\n" 685 scope_tab << visibility << "bool add_cpp_event_handler(string lib, string key, Efl.EventCb evt_delegate) {\n"
686 << scope_tab << scope_tab << "int event_count = 0;\n" 686 << scope_tab << scope_tab << "int event_count = 0;\n"
687 << scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n" 687 << scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n"
688 << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n" 688 << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
689 << scope_tab << scope_tab << "if (event_count == 0) {\n" 689 << scope_tab << scope_tab << "if (event_count == 0) {\n"
690 690
691 << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n" 691 << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(lib, key);\n"
692 << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n" 692 << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
693 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n" 693 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
694 << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n" 694 << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
@@ -710,7 +710,8 @@ struct klass
710 << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n" 710 << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
711 << scope_tab << scope_tab << "if (event_count == 1) {\n" 711 << scope_tab << scope_tab << "if (event_count == 1) {\n"
712 712
713 << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n" 713 << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative("
714 << context_find_tag<library_context>(context).actual_library_name(cls.filename) << ", key);\n"
714 << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n" 715 << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
715 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n" 716 << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
716 << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n" 717 << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
index 6ddb990..4159b6a 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
@@ -90,7 +90,7 @@ struct marshall_annotation_visitor_generate
90 {"string", true, [&] { 90 {"string", true, [&] {
91 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]"; 91 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
92 }}, 92 }},
93 {"string", false, [&] { 93 {"string", nullptr, [&] {
94 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]"; 94 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
95 }}, 95 }},
96 {"mstring", true, [&] { 96 {"mstring", true, [&] {
@@ -112,10 +112,10 @@ struct marshall_annotation_visitor_generate
112 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshaler))]"; 112 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshaler))]";
113 }}, 113 }},
114 {"strbuf", true, [&] { 114 {"strbuf", true, [&] {
115 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]"; 115 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
116 }}, 116 }},
117 {"strbuf", false, [&] { 117 {"strbuf", false, [&] {
118 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]"; 118 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
119 }}, 119 }},
120 }; 120 };
121 121
@@ -142,122 +142,22 @@ struct marshall_annotation_visitor_generate
142 } 142 }
143 bool operator()(attributes::klass_name const& klass_name) const 143 bool operator()(attributes::klass_name const& klass_name) const
144 { 144 {
145 const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<"; 145 const char *return_prefix = is_return ? "return:" : "";
146 const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<"; 146 const char *marshal_prefix = "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(";
147 return as_generator
148 ((is_return ? return_prefix : no_return_prefix)
149 << string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
150 ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
151 }
152 bool operator()(attributes::complex_type_def const& c) const
153 {
154 if (c.outer.base_type == "future")
155 {
156 std::string prefix = is_return ? "return: " : "";
157 return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]").generate(sink, nullptr, *context);
158 }
159 return true;
160 }
161};
162
163template <typename OutputIterator, typename Context>
164struct marshall_native_annotation_visitor_generate
165{
166 mutable OutputIterator sink;
167 Context const* context;
168 std::string c_type;
169 bool is_out;
170 bool is_return;
171 bool is_ptr;
172 147
173 typedef marshall_type_visitor_generate<OutputIterator, Context> visitor_type; 148 std::string name = name_helpers::klass_full_concrete_name(klass_name);
174 typedef bool result_type;
175 149
176 bool operator()(attributes::regular_type_def const& regular) const 150 if (name == "Efl.Class")
177 { 151 name = "Efl.Eo.MarshalEflClass";
178 using attributes::regular_type_def; 152 else
179 struct match 153 {
180 { 154 auto own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag";
181 eina::optional<std::string> name; 155 name = "Efl.Eo.MarshalTest<" + name + ", Efl.Eo." + own + ">";
182 eina::optional<bool> has_own; 156 }
183 std::function<std::string()> function;
184 };
185 match const parameter_match_table[] =
186 {
187 // signed primitives
188 {"bool", nullptr, [&] { return " [MarshalAs(UnmanagedType.U1)]"; }},
189 {"string", true, [&] {
190 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
191 }},
192 {"string", false, [&] {
193 if (is_out)
194 return "";
195 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
196 }},
197 {"stringshare", true, [&] {
198 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
199 }},
200 {"stringshare", false, [&] {
201 if (is_out)
202 return "";
203 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringshareKeepOwnershipMarshaler))]";
204 }},
205 {"strbuf", true, [&] {
206 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
207 }},
208 {"strbuf", false, [&] {
209 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
210 }},
211 };
212 match const return_match_table[] =
213 {
214 // signed primitives
215 {"bool", nullptr, [&] { return " [return: MarshalAs(UnmanagedType.U1)]"; }},
216 {"string", true, [&] {
217 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
218 }},
219 {"string", false, [&] { return ""; }},
220 {"stringshare", true, [&] {
221 return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
222 }},
223 {"stringshare", false, [&] { return ""; }},
224 {"strbuf", true, [&] {
225 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
226 }},
227 {"strbuf", false, [&] {
228 return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
229 }},
230 };
231 157
232 if(eina::optional<bool> b = call_annotation_match 158 return as_generator(
233 ((is_return ? return_match_table : parameter_match_table) 159 lit("[") << return_prefix << marshal_prefix << name << "))]"
234 , [&] (match const& m) 160 ).generate(sink, name, *context);
235 {
236 return (!m.name || *m.name == regular.base_type)
237 && (!m.has_own || *m.has_own == (bool)(regular.base_qualifier & qualifier_info::is_own))
238 ;
239 }
240 , [&] (std::string const& string)
241 {
242 std::copy(string.begin(), string.end(), sink);
243 return true;
244 }))
245 {
246 return *b;
247 }
248 else
249 {
250 return true;
251 }
252 }
253 bool operator()(attributes::klass_name const& klass_name) const
254 {
255 const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
256 const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
257 return as_generator
258 ((is_return ? return_prefix : no_return_prefix)
259 << string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
260 ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
261 } 161 }
262 bool operator()(attributes::complex_type_def const& c) const 162 bool operator()(attributes::complex_type_def const& c) const
263 { 163 {
@@ -269,8 +169,6 @@ struct marshall_native_annotation_visitor_generate
269 return true; 169 return true;
270 } 170 }
271}; 171};
272
273
274} } 172} }
275 173
276#endif 174#endif
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type.hh b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
index add954a..5c350ad 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
@@ -13,8 +13,6 @@ template <typename OutputIterator, typename Context>
13struct marshall_type_visitor_generate; 13struct marshall_type_visitor_generate;
14template <typename OutputIterator, typename Context> 14template <typename OutputIterator, typename Context>
15struct marshall_annotation_visitor_generate; 15struct marshall_annotation_visitor_generate;
16template <typename OutputIterator, typename Context>
17struct marshall_native_annotation_visitor_generate;
18} 16}
19 17
20/* 18/*
@@ -73,26 +71,6 @@ struct marshall_annotation_generator
73 bool is_return; 71 bool is_return;
74}; 72};
75 73
76struct marshall_native_annotation_generator
77{
78 marshall_native_annotation_generator(bool is_return = false)
79 : is_return(is_return) {}
80
81 template <typename OutputIterator, typename Context>
82 bool generate(OutputIterator sink, attributes::type_def const& type, Context const& context) const
83 {
84 return type.original_type.visit(detail::marshall_native_annotation_visitor_generate<OutputIterator, Context>{sink, &context, type.c_type, false, is_return, type.is_ptr});
85 }
86 template <typename OutputIterator, typename Context>
87 bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const
88 {
89 return param.type.original_type.visit(detail::marshall_native_annotation_visitor_generate<OutputIterator, Context>{sink, &context, param.type.c_type
90 , param.direction != attributes::parameter_direction::in, false, param.type.is_ptr});
91 }
92
93 bool is_return;
94};
95
96struct marshall_type_terminal 74struct marshall_type_terminal
97{ 75{
98 marshall_type_generator const operator()(bool is_return) const 76 marshall_type_generator const operator()(bool is_return) const
@@ -120,19 +98,6 @@ marshall_annotation_generator const as_generator(marshall_annotation_terminal)
120} 98}
121 99
122 100
123struct marshall_native_annotation_terminal
124{
125 marshall_native_annotation_generator const operator()(bool is_return) const
126 {
127 return marshall_native_annotation_generator(is_return);
128 }
129} const marshall_native_annotation = {};
130
131marshall_native_annotation_generator const as_generator(marshall_native_annotation_terminal)
132{
133 return marshall_native_annotation_generator{};
134}
135
136} 101}
137 102
138namespace efl { namespace eolian { namespace grammar { 103namespace efl { namespace eolian { namespace grammar {
@@ -158,23 +123,12 @@ struct is_generator< ::eolian_mono::marshall_annotation_generator> : std::true_t
158template <> 123template <>
159struct is_generator< ::eolian_mono::marshall_annotation_terminal> : std::true_type {}; 124struct is_generator< ::eolian_mono::marshall_annotation_terminal> : std::true_type {};
160 125
161template <>
162struct is_eager_generator< ::eolian_mono::marshall_native_annotation_generator> : std::true_type {};
163template <>
164struct is_generator< ::eolian_mono::marshall_native_annotation_generator> : std::true_type {};
165template <>
166struct is_generator< ::eolian_mono::marshall_native_annotation_terminal> : std::true_type {};
167
168namespace type_traits { 126namespace type_traits {
169template <> 127template <>
170struct attributes_needed< ::eolian_mono::marshall_annotation_generator> : std::integral_constant<int, 1> {}; 128struct attributes_needed< ::eolian_mono::marshall_annotation_generator> : std::integral_constant<int, 1> {};
171template <> 129template <>
172struct attributes_needed< ::eolian_mono::marshall_annotation_terminal> : std::integral_constant<int, 1> {}; 130struct attributes_needed< ::eolian_mono::marshall_annotation_terminal> : std::integral_constant<int, 1> {};
173 131
174template <>
175struct attributes_needed< ::eolian_mono::marshall_native_annotation_generator> : std::integral_constant<int, 1> {};
176template <>
177struct attributes_needed< ::eolian_mono::marshall_native_annotation_terminal> : std::integral_constant<int, 1> {};
178} 132}
179 133
180} } } 134} } }
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
index e14369a..998ca0b 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
@@ -32,7 +32,6 @@ struct marshall_type_visitor_generate
32 bool operator()(attributes::regular_type_def const& regular) const 32 bool operator()(attributes::regular_type_def const& regular) const
33 { 33 {
34 using attributes::regular_type_def; 34 using attributes::regular_type_def;
35 bool is_inherit_native = context_find_tag<class_context>(*context).current_wrapper_kind == class_context::inherit_native;
36 35
37 struct match 36 struct match
38 { 37 {
@@ -47,32 +46,24 @@ struct marshall_type_visitor_generate
47 { 46 {
48 regular_type_def r = regular; 47 regular_type_def r = regular;
49 r.base_qualifier.qualifier ^= qualifier_info::is_ref; 48 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
50 // if(is_out || is_return)
51 return replace_base_type(r, " System.String"); 49 return replace_base_type(r, " System.String");
52 // else return replace_base_type(r, " ::efl::eina::string_view");
53 }} 50 }}
54 , {"string", false, [&] 51 , {"string", false, [&]
55 { 52 {
56 regular_type_def r = regular; 53 regular_type_def r = regular;
57 r.base_qualifier.qualifier ^= qualifier_info::is_ref; 54 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
58 if (is_inherit_native && (is_return || is_out))
59 return replace_base_type(r, " System.IntPtr");
60 return replace_base_type(r, " System.String"); 55 return replace_base_type(r, " System.String");
61 }} 56 }}
62 , {"mstring", true, [&] 57 , {"mstring", true, [&]
63 { 58 {
64 regular_type_def r = regular; 59 regular_type_def r = regular;
65 r.base_qualifier.qualifier ^= qualifier_info::is_ref; 60 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
66 // if(is_out || is_return)
67 return replace_base_type(r, " System.String"); 61 return replace_base_type(r, " System.String");
68 // else return replace_base_type(r, " ::efl::eina::string_view");
69 }} 62 }}
70 , {"mstring", false, [&] 63 , {"mstring", false, [&]
71 { 64 {
72 regular_type_def r = regular; 65 regular_type_def r = regular;
73 r.base_qualifier.qualifier ^= qualifier_info::is_ref; 66 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
74 if (is_inherit_native && (is_return || is_out))
75 return replace_base_type(r, " System.IntPtr");
76 return replace_base_type(r, " System.String"); 67 return replace_base_type(r, " System.String");
77 }} 68 }}
78 , {"stringshare", true, [&] 69 , {"stringshare", true, [&]
@@ -85,10 +76,7 @@ struct marshall_type_visitor_generate
85 { 76 {
86 regular_type_def r = regular; 77 regular_type_def r = regular;
87 r.base_qualifier.qualifier ^= qualifier_info::is_ref; 78 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
88 if (is_inherit_native && (is_return || is_out)) 79 return replace_base_type(r, " System.String");
89 return replace_base_type(r, " System.IntPtr");
90 else
91 return replace_base_type(r, " System.String");
92 }} 80 }}
93 , {"strbuf", nullptr, [&] 81 , {"strbuf", nullptr, [&]
94 { 82 {
@@ -193,7 +181,6 @@ struct marshall_type_visitor_generate
193 bool operator()(attributes::klass_name klass_name) const 181 bool operator()(attributes::klass_name klass_name) const
194 { 182 {
195 return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(klass_name); 183 return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(klass_name);
196 // return as_generator(" System.IntPtr").generate(sink, attributes::unused, *context);
197 } 184 }
198 bool operator()(attributes::complex_type_def const& complex) const 185 bool operator()(attributes::complex_type_def const& complex) const
199 { 186 {
@@ -212,21 +199,11 @@ struct marshall_type_visitor_generate
212 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}}; 199 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
213 } 200 }
214 } 201 }
215 ,{"inarray", nullptr, nullptr, [&]
216 {
217 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
218 }
219 }
220 ,{"list", nullptr, nullptr, [&] 202 ,{"list", nullptr, nullptr, [&]
221 { 203 {
222 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}}; 204 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
223 } 205 }
224 } 206 }
225 ,{"inlist", nullptr, nullptr, [&]
226 {
227 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
228 }
229 }
230 ,{"hash", nullptr, nullptr, [&] 207 ,{"hash", nullptr, nullptr, [&]
231 { 208 {
232 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}}; 209 return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
@@ -247,14 +224,8 @@ struct marshall_type_visitor_generate
247 auto default_match = [&] (attributes::complex_type_def const& complex) 224 auto default_match = [&] (attributes::complex_type_def const& complex)
248 { 225 {
249 regular_type_def no_pointer_regular = complex.outer; 226 regular_type_def no_pointer_regular = complex.outer;
250 // std::vector<attributes::pointer_indirection> pointers;
251 // pointers.swap(no_pointer_regular.pointers);
252 // if(is_out)
253 // pointers.push_back({{attributes::qualifier_info::is_none, {}}, true});
254 return visitor_type{sink, context, c_type, false}(no_pointer_regular) 227 return visitor_type{sink, context, c_type, false}(no_pointer_regular)
255 && as_generator("<" << (type % ", ") << ">").generate(sink, complex.subtypes, *context) 228 && as_generator("<" << (type % ", ") << ">").generate(sink, complex.subtypes, *context);
256 ;
257 // && detail::generate_pointers(sink, pointers, *context, false);
258 }; 229 };
259 230
260 if(eina::optional<bool> b = call_match 231 if(eina::optional<bool> b = call_match
@@ -279,12 +250,9 @@ struct marshall_type_visitor_generate
279 return *b; 250 return *b;
280 } 251 }
281 252
282 //return default_match(complex);
283 return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(complex); 253 return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(complex);
284 // return as_generator(" System.IntPtr").generate(sink, attributes::unused, *context);
285 } 254 }
286}; 255};
287
288} } 256} }
289 257
290#endif 258#endif
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index ccbbfce..5fc1f18 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -364,13 +364,27 @@ inline std::string klass_inherit_name(T const& klass)
364template<typename T> 364template<typename T>
365inline std::string klass_native_inherit_name(T const& klass) 365inline std::string klass_native_inherit_name(T const& klass)
366{ 366{
367 return klass_concrete_name(klass) + "NativeInherit"; 367 switch(klass.type)
368 {
369 case attributes::class_type::abstract_:
370 case attributes::class_type::regular:
371 return klass_concrete_name(klass) + "NativeInherit";
372 default:
373 return klass_interface_name(klass) + "NativeInherit";
374 }
368} 375}
369 376
370template<typename T> 377template<typename T>
371inline std::string klass_full_native_inherit_name(T const& klass) 378inline std::string klass_full_native_inherit_name(T const& klass)
372{ 379{
373 return klass_full_concrete_name(klass) + "NativeInherit"; 380 switch(klass.type)
381 {
382 case attributes::class_type::abstract_:
383 case attributes::class_type::regular:
384 return klass_full_concrete_name(klass) + "NativeInherit";
385 default:
386 return klass_full_interface_name(klass) + "NativeInherit";
387 }
374} 388}
375 389
376template<typename T> 390template<typename T>
diff --git a/src/bin/eolian_mono/eolian/mono/parameter.hh b/src/bin/eolian_mono/eolian/mono/parameter.hh
index efb907f..1314c12 100644
--- a/src/bin/eolian_mono/eolian/mono/parameter.hh
+++ b/src/bin/eolian_mono/eolian/mono/parameter.hh
@@ -300,18 +300,10 @@ inline bool param_should_use_out_var(attributes::parameter_def const& param, boo
300 || param_is_acceptable(param, "Eina_Array *", WANT_OWN, WANT_OUT) 300 || param_is_acceptable(param, "Eina_Array *", WANT_OWN, WANT_OUT)
301 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT) 301 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
302 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT) 302 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
303 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
304 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
305 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
306 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
307 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT) 303 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
308 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT) 304 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
309 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT) 305 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
310 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT) 306 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
311 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
312 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
313 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
314 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
315 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) 307 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
316 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) 308 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
317 || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) 309 || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT)
@@ -352,22 +344,14 @@ inline bool param_should_use_in_var(attributes::parameter_def const& param, bool
352 || param_is_acceptable(param, "Eina_Array *", WANT_OWN, !WANT_OUT) 344 || param_is_acceptable(param, "Eina_Array *", WANT_OWN, !WANT_OUT)
353 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, !WANT_OUT) 345 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, !WANT_OUT)
354 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, !WANT_OUT) 346 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, !WANT_OUT)
355 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, !WANT_OUT)
356 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, !WANT_OUT)
357 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, !WANT_OUT)
358 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, !WANT_OUT)
359 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, !WANT_OUT) 347 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, !WANT_OUT)
360 || param_is_acceptable(param, "Eina_List *", WANT_OWN, !WANT_OUT) 348 || param_is_acceptable(param, "Eina_List *", WANT_OWN, !WANT_OUT)
361 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, !WANT_OUT) 349 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, !WANT_OUT)
362 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, !WANT_OUT) 350 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, !WANT_OUT)
363 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, !WANT_OUT)
364 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, !WANT_OUT)
365 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, !WANT_OUT) 351 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, !WANT_OUT)
366 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, !WANT_OUT) 352 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, !WANT_OUT)
367 || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, !WANT_OUT) 353 || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, !WANT_OUT)
368 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, !WANT_OUT) 354 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, !WANT_OUT)
369 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, !WANT_OUT)
370 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, !WANT_OUT)
371 || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, !WANT_OUT) 355 || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, !WANT_OUT)
372 || param_is_acceptable(param, "Eina_Hash *", WANT_OWN, !WANT_OUT) 356 || param_is_acceptable(param, "Eina_Hash *", WANT_OWN, !WANT_OUT)
373 || param_is_acceptable(param, "const Eina_Hash *", !WANT_OWN, !WANT_OUT) 357 || param_is_acceptable(param, "const Eina_Hash *", !WANT_OWN, !WANT_OUT)
@@ -619,9 +603,7 @@ struct native_convert_in_variable_generator
619 ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context); 603 ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context);
620 } 604 }
621 else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *" 605 else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *"
622 || param.type.c_type == "Eina_Inarray *" || param.type.c_type == "const Eina_Inarray *"
623 || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *" 606 || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *"
624 || param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *"
625 || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *" 607 || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *"
626 || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *" 608 || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *"
627 ) 609 )
@@ -707,9 +689,7 @@ struct convert_in_variable_generator
707 return false; 689 return false;
708 } 690 }
709 else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *" 691 else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *"
710 || param.type.c_type == "Eina_Inarray *" || param.type.c_type == "const Eina_Inarray *"
711 || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *" 692 || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *"
712 || param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *"
713 || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *" 693 || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *"
714 || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *" 694 || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *"
715 ) 695 )
@@ -778,18 +758,10 @@ struct convert_out_variable_generator
778 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT) 758 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
779 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT) 759 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
780 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT) 760 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
781 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
782 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
783 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
784 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
785 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT) 761 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
786 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT) 762 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
787 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT) 763 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
788 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT) 764 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
789 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
790 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
791 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
792 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
793 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) 765 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
794 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) 766 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
795 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) 767 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@@ -857,18 +829,10 @@ struct native_convert_out_variable_generator
857 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT) 829 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
858 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT) 830 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
859 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT) 831 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
860 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
861 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
862 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
863 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
864 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT) 832 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
865 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT) 833 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
866 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT) 834 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
867 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT) 835 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
868 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
869 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
870 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
871 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
872 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) 836 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
873 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) 837 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
874 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) 838 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@@ -969,18 +933,10 @@ struct convert_out_assign_generator
969 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT) 933 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
970 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT) 934 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
971 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT) 935 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
972 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
973 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
974 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
975 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
976 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT) 936 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
977 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT) 937 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
978 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT) 938 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
979 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT) 939 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
980 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
981 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
982 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
983 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
984 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) 940 || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
985 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) 941 || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
986 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) 942 || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@@ -1100,9 +1056,7 @@ struct convert_return_generator
1100 return false; 1056 return false;
1101 } 1057 }
1102 else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *" 1058 else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *"
1103 || ret_type.c_type == "Eina_Inarray *" || ret_type.c_type == "const Eina_Inarray *"
1104 || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *" 1059 || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *"
1105 || ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *"
1106 || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *" 1060 || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *"
1107 || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *" 1061 || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *"
1108 ) 1062 )
@@ -1158,7 +1112,7 @@ struct native_convert_out_assign_generator
1158 return false; 1112 return false;
1159 } 1113 }
1160 return as_generator( 1114 return as_generator(
1161 string << "= Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, " << string << ");\n" 1115 string << "= " << string << ";\n"
1162 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context); 1116 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
1163 } 1117 }
1164 else if (param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT)) 1118 else if (param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT))
@@ -1169,7 +1123,7 @@ struct native_convert_out_assign_generator
1169 return false; 1123 return false;
1170 } 1124 }
1171 return as_generator( 1125 return as_generator(
1172 string << "= Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, " << string << ");\n" 1126 string << " = " << string << ";\n"
1173 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context); 1127 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
1174 } 1128 }
1175 else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT) 1129 else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT)
@@ -1219,18 +1173,10 @@ struct native_convert_out_assign_generator
1219 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT) 1173 || param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
1220 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT) 1174 || param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
1221 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT) 1175 || param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
1222 || param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
1223 || param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
1224 || param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
1225 || param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
1226 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT) 1176 || param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
1227 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT) 1177 || param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
1228 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT) 1178 || param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
1229 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT) 1179 || param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
1230 || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
1231 || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
1232 || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
1233 || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
1234 || param_is_acceptable(param, "Eina_Iterator *", WANT_OWN, WANT_OUT) 1180 || param_is_acceptable(param, "Eina_Iterator *", WANT_OWN, WANT_OUT)
1235 || param_is_acceptable(param, "Eina_Iterator *", !WANT_OWN, WANT_OUT) 1181 || param_is_acceptable(param, "Eina_Iterator *", !WANT_OWN, WANT_OUT)
1236 || param_is_acceptable(param, "const Eina_Iterator *", WANT_OWN, WANT_OUT) 1182 || param_is_acceptable(param, "const Eina_Iterator *", WANT_OWN, WANT_OUT)
@@ -1307,7 +1253,7 @@ struct native_convert_return_generator
1307 return false; 1253 return false;
1308 } 1254 }
1309 return as_generator( 1255 return as_generator(
1310 "return Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, _ret_var);\n" 1256 "return _ret_var;\n"
1311 ).generate(sink, attributes::unused, context); 1257 ).generate(sink, attributes::unused, context);
1312 } 1258 }
1313 else 1259 else
@@ -1325,7 +1271,7 @@ struct native_convert_return_generator
1325 return false; 1271 return false;
1326 } 1272 }
1327 return as_generator( 1273 return as_generator(
1328 "return Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, _ret_var);\n" 1274 "return _ret_var;\n"
1329 ).generate(sink, attributes::unused, context); 1275 ).generate(sink, attributes::unused, context);
1330 } 1276 }
1331 else 1277 else
@@ -1362,9 +1308,7 @@ struct native_convert_return_generator
1362 .generate(sink, attributes::unused, context); 1308 .generate(sink, attributes::unused, context);
1363 } 1309 }
1364 else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *" 1310 else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *"
1365 || ret_type.c_type == "Eina_Inarray *" || ret_type.c_type == "const Eina_Inarray *"
1366 || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *" 1311 || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *"
1367 || ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *"
1368 || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *" 1312 || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *"
1369 || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *" 1313 || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *"
1370 ) 1314 )
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index bd12ee2..47951f4 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -24,7 +24,7 @@ struct part_definition_generator
24 << scope_tab << "{\n" 24 << scope_tab << "{\n"
25 << scope_tab << scope_tab << "get\n" 25 << scope_tab << scope_tab << "get\n"
26 << scope_tab << scope_tab << "{\n" 26 << scope_tab << scope_tab << "{\n"
27 << scope_tab << scope_tab << scope_tab << "Efl.Object obj = efl_part_get(NativeHandle, \"" << part.name << "\");\n" 27 << scope_tab << scope_tab << scope_tab << "Efl.Object obj = Efl.PartNativeInherit.efl_part_get_ptr.Value.Delegate(NativeHandle, \"" << part.name << "\");\n"
28 << scope_tab << scope_tab << scope_tab << "return " << part_klass_name << ".static_cast(obj);\n" 28 << scope_tab << scope_tab << scope_tab << "return " << part_klass_name << ".static_cast(obj);\n"
29 << scope_tab << scope_tab << "}\n" 29 << scope_tab << scope_tab << "}\n"
30 << scope_tab << "}\n" 30 << scope_tab << "}\n"
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
index 0eda387..17485d1 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -131,6 +131,22 @@ struct struct_internal_definition_generator
131 .generate(sink, nullptr, context)) 131 .generate(sink, nullptr, context))
132 return false; 132 return false;
133 } 133 }
134 else if (regular && !(regular->base_qualifier & efl::eolian::grammar::attributes::qualifier_info::is_ref)
135 && regular->base_type == "bool")
136 {
137 if (!as_generator("///<summary>Internal wrapper for field " << field_name << "</summary>\n"
138 "public System.Byte " << field_name << ";\n")
139 .generate(sink, nullptr, context))
140 return false;
141 }
142 else if (regular && !(regular->base_qualifier & efl::eolian::grammar::attributes::qualifier_info::is_ref)
143 && regular->base_type == "char")
144 {
145 if (!as_generator("///<summary>Internal wrapper for field " << field_name << "</summary>\n"
146 "public System.Byte " << field_name << ";\n")