path: root/src/examples/eolian_cxx (follow)
AgeCommit message (Collapse)Author
2019-10-24cxx: Add license to CXX bindings.Felipe Magno de Almeida
Summary: Like C#, it will also be Apache 2.0 Depends on D9414 Reviewers: vitor.sousa, woohyun, jpeg, lauromoura Reviewed By: lauromoura Subscribers: jpeg, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! This time the final version, ci has been adjusted, and now does not try anymore to build a removed buildsystem. However, the scripts in there need cleaning up. Differential Revision:
2019-06-18Revert "autotools: REMOVAL!"Marcel Hollerbach
This reverts commit e8c69667b01e2795c1e4ead0536652f935ffa674. git push on a wrong branch, sorry. This will land today, but not now.
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! Differential Revision:
2019-03-08eolian: remove legacy handling API and most of generationDaniel Kolesa
Summary: This removes all Eolian API that deals with handling of legacy code. It also removes the code using it in the generator as well as bindings, but for now keeps generation of .eo.legacy.h types, as there are still instances in our codebase where things are otherwise broken. We can remove the rest once that is resolved. Reviewers: zmike, cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <> Reviewed-by: Xavi Artigas <> Differential Revision:
2018-08-24eolian-cxx: Remove test that can't be implementedFelipe Magno de Almeida
The feature required by this test was removed. When the feature is reincluded with newer syntax the test will be rewritten and readded. Differential Revision:
2018-08-03build: move src/examples/ to a single makefileMike Blumenkrantz
this greatly improves build times by improving parallelizing, though it does introduce more BUILT_SOURCES usage which causes builds with cxx bindings to take significantly longer fix T7157 ref T7154 Differential Revision:
2018-04-18examples: cxx: fix some missing const attributes in colourable*Stefan Schmidt
Fixing some fallout from fcae7cab276c2d3b19bb913ad908b67b7dd33089 Given that the examples do not build for weeks with CXX enabled this is just the tip of the iceberg.
2018-04-12examples: Improve efl_mono and eolian_cxx buildLauro Moura
The examples were either not build or using repeated rules due to _EOLIAN_DEP_GEN not being set correctly was assumes it being inclueded from src/, while each example folder has its own .am inside its folder.
2017-12-14eolian-cxx: Fix distributing eo files in examplesFelipe Magno de Almeida
2017-12-14efl-cxx: Fixes in automake MakefilesFelipe Magno de Almeida
2017-12-13efl-cxx: Fixes to make distFelipe Magno de Almeida
2017-11-14eolian: scan system dir by defaultDaniel Kolesa
The '-S' option lets you reverse that. But by default, most people will want the prefix to be scanned for eo files.
2017-10-05build: fix make examples on WindowsCedric BAIL
Summary: We should define the windows version before including evil. Test Plan: Run make examples on windows newer than XP. Reviewers: vtorri Subscribers: jenkins, cedric, jpeg Tags: #efl, #windows Differential Revision: Signed-off-by: Cedric BAIL <>
2017-09-14eolian-cxx: Fix example after disambiguation patch of C++ bindingFelipe Magno de Almeida
2017-04-20examples: Fix most trivial warningsJean-Philippe Andre
This fixes all warnings for "make examples" for: -Wunused-parameter -Wshadow -Wformat-security -Wenum-conversion Some remaining warnings include: -Wdeprecated-delcarations
2017-01-18cxx: Modify how to generate C++ headers and allow cyclic dependenciesFelipe Magno de Almeida
Allow cyclic dependencies in generated C++ headers by changing order of includes and creating forward declarations.
2016-10-14examples: eolian_cxx: adapt code generation to changed eolian_gen commandlineStefan Schmidt
The commandline options have changed for eolian_gen to generate the code. Adapt the makefile helpers to fix the build break in examples
2016-08-17eolian_cxx: Fix behavior with explicit void returnLauro Moura
Only perform the single value/return type substitution on properties if the void return type is implicit (i.e. NULL return from function_return_type_get), following the eolian-C implementation as we use the generated headers. Also update example after Eo-Efl changes.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-06-10examples: eolian_cxx: package extra headers into dist.Stefan Schmidt
Without them examples are not building from tarball distribution
2016-06-06eolian-cxx: Rewrite to accomodate new features of the C++ bindingFelipe Magno de Almeida
2016-06-03eolian-cxx: Fix C++ example compilationFelipe Magno de Almeida
2016-05-16Revert "autotools: fix lots of warning."Cedric Bail
This reverts commit 885d6c7d9bb0c253c49fd3f6351dd06d28a4cf74. Reverting all as it seems those warning where actually for working code...
2016-05-16autotools: fix lots of warning.Cedric Bail
Thankcs Jean Guyomarc'h.
2016-05-10examples: eolian_cxx: fix some problems after changing the colourable namespaceStefan Schmidt
Fix commit 3e8db298f70932ce7b2f5296d44b262a615ea87c the namepsace changed but only a few files have been fixed for this. Many files did still not compile with make examples. I fixed some more but stopped at the cxx files with the hope that the original author would actually do this.
2016-05-08eolian-cxx: Disable example and fix new naming standardFelipe Magno de Almeida
Fixed naming standard in some tests and disabled the callback test while Ecore Eo API is still rapidly changing
2016-04-21eolian-cxx: Remove deprecated examplesFelipe Magno de Almeida
Removed deprecated and non-compilable examples for C++ using Evas. Users should look into C++ Elementary's examples instead.
2016-04-21Examples: Fix compilation (disable CXX examples!)Jean-Philippe Andre
Warning: This disables CXX examples because they use now-internal APIs that have no EO API binding. Those examples should be updated to use Efl.Ui widgets... once we have them.
2016-04-14examples: add DESTDIR support for install.Cedric BAIL
2016-03-23examples: adjust include path for headers no longer public headersStefan Schmidt
Since commit a4f0f08399de85b382603bc57e7a480872e85915 these header files are no longer installed. Make sure the example have the correct path to actually find teh files. If we no longer consider them public we might want to think about removing the examples for them. This commit fixes the examples build only.
2016-03-03eolian-cxx: Fix Eolian C++ constructing methods with new eo_addVitor Sousa
Also fix Eolian C++ examples using the new "eo_super".
2016-03-03Automatic migration to Eo4.Tom Hacohen
I just ran my script (email to follow) to migrate all of the EFL automatically. This commit is *only* the automatic conversion, so it can be easily reverted and re-run.
2015-12-15Examples: Fix compilation on Windows for eina, eio, elocation and eolian_cxxVincent Torri
Summary: When compiling on Windows, Evil.h must be included, so update accordinglY Reviewers: cedric, jpeg Reviewed By: jpeg Subscribers: jpeg Differential Revision:
2015-11-30eolian: fix eo makefile example of --eo option.JinsolPark
Summary: eolian: fix eo makefile example of --eo option. Reviewers: cedric, q66 Reviewed By: q66 Subscribers: jpeg, q66 Differential Revision:
2015-11-17eolian: fix build after removal of --eo option.Cedric BAIL
2015-06-05eo: move some eo files to new doc syntaxDaniel Kolesa
2015-05-20Eo: Add a return value to eo_constructor().Tom Hacohen
From now on, constructors should return a value, usually the object being worked on, or NULL (if the constructor failed). This can also be used for implementing singletons, by just always returning the same object from the constructor. This is one of the final steps towards stabilizing Eo. @feature
2015-05-18eolian: new syntax for params/values/keysDaniel Kolesa
Instead of "@in type name;" we now use "@in name: type;". This change is done because of consistency with the rest of Eolian; pretty much every other part of Eolian syntax uses the latter form. This is a big breaking change in the .eo format, so please update your .eo files accordingly and compile Elementary together with the EFL. @feature
2015-05-07eolian: change all EFL .eo files to use new syntax for propertiesDaniel Kolesa
2015-04-14eolain_cxx: Fix C++ support for new Eolian featuresVitor Sousa
Added optional constructor methods for C++ Eolian wrappers. Changed the interface of wrappers' main constructors. If there are optional constructor methods they should be passed as variadic template argument at the end of the constructor. To support variadic template arguments, the optional "parent" parameter is now the first parameter and there is another constructor without the "parent" parameter. Checking for @optinal and @nullable attributes instead of @nonull. Now @nonull is the default, and eina::optional is only used when @optional or @nullable attribute is specified. The names of constructor methods no longer have the class name prefixed. Added unit tests for checking the binding of optional constructors. Added new .eo file to be used in the test. Changed the generated documentation of constructors. Changed the efl::eo::inherit accordingly, to address these new features. Now the constructor methods should be explicit called in the efl::eo::inherit constructor, which will receive them via variadic template arguments. Added another constructor to efl::eo::inherit for passing the parent object. Updated some tests and examples to follow the new interface. Removed some code that is no longer necessary. Also, fix Eolian C++ support for constructing properties. fix assertion when parsing constructing properties. Now if a property is a constructing property eolian_cxx will generate a constructor method that have the property name (without the "_set" suffix).
2015-04-14eolian_cxx: Add protected methods and events to C++ wrappers and fixesVitor Sousa
Using eina::string_view in eolian generated interfaces (instead of std::string) to allow lightweight passing of both C strings and C++ std::string. Also, No longer using eina::optional in generated headers for types that already implements the concept of null state (like Eo wrappers and eina_accessor). Also fix allocating callback objects require by class methods (i.e. static) in static vectors so the memory will be freed when the programs exit. Added a new test case for testing callbacks on class methods. Moved method definitions and supplementary code from generated C++ wrappers to auxiliary header file (.eo.impl.hh) generated together with the main ".eo.hh" file. Updated Makefiles to list such files in the compilation and cleanup processes. Updated .gitignore to include these new generated files. Made general adjustments on the documentation of generated C++ wrappers Added "PREDEFINED" preprocessor macro definition in the in order to make some adjustments for better documentation in the C++ generated headers. Excluding generation of documentation for classes in the "eo_cxx" namespace (the namespace for "abstract" eolian C++ wrappers). Now generating the documentation for the events too. Hiding some auxiliary code from being documented. Some aesthetic adjustments for generated white space. Generate documentation for the main constructor of C++ wrappers and added auxiliary grammars to list parameters names.
2015-04-03eolian_cxx: fix change visibility to visible.Cedric BAIL
2015-03-17emile: build examples after adding emile.Cedric BAIL
2015-02-25build: Unify use of $(MKDIR_P) for creating a dir within the build systemStefan Schmidt
While we used different variation of mkdir -p all over we also had spots where we did not use the option. This is one step in trying to make our build system ready for parallel install. Using something like -j 10 even for the install should help to speed up our jenkins jobs as well as distcheck.
2015-01-05allow C++ user create new classes inheriting from Eolian generated ClassesLarry Jr
2015-01-05eolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappersVitor Sousa
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-05eolian_cxx: Fix Eolian C++ generated wrapper inconsistenciesVitor Sousa
In Reading functions instead of implements to convert the Eolian_Class. It avoids creation of methods that do not belong to the class, in special it avoids calling the default constructor twice in the generated code. No longer generating one constructor in the C++ wrapper for each eolian class constructor, since the correct behavior demands that all constructor should be called. Now the wrappers have "constructor methods" that must be called when creating a new object. Updated test cases and examples to match the new interface. Some class constructors and some test cases have to be removed since they were based on the wrong assumption that constructors are mutually exclusive. Created new generators for forwarding parameters and for looping over the relevant parameters to the C++ wrapper executing a generic lambda. Added a TODO comment regarding the call of constructor methods of all base classes. Currently there is no base type with constructors, so this situation should be discussed more. Added a TODO comment regarding the way callback parameters are being processed.