Jean-Philippe Andre
cfb3365060
cxx: Add strbuf support
...
Comes in two fashions:
- strbuf_view (read-only)
- strbuf (read/write)
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre
db8227a34a
cxx: Add alternative form to instantiate object
...
This still uses the instantiate object but provides a more convenient
syntax for objects declared before their creation (eg. a global win).
Note: I wonder if we shouldn't rename instantiate to add. It would be
closer to EFL API's while being much much easier to type.
2017-12-05 10:09:58 +09:00
Lauro Moura
3c5efa1e8d
efl_mono: Fix eina_value_set.
...
Instead of messing around with varargs, create individual wrappers for
each type supported.
The va_list approach was getting problems with float/double on Windows.
2017-12-04 15:47:52 -03:00
Lauro Moura
9391407319
efl_mono: Adding support code for the C# binding
...
This is the C# manual code for the binding. Buildsystem integration will
come in a future commit.
2017-12-04 15:47:49 -03:00
Jean-Philippe Andre
289a4e3aaa
cxx: Only give a single ref to unparented objects
...
On instantiation objects get either one or two refs:
- with a parent, they will have 2 refs, one for C++, one for the
parent.
- without a parent, they get a single ref, the one for C++
This will break the existing C++ examples, which I will fix in later
patches.
Note that the window is a strange object which can be created with no
parent but internally reparents itself to an object it creates (oh so
ugly).
2017-11-14 12:18:39 +09:00
Andy Williams
d5dbcdabd1
eo: Rename efl_ref_get to efl_ref_count
2017-11-08 09:30:42 +00:00
Jean-Philippe Andre
58527a3dbb
cxx: Fix log color in eina_log.hh
...
Changed from invalid "black" to arbitrary choice of green.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
64698daeb5
cxx: Add support for operator == with objects
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
e7009b77a2
cxx: Add experimental "easy" way to use wref
...
I hid it behind ifdef for now as I'm very much unsure of what I'm doing.
This whole modern C++ thing is still weird to me :)
Prerequisite:
#define EFL_CXX_WREF_EASY
This allows constructs such as:
auto wobj = obj._get_wref();
std::cout << wobj->text_get() << std::endl;
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
88e10da36b
cxx: Mark wref::lock as const
...
This allows passing in wref to a lambda.
If we passed normal refs, we would end up with dangling references and
many ERR messages.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
8c991b104c
cxx: Add nullptr constructor for weak refs
...
This allows constructs such as:
wref_obj = obj;
...
wref_obj = nullptr;
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
03b22c4d7b
cxx: Instantiate objects with 2 refs
...
This is the original meaning of efl_add_ref().
Somehow the "ref" bool was set to true in the first call, and false in
the second call.
2017-11-07 09:57:24 +09:00
Felipe Magno de Almeida
de349e1b9e
eo-cxx: Fix compilation error with any_value received by value
2017-10-30 21:05:39 -02:00
Daniel Kolesa
4f8a9b50f4
eolian: make inherits_get return a list of classes, not strings
...
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.
Subtly breaks API but everything should be updated.
2017-10-25 16:25:41 +02:00
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
5e788e3a5c
elua: bind new eolian type builtin API
2017-09-22 21:03:23 +02:00
Daniel Kolesa
1577c576e6
eolian: remove static_array and terminated_array
...
These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...
2017-09-22 18:01:15 +02:00
Daniel Kolesa
4bae2a7385
eolian: merge REGULAR and COMPLEX types
2017-09-22 17:46:02 +02:00
Felipe Magno de Almeida
89608b15ee
eo-cxx: Fix test errors with new Eolian @own framework
2017-09-18 20:22:32 -03:00
Felipe Magno de Almeida
192c7e35f6
eo-cxx: Fix assignment operator for eo::concrete
2017-09-17 06:17:01 -03:00
Felipe Magno de Almeida
b5c4aeab94
eo-cxx: Fix possible non-initialization in copy-constructor and move-constructor
2017-09-15 15:16:58 -03:00
Felipe Magno de Almeida
6ded80a9b5
eo-cxx: Fix conversion from char* to std::string
2017-09-15 14:56:23 -03:00
Daniel Kolesa
60d6aeeb2d
elua: update for new eolian ownership system
2017-09-15 17:52:38 +02:00
Daniel Kolesa
e55ab81835
eolian: always implicitly validate database and remove its API
2017-09-13 23:58:47 +02:00
Jean-Philippe Andre
0885d0c405
elm: Fix use of Efl.Access APIs
...
See also 7d397c9f19
Thanks @stefan for the first fix patch, I simply failed to push this one
early enough.
2017-09-13 09:57:20 +09: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
Felipe Magno de Almeida
1cfc96dd5b
eo-cxx: Fix ompilation error for uncomplete Eina_Future type
2017-09-06 17:03:36 +09:00
Daniel Kolesa
8b5d555cf5
elua: update eolian bindings and make docgen work again
2017-08-30 19:46:41 +02:00
Daniel Kolesa
10fd3c32e8
eolian: remove c_only
...
Unused and of questionable value.
2017-08-30 19:46:41 +02:00
Felipe Magno de Almeida
a7649a7897
eolian-cxx: Add workaround for function pointer types
2017-08-22 22:40:13 -03:00
Felipe Magno de Almeida
348a7084af
eolian-cxx: Add workaround for clang removing const from parameters
2017-08-10 15:52:25 -03:00
Daniel Kolesa
e38418dd9d
elua: update eolian bindings with c type serialization change
2017-08-10 12:19:59 +02:00
Felipe Magno de Almeida
634f7d0dbb
eo-cxx: Add overload for Eina_Bool inout handling interoperability
...
Add convert_inout_impl overload to handle bool/Eina_Bool conversion in inout direction.
2017-07-27 13:20:20 -03:00
Lauro Moura
c4558e2910
js: Update after many elm/efl.ui changes
...
- Win.Standard
- Photocam to Image.Zoomable rename
- Widget namespace changes (elm -> efl.ui)
- setText/setPartText changes (see 3eb649b18
)
2017-06-19 17:36:41 -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
Daniel Kolesa
d2280f91a1
eolian: use unit in typedecl c_type_get
2017-05-30 17:15:54 +02:00
Daniel Kolesa
a5e66b3421
eolian: doc token ref resolver now takes unit
2017-05-30 17:15:54 +02:00
Daniel Kolesa
81a1d9659a
eolian: type_class_get takes unit
2017-05-30 17:15:54 +02:00
Daniel Kolesa
c234b5ee69
eolian: expr eval APIs now take units
2017-05-30 17:15:54 +02:00
Daniel Kolesa
0bf6fd6297
eolian: update lua bindings with new unit apis
2017-05-30 17:15:54 +02:00
Daniel Kolesa
67bc32d9ac
eolian: pass unit to enum get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
9c2dae3531
eolian: pass unit to struct get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
52a0255e38
eolian: pass unit to alias get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
6d0ee5d2df
eolian: return real nil on parse failure
2017-05-30 17:15:54 +02:00
Daniel Kolesa
9699d074bc
eolian: pass unit to all_classes_get
2017-05-30 17:15:53 +02:00
Daniel Kolesa
45a73a0878
eolian: pass unit to class get_by_name/file
2017-05-30 17:15:53 +02:00
Daniel Kolesa
83bf422159
eolian: make all variable lookups take unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
cee3b604a3
eolian: make by-file variable lookups take unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
653cf6bac3
eolian: make by-name variable lookups take unit
2017-05-30 17:15:53 +02:00