Commit Graph

96 Commits

Author SHA1 Message Date
Felipe Magno de Almeida 96d3af10bf eolian-cxx: Add optional parameter to lambda for unnamed proxy instantiation 2017-09-28 17:50:14 -03:00
Felipe Magno de Almeida bb887f9869 eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types 2017-09-25 21:57:25 -03:00
Daniel Kolesa e4cd67c7d6 eolian cxx: rename generic_value to any_value 2017-09-22 22:52:18 +02:00
Daniel Kolesa 4bae2a7385 eolian: merge REGULAR and COMPLEX types 2017-09-22 17:46:02 +02:00
Daniel Kolesa 157e125114 eolian cxx: use new ownership check API 2017-09-15 16:35:24 +02:00
Felipe Magno de Almeida 44c0199f42 eolian-cxx: Fix instantiate constructor with lambda after disambiguation patch 2017-09-14 15:06:33 -03:00
Felipe Magno de Almeida 48b3c127f7 eo-cxx: Require instantiate keyword for constructors calling efl_add to avoid ambiguity 2017-09-08 11:47:29 +09:00
Daniel Zaoui b71612eb20 cxx: generate a constructor with a parent and a lambda function
Until now, one could not invoke functions into the constructor of a
widget possessing a parent. It is needed for widgets such as Efl.Ui.Check
where style is needed during construction.

@fix T5980
2017-09-07 01:29:57 +03:00
Felipe Magno de Almeida a7649a7897 eolian-cxx: Add workaround for function pointer types 2017-08-22 22:40:13 -03:00
Daniel Kolesa 9738a6e3d2 eolian cxx: fix the remaining type errors 2017-08-10 14:10:52 +02:00
Daniel Kolesa 22e27ab045 eolian cxx: fix build after eolian type api change 2017-08-10 13:38:38 +02:00
Felipe Magno de Almeida c40ecb6282 eolian-cxx: Add constructor with default argument
Fixes compilation error in clang. T5588
2017-06-18 20:02:10 -03:00
Felipe Magno de Almeida 0fcee227aa eolian-cxx: Fix C++ generation errors with handle opaque types 2017-06-18 11:31:43 -03:00
Felipe Magno de Almeida 6dcc8dd07f eolian-cxx: Fixed compilation error after Eolian_Unit type introduction 2017-06-02 18:27:46 -03:00
Felipe Magno de Almeida 891376f42a eolian-cxx: Add all cases in switch to remove warning 2017-01-18 23:07:46 -02:00
Felipe Magno de Almeida 679bbc5cab eolian-cxx: Do not call eolian_function_scope_get with EOLIAN_PROPERTY 2017-01-18 23:06:51 -02:00
Felipe Magno de Almeida a1f2db255b cxx: Modify how to generate C++ headers and allow cyclic dependencies
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Felipe Magno de Almeida e64327bacc eolian-cxx: Add std::move to member variable initialization
CID 1361231
2016-12-20 16:06:58 -03:00
Felipe Magno de Almeida b92acd5caf eolian-cxx: Make class_definition lambda's catch parameter by const-reference
CID 1361230
CID 1361234
2016-12-20 16:06:58 -03:00
Felipe Magno de Almeida 45e1ccf312 eolian-cxx: Remove EOLIAN_TYPE_POINTER enumeration 2016-11-10 15:20:36 -02:00
Felipe Magno de Almeida 137dd4864d eina-cxx: eolian-cxx: Fix correct usage of is_eolian_object traits 2016-11-03 17:59:20 -02:00
Carsten Haitzler 7d654b2065 fix build for c++ after eolian api change 2016-11-03 22:48:09 +09:00
Felipe Magno de Almeida dbed78ad3b eina-cxx: Moved variant to eina C++ 2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida a63cfcafc7 eolian-cxx: Implement future template class for C++ 2016-09-11 23:44:05 -03:00
Lauro Moura 16986ffc7a eolian_cxx: Fix behavior with explicit void return
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-17 20:54:27 -03:00
Felipe Magno de Almeida f4a90dcde2 eolian-cxx: Fix compilation break from changes in Eo nomenclature
Rename of classes and function calls in generated code and C++ headers
2016-08-11 16:24:15 -03:00
Felipe Magno de Almeida 1c402f62a9 eolian-cxx: Fix generation for ref generic_values and Eolian classes 2016-07-05 16:32:11 -03:00
Felipe Magno de Almeida b09c1f8093 eolian-cxx: Added stringshare 2016-06-21 16:35:09 -03:00
Felipe Magno de Almeida b97a156ac4 eolian-cxx: Work with @inout parameter of void type 2016-06-16 21:48:07 -03:00
Felipe Magno de Almeida 9a407761bc eolian-cxx: Fix generation of non-inline function in headers 2016-06-15 17:49:56 -03:00
Felipe Magno de Almeida 136d0d684b eolian-cxx: Fix conversion to bool in clang 2016-06-15 17:49:56 -03:00
Felipe Magno de Almeida 3a7af71079 eolian-cxx: Fixed generation of implicit conversion operators 2016-06-15 15:50:04 -03:00
Felipe Magno de Almeida 8906998ef2 eolian-cxx: Add support for ref parameters and correct ownership handling 2016-06-14 22:44:02 -03:00
Jean-Philippe Andre c6dfdeb0c8 cxx: Add support for protected and beta events
The code is horrible, pardon my C++.

Note: I guess @protected should also change the scope from
public: to protected: but that's another problem. Here I'm only
trying to fix the build while still introducing @beta and
@protected flags.
2016-06-14 16:27:42 +09:00
Daniel Kolesa 33c147f6d4 eolian: remove the unnecessary subtypes API
Inner type can now be retrieved as a base type of the type.
If the type has two inner types or more, there is a new API that allows you to
get the second inner type by calling it on the first one (same would apply to
getting third via second etc.).

This API is simpler to use and doesn't require an iterator.
2016-06-10 14:28:19 +01:00
Lauro Moura 7b63ecf4f6 eolian_cxx: Fix build after scope_get changes 2016-06-09 18:53:31 -03:00
Felipe Magno de Almeida 343b88a735 eolian-cxx: Fix some C++ quirks that makes clang warn about 2016-06-08 12:55:19 -03:00
Felipe Magno de Almeida f683efd2c1 eolian-cxx: Fix generation of some primitive types
Fix translation of primitive types for C++ binding
2016-06-08 12:19:15 -03:00
Felipe Magno de Almeida 27429cf40b eolian-cxx: Fix compilation error on clang with const UDT initialization 2016-06-06 03:49:16 -03:00
Larry Jr 6680eca359 eolian-cxx: fix compilation errors an olders gcc 2016-06-06 03:30:42 -03:00
Felipe Magno de Almeida 2a3d7860db eolian-cxx: Rewrite to accomodate new features of the C++ binding 2016-06-06 02:54:36 -03:00
Felipe Magno de Almeida 66dade5604 eolian-cxx: Removed useless commented code 2016-05-26 16:46:40 -03:00
Daniel Kolesa 7782c0bcb9 eolian: add event_prefix and have classes follow that or eo_prefix by default
Previously events used to use class name as a prefix and ignored eo_prefix
when specified. This is no longer the case. Events follow eo_prefix by default
now. In order to get around this for classes where this is undesirable, a new
field event_prefix was added which takes priority over eo_prefix. If neither
is specified, class name is used like previously.

@feature
2016-05-17 17:50:43 +01:00
Stefan Schmidt e981bfc4e8 cxx: follow eoid to eo_self rename in cxx generator and bindings
Bringing efl back to a building state with cxx enabled.
2016-03-16 21:11:17 +01:00
Tom Hacohen 72c6236038 Revert "cxx: Migrate C++ binding to the new eo_add syntax"
This reverts commit 48f62ad686.
2016-03-11 12:29:03 +00:00
Vitor Sousa 48f62ad686 cxx: Migrate C++ binding to the new eo_add syntax 2016-03-09 15:46:19 -03:00
Vitor Sousa 9cbda57bf0 eolian-cxx: Fix Eolian C++ constructing methods with new eo_add
Also fix Eolian C++ examples using the new "eo_super".
2016-03-03 16:05:40 -03:00
Felipe Magno de Almeida 5c7d78d104 eolian-cxx: Partial fix for generation without eo_do 2016-03-03 16:05:40 -03:00
Felipe Magno de Almeida d40b046685 eolian-cxx: Fix C++ events with new Eo_Event_Cb signature 2016-02-29 11:01:04 -03:00
Jean-Philippe Andre 050bd0adc8 Eolian Cxx: Fix warnings related to deprecated EO_EV_DEL
Switch the generator to EO_BASE_EVENT_DEL.
2016-01-22 15:35:23 +09:00