Mike Blumenkrantz [Tue, 9 Jul 2019 13:11:36 +0000 (09:11 -0400)]
tests/efl_ui: add event test for slider
this verifies event emission for slider like in legacy tests
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9246
Mike Blumenkrantz [Tue, 9 Jul 2019 12:52:07 +0000 (08:52 -0400)]
tests/evas: add file for evas event unit tests, add frozen mouse-up test
this adds an explicit test verifying that if an object is frozen before
a mouse-up event is passed through it, the callback for mouse-up will
not be called for that object
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9239
Marcel Hollerbach [Tue, 9 Jul 2019 12:49:12 +0000 (08:49 -0400)]
Introduce efl_ui_scroll_util files.
Summary:
this brings API that connects the theme to the object. This reduces the
amount of code that you need to write in order to develop a widget that
can be scrollable.
For now efl_ui_grid and efl_ui_scroller are replaced with it.
efl_ui_list / efl_ui_list_view are not handeled with this, as they will
be replaced with newer widgets.
Right now this is only avaiable in the C API. However, wrapping this
into a mixin should be easy.
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9245
Carsten Haitzler (Rasterman) [Tue, 9 Jul 2019 12:03:31 +0000 (13:03 +0100)]
elm - cursor - clear cursor job late to avoid crash
during cursor free a move cb seems to add another job again after it
wss already deleted during the free process, so just clear the job
really late instead. valgrind found this one
@fix
Xavi Artigas [Mon, 8 Jul 2019 14:59:19 +0000 (16:59 +0200)]
efl-mono: Treat Warnings as Errors
Now that there are 0 documentation warnings, let's make sure we stay this way.
Jaehyun Cho [Fri, 28 Jun 2019 10:35:19 +0000 (10:35 +0000)]
efl_ui_clickable: fix not to be clicked if pointer is processed
If pointer is processed by a container in its POINTER_MOVE event
callback, then clickable calls efl_ui_clickable_button_state_reset not
to be clicked by efl_ui_clickable_unpress.
e.g. Efl.Ui.Active_View.View_Manager_Scroll sets pointer processed in
POINTER_MOVE event callback not to click button during scrolling.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9204
Vitor Sousa [Tue, 9 Jul 2019 08:13:27 +0000 (10:13 +0200)]
cxx: fix some compilation warnings in C++ examples
Summary:
Fix some warnings in the C++ examples for elementary. These examples are build
by default in the normal meson compilation.
Only accidental warnings were fixed, explicit warnings using the `#warning`
preprocessor directive were maintained.
Test Plan: Compile with C++ binding.
Reviewers: lauromoura, felipealmeida, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9244
Vitor Sousa [Tue, 9 Jul 2019 08:05:23 +0000 (10:05 +0200)]
csharp: update and disable tests that use deprecated eolian type notations
Summary:
Avoid the usage of deprecated Eolian type notations like `ptr()` in C# unit
tests.
In places where an alternative type could be used, tests were changed to use
a valid type, e.g. containers that stored `ptr(int)` were changed to store
`string`.
Tests for types that require a pointer notation were commented out and
disabled. They can be re-enabled when a new notation to the type is defined.
Depends on D9238
Test Plan: `meson test`
Reviewers: lauromoura, felipealmeida, q66, segfaultxavi
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, bu5hm4n, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9247
Vitor Sousa [Tue, 9 Jul 2019 08:00:06 +0000 (10:00 +0200)]
eolian_mono: fix non-beta build and support for slice/rw_slice keywords
Summary:
Add support for `slice` and `rw_slice` keywords in eolian_mono.
Now it generates the proper manual binding type for these native types.
Make unit tests use these keywords instead of native names.
Remove some unnecessary `@beta` tags from eolian types in unit tests so now
tests correctly compile without the `mono-beta` compilation flag.
Also make tests that use `Eina.Binbuf` "beta only".
In a future update, the external type `Eina.Binbuf` will be marked as beta, so
we shield the binding in anticipation.
Test Plan: `meson -Dbindings=mono -Dmono-beta=true` and `meson -Dbindings=mono -Dmono-beta=false`
Reviewers: lauromoura, felipealmeida, q66, segfaultxavi, bu5hm4n
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9238
Vitor Sousa [Mon, 8 Jul 2019 15:53:41 +0000 (17:53 +0200)]
csharp: fix build warning related with an unused field in an unit test
Test Plan: `meson test`
Reviewers: lauromoura, felipealmeida, segfaultxavi
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9240
JunsuChoi [Tue, 9 Jul 2019 06:46:41 +0000 (15:46 +0900)]
Ector.Renderer: Prevent too many unref.
Summary:
pd-> surface will try efl_xref whenever surface_set is called.
desturctor is called from a subclass, ref and unref do not match.
So, Add this condition temporarily.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9235
maxerba [Mon, 8 Jul 2019 19:17:06 +0000 (21:17 +0200)]
Updating french translation
Marcel Hollerbach [Sun, 7 Jul 2019 16:14:13 +0000 (18:14 +0200)]
efl_ui_spin_button: add test suite
this adds a testsuite to emulate and check the usage of buttons in the
spin button widget. This also verifies that the correct events are
emitted. (For now, the testcases from spin are also copied over, since
they inherit from each other)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9232
Marcel Hollerbach [Sun, 7 Jul 2019 14:58:01 +0000 (16:58 +0200)]
efl_ui_spin_button: fix event calling in spin_button
before the spin event for changing the value was called twice if you
changed the value by the entry. Additionally, the changed,delay event is
not emitted when the value was changed via the arrow buttons.
This corrects this, additionally, this enables the delay timer when
focus is gone, this is expected and should be supported by the API.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9231
Marcel Hollerbach [Fri, 5 Jul 2019 17:09:43 +0000 (19:09 +0200)]
efl_ui_spin_button: make theme consistent
this reduces the amount of code needed in the widget itself,
additionally, the theme now follows a scheme.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9230
Marcel Hollerbach [Fri, 5 Jul 2019 16:18:33 +0000 (18:18 +0200)]
efl_ui_spin_button: cleanup internal data
there is no reason to store those two times in the internal data, as
they do not change at all. Additionally, saving the direction in the
internal data has also no reason, since it is *always* used in the call
after the setting, so this makes this a parameter.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9229
Marcel Hollerbach [Fri, 5 Jul 2019 16:08:02 +0000 (18:08 +0200)]
efl_ui_spin_button: this can also be done with the focus callback
this makes the code more readable, and reduces the amount of events we
are subscribing to.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9227
Marcel Hollerbach [Fri, 5 Jul 2019 15:44:36 +0000 (17:44 +0200)]
efl_ui_spin_button: change entry to button before changing value
doing this in pressed is kind of weird, if you are on a touchscreen,
missclick, and move the finger away, the entry is already transformed,
which is weird, this fixes that.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9226
Marcel Hollerbach [Fri, 5 Jul 2019 15:38:07 +0000 (17:38 +0200)]
efl_ui_spin_button: this function is 1:1 like this in efl_ui_spin
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9225
Marcel Hollerbach [Fri, 5 Jul 2019 15:35:06 +0000 (17:35 +0200)]
efl_ui_spin_button: replace timers with autorepeat of button
this was just reimplementing existing behaviour. This can be done more
easily
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9224
Marcel Hollerbach [Mon, 8 Jul 2019 14:18:57 +0000 (16:18 +0200)]
efl_ui_spec_suite: introduce two new test suites
this checks that the expected errors are in place, and the state does
not get changed when there is an errornous call.
ref T7895
ref T7894
Marcel Hollerbach [Mon, 8 Jul 2019 14:17:38 +0000 (16:17 +0200)]
efl_ui_*: get range users onto the same semantics
this commits introduces unified behaviour for the users of the range
interfaces. This includes:
- The same errors for limit_set errors
- The same errors for value setting outside the range
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9241
Marcel Hollerbach [Fri, 5 Jul 2019 12:11:23 +0000 (14:11 +0200)]
efl_ui_spin: add tests for basic spin features
this tests for the correct event emission. And checks the wheel
interaction.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9221
Xavi Artigas [Mon, 8 Jul 2019 14:56:49 +0000 (16:56 +0200)]
docs: Fill last missing docs from EO files
Some docs have been filled with placeholder text ("TBD") or with preliminary
text (marked with //TODO).
Having 0 doc warning we can now enable Warnings as Errors in mono, and in Eolian later on.
Vitor Sousa [Mon, 8 Jul 2019 15:46:25 +0000 (12:46 -0300)]
Revert "efl: prevent usage of some Eina.* stub types in stable APIs"
C# does not support `slice` and `rw_slice` yet.
Reverting until proper support lands.
This reverts commit
ec7bc0eddd7abc77d28605b0a6f0aea2e246a0ee.
Vitor Sousa [Mon, 8 Jul 2019 15:18:47 +0000 (17:18 +0200)]
csharp: fix some build warnings related with incorrect and missing documentation
Summary:
Some parameter names, tag names and cref identifiers in the documentation were
incorrect and causing warnings during compilation.
There were also warnings related with missing documentation in publicly
visible elements in the manual binding.
This commit fixes these incorrections and adds documentation to the manual
binding in order to solve these compilation warnings.
Warnings related with missing documentation in `.eo` files are still present.
Test Plan: Just compile with mono binding.
Reviewers: lauromoura, felipealmeida, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9243
Daniel Kolesa [Mon, 8 Jul 2019 15:01:40 +0000 (17:01 +0200)]
efl: prevent usage of some Eina.* stub types in stable APIs
Mike Blumenkrantz [Mon, 8 Jul 2019 14:17:58 +0000 (16:17 +0200)]
eolian: fix leak in eolian_state_file_path_parse
Summary:
this fixes a trivial leak where a string is leaked at the end of the function.
it is not significant, but it still appears in leak detections.
Reviewers: q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9124
Vitor Sousa [Mon, 8 Jul 2019 14:16:07 +0000 (16:16 +0200)]
eolian_cxx: update eolian_cxx to recognize slice and rw_slice
Summary:
Update eolian_cxx to recognize the new keywords `slice` and `rw_slice`, so it
can generate the corresponding types `Eina_Slice` and `Eina_Rw_Slice`.
Reviewers: lauromoura, felipealmeida, q66
Reviewed By: q66
Subscribers: cedric, bu5hm4n, #reviewers, segfaultxavi, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9237
Vitor Sousa [Mon, 8 Jul 2019 14:15:41 +0000 (16:15 +0200)]
eolian_cxx: update tests to no longer use forbidden eolian notations
Summary:
Update eolian_cxx tests in order to remove forbidden eolian notations.
For tests with containers that support non-pointer types,
change `ptr(int)` to `int`.
For tests with containers that only support pointer types,
change `ptr(int)` to `string`.
Remove tests for features that are no longer meaningful with eolian new
restrictions.
Add a FIXME note to eina::range_array when used with eina::string_view.
Reviewers: lauromoura, felipealmeida, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers, bu5hm4n, segfaultxavi
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9236
Daniel Kolesa [Wed, 3 Jul 2019 15:52:04 +0000 (17:52 +0200)]
eolian: remove API to get freefunc of type
This is not supported anymore. For now, the syntax is kept
around because of broken C++ tests, but afterwards it will
also be removed.
Daniel Kolesa [Wed, 3 Jul 2019 13:03:59 +0000 (15:03 +0200)]
eolian: remove builtin freefuncs
For now this does not alter API behavior, so freefuncs are still
transitive to aliases etc., this will get removed later.
Daniel Kolesa [Wed, 3 Jul 2019 12:45:02 +0000 (14:45 +0200)]
eolian_gen: remove reliance on builtin freefuncs
Daniel Kolesa [Wed, 3 Jul 2019 12:27:04 +0000 (14:27 +0200)]
elua: add error api into eolian bindings
Daniel Kolesa [Sun, 30 Jun 2019 18:26:51 +0000 (20:26 +0200)]
eolian_gen: introduce C generation support for error types
ref T6890
Cedric BAIL [Thu, 4 Jul 2019 23:02:43 +0000 (16:02 -0700)]
elementary: rename Activew_View to Spotlight.
View is something that is expected in the context of MVVM, so using it somewhere else is
going to lead to some confusion. Spotlight does descrive the objective of all of this
widget in actually a more explicit way as they all give the spotlight to one sub widget
at a time.
I have also renamed the View_Manager to be just Manager as the View there wasn't useful.
Xavi Artigas [Fri, 5 Jul 2019 15:06:39 +0000 (17:06 +0200)]
docfx: Remove collapsible sections
They didn't render correctly in all cases.
Lauro Moura [Mon, 1 Jul 2019 18:35:35 +0000 (15:35 -0300)]
csharp: Fix Future callback lifetime
Assigning a method directly to a field expecting a delegate creates a
delegate on the fly. This delegate can be collected normally as any
collectable object. In dotnet the GC is more aggressive, causing this
delegate to be collected and C trying to call an invalid function.
To avoid this, we create a static delegate that will be passed to C. Its
lifetime will be tied to the static method it wraps.
Vitor Sousa [Fri, 28 Jun 2019 21:20:01 +0000 (18:20 -0300)]
csharp: encapsulate some internal code of EoWrapper
Summary:
Encapsulate some parts of EoWrapper making them less accessible to lib users.
This can avoid unnecessary and risky usage of code that is only intended for
internal usage.
`inherited` field was made private and renamed to `generated`. Now its value
can only be obtained through the `IsGeneratedBindingClass` property.
`handle` field was made private.
`eventLock` was renamed to `eflBindingEventLock`
`ConstructingHandle` property set was made private.
Constructors that are used to create new EFL# managed objects by wrapping a
preexisting eo handle now receive a specific struct wrapping the handle pointer.
This can avoid faulty interactions with the Reflection engine used only for
generated classes that implement this constructor.
Test Plan: meson test
Reviewers: lauromoura, felipealmeida, YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9212
Marcel Hollerbach [Thu, 4 Jul 2019 13:24:22 +0000 (15:24 +0200)]
efl_ui_widget: optimize focus
this commit ensures 2 things:
1. This ensures that the parent is not evaluated when there was no state
changed, this cuts down roughly 30% of the calls to full_eval
2. This ensures that we only listen to parent manager changes when we
are actaully registered. This reduces the amount spend in event emission
a lot.
Xavi Artigas [Tue, 2 Jul 2019 12:40:06 +0000 (14:40 +0200)]
Efl.Ui.Format revamp
This class helps widgets which contain a numerical value and must display it,
like Progressbar (units label), Spin, Spin_Button, Slider (both units and popup
labels, in legacy), Tags (when in shrunk mode) or Calendar (year_month label).
Previously this was a mix of interface and mixin: widgets had to support setting a
formatting func, and the mixin offered support for formatting strings, by setting
an internal formatting func. On top of that, the spinner widget supported "special
values", a list of values that should be shown as certain strings instead.
This has now been simplified and unified:
Widgets including this mixin can use the formatted_value_get() method which accepts
an Eina_Value and returns a string. Thats's it.
The mixin adds three properties to the widget (format_values, format_func and
format_string) which users can use to tailor formatting. The widget does not need
to know which method has been used, it just retrieves the resulting string.
This removes a lot of duplicated widget code, and adds functionality which was
missing before. For example, all widgets support passing a list of values now.
Widgets must implement the apply_formatted_value() method so they are notified
of changes in the format and they can redraw anything they need.
Tests have been added to the Elementary Spec suite for all cases.
Legacy widgets behavior has not been modified, although a few needed some code
changes.
Stefan Schmidt [Mon, 1 Jul 2019 08:24:04 +0000 (10:24 +0200)]
ci: finally enable examples for mingw build
With the gnutls build problem fixed we can now enable these as well.
Stefan Schmidt [Tue, 2 Jul 2019 08:59:08 +0000 (10:59 +0200)]
ci: cross: make sure we use the mingw pkg-config to detect cross deps
This only came up when we had gnutls native but not cross to find out
that we used the system pkg-config all the time to detect cross.
Making sure we use the correct tool to detect the cross dependencies.
Stefan Schmidt [Fri, 28 Jun 2019 14:41:14 +0000 (16:41 +0200)]
ci: enable more build options for mingw job
Withj an updated ewpi in the docker image we can now enable more build
options. Examples are still disabled as there is a build break that
needs to get fixed first.
Mike Blumenkrantz [Mon, 1 Jul 2019 16:26:02 +0000 (12:26 -0400)]
tests/radio: add explicit test for verifying legacy radio callback triggering
the 'changed' callback should never be triggered when programmatically
changing a radio's state
ref T8042
Mike Blumenkrantz [Mon, 1 Jul 2019 16:09:08 +0000 (12:09 -0400)]
tests: add functional unit tests for radio widgets
this adds some basic testing to verify that callbacks occur and values
are set as expected
Differential Revision: https://phab.enlightenment.org/D9091
Xavi Artigas [Fri, 28 Jun 2019 08:08:03 +0000 (10:08 +0200)]
Efl.Ui.Progressbar: Add explicit display control of progress label
Summary:
Add a property (show_progress_label) to allow controlling whether the progress
label displaying the exact progress is shown or not.
This was possible in Legacy but the functionality was lost in Unified.
Updated elementary_test to showcase this property, and also the other label
formatting options, which where not tested anywhere.
Added a simple progressbar unit test. It only checks that retrieved value is the
same as the set value, so it is more of a placeholder for future tests.
**This is needed by a future patch which will introduce more formatting options that clash with the current implementation.**
The presence of a formatting function was used to decide if the progress label was shown or not. This explicit property simplifies things.
Test Plan:
Everything builds and passes tests.
`elementary_test -to Efl.Ui.Progressbar` should show a few more bars with different formatting labels, and a checkbox to toggle rendering of one of them.
Reviewers: bu5hm4n, zmike, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9202
Marcel Hollerbach [Mon, 1 Jul 2019 17:18:11 +0000 (19:18 +0200)]
eina: add accessors for c arrays
This adds a new API which can be used to get access to a carray via the eina_accessor API.
Jaehyun Cho [Mon, 1 Jul 2019 11:12:46 +0000 (20:12 +0900)]
elementary: remove unused elm_widget header files
elm_widget_bg.h and elm_widget_clipper.h are not used any more.
So those header files are removed.
Jongmin Lee [Mon, 8 Jul 2019 00:27:37 +0000 (09:27 +0900)]
spec: make a gcov package for measuring coverage easier
Change-Id: I33d8e9574ccedd200cdee2b1142e82c18e6033de
InHong Han [Tue, 9 Jul 2019 09:31:17 +0000 (18:31 +0900)]
ecore_imf: Modified to prevent sending wrong input hint
Change-Id: Ia20c10946c7e194a3db189f01443107ce5070bc3
Marcel Hollerbach [Tue, 2 Jul 2019 19:05:07 +0000 (21:05 +0200)]
efl_ui_check/radio: restore legacy behaviour
from now on, the "changed" signal is only emitted on radio/check buttons when
the user interacted with this object. NOT due to the API change.
However, in the eo-api the event is emitted all the time, due to user
interaction, AND due to API interaction.
ref T8042
Godly T Alias [Wed, 3 Jul 2019 14:44:11 +0000 (14:44 +0000)]
Evas events: Reduce grab count even in freezed state
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.
Change-Id: Ieb2b33efa506258d0bd685464746c65bd9e5892c
JunsuChoi [Tue, 2 Jul 2019 10:54:14 +0000 (19:54 +0900)]
efl_gfx_shape: Stroke color use a premultiplied color.
R, G, and B must not be higher than alpha.
TEST PLAN:
//test code
Ecore_Evas *ee = ecore_evas_new(NULL, 0, 0, 600, 600, NULL);
ecore_evas_show(ee);
Evas *evas = ecore_evas_get(ee);
Evas_Object *vg,*bg;
bg = evas_object_rectangle_add(evas);
evas_object_color_set(bg, 0, 0, 255, 255);
evas_object_focus_set(bg, 1);
evas_object_show(bg);
int w, h;
ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
evas_object_resize(bg, w, h);
vg = evas_object_vg_add(evas);
evas_object_focus_set(vg, 1);
evas_object_show(vg);
evas_object_resize(vg, w, h);
Efl_VG *shape, *container;
container = evas_vg_container_add(vg);
shape = evas_vg_shape_add(container);
evas_vg_shape_append_rect(shape, 0, 0, 200 , 200, 10, 10);
evas_vg_shape_stroke_color_set(shape, 255, 255, 255, 10);
evas_vg_shape_stroke_width_set(shape, 20);
evas_vg_node_origin_set(shape, 200, 200);
evas_object_vg_root_node_set(vg, container);
ecore_main_loop_begin();
ecore_evas_shutdown();
Change-Id: I7b0b658566b576ca3e5a8e91f20f692381fb3e92
Vitor Sousa [Fri, 28 Jun 2019 13:58:24 +0000 (10:58 -0300)]
csharp: fix some compilation warnings
Fix unused variable warnings in eina_mono and unit test files.
Vitor Sousa [Fri, 28 Jun 2019 13:40:52 +0000 (10:40 -0300)]
csharp: fix Eina_Stringshare support in containers for manual and generated API
Summary:
Both C strings and eina stringshares are bound as regular strings in EFL#, as
working directly with these types would demand unnecessary hassle from the user
viewpoint.
But for eina containers this distinction is important, and since C# generics
do not provide a convenient way of dealing with the same type requiring a
different management based on some other condition (at least not without
compromising the usability for other types), we added a simple `System.String`
wrapper named `Eina.Stringshare` that works as a placeholder for signaling
this distinction.
Working with this class should be transparent in most use cases because it
converts to and from `System.String` implicitly.
It also implements equality/inequality methods for easier comparison with
strings and other stringshare objects.
Add new methods and a new container element trait for dealing specifically
with `Eina_Stringshare` elements.
Adapt eolian_mono to identify and generate the proper placeholder in methods
that require stringshare containers.
Remove some direct uses of DllImport-ed functions in favor of more flexible
manual binding methods.
Move `Eina.Stringshare` DllImport directives to a static class named
`NativeMethods`, in accordance with the code design warning CA1060.
Also add a TODO comment to move all other DllImport directives to this class.
Change parameter of the method `Efl.Csharp.Application.OnInitialize` from
`Eina.Array<System.String>` to `string[]`.
This will make this API more similar with the default C# way of receiving
command line arguments.
Add tests for containers storing stringshare elements.
Reviewers: felipealmeida, lauromoura, segfaultxavi, bu5hm4n
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9178
Vitor Sousa [Fri, 28 Jun 2019 13:29:01 +0000 (10:29 -0300)]
csharp: make inherited C# classes constructible from native C
Summary:
With this commit it is now possible for a class that inherits from a C# binding
class to be instantiated from native C code. It only has to provide a
constructor that receives an `Efl.Eo.EoWrapper.ConstructingHandle` struct,
and which calls the base binding constructor passing it.
For example:
`private Type(ConstructingHandle ch) : base(ch) {}`.
Add some test files to validate the proper behavior of this feature.
Add some small fixes in generation contexts in order to properly
generate base constructors.
Depends on D9070
Test Plan: `meson test` and `make check`
Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun, YOhoho
Reviewed By: YOhoho
Subscribers: YOhoho, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9071
Marcel Hollerbach [Fri, 28 Jun 2019 12:47:41 +0000 (08:47 -0400)]
efl_ui: include here efl_ui_item
Summary: this is actually a new class, it should be included here.
Reviewers: zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9200
Jaehyun Cho [Fri, 28 Jun 2019 09:15:42 +0000 (18:15 +0900)]
view_manager_scroll: fix not to move view position by click
Summary:
Previously, view position was moved by click because transition
information was initialized in mouse move instead of mouse down.
Now, transition information is initialized in mouse down so view
position is not moved by click.
Test Plan:
1. Run Efl.Ui.Active_View Scroll
2. Click Next button 2 times
3. Click Button Page
Or
3. Drag Button Page a bit to the left and click multiple times
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9173
Marcel Hollerbach [Thu, 27 Jun 2019 06:13:04 +0000 (08:13 +0200)]
evas_events: fix wrong event listening
EFL_EVENT_FOCUS_IN is wrong here, EFL_EVENT_FOCUS_IN is called on object
that received object focus. Not canvas focus, however, the code in the
callback there seems to be mainly for canvas focus handling.
Additionally, in evas_events, the event handler that was listening for
the canvas focus in / out events expected a event type, which is also
not correct, because the canvas focus in / out does not have one. In
order to catch such errors later more easily, there is now a safety
check, so we really fetched the correct seat.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9191
Wonki Kim [Fri, 28 Jun 2019 01:45:56 +0000 (01:45 +0000)]
meson: remove autotools checking stuffs
autotools has been removed. so that the autotools checking logic is not needed.
this patch removes them.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9198
Lauro Moura [Thu, 27 Jun 2019 22:04:59 +0000 (19:04 -0300)]
efl-mono: Fix value forwarding in promises/async
Summary:
Values returned from C# Then callbacks must release ownership of the
underlying native value, so Eina code can clean it up nicely and avoid
the Wrapper flushing it early.
The same issue applied to the Async wrappers. In this case the value
passed as the Task parameter could be released by an `using` block
awaiting the value.
Also Future creation was then-ing the wrong handle.
Also add better exception messages.
Reviewers: vitor.sousa, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9197
Lauro Moura [Thu, 27 Jun 2019 22:26:44 +0000 (19:26 -0300)]
csharp: Rename test util parameters
Summary:
Instead of 'expected' and 'actual', use 'lhs' and 'rhs', as it allows
the actually expected value to be in any position.
Reviewers: vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl, #expertise_solutions
Differential Revision: https://phab.enlightenment.org/D9196
Lauro Moura [Thu, 27 Jun 2019 22:21:28 +0000 (19:21 -0300)]
csharp: Add missing prefix to enable interpolation
Reviewers: vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl, #expertise_solutions
Differential Revision: https://phab.enlightenment.org/D9195
Jaehyun Cho [Thu, 27 Jun 2019 17:29:13 +0000 (14:29 -0300)]
eolian_mono: fix to support event info which is a type defined in eo
Summary:
Previously, if event info was not structure and it was a type defined in
eo, then the type value was not passed to the event info correctly.
e.g. if event info was Efl.Ui.AlertPopupButton enum type, then
default(Efl.Ui.AlertPopupButton) was always passed to event info.
Now, the given type value is passed to the event info correctly.
Reviewers: felipealmeida, lauromoura, vitor.sousa, bu5hm4n
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, herb, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9159
Vitor Sousa [Thu, 27 Jun 2019 17:27:34 +0000 (14:27 -0300)]
eolian_mono: small correction when checking for iterator and accessor parameters
Lauro Moura [Thu, 27 Jun 2019 16:49:42 +0000 (13:49 -0300)]
csharp: Update after iterator changes
Summary:
Iterator and Accessors are views only, not owning the data they point
to.
Also updated the tests by handling some test data that were leaking.
Fixes T8036
Reviewers: vitor.sousa, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers, segfaultxavi, q66
Tags: #efl
Maniphest Tasks: T8036
Differential Revision: https://phab.enlightenment.org/D9189
Marcel Hollerbach [Thu, 27 Jun 2019 14:48:37 +0000 (16:48 +0200)]
meson: disable xattr on macos
macos has a different implementation than linux for xattr. This commit
disables XATTR again for macos.
Marcel Hollerbach [Mon, 24 Jun 2019 16:18:09 +0000 (18:18 +0200)]
efl_input_interface: verify check cancel event
this verifies that EFL_EVENT_POINTER_CANCEL is emitted correctly.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9171
Stefan Schmidt [Thu, 20 Jun 2019 06:48:30 +0000 (08:48 +0200)]
ci: travis: update last jobs from Fedora 29 to 30 docker image
With the specsuite tests fixed now we can see that the build also works
with Fedora 30, so we can update the last missing jobs not having it.
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9193
Mike Blumenkrantz [Wed, 26 Jun 2019 17:01:56 +0000 (13:01 -0400)]
tests/elm: replace bespoke win/loop fast-forwarding with helper function
now we can consistently do event emissions inline in tests using much
simpler code
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9188
Mike Blumenkrantz [Wed, 26 Jun 2019 17:00:58 +0000 (13:00 -0400)]
tests/efl_ui: add suite_helpers.h to efl_ui_suite.h
no need to manually include this for every file
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9187
Mike Blumenkrantz [Wed, 26 Jun 2019 16:23:32 +0000 (12:23 -0400)]
tests/elm: add helper function for simplifying getting to event triggering
the usual method is calc -> post render -> job to ensure everything is
set up. this simplifies getting to that job.
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9186
Mike Blumenkrantz [Wed, 26 Jun 2019 16:22:26 +0000 (12:22 -0400)]
tests: remove correct callback in slider event test
typo
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9185
Hermet Park [Thu, 27 Jun 2019 04:16:36 +0000 (13:16 +0900)]
evas svg: fix missing node opacity attribute.
Any svg node could have its opacity value, we missed implementing it.
If a node have a opacity, it's opacity could be multiply with fill and stroke colors.
@fix
Hermet Park [Wed, 26 Jun 2019 12:43:19 +0000 (21:43 +0900)]
evas svg: remove unnecessary initialization.
Jaehyun Cho [Thu, 27 Jun 2019 01:09:05 +0000 (10:09 +0900)]
dummy_test_object: remove @owned on iterator
@owned on iterator (view-only container) is removed based on
5b00dc344febd4004f268d8d76a05f7579d08288
Christopher Michael [Wed, 26 Jun 2019 14:00:00 +0000 (10:00 -0400)]
ecore-wl2: Add missing doxygen for ecore_wl2_window_resizing_get
function
ref T8014
Christopher Michael [Wed, 26 Jun 2019 13:53:13 +0000 (09:53 -0400)]
ecore-wl2: Add missing @since for ecore_wl2_offer_mimes_get function
ref T8014
Marcel Hollerbach [Wed, 26 Jun 2019 13:54:45 +0000 (09:54 -0400)]
efl_ui_suite: remove duplicated code
Summary:
there is a helper for this function, lets use it.
Depends on D9181
Reviewers: stefan_schmidt, segfaultxavi, zmike, Jaehyun_Cho
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9182
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:16 +0000 (08:51 -0400)]
efl_input_interface: add tests for mouse wheel emitting
Summary:
this tests if z and direction is correctly emitted
Depends on D9169
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9170
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:11 +0000 (08:51 -0400)]
efl_input_interface: test pointer in and out events on a object
Summary:
this verifies that EFL_EVENT_POINTER_IN EFL_EVENT_POINTER_OUT are
emitted correctly with the correct event content.
Depends on D9168
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9169
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:06 +0000 (08:51 -0400)]
efl_input_interface: test pointer move down up
Summary:
this verifies that EFL_EVENT_POINTER_MOVE / EFL_EVENT_POINTER_DOWN /
EFL_EVENT_POINTER_UP are emitted and passed with the correct event types,
and fields on the event object.
Depends on D9167
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9168
Marcel Hollerbach [Wed, 26 Jun 2019 12:50:59 +0000 (08:50 -0400)]
evas_events: fix setting of 'pressed' member in Efl_Input_Key_Data
Summary:
this also adds tests verifying that EFL_EVENT_KEY_DOWN / EFL_EVENT_KEY_UP are emitted
and passed with the correct event types, and fields on the event object.
Depends on D9166
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9167
Marcel Hollerbach [Wed, 26 Jun 2019 12:50:53 +0000 (08:50 -0400)]
efl_input_interface: add test to verify focus in/out
Summary:
this verifies that EFL_EVENT_FOCUS_IN / EFL_EVENT_FOCUS_OUT are emitted
and passed with the correct event types, and fields on the event object.
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9166
Daniel Kolesa [Wed, 26 Jun 2019 11:54:12 +0000 (13:54 +0200)]
eolian: allow value types in view containers (iterators etc.)
This restricts disallowing value types to containers that can own
them.
It also disallows usage of @owned on those view-only containers,
as that makes no sense.
Hermet Park [Wed, 26 Jun 2019 11:48:19 +0000 (20:48 +0900)]
efl_canvas_vg_container: remove unnecessary parent set.
the duplicated object must be set its parent by caller,
it shouldn't set it by itself internally.
Hermet Park [Wed, 26 Jun 2019 08:14:27 +0000 (17:14 +0900)]
evas vector: set proper parents of clone objects.
fill, marker, stroke need proper parent when they were cloned.
Here, they would get the container of the shape which is going to be copied.
@fix
Hosang Kim [Tue, 2 Jul 2019 08:10:46 +0000 (17:10 +0900)]
eina: support tizen dlog logging system
@tizen
Change-Id: Ibc844f7746e70d81a111ef9aa1caf15242623eaf
Wonki Kim [Tue, 2 Jul 2019 07:38:18 +0000 (16:38 +0900)]
spec: remove automake related stuffs from spec
there are remaining stuffs related with autotools in .spec file.
this patch removes them.
Change-Id: I59cfce7a8a532349d7e742162cb23cb24cd35cb6
Hermet Park [Tue, 2 Jul 2019 08:58:19 +0000 (17:58 +0900)]
evas vg: prevent dangling pointer.
@fix
Change-Id: I722d6827d5a0910437eaaa2de8692da994c52718
Hermet Park [Tue, 2 Jul 2019 08:48:25 +0000 (17:48 +0900)]
evas vg: prevent dangling pointer.
@fix
Change-Id: Ic58076dcca67b03d5cdad6714e1c7cbbc407f421
Jongmin Lee [Tue, 2 Jul 2019 01:16:18 +0000 (10:16 +0900)]
meson: add libdir for supporting QuickBuild
Change-Id: Iaa087e5d436bd849becadd64dbe46db686b43f7f
Shinwoo Kim [Tue, 2 Jul 2019 02:44:08 +0000 (11:44 +0900)]
evas_render: add restacked mapped obj to redraws rect
Summary:
We are adding A object area to the redraws rect when object stack is changed
from (1) to (2) if A object is not mapped.
(1)
┌────────┐
│Object A│┐
└────────┘│
└────────┘
(2)
┌────────┐
│┌────────┐
└│Object B│
└────────┘
But if A object is mapped, then we are adding only part of A object area.
(part of A)
┌────────┐
│┌───────┘
└┘
So the result of stack change is (1) not (2).
This patch set is adding restacked mapped object to the restack_objects array,
after changing the stack of mapped object to add correct redraws rect.
Test Plan: Attached example code
Reviewers: Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9183
Change-Id: I571461a9dbf4dd67dd95d68ce47bf7ebef435a7a
JunsuChoi [Tue, 2 Jul 2019 04:22:10 +0000 (13:22 +0900)]
vg_common_json: Always set the alpha color of the container.
Summary: Fixes the problem that alpha color is not set when alpha will be 255.
Test Plan: N/A
Reviewers: hermet, smohanty, kimcinoo
Change-Id: I46990e4d45a315d58946938b45f710d88da30ccb
Subscribers:
Marcel Hollerbach [Fri, 28 Jun 2019 02:24:47 +0000 (11:24 +0900)]
evas_events: fix wrong event listening
Summary:
EFL_EVENT_FOCUS_IN is wrong here, EFL_EVENT_FOCUS_IN is called on object
that received object focus. Not canvas focus, however, the code in the
callback there seems to be mainly for canvas focus handling.
Additionally, in evas_events, the event handler that was listening for
the canvas focus in / out events expected a event type, which is also
not correct, because the canvas focus in / out does not have one. In
order to catch such errors later more easily, there is now a safety
check, so we really fetched the correct seat.
Reviewers: YOhoho, zmike, segfaultxavi
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9191
Marcel Hollerbach [Thu, 27 Jun 2019 14:48:37 +0000 (16:48 +0200)]
meson: disable xattr on macos
macos has a different implementation than linux for xattr. This commit
disables XATTR again for macos.
Change-Id: I9fcd984a131ee1af583ee641d61e50d810c96929
Jongmin Lee [Thu, 27 Jun 2019 08:26:55 +0000 (08:26 +0000)]
meson: add some config definitions
Some config definitions used in source code could not be defined during build config process.
- HAVE_XATTR
- HAVE_CIPHER
- HAVE_SIGNATURE
- BUILD_ECORE_EVAS_EWS
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9192
Change-Id: Ic604bd48c3a9b245177c04b23d30934e87b62eaf
Hermet Park [Thu, 27 Jun 2019 04:16:36 +0000 (13:16 +0900)]
evas svg: fix missing node opacity attribute.
Any svg node could have its opacity value, we missed implementing it.
If a node have a opacity, it's opacity could be multiply with fill and stroke colors.
@fix
Change-Id: Iac1caed073c5bf012fc7789e6d3e77e56c59550a
Hermet Park [Wed, 26 Jun 2019 11:48:19 +0000 (20:48 +0900)]
efl_canvas_vg_container: remove unnecessary parent set.
the duplicated object must be set its parent by caller,
it shouldn't set it by itself internally.
Change-Id: I62feff07e16c7db0d35463b42d36d0f5f7af6604