summaryrefslogtreecommitdiff
path: root/src/examples/eolian_cxx (follow)
AgeCommit message (Collapse)Author
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 Makefile.am accordinglY Reviewers: cedric, jpeg Reviewed By: jpeg Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D3439
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: https://phab.enlightenment.org/D3389
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 Doxyfile.in 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 convert.cc: 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.
2014-09-30gitignore: don't track generated files.Cedric BAIL
2014-09-12eolian-cxx: Update examples syntax and fix implementation accordingly.Savio Sena
2014-09-12autotools: Renamed EOS variable in the Makefiles uniquely.Savio Sena
EOS in Makefile_Efl.am becomes EFL_EOS. EOS in examples/eolian_cxx/Makefile.am becomes ECXX_EXAMPLE_EOS.
2014-09-12examples: Fix include file name in Eolian-CXX examples..Savio Sena
ecore_poll.eo.hh -> ecore_poller.eo.hh
2014-09-12autotools: Add -I$(srcdir)/lib/efl/ to the examples.Savio Sena
This fixes 'make examples'.
2014-09-01eolian: move efl eo files over to the new ctor syntaxDaniel Kolesa
2014-08-27eo: migrate constructors sections to constructing methodsDaniel Kolesa
2014-08-21eolian: more consistent syntaxDaniel Kolesa
"legacy foo" is now "legacy: foo" and "return foo" is now "return: foo".
2014-08-13eolian-cxx: Renamed event_*_callback_{add,call} to callback_*_{add,call}.Savio Sena
2014-08-12autotools: try to simplify our Makefile.am to reduce warnings.Cedric BAIL
2014-07-24eolian-cxx: Removed a warning from the example.Savio Sena
2014-07-24autotools: Fixed 'make dist' for Eolian-CxxSavio Sena
Added .eo to EXTRA_DIST and *_stub.h to example's source lists.
2014-07-24eolian-cxx: Added example of Eo implementation in C++.Savio Sena
Instead of implementing Eo functions in C we do it in C++ simply.
2014-07-21eolian-cxx: Removes more warnings.Savio Sena
2014-07-18eolian-cxx: Fixed exapmle with support for complex typesFelipe Magno de Almeida
Automatic conversion of Evas_Object* to evas::object wrapper broke the example. Fixed it by using the new feature :).
2014-07-18eolian-cxx: Updated the examples according to the new syntax.Savio Sena
2014-07-18eolian-cxx: Added examples.Savio Sena
Added complex types, callbacks and events examples.
2014-07-18eolian-cxx: Fixed example eo fileFelipe Magno de Almeida
The coulourable.eo file got outdated when Eolian syntax changed, it is now updated and fixed.
2014-07-18eolian-cxx: Disabled temporarily the inheritance featureFelipe Magno de Almeida
This feature is buggy when using multi-level namespaces. I disabled it temporarily and will fix it ASAP and re-enable it.
2014-06-30eolian-cxx: Added namespaces and more (see below)Daniel Kolesa
Implemented namespaces Added eolian_wrappers.hh with C++ code wrapping Eolain API Changed eolian_cxx program options. Now they're eolian_gen's Added functions to safe_str.hh (safe_lower, safe_upper, normalize_spaces, path_base) Added a mocked version of type_lookup.hh in advance. The full version will come as soon as complex-types are added. Made apply again by Daniel Kolesa, original implementation by Savio Sena.
2014-06-30Eo (base class): Fix .eo file to have proper namespacing for the class naem.Tom Hacohen
2014-06-19Eolian-Cxx: Corrected the syntax of the .eo examples and added missing includes.Savio Sena
Summary: Just updating the .eo's to match the new syntax. Reviewers: cedric, q66, tasn, JackDanielZ Reviewed By: q66 CC: felipealmeida, smohanty, woohyun, cedric Differential Revision: https://phab.enlightenment.org/D1067