forked from enlightenment/efl
1e22db1150
Summary: Abstract Eo classes are now proper C# abstract classes. As a side effect, returning Eo instances from native code was reworked to return instances of their actual Eo classes instead of previous behavior of returning a generic Efl.Object and using static_cast. Instead of `var window = Efl.Ui.Win.static_cast(widget.GetParent());` Use `var window = widget.GetParent() as Efl.Ui.Win;` Another side effect was that `efl_constructor` was removed from the list of supported `Efl.Object` overrides. It is invoked inside `efl_add_internal_start`, before the bindings makes the association of the newly created EoId with the C# instance that created it, making the managed delegate meaningless. C# users then can use regular C# constructors to initialize fields. Also changed to set the private data of C#-inherited classes before the call to constructing methods (aka constructor parameters) so C# classes can override them correctly. Fixes T7778 Fixes T7757 Reviewers: vitor.sousa, felipealmeida, segfaultxavi Reviewed By: vitor.sousa, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7778, T7757, T7702 Differential Revision: https://phab.enlightenment.org/D8550 |
||
---|---|---|
.. | ||
ecore_buffer | ||
ecore_con | ||
ecore_evas | ||
edje | ||
eet | ||
eeze | ||
efl | ||
efl_js | ||
efl_mono_msbuild_gen | ||
efl_wl | ||
efreet | ||
eina | ||
eldbus | ||
elementary | ||
elua | ||
embryo | ||
eolian | ||
eolian_cxx | ||
eolian_js | ||
eolian_mono | ||
ethumb | ||
ethumb_client |