Summary:
Fix unit tests `TestEoInherit.inherited_collected` and
`TestFunctionPointers.set_callback_inherited_called_from_c`.
Iterate through garbage collection and EFL main loop more times to ensure that
allocated objects are really collected.
Also expand the test utility method `CollectAndIterate` to receive the number of
times to call the whole cleaning iteration process (not only the garbage
collection).
Test Plan: `meson test`
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9271
This allow evas test to work with an Ecore_Evas directly. It prevent leaking of memory
in the case of half destroying Ecore_Evas.
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9104
This support Android 9 patch file format. Only black is a recognized color for both
the stretch area and the content area. All other color are associated with being
"white".
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9103
This is just the plumbing that feed data provided along android 9 patch image for example
into Evas object image new stretch and content region infrastructure for rendering them
properly.
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9102
This is the first step into introducing support for Android 9 patch
format (extension: .9.png). The principle is to expose a new property
on image object that define a complete behavior incompatible with other
border and fill logic. The reason is that 9 patch allow for any number
of stretchable area inside an image, not just for each corner. The way
to define this is by giving a pointer to an array of the proper type
that define stretchable region relative to each other.
The logic being slightly more complex than the border and fill logic,
it is slightly slower. If you are just defining corner on your image
for something like a button, you would still get better performance
using border. I will try to make edje_cc detect those case and fallback
to border when possible.
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9096
The first step with this API is to use the information provided when setting
the border on an image to define the content area inside it. Improvement will
be to use more flexible stretch region area to make it more customizable and
finally read the information from a 9patch file (.9.png).
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9093
Summary:
Current:
In edc, zoom is supposed to happen from object center, there is no way to
change the center of the zoom.
Changes:
Adding support to change the center of zooming just like map rotation by using
other part's center.
@feature
Reviewers: cedric, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9115
Summary:
Remove almost all the compilation warnings from C++ code. Only explicit
warnings using the `#warning` preprocessor directive remain.
Some warnings had to be suppressed with `#pragma` directives because the
behavior they were warning about is intended in some specific places.
Code comments were added in such situations.
Added a generator that creates `#pragma` directives in order to suppress
warnings in all generated C++ headers.
Currently `-Wignored-qualifiers` is the only warning category being suppressed.
The innocuous const qualifiers that it points are inoffensive and have
no effect in compilation at all.
They are also hard to track in generation since they can emerge from different
types in many places.
To ease the generation of the warning suppressors an utility constructor was
added to `efl::eolian::grammar::attributes::unused_type`.
Add constructors to `eolian_mono::class_context` to default initialize its
internal string and avoid field initialization warnings.
Test Plan: `meson test`
Reviewers: lauromoura, felipealmeida, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl_language_bindings
Differential Revision: https://phab.enlightenment.org/D9275
Summary:
Decrement grab count of mouse event when mouse up happen during a freeze state.
Currently as grab count is not reduced in this scenario, further touches gets ignored.
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: (on scenario where proxy exists) mouse down -> freeze events -> mouse up -> unfreeze events
Reviewers: cedric, raster, zmike, Hermet
Reviewed By: zmike
Subscribers: zmike, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9214
Summary:
sse3 instructions set exists since 2003/2004. One can consider that computers with Windows have it, these days
Note also that ector and evas also use sse3 instructions without the test disabling the Windows platform
Test Plan: compilation
Reviewers: zmike, raster, cedric, bu5hm4n
Subscribers: bu5hm4n, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9284
Summary:
Efl.Gfx.Image_Orientable and Efl.Ui.Layout_Orientable have same property name.
So when class extends both interfaces, it makes conflict.
Relates to T7924
Reviewers: woohyun, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9299
given the following scenario:
* object is added to smartobj
* smartobj is otherwise unchanged
* render occurs
object will never render due to smartobj's render cache not including object
by clearing this cache when reinserting smartobj into the render tree for a
followup render, the object chain will be correctly processed on the next pass
fix T7990
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9287
Summary:
When creating a new Value with any IEnumerable of a supported type, the IEnumerable
will be copied into an Eina.Value of type EINA_VALUE_ARRAY_TYPE.
Similarly, `Unwrap()` on a Eina.Value container will create a new
System.Collections.List<T> and return it.
Depends on D9272
Reviewers: felipealmeida, vitor.sousa, segfaultxavi
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl, #expertise_solutions
Differential Revision: https://phab.enlightenment.org/D9273
Summary:
The user can construct an `Eina.Value` from a plain C# `object`, using
reflection to get the correct type of object and construct the correct
underlying C value.
Also added the `Unwrap()` method to return a C# object representing the
wrapped value.
Both operations are useful when using `Eina.Value` to
Get/Set values from `PropertyInfo` targets as in
```
var v = new Eina.Value(propInfo.GetValue(sourceObj));
...
propInfo.SetValue(targetObj, v.Unwrap());
```
Currently, containers are not supported. It will be added in a following
commit.
Depends on D9270
Reviewers: felipealmeida, vitor.sousa, segfaultxavi
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9272
Summary:
Attributes to be used by the API export tool. For end users, no changes
in the public API (except for a new attribute in generated classes).
Also simplifies constructor forwarding by not needing to pass the type
of the first "generated" class to compare.
Currently only automatically generated items are tagged.
Depends: D9259
Reviewers: vitor.sousa, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9270
this handles all the part object getting and signal processing and geometry
calculating so you can get to clickin those parts faster
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9269
also fixes lifetime issue with spin parts
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9268
Long pressing on efl_ui_text gave inifinte loop. So, I removed
event_call in the event callback function.
I think long press functionality is almost broken after applying
clickable_util. There is no way to remove long press timer based
on the action on efl_ui_text.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9274
there was this internal pointer to select_mode for getting the selection
mode of the container. However, we now have API for checking this, so
there is exactly 0 reason for doing this like this. Additionally, with
the old way of doing, bildings like C# or lua are just lost, they cannot
use this class at all in there implementations, as they cannot access
the privat data.
ref T905
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9263
this commit ensures that there is a public way of setting the container
to a item. This was also like this before, just with the difference that
it was set and unset in all privacy, however, we want to have this class
also ready for bindings, so we should stop making things privat like
this.
Note: the removed fields from grid and list have not been used.
ref T7905
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9262
Change inhertitence for object so we can use
themes with elm_code.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9279
(1) Following commit did not care of efl_ui_format_string_get(set) of
elm_slider_part_indicator_eo.c
e776f5f Efl.Ui.Format revamp
Even though you call elm_slider_indicator_format_set with "%1.0f",
elm_slider_indicator_format_get returns NULL.
(2) The commit does not initialize format variables
- elm_slider_indicator_format_get
- elm_slider_unit_format_get
- elm_progressbar_unit_format_get
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9276
Summary:
Build fix (remove warnings)
Instead of returning the beta functions in the vector and relying on
function generators to skip them, filter them out when filling the
implementable methods vector.
This will make the code return the actual number of implementable
function, skipping some unused fields in places like the NativeMethods
implementations.
Depends on D9258
Reviewers: vitor.sousa, felipealmeida, segfaultxavi
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl, #expertise_solutions
Differential Revision: https://phab.enlightenment.org/D9259
Summary:
When skipping beta items, make sure generated documentation does not try
to refer to beta stuff using `see` tags. Doing so would lead to warnings
when generating the xml doc file and as we now treat warnings as errors,
compilation would fail.
Instead of `see` tags, use a simple `span` with a suffix text explaining
said item is beta.
Reviewers: vitor.sousa, felipealmeida, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl, #expertise_solutions
Differential Revision: https://phab.enlightenment.org/D9258
elm_progressbar_value_set with value bigger than max (or less than min) set to
max value instead of the bigger value. Following commit broke this behavior.
5efb4b3 efl_ui_*: get range users onto the same semantics
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9277
Summary:
this only occurs when the same text parts don't exist in the new layout,
which is an extremely unlikely scenario
Depends on D9210
Reviewers: cedric, bu5hm4n
Reviewed By: cedric, bu5hm4n
Subscribers: bu5hm4n, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9211
Summary:
this adds explicit handling for things like:
efl_add(SOMECLASS, parent,
efl_text_set(efl_added, "my text")
);
on edje-inheriting objects.
note that it's still impossible to do something like
efl_add(SOMECLASS, parent,
efl_text_set(efl_part(efl_added, "somepart"), "my text")
);
also add a unit test to verify common behaviors
@feature
Depends on D9209
Reviewers: cedric
Reviewed By: cedric
Subscribers: bu5hm4n, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9210
Summary:
this was being stored as regular text when it was actually markup
@fix
Depends on D9208
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9209
Summary:
this is where all user-added data (e.g., swallowed objects, table/box packs,
text strings) are stored. with this patch, it is now a hash by part name,
storing a list of user-defined data for that part
this simplifies a bit of code by deconstructing some list walks, and
should end up being slightly faster for large edje objects with lots of
user-defined data
ideally no functional changes
Depends on D9206
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9208