examples/eolian_cxx
Vitor Sousa d779be68e6 eolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappers
Solved diamond inheritance problem by completely removing inheritance in
the abstract class.
All ancestors are inherited directly in the concrete class.
The algorithm that list the ancestors also avoid repetition.

Now concrete classes define methods too. This helps referring the correct
method directly by the object type (when there are methods with the same
name).

Moved the declaration and definition of constructor methods to the concrete
class, since they should not be used in derived classes.

Updated example that call "color_set".
With this model, if two ancestor classes have a method with the same name,
to call one of them from a derived class you must write the scoped name of
the member function in the wrapper.
In this case, either Evas.Object and Evas.SmartObject have a property
named "color".

Added "from_global" option to the full_name grammar too.
2015-01-05 15:52:27 -02:00
..
.gitignore gitignore: don't track generated files. 2014-09-30 16:25:46 +02:00
Makefile.am autotools: Renamed EOS variable in the Makefiles uniquely. 2014-09-12 16:07:34 -03:00
colourable.eo eolian_cxx: Fix Eolian C++ generated wrapper inconsistencies 2015-01-05 15:52:27 -02:00
colourablesquare.eo eolian-cxx: Update examples syntax and fix implementation accordingly. 2014-09-12 16:12:04 -03:00
eolian_cxx_complex_types_01.cc eolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappers 2015-01-05 15:52:27 -02:00
eolian_cxx_eo_events_01.cc eolian-cxx: Renamed event_*_callback_{add,call} to callback_*_{add,call}. 2014-08-13 10:17:53 -03:00