efl/src/examples/elementary
Lauro Moura 3623753c1d csharp: Change to new class API.
Summary:
As discussed in T7204:

- Eo Interfaces/mixins -> C# Interfaces with concrete class
  implementations
- Eo Regular/Abstracts -> Proper C# classes
- Added some new generators and helper methods.
- Refactored the class generator, splitting into helper methods

Eo handles now are stored only in the "root" class in any given
inheritance tree (generally, Efl.Object), and accessible to each child.
Methods also are defined in a single place instead of repeatedly
generated in everyfile, reducing the size of the generated .dll from
30MB to around 4.5MB.

Mixins are generated as C# interfaces but any regular class it inherits
from is lost, as we can't have interfaces inheriting from regular
classes. This will be dealt with in a later commit.

Summary of API Changes:

- Merged Inherit/Concrete classes. (These suffixes disappear from
  regular classes).
- Interface still have implementations with 'Concrete' suffix for when
  they are returned from methods.
- Removed 'I' from interface names.
- Removed interfaces for regular/abstract Eo classes.
- Concrete classes for interfaces/mixins hold the event argument struct.
- Removed '_' from classes, enums, structs, etc, as indicated in C#
  naming conventions.
- Namespaces are now Camel.Cased.
- Renamed IWrapper's raw_handle/raw_klass to NativeHandle/NativeClass

Also renamed the test classes as after the namespace change, the
test namespace Test can conflict with the helper Test namespace.
(And use more meaningful names than Test.Testing...)

Also Fixes T7336 by removing a deprecated example and adding
efl_loop_timer_example to build system.

Fixes T7451 by hiding the class_get DllImports and renaming the IWrapper
fields. The native handlers are used in the manual binding.

Still need to work:

- As there are still some events names clashing (e.g. Efl.Ui.Bg with "resize"
  from Efl.Gfx.Entity and Efl.Gfx.Image), Events are currently declared on
  the interface and implemented "namespaced" in the classes,
  requiring the cast to the interface to access the event.
- The Mixin Conundrum. Mixin inheritance will be dealt in a future
  commit.

Depends on D7260

Reviewers: segfaultxavi, vitor.sousa, felipealmeida, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7451, T7336

Differential Revision: https://phab.enlightenment.org/D7262
2018-11-29 21:29:48 -02:00
..
performance evas3d: use a type setter function with finalize instead of a custom constructor 2018-02-12 16:47:41 -05:00
sphere_hunter Efl.Gfx.Entity (from Efl.Gfx) 2018-04-24 09:03:32 -07:00
.gitignore efl_ui_list : introduce new list widget for simple usage 2018-04-28 13:41:41 +09:00
actionslider_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
bg_cxx_example_01.cc examples: Show off usage of "background" part 2018-01-16 22:04:55 +09:00
bg_cxx_example_02.cc efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class 2018-11-20 10:24:05 +09:00
bg_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
bg_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
bg_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
bg_example_02.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
bg_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
box_cxx_example_02.cc cxx: Some code style in examples 2017-12-05 10:09:58 +09:00
box_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
box_js_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
box_js_example_02.js js: Fix some js examples usage of orient API 2017-08-23 15:24:37 +09:00
bubble_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
button_cxx_example_00.cc cxx: Add define EFL_CXXPERIMENTAL for testing 2017-12-05 10:14:03 +09:00
button_cxx_example_01.cc Efl.Gfx.Entity (from Efl.Gfx) 2018-04-24 09:03:32 -07:00
button_example_00.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
button_example_00.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
button_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
button_example_01.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
calendar_cxx_example_01.cc cxx: Fix some examples, disable or remove others 2017-11-07 09:57:24 +09:00
calendar_cxx_example_02.cc cxx: Add implicit conversion to Eo* pointer 2017-12-05 10:14:03 +09:00
calendar_cxx_example_03.cc cxx: Fix some examples, disable or remove others 2017-11-07 09:57:24 +09:00
calendar_cxx_example_04.cc examples: calendar_cxx: comment out unused variables 2018-01-15 10:40:39 +01:00
calendar_cxx_example_05.cc examples: cxx: avoid tick in warning message 2018-01-15 10:38:36 +01:00
calendar_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
calendar_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
calendar_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
calendar_example_02.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
calendar_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
calendar_example_03.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
calendar_example_04.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
calendar_example_04.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
calendar_example_05.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
calendar_example_05.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
calendar_example_06.c elm example : on some OS (windows...) struct tm has 9 fields and not 11. Fix warning. 2018-01-08 21:10:22 +09:00
check_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
clock_cxx_example.cc cxx: Fix example for GCC 2017-11-10 12:20:27 +09:00
clock_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
clock_example.js elm: Fix invalid uses of Efl.Orientation 2017-09-19 18:53:35 +09:00
codegen_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
codegen_example.edc
colorselector_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
combobox_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
conformant_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
conformant_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
ctxpopup_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
datetime_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
dayselector_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
dict.txt
diskselector_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
diskselector_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_canvas_layout_text.c Canvas layout: support more Efl.Text.* with efl_part 2018-11-06 18:33:56 +02:00
efl_canvas_layout_text.edc Canvas layout: support more Efl.Text.* with efl_part 2018-11-06 18:33:56 +02:00
efl_thread_1.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_thread_2.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_thread_3.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_thread_4.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_thread_5.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_thread_6.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
efl_ui_grid_example_1.c efl_ui_grid : introduce new packable grid widget for Efl.Ui.Widget 2018-11-20 14:32:31 +09:00
efl_ui_list_example_1.c efl_ui_list : introduce new list widget for simple usage 2018-04-28 13:41:41 +09:00
efl_ui_list_view_example.edc efl_ui : change efl_ui_view_list to efl_ui_list_view. 2018-11-05 14:27:05 +09:00
efl_ui_list_view_example_1.c elementary: remove Efl.Ui.Layout namespace 2018-11-16 11:11:13 +01:00
efl_ui_list_view_example_2.c efl_ui : change efl_ui_view_list to efl_ui_list_view. 2018-11-05 14:27:05 +09:00
efl_ui_list_view_example_3.c efl_ui : change efl_ui_view_list to efl_ui_list_view. 2018-11-05 14:27:05 +09:00
efl_ui_scroller_example.c Revert "efl_add_ref - fis to use efl_add properly with a parent." 2018-05-24 16:02:17 -07:00
efl_ui_slider_mono.cs csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
efl_ui_theme_example.edc efl_ui_theme: Introduce Efl.Ui.Theme class 2018-11-20 13:56:37 +09:00
efl_ui_theme_example_01.c efl_ui_theme: Introduce Efl.Ui.Theme class 2018-11-20 13:56:37 +09:00
efl_ui_theme_example_02.c efl_ui_theme: Introduce Efl.Ui.Theme class 2018-11-20 13:56:37 +09:00
efl_ui_unit_converter.cs csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
entry_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
evas3d_map_example.c evas3d: use a type setter function with finalize instead of a custom constructor 2018-02-12 16:47:41 -05:00
evas3d_map_example.edc
evas3d_object_on_button_example.c Efl.Gfx.Entity (from Efl.Gfx) 2018-04-24 09:03:32 -07:00
evas3d_scene_on_button_example.c Efl.Gfx.Entity (from Efl.Gfx) 2018-04-24 09:03:32 -07:00
filemvc.c Revert "efl_add_ref - fis to use efl_add properly with a parent." 2018-05-24 16:02:17 -07:00
fileselector_button_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
fileselector_entry_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
fileselector_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
fileviewlist.c examples: fix efl_model parent loop add 2018-06-07 19:15:50 -03:00
flip_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
flipselector_example.c examples: use printf instead of fprintf(stdout, ...) 2017-05-08 15:14:29 -07:00
frame_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
general_funcs_example.c examples: use printf instead of fprintf(stdout, ...) 2017-05-08 15:14:29 -07:00
gengrid_example.c example: print format correction to avoid warning. 2017-10-17 17:31:38 +09:00
genlist_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
genlist_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
genlist_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
genlist_example_04.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
genlist_example_05.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
glview_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
hover_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
hoversel_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
icon_cxx_example_01.cc Efl.Gfx.Image* (From Efl.Image*) 2018-04-24 09:03:40 -07:00
icon_example_01.c examples: elm_icon: remove no-op deprecated function call for icon lookup 2017-07-14 14:06:34 +02:00
icon_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
image_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
index_example_01.c examples: use printf instead of fprintf(stdout, ...) 2017-05-08 15:14:29 -07:00
index_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
inwin_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
label_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
label_example_02.c examples: elementary: add more examples to build 2018-08-22 18:37:44 +09:00
label_example_03.c examples: elementary: add more examples to build 2018-08-22 18:37:44 +09:00
layout_example.edc
layout_example.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
layout_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
layout_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
layout_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
layout_model_connect.c examples: fix efl_model parent loop add 2018-06-07 19:15:50 -03:00
list_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
list_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
list_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
location_example_01.c example: improve location example, fix crash 2017-10-24 15:44:16 +09:00
map_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
map_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
map_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
mapbuf_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
menu_cxx_example_01.cc examples: cxx: avoid tick in warning message 2018-01-15 10:38:36 +01:00
menu_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
menu_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
naviframe_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
notify_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
panel_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
panes_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
photocam_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
popup_cxx_example.cc cxx: Fix examples after part changes 2018-05-24 16:02:19 -07:00
popup_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
popup_example_01.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
popup_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
popup_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
prefs_data_example.c
prefs_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
prefs_example_01.epc
prefs_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
prefs_example_02.epc
prefs_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
prefs_example_03.edc
prefs_example_03.epc
progressbar_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
radio_cxx_example_01.cc eolian_cxx: Fix cxx build after evt changes 2017-12-19 14:25:08 +09:00
radio_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
radio_example_01.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
radio_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
scroller_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
scroller_example_02.c scroller: refactory a momentum scroll animator 2018-08-29 15:58:10 +09:00
segment_control_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
separator_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
sky_01.jpg examples: Add popup cxx example 2017-11-28 17:15:42 +09:00
slider_cxx_example.cc cxx: Fix examples after part changes 2018-05-24 16:02:19 -07:00
slider_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
slider_example.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
slideshow_example.c examples: use printf instead of fprintf(stdout, ...) 2017-05-08 15:14:29 -07:00
spinner_cxx_example.cc cxx: Disable spinner example (broken) 2017-11-20 20:31:07 +09:00
spinner_example.c spinner_example: add focused, unfocused callback to test focus signal 2018-09-13 09:54:28 +02:00
spinner_example.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
table_cxx_example_01.cc examples: Fix compilation (cxx bg & table) 2017-12-19 14:36:54 +09:00
table_cxx_example_02.cc examples: Fix compilation (cxx bg & table) 2017-12-19 14:36:54 +09:00
table_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
table_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
table_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
table_example_02.js
theme_example.edc examples: Fix button theme 2016-08-08 20:41:51 +09:00
theme_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
theme_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
thumb_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
thumb_example_01.js js: Update after many elm/efl.ui changes 2017-06-19 17:36:41 -03:00
toolbar_cxx_example_01.cc win: Rename specific APIs to avoid clashes 2017-11-16 19:11:51 +09:00
toolbar_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
toolbar_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
toolbar_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
track_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
transit_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
transit_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
transit_example_03.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
transit_example_04.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
twitter_example_01.edc
twitter_example_01.js efl: Split Efl.Container and Efl.Content 2017-11-20 19:02:09 +09:00
web_example_01.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
web_example_02.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00
win_example.c examples: Fix most trivial warnings 2017-04-20 17:44:57 +09:00