Jaeun Choi [Wed, 23 Jan 2019 12:17:29 +0000 (21:17 +0900)]
efl_ui_pager: set current page as -1 when pager is empty
it makes more sense that the current page number is -1 when pager is empty
since numbering starts from 0 when pager actually contains pages.
this patch also fixes a bug in pack_begin function, in which
the current page is increased by 1.
Jaeun Choi [Wed, 23 Jan 2019 12:03:34 +0000 (21:03 +0900)]
efl_ui_pager: use '++' instead of '+= 1'
Jaeun Choi [Wed, 23 Jan 2019 11:57:09 +0000 (20:57 +0900)]
efl_ui_pager: add missing conditions in pack before/after function
the functions should return if the 'existing' object is not in the content list
Jaeun Choi [Wed, 23 Jan 2019 11:52:07 +0000 (20:52 +0900)]
efl_ui_pager: add missing condition in current page set function
Jaeun Choi [Wed, 23 Jan 2019 11:43:34 +0000 (20:43 +0900)]
efl_ui_pager: return some functions if pager is in the middle of animation
after this patch is applied,
if users try to pack a page object or bind a transition object
to a pager while it is in the middle of page changing animation,
related functions do nothing and just return.
Jaeun Choi [Wed, 23 Jan 2019 11:36:04 +0000 (20:36 +0900)]
efl_ui_pager: removed unnecessary lines
Jaeun Choi [Wed, 23 Jan 2019 11:25:08 +0000 (20:25 +0900)]
efl_ui_pager: add missing NULL checks
Jaeun Choi [Wed, 23 Jan 2019 03:23:58 +0000 (12:23 +0900)]
efl_ui_pager: modify a part of default theme
Jaeun Choi [Thu, 13 Dec 2018 12:13:37 +0000 (21:13 +0900)]
efl_page_transition_scroll: removed unnecesary variable
Jaeun Choi [Thu, 13 Dec 2018 12:06:42 +0000 (21:06 +0900)]
efl_page_transition_scroll: code refactoring in curr_page_change function
- removed unnecesary codes
- moved codes for better cohesion
Jaeun Choi [Thu, 13 Dec 2018 11:54:59 +0000 (20:54 +0900)]
efl_page_transition_scroll: bug fix in curr_page_change function
mark when a page's content is unset so that it can be refilled when necessary
Jaeun Choi [Thu, 13 Dec 2018 11:27:56 +0000 (20:27 +0900)]
efl_page_transition_scroll: code refactoring in update function
Jaeun Choi [Thu, 13 Dec 2018 08:59:47 +0000 (17:59 +0900)]
efl_page_transition_scroll: bug fix in update function
since page_infos are connected in a circular manner,
one node (head or tail) moves in the opposite direction when scrolled.
there was a bug in hiding such nodes and
this patch fixes it.
Cedric BAIL [Fri, 18 Jan 2019 22:04:59 +0000 (14:04 -0800)]
eo: improve efl_isa to be able to know if a class is part of the hierarchy of another class.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7703
Derek Foreman [Thu, 24 Jan 2019 17:15:11 +0000 (11:15 -0600)]
evas: Defer object lookup until it's necessary
We frequently BAIL from this function before we actually need the
efl_data_scope_get() return, so we can save some pointer indirection by
deferring.
Differential Revision: https://phab.enlightenment.org/D7761
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Cedric BAIL [Thu, 24 Jan 2019 00:29:47 +0000 (16:29 -0800)]
eo: propagate knowledge of EFL_EVENT_NOREF callback registration to the event call generation.
This reduce the amount of time efl_event_callback_call(EFL_EVENT_NOREF) is triggered by a factor of 10.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7744
Cedric BAIL [Wed, 23 Jan 2019 23:44:29 +0000 (15:44 -0800)]
eo: remove EFL_EVENT_SPECIAL_SKIP.
EFL_EVENT_SPECIAL_SKIP has been defined to 1 for a long time and there
wasn't a way to disable it at all. There is no reason to not use it at
all, so here we go. This was default, now it is without useless code.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7743
Cedric BAIL [Wed, 23 Jan 2019 23:33:01 +0000 (15:33 -0800)]
eo: remove function efl_noref that duplicate EFL_EVENT_NOREF.
efl_noref is unused, but will still trigger the full eo call for nothing.
This was the most expensive NOOP. EFL_EVENT_NOREF does the same thing and
we can even filter generating that call as we know when someone is listening.
So removing the function.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7742
Carsten Haitzler (Rasterman) [Thu, 24 Jan 2019 12:23:30 +0000 (12:23 +0000)]
meson - edje_cc use -fastcomp for fast builds in mesa
Carsten Haitzler (Rasterman) [Thu, 24 Jan 2019 12:18:27 +0000 (12:18 +0000)]
elm theme - use -fastcomp again as it is actually much faster now
Carsten Haitzler (Rasterman) [Thu, 24 Jan 2019 12:11:15 +0000 (12:11 +0000)]
eet - fix eet compression to differentiate lx4 and lz4hc
so edje uses -fastcomp and -fastdecomp for lz4 and lz4hc .. before.
but the emile conversion nuked this difference and uses lz4hc no
matter what (EET_COMPRESSION_SUPERFAST vs EET_COMPRESSION_VERYFAST).
lz4hc is actuallly massively slower than lz4. this fixes -fastcomp to
be fast again... i tested a theme compile and it went from down from
81sec to 10sec.
Larry Lira [Thu, 24 Jan 2019 13:29:28 +0000 (22:29 +0900)]
efl_ui_list_view: Hide SegArray and PreciseLayouter
Summary:
Changed seg_array eolian class to struct
Changed PreciseLayouter and Relayout to private eolian
Removed relayout set/get in Efl.Ui.List.View
Reviewers: cedric, felipealmeida, SanghyeonLee
Reviewed By: cedric, felipealmeida, SanghyeonLee
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7724
Xavi Artigas [Thu, 24 Jan 2019 12:57:50 +0000 (13:57 +0100)]
docs: Update efl_ui_zoom documentation
Although, it would have been really great that using the getter paused the
animation and using the setter resumed it...
Marcel Hollerbach [Thu, 24 Jan 2019 08:52:37 +0000 (09:52 +0100)]
efl_ui_layout: use the correct object
the obejct used in D7740 have been false.
Here comes the fix + a few tests.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7746
Michael Bouchaud (yoz) [Thu, 24 Jan 2019 09:05:14 +0000 (10:05 +0100)]
elm_gesture_layer: Allow a negative zoom with scroll wheel
Summary:
In my point of view, we have no reasons to forbid a negative zoom here.
This make gesture_layer more user friendly as we have no more arbitrary
constaint. (A good example is elm_map)
Reviewers: tasn, zmike, raster, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7725
Mike Blumenkrantz [Wed, 23 Jan 2019 20:39:43 +0000 (15:39 -0500)]
efl_ui_image: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object if
the image is an edje object
ref T5719
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7741
Mike Blumenkrantz [Wed, 23 Jan 2019 20:39:43 +0000 (15:39 -0500)]
efl_ui_layout: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object
ref T5719
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7740
Jaehyun Cho [Thu, 24 Jan 2019 04:27:50 +0000 (13:27 +0900)]
examples: remove data parameter of efl_loop_promise_new
Build error is fixed by removing data parameter of efl_loop_promise_new.
This patch is for
563f91eaf98fff474a4858f2d81c6374f0d777b9
Jaehyun Cho [Thu, 24 Jan 2019 04:27:24 +0000 (13:27 +0900)]
examples: fix edc build error
The state changes which set non-exist state are removed.
Missing states are added.
Incorrect state value is fixed.
Wonki Kim [Wed, 30 Jan 2019 08:43:32 +0000 (08:43 +0000)]
meson: fix to make results same as a way it does in autotools
I found that results of build are different by build tools.
this patch fixes meson.build to make results same as a way it does in autotools.
Differential Revision: https://phab.enlightenment.org/D7819
Change-Id: I8ff17e7064a022dbc965e4d2ab63a6a114515e10
Wonki Kim [Tue, 29 Jan 2019 22:40:21 +0000 (22:40 +0000)]
build: remove eina-bench-cmp from DIST list
the script has been removed on meson.build cause it's quite useless.
this patch removes it from autotools build also.
Differential Revision: https://phab.enlightenment.org/D7828
Change-Id: I60250e1f08642d6f0db6659c9eaa0cad11ffc2c3
Wonki Kim [Tue, 29 Jan 2019 12:06:33 +0000 (07:06 -0500)]
ecore_wl2_input: update a timestamp whenever possible
Summary:
gettimeofday function returns a accumulated timestamp since around 1970 by the way,
a argument from server looks like a system uptime based timestamp
in some distribution such as tizen.
so that this patch appends a logic that updates a timestamp
inside Ecore_Wl2_Input* whenever possible to
prevent gettimeofday function from being called.
Reviewers: #reviewers, cedric, devilhorns
Reviewed By: #reviewers, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7766
Change-Id: I6a74972c326a6484580fed3ab94264ec6f635192
SangHyeon Jade Lee [Wed, 30 Jan 2019 00:16:50 +0000 (09:16 +0900)]
gengrid: refactored circular mode features
Change-Id: I128d4b368171fde6e8fd24f8667b78701e9e13d2
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
JunsuChoi [Wed, 30 Jan 2019 03:27:52 +0000 (12:27 +0900)]
efl_gfx_image_animation_controller: Rename '*.Image_Animation_*' to '*.Frame_*'
Summary:
Efl.Gfx.Image_Animation_Controller name refers to the control of an animatable image.
However, the method we use is closer to controlling the frame.
We can change the name to Efl.Gfx.Frame_Controller and enhance the functionality of the frame control.
efl_gfx_image_animation_controller: Applies name changed history
Applies the change history changed
from Efl.Gfx.Image_Animation_Controller to Efl.Gfx.Frame_Controller
(
409dcfb560e2c3006756787676c86160a226255c)
Test Plan: N/A
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7820
Change-Id: I83e7c56a27bee4ecf3a1203bfa5ec5a084637ff1
Wonki Kim [Wed, 30 Jan 2019 02:05:03 +0000 (11:05 +0900)]
spec: fix build break
this patch fixes a build break caused by
10ae701ca4b59f79edcf5eb9de2dd622c221a293
Change-Id: I95de9675a8e5af7308fcc42bb4acd5146af07be2
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
SangHyeon Jade Lee [Mon, 15 Oct 2018 11:04:06 +0000 (20:04 +0900)]
Gengrid : apply circular gengrid for wearable profile
Change-Id: I94c4de018a0e9b44c8157e3bc92ad2ff65b93c52
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Wonki Kim [Tue, 29 Jan 2019 09:54:53 +0000 (18:54 +0900)]
spec: modify definitions for build dependency
Rpm spec guideline tells us that
build dependency should be defined by calling pkg-config
to reduce maintenance cost.
this patch modify efl.spec file to meet the guideline.
Change-Id: I243f97701400ee3ad350dbac6c35e51a44427f57
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
Wonki Kim [Tue, 29 Jan 2019 10:28:07 +0000 (19:28 +0900)]
spec: prevent examples from being built and packaged
this refactoring patch replaces 'comment out' logic by if-by-defined-value.
in addition, this patch contains a few of clean-up changes also.
Change-Id: Ia2307d67eaf6f86d2896e4c325dd7442a8e6616e
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
JunsuChoi [Tue, 29 Jan 2019 09:59:51 +0000 (18:59 +0900)]
Efl.Ui.Animation_View: Implement Min/Max_Progress/Frame_Set/Get
Summary:
Implements APIs to set the range when playing.
If we set progress or frame's min and max, it will play within the set value.
keyframe sets the value based on min/max, not the whole frame.
void efl_ui_animation_view_min_progress_set(Eo *obj, double min_progress);
double efl_ui_animation_view_min_progress_get(const Eo *obj);
void efl_ui_animation_view_max_progress_set(Eo *obj, double max_progress);
double efl_ui_animation_view_max_progress_get(const Eo *obj);
void efl_ui_animation_view_min_frame_set(Eo *obj, int min_frame);
int efl_ui_animation_view_min_frame_get(const Eo *obj);
void efl_ui_animation_view_max_frame_set(Eo *obj, int max_frame);
int efl_ui_animation_view_max_frame_get(const Eo *obj);
Test Plan:
Evas_Object *anim_view = elm_animation_view_add(win);
elm_animation_view_auto_repeat_set(anim_view, 1);
elm_animation_view_file_set(anim_view, "a.json", NULL);
elm_animation_view_play(anim_view);
evas_object_show(anim_view);
evas_object_size_hint_align_set(anim_view, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(anim_view, 1, 1);
elm_animation_view_min_progress_set(anim_view, 0.3);
elm_animation_view_max_progress_set(anim_view, 0.8);
//or
elm_animation_view_min_frame_set(anim_view, 5);
elm_animation_view_max_frame_set(anim_view, 15);
Reviewers: Hermet
Subscribers: cedric, smohanty, #reviewers, SanghyeonLee, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7818
Change-Id: Ie49ae9d4e24b9710a89102141c67a91d6b0d6371
Yeongjong Lee [Mon, 28 Jan 2019 08:26:09 +0000 (17:26 +0900)]
edje_cc: check return value of fseeks
Reviewers: Jaehyun_Cho, zmike
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7796
Change-Id: I9ccd53b3e60e63696ca59392c952030b803b0062
Myoungwoon Roy, Kim [Tue, 29 Jan 2019 04:25:05 +0000 (13:25 +0900)]
Fix dereferencing issue and add chmod error handling(elm_code_file)
Removes unreachable codes(efl_ui_win)
Change-Id: Idbe6fcdf8f60597c8cffe918667f10f09e7f0f83
Hermet Park [Tue, 29 Jan 2019 01:35:51 +0000 (10:35 +0900)]
disable rlottie dependency.
cut-off dependency to resolve packaging breakage.
Change-Id: I2c40805980b069c0ba09452c99676567124f60c0
Hermet Park [Mon, 28 Jan 2019 12:01:23 +0000 (21:01 +0900)]
Revert "edje_cc: fail upon detecting invalid part description references in programs"
This reverts commit
fdec1b505eaf7d79eaba932cc0bafedfe3177d6f.
Change-Id: I38462a5e89facd0452f2c9f6561a62096de0f2fb
Hermet Park [Mon, 28 Jan 2019 08:27:20 +0000 (17:27 +0900)]
evas vg: fix a regression bug in caching logic.
drop previous cached surface if new caching surface is coming,
Now, evas vg could keep only 1 surface cache ignoring size.
Change-Id: I0144cbe1fac839e82d730370f27dca3e7b878688
Hermet Park [Mon, 28 Jan 2019 07:53:42 +0000 (16:53 +0900)]
evas vg: improve masking render logic.
Previous masking image is generated on vg rendering time,
though context is changed to main vg rendering to masking,
This had a issue that ector context switching which is not allowed
in software backend because of asynchronou method.
Now, this improvment brings the masking rendering move to
vg render pre step with synchronous rendering method,
then use the masking surface in the main vg rendering.
Change-Id: I59b4c14899a9c3cd794273bf46e3c286c15561a3
Taehyub Kim [Mon, 21 Jan 2019 05:01:27 +0000 (14:01 +0900)]
elm_win_legacy: remove '@remarks' messages
Change-Id: Id01af0b4b06763a81d0a3e6b3ee434bd3211de4e
Hermet Park [Thu, 24 Jan 2019 08:28:17 +0000 (17:28 +0900)]
efl_ui_animation: fix wrong installation header files.
Change-Id: I885ef7c946fc8b63541e8483e2c69a3ca051eccc
JunsuChoi [Thu, 24 Jan 2019 05:15:47 +0000 (14:15 +0900)]
Eo: up to date with latest interface grammar.
Change-Id: I4c4bb917e04a332e716065b27c8a25a7aa01e6a3
Cedric BAIL [Sat, 12 Jan 2019 01:58:23 +0000 (17:58 -0800)]
ecore: fix memory leak when shutding down the application.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7653
Cedric BAIL [Sat, 12 Jan 2019 01:57:40 +0000 (17:57 -0800)]
eina: fix memory leak when a Eina_Value as promise is returned, but no dispatching Eina_Future is listening on it.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7652
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:51 +0000 (14:55 -0500)]
efl_ui_image: implement the last two APIs from edje
Summary:
this just takes the API and redirects it to the internal edje object if
there is any. If there is no edje object, then just default values are
returned.
ref T5719
Depends on D7738
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5719
Differential Revision: https://phab.enlightenment.org/D7739
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:44 +0000 (14:55 -0500)]
elm: note down all composite sections for widgets
Summary:
A lot of new widgets are using the new Scrollmanager class, the instance of this class is then attached via composition to the widget. This is providing the implementation for Efl.Ui.Scrollbar & Efl.Ui.Scrollable_Interactive.
In the text widgets the same applies to the internal interactive text widgets.
The tags widget is using the text entry as composite, and thus provides efl.ui.text api.
The addition of those composite { } sections are removing the particular unimplemented APIs from the eolian errors.
ref T7652
Depends on D7737
Reviewers: zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7738
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:37 +0000 (14:55 -0500)]
efl_ui_widget_focus_manager: this uses composition to call focus manager
Summary:
ref T7652
Depends on D7735
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7737
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:23 +0000 (14:55 -0500)]
efl_ui_video: Efl.Player is used from the emotion object.
Summary:
ref T7652
Depends on D7734
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7735
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:17 +0000 (14:55 -0500)]
efl_ui_focus_object: provide empty on_focus_update function.
Summary:
there is no point in forcing users of this to implement on_focus_update.
ref T7652
Depends on D7733
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7734
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:10 +0000 (14:55 -0500)]
efl_ui_win: this object calls composite_attach for efl.config
Summary:
ref T7652
Depends on D7732
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7733
Marcel Hollerbach [Wed, 23 Jan 2019 19:54:58 +0000 (14:54 -0500)]
efl_input_focus: add event_flags
Summary:
It appears that it could be interesting to know if a focus event has
already been procecced or not. However, a focus event based on scrolling
activity is not possible, therefore, error about that.
ref T7652
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7652
Differential Revision: https://phab.enlightenment.org/D7732
Xavi Artigas [Tue, 22 Jan 2019 12:59:06 +0000 (12:59 +0000)]
eina: refactor eina_value_*_new.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7701
Xavi Artigas [Tue, 22 Jan 2019 12:52:41 +0000 (12:52 +0000)]
eina: refactor eina_value_*_init.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7700
Xavi Artigas [Tue, 22 Jan 2019 12:34:16 +0000 (12:34 +0000)]
eina: refactor eina_value_*_get.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7699
Cedric BAIL [Thu, 3 Jan 2019 18:17:45 +0000 (10:17 -0800)]
eina: add tests for the new Eina_Value convert functions.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7651
Cedric BAIL [Tue, 22 Jan 2019 11:59:23 +0000 (11:59 +0000)]
eina: add Eina_Value helper that convert efficiently to a target native C type.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7650
Cedric BAIL [Thu, 3 Jan 2019 02:40:02 +0000 (18:40 -0800)]
eina: add tests for Eina_Value utility function eina_value_*_get.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7649
Daniel Kolesa [Wed, 23 Jan 2019 18:28:25 +0000 (19:28 +0100)]
eolian: check old impl status before actually trying to extend it
Since _extend_impl always marks the impl at least IMPL_STATUS_NONE,
we need to retrieve the original status before calling into it,
or it will get overwritten and will inadvertently disable some
of the checks.
Daniel Kolesa [Wed, 23 Jan 2019 16:59:40 +0000 (17:59 +0100)]
eolian: get rid of false positives about unimplemented methods
We worked under the assumption that when inheriting callables
from a regular class, it's good enough to just set those as
fully implemented, because the underlying class is already
checked. This assumption is wrong, as the callables may contain
multiple implements pointing at the same function (consider when
a regular class implements just the get part of a property but
some underlying class implements it whole) - the old logic would
result in just the first reached implement (possibly incomplete)
being added into callables of the inheriting class, which results
in false positives.
Consider this example:
class A has a fully implemented property foo
class B inherits from A and partially implements foo
abstract C inherits from B
class D inherits from C
abstract C would go over B's implements, encounter the first
partial implementation of foo, adding it into its own callables
and marking it as fully implemented (because it came from an
already checked regular class B), which would result in the
other implement being skipped.
So make no assumptions and use the same logic for all class types.
Of course, this brings in another problem: some errors would now
get printed twice, because if you have a class A which has funcs
that are unimplemented and class B inheriting from it, errors would
get printed for A but also for B, which would include A's errors.
To battle that, introduce a "global" (well, local to the entry
point of the validator) hash tracking which implements have already
been errored on; and skip those appropriately.
Mike Blumenkrantz [Wed, 23 Jan 2019 14:39:39 +0000 (09:39 -0500)]
efl_ui_win: move base and step size hints here
these hints are not relevant to anything but window objects, so put them
onto the window object
ref T5719
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7729
Marcel Hollerbach [Wed, 23 Jan 2019 13:39:44 +0000 (14:39 +0100)]
eolian: add support for the container array
this fixes a lot of different warnings in the efl_mono test generation.
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7730
Marcel Hollerbach [Tue, 22 Jan 2019 14:43:32 +0000 (15:43 +0100)]
efl_net: make server_ip abstract
there is no code handling for client_add or client_reject.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7720
Marcel Hollerbach [Mon, 21 Jan 2019 15:22:32 +0000 (16:22 +0100)]
efl: split efl_ui_range into display and interactive
display contains properties that are used to manipulate the display.
Range_step is a interactive property since it manipulates the way the
user interacts with this widget. This resolves a few unimplemented APIs.
ref T5719
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7715
Marcel Hollerbach [Mon, 21 Jan 2019 14:43:20 +0000 (15:43 +0100)]
ecore_audio: implement not implemented APIs as empty
the empty handlers will always return 0 / NULL so never indicate
success.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7714
Daniel Kolesa [Wed, 23 Jan 2019 15:21:26 +0000 (16:21 +0100)]
eolian: refactor validator error logging
It hasn't been necessary to keep these temporary buffers around
for quite a while, nobody just got around to remove them. Eolian
has a good formattable error logging system in its core now.
Also, use same erroring style on parts as on functions, i.e.
batch-print all the conflicts at once.
Daniel Kolesa [Wed, 23 Jan 2019 14:57:48 +0000 (15:57 +0100)]
eolian: inherit composite lists and allow in abstracts/mixins
There isn't any more logic necessary because checks are still only
done on regular classes; we just need to make sure that composite
lists from its inheritance tree are accounted for.
Mike Blumenkrantz [Tue, 22 Jan 2019 18:10:13 +0000 (13:10 -0500)]
tests/ecore: reenable ecore-audio play test
this seems to work now
fix T4018
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7723
Stefan Schmidt [Wed, 23 Jan 2019 14:13:27 +0000 (09:13 -0500)]
ci: travis: bring back default and wayland builds
Summary:
With some recent changes we only had builds running after a push which
did not qualify for a make check / ninja test run. Mostly due to problems
with the tests and specific config options. Bring back a default build
which will also run the unit tests un every push.
Also adding back a dedicated wayland build due to conflicts of gl
versions with the all options enabled build.
Fixes T7545
Reviewers: bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7545
Differential Revision: https://phab.enlightenment.org/D7727
Marcel Hollerbach [Mon, 14 Jan 2019 19:40:55 +0000 (20:40 +0100)]
eolian: error out when owned type does not have a free function
if there is no free function, then there is no way that this value is
owned by the caller,
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7712
Marcel Hollerbach [Mon, 14 Jan 2019 22:57:31 +0000 (23:57 +0100)]
efl_mono: add a free function to every owned type
this is another step towards enforcing free functions on every owned
type. To equip every owned type with a free function the following is
applied. Every owned ptr is assumed to be a heap pointer, with the free
function "free". Every string that is owed is converted to a mstring. a
pointer to a eo object is also assumed to be a heap pointer, and equiped
with the free function "free".
Differential Revision: https://phab.enlightenment.org/D7710
Marcel Hollerbach [Mon, 14 Jan 2019 22:00:28 +0000 (23:00 +0100)]
eolian_cxx: add free functions to the types
later on @owned functions are enforced to have free functions attached,
if not, eolian will bail out. This is ensuring this for the eolian-cxx
functions
Differential Revision: https://phab.enlightenment.org/D7641
WooHyun Jung [Thu, 17 Jan 2019 06:19:50 +0000 (06:19 +0000)]
efl_ui_widget: set a proper legacy name for widget_parent_set
Previously, legacy name of this property was "elm_widget_parent_set".
But, in efl_ui_widget.eo.legacy.h, it's current name is
"elm_widget_widget_parent_set" which is not matched well with
"elm_widget_parent_get" at all.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7666
Mike Blumenkrantz [Tue, 22 Jan 2019 17:05:32 +0000 (12:05 -0500)]
ecore-evas/extn: use evas from events when updating key masks
Summary:
plug canvases do not have ee->evas, so this fixes unlimited error messages
while also fixing the corresponding functionality
@fix
fix T5536
Reviewers: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5536
Differential Revision: https://phab.enlightenment.org/D7681
Stefan Schmidt [Tue, 22 Jan 2019 16:49:32 +0000 (11:49 -0500)]
ci: update distro checks after version upgrades
Summary:
These two checks still used the, now updated to newer, Debian and Ubuntu
versions. It only showed in the daily cron job build.
Reviewers: bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7719
Stefan Schmidt [Tue, 22 Jan 2019 13:54:39 +0000 (08:54 -0500)]
ci: travis: stop pushing images after build to docker hub
Summary:
This stopped working a while ago and we are not actively using it.
If we need it we can bring it back in a better way later.
Depends on D7708
Reviewers: bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7709
Stefan Schmidt [Tue, 22 Jan 2019 13:53:55 +0000 (08:53 -0500)]
ci: travis: update distro tags
Summary: Switch to newer versions of Fedora, Ubuntu and Debian.
Reviewers: bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7708
Marcel Hollerbach [Mon, 21 Jan 2019 14:37:52 +0000 (15:37 +0100)]
ector: remove unused function
done is not called, nor implemented in a single spot, lets remove it.
It can still be readded once its needed.
ref T5719
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7713
Marcel Hollerbach [Mon, 14 Jan 2019 19:43:21 +0000 (20:43 +0100)]
efl_access: add free functions to efl_acces_object types
there are owned types in eolian, therefore a free function should be
defined on the types that are owned.
Reviewed-by: Lukasz Stanislawski <l.stanislaws@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7711
Lukasz Stanislawski [Tue, 22 Jan 2019 06:59:50 +0000 (06:59 +0000)]
efl_access: add free function to Efl_Access_Text_Range struct
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7717
Marcel Hollerbach [Mon, 14 Jan 2019 22:03:00 +0000 (23:03 +0100)]
efl_ui_list_view_types: add a free function to the struct type
this type is used with @owned, which means, it needs a free function.
So we can ensure everything that is owned also has a free function
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7640
Marcel Hollerbach [Mon, 14 Jan 2019 19:28:45 +0000 (20:28 +0100)]
efl: add free functions to owned types
this commit is a first step in order to add free functions to all the
types that are owned.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7627
Marcel Hollerbach [Mon, 14 Jan 2019 19:12:32 +0000 (20:12 +0100)]
elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215fe5e8933a5ccf0a49aa2fee41043286 the string was
converted to const(string) it was not const before.
So this is converting back to the old behaviour.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7626
Boris Faure [Sun, 20 Jan 2019 21:13:23 +0000 (22:13 +0100)]
elm.hoversel: ensure sd is not NULL
Summary: elm.hoversel: ensure sd is not NULL
Reviewers: cedric, zmike, raster
Subscribers: raster, zmike, #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7706
Daniel Kolesa [Fri, 18 Jan 2019 16:24:12 +0000 (17:24 +0100)]
eolian: add support for composite section into regular classes
Each regular class can now have a section called 'composite',
which can contain interfaces and interfaces only. This defines
a list of interfaces that are allowed to be unimplemented on the
class, as it is assumed the class will be composited with some
other class implementing those interfaces.
Only regular classes can have this, as only regular classes can
be instantiated.
It will also be necessary to check whether the classes in the
section appear somewhere within the inheritance tree. For now,
this testing is not being done.
Example of usage:
composite {
Some.Magic.Interface;
Another.Magic.Interface;
}
directly in the class body.
Jaeun Choi [Mon, 21 Jan 2019 09:55:10 +0000 (18:55 +0900)]
elm_panel: show/hide panel according to hidden status
when panel becomes non-scrollable by elm_panel_scrollable_set() function,
the panel needs to be shown/hidden according to the hidden status.
this patch implements it.
Jaeun Choi [Mon, 21 Jan 2019 05:51:10 +0000 (14:51 +0900)]
elm_panel: reset layout theme when scrollable mode is changed
after a panel becomes scrollable, it has two layout objects internally
and only one of them is active. when elm_panel_orient_set() function
is called, only the active layout's theme is changed according to
the orientation. so if scrollable mode is changed after that, it shows
the old theme. this patch fixes it.
Carsten Haitzler (Rasterman) [Sat, 19 Jan 2019 19:30:18 +0000 (19:30 +0000)]
evas gl - fix patch that fixed warnings that then broke evas gl tests
even though it was reviewed...
8a617fda979d1522a880f3e57d2e1adfc9f20814
broke the evas gl tests. this fixes that.
Xavi Artigas [Fri, 18 Jan 2019 16:05:05 +0000 (17:05 +0100)]
Efl.Loop.Timer.interval is a constructor property
Summary:
If you don't set the interval during construction, construction fails
so there's no chance to set it later.
We either change that behavior (is it really needed? can't we just set some
default during construction and override it later?) or properly mark this
property as a construction-time property with this patch.
Test Plan: Nothing changes, this will only have effect once bindings start using it.
Reviewers: cedric, zmike, bu5hm4n, q66
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7691
Derek Foreman [Wed, 16 Jan 2019 22:44:36 +0000 (16:44 -0600)]
edje: convert var timer list to inlist
Since these are only ever on one list, inlist is better.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7697
Derek Foreman [Wed, 16 Jan 2019 20:19:11 +0000 (14:19 -0600)]
edje: Use EINA_LIST_FREE instead of hand coded variant
Minor simplification, should be no functional change.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7696
Derek Foreman [Fri, 18 Jan 2019 19:39:46 +0000 (13:39 -0600)]
efl_ui_widget: Save some pointer indirection
We're getting the same widget data twice, as well as testing if the
object is a widget twice. Let's do these things once.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7698
Derek Foreman [Fri, 18 Jan 2019 16:41:05 +0000 (10:41 -0600)]
elm_code: Pass widget data to _elm_code_widget_fill_line
We already have this looked up in all callers, and the lookup is mind
smashingly heavy. Just use what we have.
ref T6209
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7694
Derek Foreman [Fri, 18 Jan 2019 17:35:26 +0000 (12:35 -0500)]
elm_code: Don't update selection if it didn't change
Summary:
Mouse motion can cause multiple worthless selection updates with no
change to row or column. Discard updates that don't really update.
ref T6209
Depends on D7692
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T6209
Differential Revision: https://phab.enlightenment.org/D7693
Derek Foreman [Fri, 18 Jan 2019 17:20:59 +0000 (12:20 -0500)]
elm_code: Pass data to status_type_get
Summary:
Every single call path has already dearly paid the price of pointer
indirection so let's save a few million extra look-ups and just pass
it along.
ref T6209
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T6209
Differential Revision: https://phab.enlightenment.org/D7692