summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* equality methods and some test stubsdevs/vitorsousa/csharp_stringshare_containersVitor Sousa2019-06-112-1/+230
|
* DON'T LAND csharp: fix stringshare usage in eina containersVitor Sousa2019-06-108-25/+281
|
* csharp: make inherited C# classes constructible from native CVitor Sousa2019-06-0411-13/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9071
* eo: add an API entry for custom instantiation of Eo objects for binding usageVitor Sousa2019-06-042-3/+44
| | | | | | | | | | | | | | | | | | | | Add a new function in the Eo API in order to provide more options on object instantiation for binding creators. For the Eo lib to be able to construct objects that inherit from bindings in many languages we should provide a way for bindings to call different kinds of constructors, in a way that simply overriding the `efl_constructor` method is not enough. We need a way to differentiate at construction time if the Eo is being constructed from C or from the binding, because if it is the former we need too call the inherited object constructor from C and instantiate a new object, and if it is the later we need to avoid instantiating a new object because we are already in the middle of the process of creating a new one. `efl_constructor` alone does not provide any way of distinguishing between those situations, so, being able to pass additional information for efl_add_start (like a custom constructor pointer) is necessary to make the right distinction.
* csharp: Add a SafePtr wrapper in debug modeLauro Moura2019-06-043-2/+61
| | | | | | | This wrapper will trigger `ObjectDisposedException` when trying to call a method on object after it was disposed. It is enabled only with `--buildtype=debug` when configuring meson.
* ecore_evas wl - make ERR's into WRNS as they really are just thatCarsten Haitzler (Rasterman)2019-06-041-3/+3
|
* efl_canvas_animation: fix final_state_keep logicJaehyun Cho2019-06-041-7/+41
| | | | | | | | | Previously, final_state_keep did not work correctly with animation repeat. e.g. repeat mode is restart and repeat count is 1, then final_state_keep did not work. Now, final_state_keep logic has been fixed to work correctly.
* efl_canvas_animation: fix numerical error on map effect calculationJaehyun Cho2019-06-045-76/+29
| | | | | | | | | | | Previously, for a single canvas animation, map effect was applied in animator callback without resetting previously applied map effect. This increased numerical error because each time map effect factors (e.g. scale, degree) should be calculated based on the current map coordinates. To resolve this numerical error, now the previously applied map effect is reset before applying the current map effect in animator callback.
* efl_ui_layout_orientation: fix the bitwise condition logicTaehyub Kim2019-06-041-1/+1
| | | | | | | | | | | | | | Summary: fix the bitwise condition logic Reviewers: Jaehyun_Cho, zmike Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9067
* efl proc/exe envrion work again - after a break earlier on freebsdCarsten Haitzler (Rasterman)2019-06-042-2/+32
| | | | | | | efl seemingly has been broken on freebsd for a while - environ the symbol does not exist for SHARED LIBS on freebsd (discussin had been had on this already, but i gave up). use dlsym as the escape mechanism so we build on freebsd again.
* elm - tests - generator - be python2 explicit so we build on freebsdCarsten Haitzler (Rasterman)2019-06-041-1/+1
| | | | | no python bonary there (no symplink) but need to be explicit about python2 or 3 - so do so and we now build on freebsd...
* elm_test/ui.bg: use full white+opaque for unchecked 'bg color' stateMike Blumenkrantz2019-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: using 0,0,0 (black) with 0 alpha (transparent) here causes the clipper for the image to draw a fully transparent rectangle, which means that no pixels for the clipped image are visible. the expectation when using this test is that enabling the bg color will shade the image with a red tint, and disabling the bg color will return the image to its normal color. the current version of this test gives the impression that disabling the color setting on this widget breaks the widget, which is not accurate. currently. fix T7984 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7984 Differential Revision: https://phab.enlightenment.org/D9066
* gl_generic: directly copy existing image when changing orientationMike Blumenkrantz2019-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Summary: in gl engines, orientation is applied during the draw. this is different from sw engines where the orientation is directly applied to the internal pixel data which results in a state change of the object internals. this preserves image cache state and allows the image to be loaded normally instead of displaying a black rectangle if orientation is set prior to a texture being created @fix Depends on D8916 Reviewers: Hermet, cedric Reviewed By: Hermet, cedric Subscribers: Hermet, cedric, #reviewers, #committers Tags: #efl_rendering Differential Revision: https://phab.enlightenment.org/D8918
* meson: remove unneeded install: flagsMarcel Hollerbach2019-06-033-3/+0
| | | | | | | | | | | | | | | | Summary: when install is not set, meson take the value of install_dir. So when this is removed, things will continue working correctly. Reviewers: zmike, stefan_schmidt, cedric, segfaultxavi Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9065
* csharp: Do some iterations on exit.Lauro Moura2019-05-311-2/+6
| | | | So we can kinda properly clean up things before shutting down.
* csharp: Refactor wrapper lifetime.Vitor Sousa2019-05-3116-451/+599
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit makes use of the `ownership,shared` and `ownership,unique` events from Efl.Object in order to avoid the C# wrapper from being collected while C code holds a reference to the object. For example, creating a list of items in a for loop and attaching events to them would fails without this commit, as the C# GC may collect the wrapper. The basic idea is that we use a `WrapperSupervisor`, which is stored in the Eo data storage, with a GCHandle allocated for the lifetime of the underlying Eo object. This supervisor takes care of holding either a weak C# reference (when in unique mode, allowing the wrapper to be GC'd) or a hard C# reference (when in shared mode, making the wrapper non-collectable while the Eo has extra references). One limitation is that object graphs can leak if a shared object in the graph - an Eo child for example - stores a hard reference to another object in the graph as a C# field. In this example, this causes the parent to always have a hard C# reference (from the child) as the child is non-collectable due to the parent holding an Eo reference to it. Depends on D8678 Test Plan: `ninja test` and `make test` Reviewers: lauromoura, felipealmeida, woohyun, segfaultxavi Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9014
* csharp: Add some testsLauro Moura2019-05-319-2/+189
| | | | | | | | | | | | | | | | | | Summary: - Wrappers losing C# ref while alive in Eo - Inherited instances being collected Also cleanup GC and loop queue before each test Reviewers: vitor.sousa Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9063
* csharp: Fix testing under dotnetLauro Moura2019-05-311-2/+1
| | | | | | | | | | | | | | Summary: Fix LD_LIBRARY_PATH so it can still find the custom exports lib Reviewers: bu5hm4n, vitor.sousa, segfaultxavi, felipealmeida Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9020
* Remove unused Efl.Gfx.Path_Change_EventXavi Artigas2019-05-311-9/+5
| | | | | | | | | | | | | | | | | | Summary: This struct was throwing documentation warnings, but it turns out it is unused. Better to remove it for clarity. Test Plan: Everything builds and passes tests. Reviewers: zmike, bu5hm4n, cedric, devilhorns Reviewed By: devilhorns Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9062
* elm_test: add text mask case to masking demoMike Blumenkrantz2019-05-312-1/+38
| | | | | | | | | | | | | | Summary: Depends on D8853 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8872
* edje_cc: remove compile fails when setting a complex object as a clipperMike Blumenkrantz2019-05-311-18/+0
| | | | | | | | | | | | | | | | Summary: this is now supported Depends on D8852 Reviewers: cedric Reviewed By: cedric Subscribers: cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D8853
* elm_test: add smart object mask test to existing masking testMike Blumenkrantz2019-05-312-8/+50
| | | | | | | | | | | | | | | | | Summary: this adds another masking functionality using a layout object to the test when the toggle mask button is clicked enough times Depends on D8849 Reviewers: cedric Reviewed By: cedric Subscribers: cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D8850
* evas: enable setting any object as a clipperMike Blumenkrantz2019-05-311-7/+2
| | | | | | | | | | | | | | | | | | Summary: now that various other bugs related to clipping/masking/drawing have been fixed, this "just works" @feature Reviewers: Hermet, cedric Reviewed By: Hermet, cedric Subscribers: Hermet, cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D8852
* elm/fileselector_button: null fileselector model pointer on deleteMike Blumenkrantz2019-05-301-2/+1
| | | | | | | | | | | | | | | | | | | | | Summary: the data for this object may be further referenced during deletion after this point without triggering errors, so ensure that pointers which are accessible with api functions do not persist after deletion @fix Depends on D8985 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8986
* tests/elm: explicitly denote some error/warning messages in unit testsMike Blumenkrantz2019-05-304-0/+8
| | | | | | | | | | | | | | | | | | Summary: these blocks intentionally trigger warnings/errors, so use test macros to indicate this Depends on D8969 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8970
* elm/gengrid: handle gengrid finding of nearest visible item when not realizedMike Blumenkrantz2019-05-301-10/+17
| | | | | | | | | | | | | | | | | | Summary: FIXME-- @fix Depends on D8960 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8961
* efl_ui_active_view: reset count to -1 if no content is leftMarcel Hollerbach2019-05-301-0/+3
| | | | | | | | | | | | | | | | Summary: otherwise we say content is active that is not active anymore. This fixes currently failing testcases. Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9057
* eolian: use c_name when building complex C symbol namesDaniel Kolesa2019-05-302-8/+4
|
* efl_ui_active_view: update index accordinglyMarcel Hollerbach2019-05-302-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The -1 here only worked for cases where we delete widgets at position 0. When we are deleting something then we need to stay in the virtual position where the view is right now, but *then* we need to animate again into the direction where have real content. This commit ensures that this is the case fix T7989 Depends on D9056 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7989 Differential Revision: https://phab.enlightenment.org/D9055
* efl_ui_active_view_manager_*: fix bugging animationMarcel Hollerbach2019-05-302-0/+10
| | | | | | | | | | | | | | | | | | | | | | Summary: we should protect against multiple requests to the same "to" index. Otherwise either the speed could increase dramatically, or we start to oscilate arround the final position, based on the progress sign. Those ifs here are fixing it. fix T7988 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7988 Differential Revision: https://phab.enlightenment.org/D9056
* eolian: allow complete symbol renaming for CDaniel Kolesa2019-05-303-44/+134
| | | | | | | | | | | | | This adds a new unified syntax for giving declarations C names. Classes: class @c_name(Foo) Foo ... Types: type @c_name(Foo) Foo: Bar ... Structs: struct @c_name(Foo) Foo ... and so on. Type instances properly inherit those. This also cleans up some other parts of the source code. Fixes T6716.
* Efl.Ui.Active_View: Update DocsXavi Artigas2019-05-303-66/+105
| | | | | | | | This should clarify how the different components of this new widget are meant to be used. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9044
* efl.ui.pager: remove!Marcel Hollerbach2019-05-3022-2363/+1
| | | | | | | This can be done with Efl.Ui.Active_View Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com> Differential Revision: https://phab.enlightenment.org/D8907
* efl_ui_tab_pager: migrate to active_viewMarcel Hollerbach2019-05-303-27/+34
| | | | | | | | | This now migrates to active_view. When we get back to this widget for stabelization. This is only the first step for loosening efl.ui.pager so it can be removed. For now the API of efl_ui_tab_pager stayes the same. Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com> Differential Revision: https://phab.enlightenment.org/D8906
* efl_ui_active_view: introduce a experimental new widgetMarcel Hollerbach2019-05-3028-4/+3596
| | | | | | | | | | | | | | | | | | | this widget tries to replace efl.ui.stack efl.ui.flip & efl.ui.pager In general those widgets do the same thing, they get content. And display them with some sort of animations. The new idea here is, that the basic widget active_view only handles the ownership etc. of the content that gets added to this. Then there is a view_manager object. The view_manager object gets notified over the new contents, and requests for displaying particular contents. The transition then handles those things. The version here is feature complete with Efl.Ui.Stack and Efl.Ui.Pager. Additional features can be implemented in the corresponsing transition classes. Examples and tests will follow Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com> Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8784
* Genlist: Fix for genlist item field updateGodly T.Alias2019-05-301-0/+7
| | | | | | | | | | | | | | | | Summary: Avoid unnecessary operations on unrealized item when item field update is called Test Plan: Call item_field_update on an unrealized item Reviewers: cedric, raster, SanghyeonLee Reviewed By: SanghyeonLee Subscribers: #reviewers, rajeev.jnnce, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9019
* efl_ui: rename list empty item to list placeholder item.SangHyeon Jade Lee2019-05-309-73/+73
| | | | | | | | | | | | | | | | | | | | | Summary: legacy full style item is introduced Efl.Ui.ListEmptyItem Class in new Efl Interface, but using "Empty" name is too ambiguous to present style usage. Thanks to @cedric and @segfaultxavi, I found better name for this class, Efl.Ui.ListPlaceHolderItem, as item hold the place which need to be replaced and relayouted by user generated content. Depends on D8582 Reviewers: cedric, segfaultxavi, eagleeye Reviewed By: eagleeye Subscribers: cedric, #reviewers, segfaultxavi, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9034
* efl_ui : refactoring efl.part in item based classes.SangHyeon Jade Lee2019-05-3021-162/+209
| | | | | | | | | | | | | | | | | | | Summary: Most of item-based class will have similar efl.part such as text, icon, end. creating this efl part per each class will be very hard to maintaining the class and unnecessary eo generation. so combine them in efl.parts of efl_ui_item. sub item classes can use this efl.part by declairing ther own eo definition. Reviewers: cedric, Jaehyun_Cho, segfaultxavi, eagleeye Reviewed By: cedric, eagleeye Subscribers: herb, woohyun, q66, lauromoura, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8582
* ecore: add simple test for property_string_add.Cedric BAIL2019-05-291-1/+47
| | | | | Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>> Differential Revision: https://phab.enlightenment.org/D8756
* ecore: add simple logic to generate synthetic string property assembling ↵Cedric BAIL2019-05-292-17/+326
| | | | | | | | | | | | | | value of other properties. I have choosen to use ${} as the property marker, but I am open to other suggestion. Let me know if you have other suggestion. This patch also fix recursion on properties changed to properly explore parents dependencies, avoid infinite loop and emit properties changed by added property logic or property text on the Efl.ViewModel. Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>> Differential Revision: https://phab.enlightenment.org/D8755
* eo: add events to track the ownership status of an Eo objectVitor Sousa2019-05-296-0/+291
| | | | | | | | | | | | | | | | | | | | | | Some user code may want to track an object ownership in regard to whether it is kept by just one owner or shared between many owners. This is specially true for code provided by bindings to other programming languages, where different kinds of resource management may take place. The event `ownership,unique` is triggered whenever the object refcount goes from two to one, as a signal that it has just one owner from now on. The event `ownership,shared` is triggered whenever the object refcount goes from one to two, as a signal that it has multiple owners from now on. It will not trigger when further increasing the refcount to any value beyond two. We also add benchmarks for sharing (i.e. increasing the refcount) and them unsharing objects, in order to evaluate the performance impact of this patch. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8678
* evas_inline: Clean up evas_object_plane_changed functionChristopher Michael2019-05-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Depends on D9050 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9051
* evas_inline: Clean up evas_object_is_on_plane functionChristopher Michael2019-05-293-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Depends on D9049 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9050
* evas_inline: Clean up evas_object_is_opaque functionChristopher Michael2019-05-295-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Depends on D9048 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9049
* evas_inline: Clean up evas_object_is_proxy_visible functionChristopher Michael2019-05-292-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Depends on D9046 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9048
* evas_inline: Clean up evas_object_is_visible functionChristopher Michael2019-05-2911-47/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Depends on D9045 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9046
* evas_inline: Clean up evas_object_was_visible functionChristopher Michael2019-05-2910-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This file is full of functions called as: foo(eo_obj, obj); Most of them can be reduced to foo(obj); and internally get the eo_obj with obj->object This would make it impossible to screw up calling them passing an unrelated pair, and make calling code a little more readable. ref T7230 Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7230 Differential Revision: https://phab.enlightenment.org/D9045
* eolian: fix unit version checkDaniel Kolesa2019-05-291-1/+1
|
* eolian-cxx: Fix some warnings from cppcheckLauro Moura2019-05-291-7/+11
| | | | Differential Revision: https://phab.enlightenment.org/D9052
* ecore: enable property reflection support in Efl.CompositeModel.Cedric BAIL2019-05-291-1/+13
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8754