Commit Graph

26062 Commits

Author SHA1 Message Date
Marcel Hollerbach e59603ee4c Revert "meson: fix race condition in building"
This reverts commit e1f3a4232e.

git push on the wrong branch - sorry
2019-01-30 17:07:08 +01:00
Marcel Hollerbach e1f3a4232e meson: fix race condition in building
this came up on travis with osx. However, it should hit everyone, and
its questionable why it did not happened ever before.

Differential Revision: https://phab.enlightenment.org/D7831
2019-01-30 17:06:34 +01:00
Xavi Artigas bd5d923c45 docs: Add links to Efl.Loop_Consumer 2019-01-30 16:16:37 +01:00
Jaehyun Cho 4eda1ea38e eo: check memory allocation of table data
Memory allocation is checked for the given domain's table data like
other cases for main and shared table data.
Differential Revision: https://phab.enlightenment.org/D7810
2019-01-30 13:33:49 +01:00
Woochanlee fe29a7a06d efl_ui_win: Load config values into gesture manager.
https://phab.enlightenment.org/T7544

The other config values will be added Later.
Differential Revision: https://phab.enlightenment.org/D7540
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 9aca866fd1 efl.text_markup: move cursor-related methods to efl.text_markup_interactive
many users of the markup property are not interactive text cases, so splitting
off the interactive methods resolves a number of unimplemented method issues

ref T5719

Differential Revision: https://phab.enlightenment.org/D7787
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz b8617843f7 efl_ui_scroll_manager: avoid some safety check errors on deletion
only remove callbacks if pan_obj is still alive

Differential Revision: https://phab.enlightenment.org/D7822
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz dc8e46a926 tests: move efl_ui focus tests into efl_ui_suite
ref T6815

Differential Revision: https://phab.enlightenment.org/D7827
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 08875e5e42 efl_ui: add proto for efl_ui_focus_relation_free() into header
ref T7667

Differential Revision: https://phab.enlightenment.org/D7826
2019-01-30 13:32:04 +01:00
Wonki Kim 50c22e980b 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
2019-01-30 13:32:04 +01:00
Xavi Artigas d4ec155399 docs: Improve Efl.Ui.Tags documentation 2019-01-30 12:49:31 +01:00
Jihoon Kim 2eccc52449 docs: introduce how to receive media content
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2019-01-30 18:55:44 +09:00
Mike Blumenkrantz 2137154d2a tests: move efl_ui_image test -> efl_ui_suite
ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7825
2019-01-30 10:11:41 +01:00
Mike Blumenkrantz 633a2e506c tests: move efl_ui_layout tests into efl_ui_suite
also use legacy api for elm_layout swallow test

ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7824
2019-01-30 10:11:40 +01:00
Mike Blumenkrantz 77b7646d56 efl_ui: include layout header in Efl_Ui.h
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7823
2019-01-30 10:11:38 +01:00
Mike Blumenkrantz 7628bd76ed tests: move image_zoomable into efl_ui_suite
ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7807
2019-01-30 09:44:32 +01:00
Mike Blumenkrantz 166dafb0d8 tests: add atspi test for efl_ui_suite
this is just a copy of the existing suite but with some small changes to
use (mostly) eo apis

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7806
2019-01-30 09:44:31 +01:00
Mike Blumenkrantz 22152565a9 tests: formatting
make this consistent for possible sed later

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7805
2019-01-30 09:44:30 +01:00
Mike Blumenkrantz 9f3d87ccca tests: modify efl_ui_suite to use same test infrastructure as elm_suite
this should enable us to begin moving efl_ui tests into the proper suite
instead of sticking them all into elm_suite

also move grid tests to efl_ui_suite

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7765
2019-01-30 09:04:57 +01:00
Myoungwoon Roy, Kim 9536204023 efl_ui_list_view: Handling failed memory allocation
Summary: Add a logic for handling failed memory allocation to prevent null pointer exception

Test Plan: Run unit test cases

Reviewers: eagleeye, Jaehyun_Cho, Hermet, zmike, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: SanghyeonLee, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7829
2019-01-30 09:47:26 +09:00
Chris Michael 26caf1641f evas_test_textblock: Fix unused variable warning
In evas_textblock_cursor test, the variable 'dir' is only used if
HAVE_FRIBIDI is defined. If that is not defined, then we get an unused
variable warning when compiling. This patch wraps the variable around
an #ifdef so that it does not get declared without FRIBIDI support.
2019-01-29 11:03:09 -05:00
Cedric BAIL 97e210d727 elementary: enable efl_ui_suite tests for meson build.
Summary: Depends on D7661

Reviewers: SanghyeonLee, felipealmeida, segfaultxavi, zmike

Reviewed By: SanghyeonLee, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7382

Differential Revision: https://phab.enlightenment.org/D7662
2019-01-29 09:26:51 -05:00
WooHyun Jung 7f2b26861f elm: prevent from accessing null pointer after memory allocation
Summary: Add null checking code just after allocating memory

Test Plan: make check

Reviewers: jypark, Jaehyun_Cho, zmike

Reviewed By: Jaehyun_Cho, zmike

Subscribers: devilhorns, zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7801
2019-01-29 09:23:44 -05:00
Christopher Michael c69b340f25 efl_ui_grid: Fix return value from macros
The function _grid_item_unpack_internal does not return a value, so
these macros should not be trying to return EINA_FALSE.
2019-01-29 08:43:57 -05:00
Wonki Kim 3bedc63315 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
2019-01-29 07:06:33 -05:00
Amitesh Singh a016f8e592 eina modinfo: improve eina modinfo guide. 2019-01-29 16:59:45 +05:30
Hermet Park 2554a2940a efl gfx_frame_controller: improve doc. 2019-01-29 19:57:07 +09:00
Hosang Kim 58c9f56885 ecore: check fcntl return.
Summary: Found by svace

Reviewers: Jaehyun_Cho, woohyun, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7808
2019-01-29 19:30:45 +09:00
junsu choi 09ce84bbad 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.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, woohyun, #reviewers, Jaehyun_Cho, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7769
2019-01-29 19:16:34 +09:00
Hermet Park 391339332f efl_gfx_map: free alloc' memory at exception case. 2019-01-29 18:36:09 +09:00
SangHyeon Jade Lee 8d3187b82a efl_ui : fix minor defects from converity check.
Summary: This is first coverity defect after efl_ui_grid merged.

Test Plan: build test and check exmaples.

Reviewers: eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7812
2019-01-29 15:57:45 +09:00
Jaehyun Cho 9c1b80fc03 examples: fix slider cxx example not to call content_set
Since Efl.Content is removed from Efl.Ui.Slider, slider should not call
content_set.

This patch is for the commit 4c44c44e1a.
2019-01-29 13:52:39 +09:00
Christopher Michael 9dedaddf2d ecore-drm2: Support multiple gpus during vblank
Summary:
When we try to calculate a drm vblank type, we should take into
account the output's pipe value which is used to determine if we are
using multiple gpus (if so, we need to use the high_crtc_mask.

Reviewers: ManMower

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7803
2019-01-28 14:45:23 -05:00
Mike Blumenkrantz 497acc6722 elm_prefs: remove efl.file usage
Summary:
this is a legacy-only api which does not need to drag in unimplemented methods
from interfaces

ref T5719

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7804
2019-01-28 13:08:56 -05:00
Marcel Hollerbach 6dd861fe32 efl_model_loop: make it abstract
Summary:
there is no user, additionally, there is undefined API on this object,
thus make it abstract. This resolves the missing APIs of efl_model_loop.

ref T5719
Depends on D7790

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7791
2019-01-28 13:08:51 -05:00
Xavi Artigas 37393dddce focus: do not allow focus to exit a popup
Summary:
Popup windows dim the background and do not allow the user
to click outside the popup. However, pressing TAB can take
you to widgets on the background. This didn't happen in
legacy.

Fixes T7432

Test Plan: Instructions in T7432

Reviewers: bu5hm4n, stephenmhouston, Jaehyun_Cho, herb, Blackmole, zmike

Reviewed By: zmike

Subscribers: zmike, felipealmeida, lauromoura, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7432

Differential Revision: https://phab.enlightenment.org/D7171
2019-01-28 12:36:30 -05:00
Marcel Hollerbach 73d3a63960 efl_net_server_udp: add empty functions
Summary:
these functions are never called from within this class, thus they are
empty here. They are not used because setting up the client does
require here more API than just a fd.

ref T5719
Depends on D7791

Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7802
2019-01-28 12:31:55 -05:00
Marcel Hollerbach 3278e82759 elm_map: convert paused to animation property
Summary:
this commit migrates the paused property over to the property defined by
efl.ui.zoom. This is done in order to implement all APIs in the elm_map
object.

ref T5719

Depends on D7783

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7784
2019-01-28 12:31:55 -05:00
Christopher Michael be76c3ca47 evas: Remove left over includes from cserve2 removal
NB: No functional changes. These were missed when cserve2 support was
removed
2019-01-28 11:59:47 -05:00
Christopher Michael 689d18a361 evas-clip: Remove unused variable
NB: No functional changes
2019-01-28 11:58:49 -05:00
Xavi Artigas c55299ca51 docs: Fix assorted typos in legacy documentation
Samsung reported a long list of typos in our legacy docs, this fixes them.
2019-01-28 13:14:20 +01:00
Yeongjong Lee 3731398622 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
2019-01-28 17:26:09 +09:00
Yeongjong Lee 99930c1a59 epp: fix correct parameters for cpp_error_with_line
Reviewers: zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7795
2019-01-28 17:15:34 +09:00
Taehyub Kim 4704fda84d efl_ui_dnd: fix the wrong parameter passing
Summary: fix the wrong parameter passing

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7797
2019-01-28 17:09:42 +09:00
Hermet Park da36a87bb3 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.
2019-01-28 16:57:56 +09:00
Lauro Moura c03f272bec eolian-cxx: Add constructor_def
Summary: To be used generating argument-aware constructors in C#.

Reviewers: felipealmeida, vitor.sousa

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7794
2019-01-28 16:23:07 +09:00
Lauro Moura 95e31dbc4a elementary: Declare style as a Widget constructor
Summary: Despite being required as a use case for C# constructors, style is not yet listed as a constructing property.

Reviewers: bu5hm4n, Jaehyun_Cho, segfaultxavi, zmike, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7793
2019-01-28 16:19:09 +09:00
Lauro Moura 5f1b448323 eo: Replace ptr(Eina.Strbuf) with plain strbuf.
Summary: Also fix CXX compilation after this change.

Reviewers: cedric, felipealmeida

Reviewed By: felipealmeida

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7792
2019-01-28 16:15:09 +09:00
Larry Lira f74f0e31a7 efl_ui_list_view_seg_array: remove seg_array from Elementary.h
Summary:
Change seg_array to private

This is a leftover of https://phab.enlightenment.org/D7724

Reviewers: felipealmeida, cedric, SanghyeonLee

Reviewed By: felipealmeida

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7780
2019-01-28 15:44:46 +09:00
Shinwoo Kim 70ae090254 evas_clip: do not set clip->changed to true
Summary:
[Issuse]
The issue solved by this commit occurs with 'export EVAS_GL_PARTIAL_DISABLE=0'.

The _efl_canvas_object_clip_set set clip->changed to true, but did not add the
clip object to e->pending_objects. So there is no chance to reset it to false.
(Please refer to evas_render_object_recalc.)

The clip->changed is always ture so its clipees cannot change its 'changed'
to true.  Because if 'changed' is true, evas_object_change returns before
calling evas_object_change for its clipees. (Please see evas_object_change.)
So 'changed' of clipees is false always, and clipees cannot call render_pre
in _evas_render_phase1_direct, and eglSwapBuffersWithDamage is not called.
This caused rendering issue.

This could be rare case. The _efl_canvas_object_clip_set is called when the
clipper and its clipees are out of view.

[Solution]
I would like to explain why removing line setting clip->changed to true makes
sense. First, the following commit added line setting clip->changed to true.

(1) committ 5e8d46e884
    Author: Carsten Haitzler <raster@rasterman.com>
    Date:   Wed Sep 22 04:37:51 2004 +0000

        clip bug fix :)

And following commit removed line calling evas_damage_rectangle_add which is
part of commit (1) above.

(2) commit 8767a80b0d
    Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
    Date:   Wed Apr 16 16:14:16 2014 +0900

        fix overdraw issue in evas when clips change

Between above two commits, another commit calling evas_object_change(clip) was
added. This commit sets clip->changed to ture, and adds clip object to
e->pending_objects by evas_object_change -> evas_render_object_recalc.

(3) commit 4aca7949f5
    Author: Carsten Haitzler <raster@rasterman.com>
    Date:   Wed Nov 2 04:03:55 2005 +0000

        fix excess overdraw bug

So we do not need the remains of commit (1). REMOVE!! :-]

Reviewers: raster, Hermet, jypark

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7767
2019-01-28 14:49:02 +09:00
Mike Blumenkrantz 25925f0264 elm_photo: implement remaining efl.file methods
ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7788
2019-01-26 12:21:58 +01:00
Mike Blumenkrantz d6992432c8 efl_ui_image: implement efl.file.mmap_get
this returns the current file, though the result is that the "current file"
could be changed asynchronously after this function is called

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7781
2019-01-26 12:21:57 +01:00
Xavi Artigas b42eeb4c95 Implement missing APIs in elm_photo
This widget does not seem to support dragging things on top of it, so implement
the missing property drag_target as a readonly EINA_FALSE.

Ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7779
2019-01-26 11:42:15 +01:00
Mike Blumenkrantz 956a66c748 evas_canvas3d_mesh: implement get methods for efl.file file and mmap props
also add unit tests for new methods

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7785
2019-01-26 11:42:14 +01:00
Marcel Hollerbach 015fbac20d ecore: make ecore_audio_out abstract
ecore_audio does define format and source, those are then used in some
leave classes, ecore_audio is only used in the tests, and should not be
used externally. Therefore make it abstract.
The other missing implementations are in the leave classes,
They are resolved with providing empty implementations, since no format
switching is supported.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7782
2019-01-26 11:42:12 +01:00
Marcel Hollerbach db13fbc494 evas_canvas3d_primitives: make unused functions empty
it appears that primiteves where not designed to redirect notify calls
etc. to its children elements (if there are any). Thus those can be
empty.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7778
2019-01-26 11:42:11 +01:00
Marcel Hollerbach b7cd3f4bfd efl_net_dialer_websocker: set cannot be called here
the state of eos is decided weather on internals, therefore calling set
on it does not work, and should never do anything.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7777
2019-01-26 11:42:11 +01:00
Marcel Hollerbach 5a37aebc32 efl_ui_tab_page: implement missing api
unset is now implemented, and is mirrored to the main object, just like
in the setter above.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7760
2019-01-26 11:42:09 +01:00
Marcel Hollerbach 37c115542c efl_ui_pan: implement content interface
the last two functions for the content interface have been missing.
Now the pan object can also unset and set new content

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7757
2019-01-26 11:42:08 +01:00
Marcel Hollerbach 2dacf8a69b efl_ui_scroller: support the complete efl.content API
content_get and content_unset was not added.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7756
2019-01-26 11:42:07 +01:00
Marcel Hollerbach 4c44c44e1a efl_ui_slider: this does not use anything from Efl.Content
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7783
2019-01-26 11:42:06 +01:00
Marcel Hollerbach 68d1579faa efl: introduce efl_ui_direction_readonly
the readonly mixin implement the efl_ui_direction interface and prints a
error in case it is written.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7755
2019-01-26 11:42:04 +01:00
Marcel Hollerbach c440ee442d elm_fileselector_entry: resolve missing interface api by composition
this patch will redirect every elm_interface_fileselector call to the
added fileselector button. This resolves the missing fileselector API on
the fileselector entry.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7754
2019-01-26 11:42:03 +01:00
Marcel Hollerbach 1c27529363 elm_fileselector_button: support the whole interface
this adds full support of the full elm_fileselector interface to
elm_fileselector_button.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7753
2019-01-26 11:42:02 +01:00
Marcel Hollerbach 67d9b49c1b elm_fileselector: improve documentation
lets safe up the time of the next one trying to figure out what
current_name is.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7752
2019-01-26 11:42:01 +01:00
Marcel Hollerbach 812543ad00 elm_code: remove the implementation of efl.access.text
its not implementing any of those functions, so better drop it

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7751
2019-01-26 11:42:00 +01:00
Marcel Hollerbach f00ae98a1d elm: add container api for the two objects
this resolves unimplemented API by just mirroring the calls to different
API calls.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7749
2019-01-26 11:41:59 +01:00
Marcel Hollerbach 1763afb391 edje: implement container api
the container api returns the number of added swallows.
the content iterator returns a iterator over all swallowed objects.

The reason this is only for swallows is that the interface explicitly
mentions UI elements at the count. Since i am believing the the result
of the count operation should mirror to the amount of elements in the
iterator, the iterator only returns swallowed objects.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7748
2019-01-26 11:41:58 +01:00
WooHyun Jung 0b0ff33f2f efl_task: remove efl.io.* interfaces
Remove efl.io.* interfaces from efl_task, and make other extended
classes properly.

ref T7657

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7747
2019-01-25 13:47:21 -06:00
Derek Foreman d47688ba27 gesture_manager: Filter events we add hooks for
Gesture manager doesn't care about focus manager events, animation events,
and various other things it's currently hooking.

We can save a lot of pointer indirection nonsense by only paying attention
to events it can actually do something with.

Differential Revision: https://phab.enlightenment.org/D7764

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Derek Foreman 41a9e1c873 gesture_manager: Use private data getter to save some lookups
We frequently process an array of several events at once, so we can now
look up the gesture manager private data once for the entire array.

Differential Revision: https://phab.enlightenment.org/D7763

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Derek Foreman 955c4bd4a0 gesture_manager: Add a call to get private data
We end up looking this up multiple times, having a getter will sometimes
allow us to get it and use it multiple times.

Differential Revision: https://phab.enlightenment.org/D7762

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Daniel Kolesa ca82c27d18 eolian: clear the unimplemented implement set for each tree
We keep a hash tracking implements that were already errored on
so that we don't print some errors multiple times. The problem is
that it wasn't getting cleared when switching to a new inheritance
tree so errors from an interface implemented in multiple distinct
inheritance trees would only get printed once.
2019-01-25 14:13:16 +01:00
Xavi Artigas 213a842d52 docs: Fix Efl.Object Freeze and Thaw docs
Summary: Fixes T7641

Test Plan: Only docs affected.

Reviewers: zmike, cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7641

Differential Revision: https://phab.enlightenment.org/D7707
2019-01-25 13:36:44 +01:00
Felipe Magno de Almeida 082d018041 efl-mono: Add new dependencies to autotools
Summary: This fix make check for csharp bindings

Reviewers: woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7770
2019-01-25 20:57:07 +09:00
junsu choi bc4b78be12 efl_ui_pager : Add missing meson config for pager test.
it occur to build fail in meson build.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7768
2019-01-25 09:49:50 +01:00
Stefan Schmidt 41977fd19e Revert "Revert "efl_ui_pager: add tests for efl_ui_pager""
This reverts commit a686b7d9fe.

Turns out in my eagerness to un-break the build I did not check the
patch queue before reverting. If I would have done this I would have
seen the fix for the break alreay being submitted by Junsu Choi.

This is my bad, the two reverts could have been avoid. Sorry.
Note to self: give yourself a moment, and check the patch queue, before
rushing out a revert. :/
2019-01-25 09:49:49 +01:00
Stefan Schmidt a686b7d9fe Revert "efl_ui_pager: add tests for efl_ui_pager"
This reverts commit 0b79064f4c.

Appreciating the new tests but they are breaking the meson build.

/usr/bin/ld: src/bin/elementary/aea5856@@elementary_test@exe/test.c.o: in function `my_win_main':
test.c:(.text+0x501e): undefined reference to `test_ui_pager'
/usr/bin/ld: test.c:(.text+0x504d): undefined reference to `test_ui_pager_scroll'
collect2: error: ld returned 1 exit status

Once the meson build break is fixed this could go in again.
2019-01-25 09:32:46 +01:00
Jaeun Choi 0b79064f4c efl_ui_pager: add tests for efl_ui_pager 2019-01-25 14:32:26 +09:00
Jaeun Choi ee5a59a58d efl_ui_pager: remove unnecessary lines 2019-01-25 14:26:12 +09:00
Jaeun Choi cce9022de7 efl_page_indicator_icon: set size_hint_fill as 0 2019-01-25 14:26:12 +09:00
Jaeun Choi 26ed4c2776 efl_page_indicator_icon: fix update function
pd->adj is NULL if pos equals 0
2019-01-25 14:26:12 +09:00
Jaeun Choi 719b129dde efl_page_indicator_icon: refactor update function 2019-01-25 14:26:12 +09:00
Jaeun Choi 08fa28f341 efl_page_indicator_icon: mark selected item in pack function if necessary 2019-01-25 14:26:12 +09:00
Jaeun Choi c442c0972a efl_page_indicator_icon: refactor if-else statement 2019-01-25 14:26:12 +09:00
Jaeun Choi a91197537c efl_ui_pager: implement unpack function 2019-01-25 14:26:08 +09:00
Jaeun Choi bfce85d163 efl_page_indicator: add unpack function 2019-01-25 13:47:38 +09:00
Jaeun Choi 5fcb50ebb0 efl_page_indicator: add a variable 'curr_idx; in data 2019-01-25 13:47:37 +09:00
Jaeun Choi 92dbe39ba2 efl_page_indicator_icon: remove unnecessary function
invalidate function is not necessary since each item is deleted
when it's parent (box) is deleted.
2019-01-25 13:47:37 +09:00
Jaeun Choi 591f18f2af efl_page_transition_scroll: fix _efl_page_transition_scroll_update() function
% operator should not be used when loop is disabled
2019-01-25 13:47:37 +09:00
Jaeun Choi 4dc8712aba efl_page_transition_scroll: remove _content_show() function
_content_show() function was used in page_info_geometry_change() and
_efl_page_transition_scroll_loop_set() function since they need to
show/hide page info objects in common. but using a common function
made each function inefficient and buggy.
this patch removes _content_show() function.
2019-01-25 13:47:37 +09:00
Jaeun Choi 0b63181113 efl_page_transition_scroll: refactor calculation code for beffer readability 2019-01-25 13:47:37 +09:00
Jaeun Choi 90865582b5 efl_ui_pager: make loop set function to return boolean value
loop mode might not be available if the number of pages is
less than required to make a loop
2019-01-25 13:47:37 +09:00
Jaeun Choi 5aff25dc19 efl_page_transition_scroll: remove unnecessary line 2019-01-25 13:47:37 +09:00
Jaeun Choi 5d1017d104 efl_ui_pager: move page_box when page size is changed 2019-01-25 13:47:37 +09:00
Jaeun Choi d927668b64 efl_ui_pager: add missing cases in pack_at function 2019-01-25 13:47:37 +09:00
Jaeun Choi 716590db50 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.
2019-01-25 13:47:37 +09:00
Jaeun Choi 933bc7f6e1 efl_ui_pager: use '++' instead of '+= 1' 2019-01-25 13:47:37 +09:00
Jaeun Choi 86de58676f 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
2019-01-25 13:47:37 +09:00
Jaeun Choi b2a0db1d1b efl_ui_pager: add missing condition in current page set function 2019-01-25 13:47:37 +09:00
Jaeun Choi bd5ac14411 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.
2019-01-25 13:47:37 +09:00
Jaeun Choi 6d94eb1165 efl_ui_pager: removed unnecessary lines 2019-01-25 13:47:36 +09:00
Jaeun Choi 737ef183bb efl_ui_pager: add missing NULL checks 2019-01-25 13:47:36 +09:00
Jaeun Choi f2ce776413 efl_page_transition_scroll: removed unnecesary variable 2019-01-25 13:41:52 +09:00
Jaeun Choi 99a55142b5 efl_page_transition_scroll: code refactoring in curr_page_change function
- removed unnecesary codes
- moved codes for better cohesion
2019-01-25 13:41:52 +09:00
Jaeun Choi 1645be2d49 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
2019-01-25 13:41:52 +09:00
Jaeun Choi aeda5e697f efl_page_transition_scroll: code refactoring in update function 2019-01-25 13:41:52 +09:00
Jaeun Choi 690269e055 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.
2019-01-25 13:41:52 +09:00
Cedric BAIL 549bf6e269 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
2019-01-24 16:29:25 -08:00
Derek Foreman 87c5ffda58 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>
2019-01-24 14:29:51 -06:00
Cedric BAIL 745fb1cf3c 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
2019-01-24 12:22:43 -08:00
Cedric BAIL 27b06dd4ad 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
2019-01-24 11:54:22 -08:00
Cedric BAIL 4a25abccd6 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
2019-01-24 11:54:19 -08:00
Carsten Haitzler 6dedfddda7 meson - edje_cc use -fastcomp for fast builds in mesa 2019-01-24 14:04:07 +00:00
Carsten Haitzler 9a0552f86b 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.
2019-01-24 14:04:07 +00:00
Larry Lira 7e0a5a7cf2 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
2019-01-24 22:29:57 +09:00
Xavi Artigas b735376ed5 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...
2019-01-24 13:57:50 +01:00
Marcel Hollerbach 993c843291 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
2019-01-24 10:24:50 +01:00
Michael Bouchaud (yoz) eb10662030 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
2019-01-24 10:05:35 +01:00
Mike Blumenkrantz d483302a13 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
2019-01-24 08:24:33 +01:00
Mike Blumenkrantz 70827b4d7e 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
2019-01-24 08:24:32 +01:00
Jaehyun Cho a44399fc5d 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 563f91eaf9
2019-01-24 13:27:50 +09:00
Jaehyun Cho 298d095bc7 examples: fix edc build error
The state changes which set non-exist state are removed.
Missing states are added.
Incorrect state value is fixed.
2019-01-24 13:27:24 +09:00
Cedric BAIL 445cfab193 ecore: fix memory leak when shutding down the application.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7653
2019-01-23 12:07:19 -08:00
Cedric BAIL 7889f71c7b 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
2019-01-23 12:07:17 -08:00
Marcel Hollerbach 04c2d313d7 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
2019-01-23 14:55:51 -05:00
Marcel Hollerbach 7c5c93eac0 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
2019-01-23 14:55:44 -05:00
Marcel Hollerbach 0c5e2594a8 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
2019-01-23 14:55:37 -05:00
Marcel Hollerbach 116ad5ac70 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
2019-01-23 14:55:23 -05:00
Marcel Hollerbach 83b8862bc4 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
2019-01-23 14:55:17 -05:00
Marcel Hollerbach 5289bd2e93 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
2019-01-23 14:55:10 -05:00
Marcel Hollerbach 5253229aa1 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
2019-01-23 14:54:59 -05:00
Xavi Artigas a50edaf17b eina: refactor eina_value_*_new.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7701
2019-01-23 10:54:13 -08:00
Xavi Artigas 06604d5d25 eina: refactor eina_value_*_init.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7700
2019-01-23 10:54:11 -08:00
Xavi Artigas de608bb203 eina: refactor eina_value_*_get.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7699
2019-01-23 10:54:09 -08:00
Cedric BAIL e863a3d28a eina: add tests for the new Eina_Value convert functions.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7651
2019-01-23 10:54:07 -08:00
Cedric BAIL 1150cce0bf 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
2019-01-23 10:54:05 -08:00
Cedric BAIL d4ab211968 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
2019-01-23 10:54:03 -08:00
Daniel Kolesa 7b2ef21b90 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.
2019-01-23 19:28:25 +01:00
Daniel Kolesa d9dbf88621 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.
2019-01-23 18:08:05 +01:00
Mike Blumenkrantz 09a83d2161 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
2019-01-23 16:43:05 +01:00
Marcel Hollerbach bb673d3f70 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
2019-01-23 16:43:04 +01:00
Marcel Hollerbach 5c36675f31 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
2019-01-23 16:43:03 +01:00
Marcel Hollerbach a2162b90ca 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
2019-01-23 16:43:02 +01:00
Marcel Hollerbach dfb87fcff1 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
2019-01-23 16:43:01 +01:00
Daniel Kolesa 0cd3a3602e 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.
2019-01-23 16:23:59 +01:00
Daniel Kolesa 8a8188d310 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.
2019-01-23 16:01:24 +01:00
Mike Blumenkrantz 5d1d76574c 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
2019-01-23 15:23:10 +01:00
Marcel Hollerbach d6c207772f 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
2019-01-23 14:13:32 +01:00
Marcel Hollerbach 286ad91075 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
2019-01-23 14:13:31 +01:00
Marcel Hollerbach efaa4bc7f9 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
2019-01-23 14:13:29 +01:00
WooHyun Jung 3b35bacc80 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
2019-01-23 08:11:53 +01:00
Mike Blumenkrantz 98e37dd123 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
2019-01-22 12:05:32 -05:00
Marcel Hollerbach dfb0a2a458 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
2019-01-22 14:07:14 +01:00
Marcel Hollerbach 062bc5f25c 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
2019-01-22 14:02:40 +01:00
Lukasz Stanislawski 256367384a 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
2019-01-22 14:02:39 +01:00
Marcel Hollerbach d326b3e6e1 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
2019-01-22 14:02:38 +01:00
Marcel Hollerbach 5c1fde2c57 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
2019-01-22 14:02:37 +01:00
Marcel Hollerbach 7f283f0ece elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215f 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
2019-01-22 14:02:36 +01:00
Boris Faure e80918643d 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
2019-01-21 19:30:12 +01:00
Daniel Kolesa 7feeda0410 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.
2019-01-21 17:19:14 +01:00
Jaeun Choi dab4d8d8a4 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.
2019-01-21 19:07:51 +09:00
Jaeun Choi 368ab45b26 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.
2019-01-21 15:01:05 +09:00
Carsten Haitzler c7449e097b evas gl - fix patch that fixed warnings that then broke evas gl tests
even though it was reviewed... 8a617fda97
broke the evas gl tests. this fixes that.
2019-01-19 19:30:18 +00:00
Xavi Artigas 87e6e4e60a 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
2019-01-19 18:04:14 +01:00
Derek Foreman a9d9ccefe4 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
2019-01-18 14:11:05 -06:00
Derek Foreman 529abe2de5 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
2019-01-18 14:11:03 -06:00
Derek Foreman d14c700e9d 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
2019-01-18 13:59:32 -06:00
Derek Foreman 014705c740 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
2019-01-18 13:06:37 -06:00
Derek Foreman ec910c5bb9 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
2019-01-18 12:35:26 -05:00
Derek Foreman 965cb9d28d 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
2019-01-18 12:20:59 -05:00
Marcel Hollerbach 2d7cbeb5ae eolian: remove the old inheritance syntax
fixes T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7688
2019-01-18 16:31:32 +01:00
Marcel Hollerbach 95160ab136 efl: convert all interfaces to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7687
2019-01-18 16:31:31 +01:00
Marcel Hollerbach 3b6a9152c1 efl: convert all abstracts to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7686
2019-01-18 16:31:30 +01:00
Marcel Hollerbach 4fc83c9cbb efl: convert all mixins to new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7685
2019-01-18 16:31:28 +01:00
Marcel Hollerbach 34efdfb1b1 efl: convert all classes to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7684
2019-01-18 16:31:26 +01:00
Felipe Magno de Almeida 50c41b1100 efl-mono: Fix calling non-static methods with garbage collectable NativeInherits
This fixes intermittent errors in C# classes with inheritance from Eo,
just like a lot of unit tests.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7683
2019-01-18 14:06:16 +01:00
Jaeun Choi 4d0289bb9f elm_panel: fix a bug in elm_scrollable_mode_set() function
when panel becomes scrollable, the function blocked scrolling
assuming that the panel is hidden. this caused an issue case
when panel becomes scrollable while it is open.
this patch fixes the issue.
2019-01-18 16:26:44 +09:00
Mike Blumenkrantz c7e29cd1c1 edje_cc: fail upon detecting invalid part description references in programs
Summary:
this causes attempts to STATE_SET a non-existent state to trigger an error and
abort edj file compiling so that bugs can be fixed before they become runtime
issues

@feature
fix T7016
Depends on D7607

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7016

Differential Revision: https://phab.enlightenment.org/D7608
2019-01-17 15:11:26 -05:00
Marcel Hollerbach 270cb385ca eolian: make error messages usable
base of the impl is where the function is defined, not where the missing
implementation is.

ref T5719

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7680
2019-01-17 21:00:05 +01:00
Xavi Artigas 1534f50be0 Make Efl.Ui.Closer an interface instead of mixin
Summary:
It is a mixin only because of the setter method for the "closed" property,
otherwise, it would be a pure interface.
Nobody is setting that property, so let's just remove the setter (leaving only
the getter) and make this class an interface.
This should clear the scenario for languages currently having issues with
mixins (like C#).

Related to T7601.

Test Plan: Nothing changes. Make check and examples still work.

Reviewers: zmike, bu5hm4n, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7570
2019-01-17 13:59:57 -05:00
Daniel Kolesa 57ceb9b8ea eolian: fix tests fallout from the latest changes 2019-01-17 17:29:36 +01:00
Daniel Kolesa 18ab4f2eec eolian: disallow pure virtual on non-abstract/mixin classes 2019-01-17 17:17:40 +01:00
Marcel Hollerbach 203b841eb9 elementary: make elm.web abstract
Summary:
elm.web is never used directly only as abstract class that gets
implemented in elm.web.none. Thus making it abstract does make sense.
Depends on D7671

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7672
2019-01-17 17:17:40 +01:00
Marcel Hollerbach ba065f9eed evas: make classes abstract
Summary:
those classes are defining pure_virtual functions, so the class should
be abstract.

ref T7632

Depends on D7670

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

Differential Revision: https://phab.enlightenment.org/D7671
2019-01-17 17:17:40 +01:00
Marcel Hollerbach 0a95767a0c efl_net: make efl.net.server.fd abstract
Summary:
noone instanciantes it directly, further more it has pure_virtual
functions, which are making sense. So making this class abstract does
fix the issue of pure_virtual functions in class.

ref T7632

Depends on D7669

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

Differential Revision: https://phab.enlightenment.org/D7670
2019-01-17 17:17:39 +01:00
Marcel Hollerbach 48b43928bb ecore_audio: remove pure virtual functions from classes
Summary:
A call to a undefined function results in a NOP we can get the same
behaviour with @empty. In Ecore.Audio this pure_virtual function makes
sense, so make the class abstract.

ref T7632

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

Differential Revision: https://phab.enlightenment.org/D7669
2019-01-17 17:17:39 +01:00
Xavi Artigas 0b7b80919d Remove letftover include
This was breaking build...
2019-01-17 17:13:40 +01:00
Christopher Michael c6ebe8241e ecore-drm2: Fix formatting
NB: No functional changes
2019-01-17 10:58:43 -05:00
Christopher Michael 31475f80a0 ecore-evas-drm: Minor formatting fix
NB: No functional changes
2019-01-17 10:58:43 -05:00
Christopher Michael 374373a370 ecore-evas-drm: Refactor _ecore_evas_new_internal
This patch does a small refactor of _ecore_evas_new_internal function
to separate canvas setup for gl & software. This was done so that when
we create a canvas on a per-output bases (multi-output support), the
code inside _ecore_evas_new_internal will be cleaner and easier to
follow.

NB: No real functional changes here until muti-output lands

Differential Revision: https://phab.enlightenment.org/D7679
2019-01-17 09:37:39 -06:00
Christopher Michael 8079d6d38a ecore-drm2: Pass output as data to drmModePageFlip and drmModeAtomicCommit
In order to support per-output ticking, the drmModePageFlip and
drmModeAtomicCommit functions need to pass the actual Output as data
to the pageflip callback so that the pageflip callback function can
pass the proper rectangle to ecore_evas_animator_tick

Differential Revision: https://phab.enlightenment.org/D7678
2019-01-17 09:37:33 -06:00
Daniel Kolesa 1b7129cea0 eolian: enforce not using regular classes in extension list 2019-01-17 16:17:42 +01:00
Daniel Kolesa 1172bce7cc eolian_cxx: make address_of test not use multiclass inheritance 2019-01-17 16:14:46 +01:00
Daniel Kolesa 212c99f957 elementary: remove combobox from being generated in autotools 2019-01-17 15:59:20 +01:00
Daniel Kolesa c4f05a0306 elementary: remove leftover header include 2019-01-17 15:56:33 +01:00
Daniel Kolesa 0976e9adf3 elementary: internalize elm_combobox, expose legacy only
This is bad eo API, and won't remain like that, so completely
remove it from being managed by Eolian.
2019-01-17 15:54:24 +01:00
Daniel Kolesa 24df96b1b6 eolian: always enable regular-class-in-extensions-list checking
For now it just warns and doesn't error. It will become an error
once all occurences are fixed.
2019-01-17 15:31:22 +01:00
Christopher Michael c98288c20e efl_ui_focus_object: Don't pass NULL to child_focus_set
When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.

ref T7030

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7677
2019-01-17 14:45:15 +01:00
Felipe Magno de Almeida fc48e19b56 efl-mono: Fix lots of warnings in tests
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7675
2019-01-17 14:45:14 +01:00
Felipe Magno de Almeida d57a7df3b5 eolian-cxx: Fix order of initialization
Make order of code the same as the order of initialization. This avoids warnings

efl-mono: Fix lots of warnings in tests

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7633
2019-01-17 14:45:11 +01:00
Marcel Hollerbach 8e487069c9 eolian: add api to access the requires field
Summary:
This is needed in order to support checking the correct regular classes
in efl#.

ref T7240
Depends on D7673

Test Plan: run ninja test / make check

Reviewers: q66, felipealmeida, segfaultxavi

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7240

Differential Revision: https://phab.enlightenment.org/D7674
2019-01-17 22:23:01 +09:00
Daniel Kolesa ceac54b23b eolian: warn as much as possible at once for unimplemented funcs
This also fixes some other potential errors, when there is a
failure about unimplemented methods but something up the stack
then uses those results.
2019-01-17 14:16:26 +01:00
Marcel Hollerbach 9fefc35308 Revert "evas: make efl_canvas_group abstract"
This reverts commit ae65c64b8d.

It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7676
2019-01-17 13:58:08 +01:00
Lauro Moura 586bc5207e efl-mono: Enable selecting to build @beta items
Summary:
For autotools, use --enable-csharp-beta to enable the generation of beta
methods and properties, for meson use -Dmono-beta=true.

By default, no beta method or property is generated.

Reviewers: woohyun, segfaultxavi, bu5hm4n, lauromoura

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7637
2019-01-17 21:45:49 +09:00
Felipe Magno de Almeida adc2e674af eolian-mono: Add interface registration to inherited classes
Summary: Depends on D7635, D7634

Reviewers: woohyun, bu5hm4n, segfaultxavi, lauromoura

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7636
2019-01-17 21:36:27 +09:00
Vitor Sousa 7b342e8fdd eolian_mono: fix inheriting from efl types not considering additional interfaces
Reviewers: segfaultxavi, bu5hm4n, Jaehyun_Cho, lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7635
2019-01-17 21:36:27 +09:00
Felipe Magno de Almeida 92aab7830c efl-mono: Add proper test for interface inheritance
Reviewers: segfaultxavi, bu5hm4n, woohyun, Jaehyun_Cho, lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7634
2019-01-17 21:36:27 +09:00
Xavi Artigas 64a2ef0260 Fix cut&paste error in docs 2019-01-17 11:49:01 +01:00
Yeongjong Lee d44c7713cc elm_panel: fix visibility when switching scrollable mode
Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.

This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.

Thanks to arosis for reporting and sample code.

Test Plan: P262

Reviewers: arosis, eunue, Jaehyun_Cho

Reviewed By: eunue

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7667
2019-01-17 17:40:37 +09:00
Cedric BAIL ba80dfe3f4 eina: remove eina_promise_data_get has it lead to risky use.
It seems that use of eina_promise_data_get lead to mostly missuse. As it
duplicate other infrastructure which do not have the same problem. So better
remove it and if we need it back, we can just revert this patch later.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7578
2019-01-16 16:10:30 -08:00
Mike Blumenkrantz 5ab4784bbd efl_app: add "standby" event
this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration

@feature
ref T5494

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7593
2019-01-16 15:58:27 -08:00
Mike Blumenkrantz 79d15acca0 evas: fix big endian pixman image rendering
as indicated by the accompanying FIXME, the byte ordering is inverted
for big endian so this should be #ifdef-ed

Reviewed-by: Chris Michael <Christopher Michael <cp.michael@samsung.com>>
Differential Revision: https://phab.enlightenment.org/D7592
2019-01-16 15:58:25 -08:00
Mike Blumenkrantz bb09142477 elm_entry: make file loading succeed on 0-sized files
a file which has no data is still a valid file and should be correctly
opened

fix T6562
@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647
2019-01-16 15:57:54 -08:00
Jean-Philippe André f1f3607f8c ui/flip: fix efl_pack usage
Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367
2019-01-16 14:46:19 -08:00
Cedric BAIL 563f91eaf9 ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.
If you need data, use a efl_future_then as done in every case here to get the same feature.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
2019-01-16 14:33:26 -08:00
Cedric BAIL 40ca3fbe58 eina_cxx: allow for the generation of function that return Eina_Promise in .eo files.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7576
2019-01-16 14:33:24 -08:00
Cedric BAIL 1bbe4ceb5c eina: remove eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7575
2019-01-16 14:33:22 -08:00
Cedric BAIL b3d04f7200 Revert "eina: add a function to free Eina_Promise attached data when the promise is destroyed."
A better solution is to actually have no eina_promise_data_set/get at all.

This reverts commit ce56f32270.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7574
2019-01-16 14:33:20 -08:00
Cedric BAIL d67a7df9ca Revert "fix crashes created by "make efl_loop_promise_new a function""
This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.

This reverts commit de2ec0559b.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7573
2019-01-16 14:33:18 -08:00
Cedric BAIL 04090f3e7a eio: remove use of eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7572
2019-01-16 14:33:16 -08:00
Cedric BAIL 5472922467 ecore_con: remove use of eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7545
2019-01-16 14:33:14 -08:00
Cedric BAIL 4e4176c84c ecore: make Efl.Loop_Consumer.promise_new an @const function.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7544
2019-01-16 14:33:13 -08:00
Cedric BAIL bd2ae0ae85 elementary: refactor selection manager to not use eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543
2019-01-16 14:33:10 -08:00
Daniel Kolesa 90f6043275 eolian: disallow @pure_virtual keyword in interfaces
This is implicit, so it's pointless to allow specifying it.
2019-01-16 20:37:08 +01:00
Daniel Kolesa eb830d8e46 eolian: disallow pure virtual methods in regular classes
This is a currently optional check.

Use EOLIAN_PURE_VIRTUAL_WARN=1 to enable.
2019-01-16 20:30:02 +01:00
Daniel Kolesa b1ee0f3acd evas/engines/gl_generic: remove multiclass inheritance
evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular
class in extensions list, which is wrong.
2019-01-16 20:00:16 +01:00
Daniel Kolesa 2110641131 eolian: add validation to make sure all methods are implemented
The checks are only done for regular classes. It's also disabled
by default as too many methods would be unimplemented.

Use EOLIAN_CLASS_UNIMPLEMENTED_WARN=1 to enable the errors.
2019-01-16 19:41:40 +01:00
Christopher Michael bff4c35322 test_efl_anim_interpolator: delete animation event callback on window delete
elementary_test Efl.Animation.Interpolator test performs Invalid
memory access if the window is closed during the animation. This can
lead to elm_test crashing after the main window is closed.

In order to avoid this invalid memory access, when the window gets
deleted we can delete the efl_event_callback so that the event does
not fire while the window is being deleted.

ref T7392

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7644
2019-01-16 11:17:15 -06:00
Christopher Michael 6c8ab3fabc test_efl_anim_interpolator: Minor formatting fixes
NB: No functional changes

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7643
2019-01-16 11:17:13 -06:00
Lauro Moura 6e3768b2b6 efl-mono: test on inout RwSlice. 2019-01-16 15:05:09 -02:00
Christopher Michael a7cf1b4c3c efl_ui_focus_manager_root_focus: Remove extra blank lines
NB: No functional changes
2019-01-16 11:34:18 -05:00
Christopher Michael bc43982949 elm_config: Free data returned from eet_read
Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:

```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610==    at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610==    by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610==    by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610==    by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610==    by 0x5864775: eet_read (eet_lib.c:2022)
==11610==    by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610==    by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610==    by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610==    by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610==    by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610==    by 0x138143: main (test.c:1379)
```

@fix

Reviewers: raster, cedric, ManMower

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7646
2019-01-16 11:07:07 -05:00
Marcel Hollerbach 5a11fd8587 eolian_gen: void out keys depending on how they are setted
this avoid warings about keys not beeing used in the fallback function.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7630
2019-01-16 14:40:13 +01:00
Marcel Hollerbach 2b1285c9db eolian: add free functions for the array and future.
It appears that NULL is not really usefull here, as this will lead to
errors later on. (void) will force the free function to just do nothing
and be later converted to a NOP.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7629
2019-01-16 14:34:34 +01:00
Marcel Hollerbach 77cfb1299c eolian: there is no eina_inlist_free
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7628
2019-01-16 14:34:33 +01:00
Marcel Hollerbach 66824da950 efl_mono: move Eina.Error.Init() to a static constructor
this removes the need for the calling a Init function.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7556
2019-01-16 14:24:12 +01:00
Marcel Hollerbach 1e2faf8527 efl_mono: move Eina.Log.Init to class consturctor
Summary:
This removes the need to explicitly init the log class.
Depends on D7495

Reviewers: felipealmeida, lauromoura, segfaultxavi

Reviewed By: felipealmeida, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7555
2019-01-16 14:16:01 +01:00
Mike Blumenkrantz 4cac97675e tests: use test namespace for elm_layout unit test function names
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7604
2019-01-16 13:28:58 +01:00
Marcel Hollerbach 6a7c273ec7 csharp: add a interface to start apps
Summary:
until to today you had to call init functions and a run function which
were static function in a class called Efl.Ui.Config.

However, calling those init functions there is not really OOP style.
Right now things have changed into a manner where you are defining you
application class with inheriting from the Application /
SimpleApplication abstract.

This enables you to call launch() on your application class, calling
launch there leads to a call to the args function, you can call and use
the Efl classes in there, everything is booted up.
Option parsing and dependency start can still be done in the main method
or application constructor, just ensure that you never call any efl
class / function outside the launch function.

A commit that demonstrates the usage can be found at

ref T7204

https://git.enlightenment.org/tools/examples.git/log/?h=devs/bu5hm4n/POC

Reviewers: felipealmeida, segfaultxavi, Jaehyun_Cho, cedric

Reviewed By: segfaultxavi

Subscribers: zmike, woohyun, akanad, lauromoura, #reviewers, #committers

Tags: #efl_language_bindings

Maniphest Tasks: T7204

Differential Revision: https://phab.enlightenment.org/D7495
2019-01-16 12:49:47 +01:00
Stefan Schmidt 1a6679da8b emotion: gstreamer: fix deprecation warning for g_type_class_add_private
Summary:
Since glib 2.58 g_type_class_add_private is deprecated and this throws
an ugly warning in our build. Not being a glib expert I based this on
patch in freeverb which solves the same issue for them:
90625953f2

Videos in rage are still playing fine for me, but double checking during
review would be appreciated.

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7638
2019-01-16 11:23:44 +00:00
Yeongjong Lee 78ae9c0ae0 gfx: Add size hint fill (EO)
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.

@feature

Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'

Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T3912

Differential Revision: https://phab.enlightenment.org/D7409
2019-01-16 16:47:51 +09:00
Felipe Magno de Almeida 4858d9eb81 efl-mono: Remove trailings from template file
Summary: The trailings end up in the final version, which causes it to create a invalid XML file.

Reviewers: bu5hm4n, woohyun, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: cedric, segfaultxavi, woohyun, #reviewers, bu5hm4n, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7613
2019-01-16 11:57:54 +09:00
Carsten Haitzler c233d6523b elm config - add back i var to build again 2019-01-15 20:48:39 +00:00
Carsten Haitzler fe6ea2314c Revert "elm_config: remove profile name reading logic from data dir"
This reverts commit 6c4e49d970.

Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...
2019-01-15 20:43:18 +00:00
Derek Foreman 5f207d79e3 focus_manager: fix memory leaks
_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622
2019-01-15 13:47:21 -06:00
Derek Foreman 1933580efb edje: Remove _edje_animators list
I guess this used to do something...

Now it's a list that we never add anything to but frequently try to remove
things from.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7621
2019-01-15 13:47:20 -06:00
Derek Foreman 0aa73f5365 evas_render: Remove some list walks
Not that these deletes ever walk long lists, but it's trivial to stop
doing it entirely.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7611
2019-01-15 13:47:18 -06:00
Derek Foreman be3020b0ab ecore_wl2: Convert frame callbacks to inlist
They're only ever on a single list, and never counted.  inlist makes
more sense.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7610
2019-01-15 13:47:17 -06:00
Derek Foreman 625955a597 ecore_evas: Don't walk mice list twice
We know the item is in there, so we can remove it directly.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7609
2019-01-15 13:47:16 -06:00