Commit Graph

28685 Commits

Author SHA1 Message Date
Mike Blumenkrantz e4ce41d6a6 efl_ui/image: implement required efl.player::playback_position methods
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10119
2019-09-24 15:23:22 -07:00
Mike Blumenkrantz 189c9a16a4 efl/player: improve docs
some doc improvements

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10117
2019-09-24 15:23:20 -07:00
Mike Blumenkrantz 4b9d85173b efl/player: progress -> playback_progress
no functional changes

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10116
2019-09-24 15:23:18 -07:00
Mike Blumenkrantz b730443e2d efl/player: play_speed -> playback_speed
no functional changes

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10115
2019-09-24 15:23:16 -07:00
Mike Blumenkrantz 3d3cdc5955 efl/player: rename 'play' property to 'pause'
this is a bit of an overhaul wherein the existing 'play' mechanics are
all inverted. 'pause' is a state which stops playback but does not affect
the playback_position property.

this patch also includes implementations of Efl.Player::playing for
a couple classes which (now) only implement pause, as this is a requirement
for the objects to actually activate their animations

test cases:
* unit tests
* all elm_test animation cases
* elm_test video
* rage

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10114
2019-09-24 15:23:15 -07:00
Mike Blumenkrantz 89bee7a11a efl/player: merge start+stop methods into 'playing' property
this has some overlap with the existing 'play' property which will
soon be renamed. the intent here is that there is a property for
controlling the 'playing' state and then another property for managing
'pausing' the play state

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10113
2019-09-24 15:23:13 -07:00
Mike Blumenkrantz 9b0197e2af efl/player: pos -> playback_position
ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10112
2019-09-24 15:23:11 -07:00
Mike Blumenkrantz 5c2ea620a1 efl/player: prune properties duplicated in efl.playable
efl.playable implements a number of properties which are also present
in efl.player. playable was intended to be separate, so enforce this
split in all classes which use player

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10109
2019-09-24 15:23:09 -07:00
Mike Blumenkrantz c99f7d06cb efl_ui/spin_button: fix signal namespacing
Summary:
efl,anim,activate is the signal used by buttons, which is what this is

ref T8231

Depends on D10099

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10100
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz cc88a1f875 efl_ui/timepicker: rename and namespace visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10098

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10099
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 9f7417ddde efl_ui/focus: rename focus visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10096

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10097
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 84f7998cae efl_ui/scroller: rename bar visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10095

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10096
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 3d9b2f6666 efl_ui/alert_popup: rename show/hide signals to visible,on/off
Summary:
this is consistent with the efl api

ref T8231
Depends on D10081

Reviewers: segfaultxavi, cedric

Reviewed By: cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10095
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz e94686b276 elm: rename _use_build_config variable -> _running_in_tree
Summary:
this makes the meaning of the variable more clear

no functional changes
Depends on D10092

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10093
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz d13bd5fa8e efl_ui/alert_popup: use normal C-based part aliasing and remove theme alias
Summary:
part aliasing should be done at the layout level, not using bespoke string
comparisons. also this removes the "title" part of the alert_popup theme
which was previously considered api

Depends on D10091

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10092
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 1511430c29 efl_ui/layout: validate theme api version in theme_apply
Summary:
this throws error and warning messages if the theme api version does
not match the current efl version, and it will cause unit tests to fail
when the theme version is not updated

ref T8231

Depends on D10093

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10081
2019-09-24 17:12:01 -04:00
Bruno da Silva Belo 91ac3774b5 eolian: fixing switch case.
Summary: Scope of the switch breaks compilation.

Reviewers: felipealmeida, segfaultxavi, brunobelo

Reviewed By: brunobelo

Subscribers: segfaultxavi, cedric, brunobelo, felipealmeida, #reviewers, lauromoura, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10118
2019-09-24 18:00:05 -03:00
Lauro Moura 2e7b508312 csharp: Fix wrapping of private classes
Summary:
Sometimes, valid Eo objects of private classes can be returned from
methods. Currently we try to wrap in a minimal `Efl.Object` instance,
but as it is an abstract class, we can't instantiate directly.

This commits adds a dummy `Efl.ObjectRealized` to be instantiated when
wrapping such classes alongside a test case.

Fixes: T8258

Reviewers: felipealmeida, brunobelo, segfaultxavi, Jaehyun_Cho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10101
2019-09-24 18:00:05 -03:00
Stefan Schmidt 351072711c efl_ui_selection_manager: fix potential out of bounce access
Summary:
We have been casting the selection to unsigned char * for the address of
sel and not for the value. Coverity pointed this out:
Overrunning buffer pointed to by (unsigned char *)&sel of 8 bytes by
passing it to a function which accesses it at byte offset 167 using argument 168

It seems this has been working by memory layout and luck if I understand
it all correctly.

Coverity ID: 1402666

Reviewers: thiepha, raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10107
2019-09-24 16:56:48 -04:00
Mike Blumenkrantz 91f18dc427 efl_ui/layout: fix part aliasing for non-legacy widgets
if a non-null value is passed here, this needs to actually evaluate
all the part aliases

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10091
2019-09-24 13:56:12 -07:00
Mike Blumenkrantz 105f016fc9 elm: rename layout part aliasing functions/macros
these are internal apis for managing part aliasing on the C side,
but they apply to efl_ui_layout and not elm_layout

no functional changes

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10090
2019-09-24 13:56:11 -07:00
Mike Blumenkrantz f13b3a882e evas: fix error return of evas_object_propagate_events_get()
ref T8259

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10123
2019-09-24 13:56:09 -07:00
Lauro Moura 4234dcfc3e csharp: Fix factory instantiation
After 892c26f906, widget factories require
a widget to be their parents.

This commit updates C# tests and adds a warning message to elementary if the user does
not provide one.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10122
2019-09-24 13:56:07 -07:00
Mike Blumenkrantz 9d18fdeeed efl/audio_control: remove player
Summary: this does not require any other interfaces

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10110
2019-09-24 14:57:20 -04:00
Xavi Artigas 036e01579c docs: Update Efl.Ui.Scrollbar docs
Summary: Ref T7884

Reviewers: zmike, eagleeye

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7884

Differential Revision: https://phab.enlightenment.org/D10041
2019-09-24 14:57:20 -04:00
Cedric Bail 653cf9b788 elementary: another forgotten file that need removal. 2019-09-24 11:54:47 -07:00
Marcel Hollerbach 5e9e33dd91 efl_player: split off audio related properties
Summary:
this commit moves the audio related properties from Efl.Player to
Efl.Player_Audio.

Reviewers: zmike, Jaehyun_Cho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7877

Differential Revision: https://phab.enlightenment.org/D10106
2019-09-24 14:32:12 -04:00
Cedric Bail b3adcff0df elementary: fix up left over header that got removed. 2019-09-24 11:30:22 -07:00
Marcel Hollerbach 7025d9aee8 efl_ui_position_manager_list: emit events correctly
it does not matter if pmin_size is > 0 or not. The important thing is
that it is different to what is now, but thats it.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9970
2019-09-24 11:12:49 -07:00
Marcel Hollerbach b057ac1af6 efl_ui_collection_view: support focus
with this commit you can more or less use focus. The only uncaught case
for now is that if the object is not available, no focus can be set.
Navigating with focus on the screen however should be possible.

Differential Revision: https://phab.enlightenment.org/D9969
2019-09-24 11:12:47 -07:00
Cedric Bail d5a21c7998 elementary: add a basic test for MVVM infrastructure.
Differential Revision: https://phab.enlightenment.org/D10063
2019-09-24 11:12:46 -07:00
Cedric Bail 5096cd32ad elementary: add Efl.Ui.Grid_View by leveraging MVVM and Collection/Position_Manager infrastructure.
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Differential Revision: https://phab.enlightenment.org/D9960
2019-09-24 11:12:45 -07:00
Cedric Bail 78b69d45b5 elementary: migrate Efl.Ui.List_View to use Efl.Ui.Collection_View.
Differential Revision: https://phab.enlightenment.org/D10035
2019-09-24 11:12:44 -07:00
Cedric BAIL 2e1317baed elementary: introduce Efl.Ui.CollectionView a generic listing View.
The idea of this widget is to provide to MVVM what Efl.Ui.Collection provide and
leverage the same shared logic for layout.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Differential Revision: https://phab.enlightenment.org/D9958
2019-09-24 11:12:43 -07:00
Cedric Bail 832d300e20 elementary: fix children removal in Efl.Ui.Select_Model by not remembering index and relying on underlayer infrastructure to do it for us.
Differential Revision: https://phab.enlightenment.org/D10034
2019-09-24 11:12:43 -07:00
Cedric Bail 3c9a46372e elementary: add an interface for asynchronous multi selection.
This interface is currently focusing on being use by widget like
Efl.Ui.Collection_View or Efl.Ui.Select_Model. I have decided that
it should not be available along with Efl.Ui.Multi_Selectable.

Differential Revision: https://phab.enlightenment.org/D9957
2019-09-24 11:12:42 -07:00
Cedric Bail 1c0916ef03 elementary: factorize all events emitted by a Efl.Ui.Collection into their own interface.
For most event it is actually meaningful to share them with Efl.Ui.Collection_View so let's do it.

Differential Revision: https://phab.enlightenment.org/D9956
2019-09-24 11:12:41 -07:00
Daniel Kolesa e0f07489df elm: fix Efl.Ui errors not being registered
The implementation is necessary, but it wasn't being generated
and included by mistake.
2019-09-24 19:17:28 +02:00
Daniel Kolesa 92da64a532 eolian: remove support for globals
This was meant to happen but did not previously happen. It is not
ideal to do it now but better do it while we still can.

In short, this removes one half of the variables API (keeps
constants as they are) and repurposes the API to be only for
constants. This is also better for consistency to match errors.
2019-09-24 18:27:37 +02:00
Daniel Kolesa 553ce69bad efl: remove remaining instances of .eo global variables 2019-09-24 18:27:37 +02:00
Daniel Kolesa 72698aa6f5 eolian: always allow implementation for eot files
This is so the build system can unconditionally generate .eot.c
without worrying whether there's something to generate.
2019-09-24 18:27:37 +02:00
Xavi Artigas 6ea61dc83a Efl.Ui.Layout_Pack: fix obvious uninitialized variable
Why did this ever work?
2019-09-24 17:57:00 +02:00
Wonki Kim aaf8d01ba8 doc: update ecore_filter_model description
Summary: this patch updates single line description of ecore_filter_model.(T7717)

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10103
2019-09-24 17:24:49 +02:00
Daniel Kolesa 251d8fc6bd eolian: remove global vars from tests 2019-09-24 16:29:55 +02:00
Daniel Kolesa 4ce7444dd1 efl: use new eolian error functionality instead of globals
Also enable referencing errors in docs.
2019-09-24 16:29:55 +02:00
Marcel Hollerbach da594413be declare first round of classes stable
this stabelizes the "stableized" column of the efl: api workboard.

fixes T8208,
fixes T8158,
fixes T8156,
fixes T8025,
fixes T8024,
fixes T7976,
fixes T7946,
fixes T7928,
fixes T7923,
fixes T7905,
fixes T7902,
fixes T7901,
fixes T7900,
fixes T7898,
fixes T7897,
fixes T7895,
fixes T7894,
fixes T7893,
fixes T7891,
fixes T7880,
fixes T7873,
fixes T7869,
fixes T7867,
fixes T7865,
fixes T7862,
fixes T7854,
fixes T7847,
fixes T7881,
fixes T7870,
fixes T9086

Differential Revision: https://phab.enlightenment.org/D10008
2019-09-24 16:00:45 +02:00
Marcel Hollerbach 047aa170fa efl_ui_collection: this interface is not event used
Differential Revision: https://phab.enlightenment.org/D10108
2019-09-24 16:00:45 +02:00
Marcel Hollerbach 594fc08442 efl_ui_win: default the window type to basic
normally when you create a window, you just want to have it beeing a
basic window. If not you still can set the window type.

ref T8229

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10049
2019-09-24 16:00:44 +02:00
Cedric Bail 5493cc5396 efl: make Efl.Ui.Factory.release work in batches.
This will enable better strategy in scheduling removal of object from the cache
instead of doing the throttling in the View as there is a better understanding
of the different layer the items are going to go through and where they will
consume time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9955
2019-09-24 09:18:52 +02:00
Cedric Bail 0a99fb87bb elementary: rework Efl.Ui.Factory to have another additional stage during releasing of items.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9954
2019-09-24 09:18:50 +02:00
Cedric Bail 892c26f906 efl: simplify logic for widget created by factory.
In an attempt to make things more complex than they should have been,
I tried to change the inheritance tree on the fly and assume widget would
rely on autodeleting its children. This is way more complex of a solution
than to let the View actually release all the child manually and just set
the window as the default parent.h

Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9953
2019-09-24 09:18:49 +02:00
Marcel Hollerbach 759ac54e7f efl: split Efl.Ui.Factory.create stage into constructing and building
constructing is called during construction time, building is called
after finalize. This is usefull for theme related properties that can
only be set after the theme is applied, which happens during finalize.
Being event allow the user of the factory to add more initialization
without needing to implement any new class.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9952
2019-09-24 09:18:47 +02:00
Cedric BAIL 3c0b496ad3 elementary: Efl.Ui.Layout_Factory bind property during widget creation.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9951
2019-09-24 09:18:46 +02:00
Cedric BAIL af3f1b070f elementary: Efl.Ui.Image_Factory bind property also during widget creation.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9950
2019-09-24 09:18:45 +02:00
Cedric Bail 23c24b36a1 ecore: update Efl.Boolean_Model to handle children removal and shifting all necessary boolean and index.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10033
2019-09-24 09:18:43 +02:00
Cedric Bail 6e49752712 ecore: correctly handle children removal in Efl.Composite_Model by updating all required index.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10032
2019-09-24 09:18:42 +02:00
junsu choi 06d328ffd1 efl_gfx_path: Add optimized path command
Summary:
If 'L' is removed due to optimization, it should be supported like 3b1f7be
If the previous command is 'M', use 'L'.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10104
2019-09-24 11:52:30 +09:00
Hermet Park 44d362e1ef evas vg: fix gradient stroke fill memory leaks.
There were continous creation of gradient objects,
We can stop it by caching it properly,

Also, fix mismatched ref/unref counts.
2019-09-24 11:49:10 +09:00
junsu choi 3b1f7bea75 efl_gfx_path: Support 'l' command for optimized path.
Summary:
If there is no 'l' command for path optimization, refer to the previous cmd.
If the previous command is 'm', use 'l'.

Test Plan:
[Example SVG]
'''
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 40">
<g fill="none" fill-rule="evenodd">
<rect width="40" height="40" fill="#f00" opacity="0"/>
<path d="m12 20 13-12-13 12zm0 0 13 12-13-12z" fill-rule="nonzero" opacity=".12" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</svg>
'''

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10074
2019-09-24 10:20:43 +09:00
Bruno da Silva Belo 15897cd9c3 efl-mono: Additional blank line between all methods.
Summary:
For better indentation, adding a blank line in the end of
methods.

Test Plan:
using efl_ui_layout.eo.cs, efl_access_object.eo.cs, efl_part.eo.cs and efl_ui_factory_bind.eo.cs as references,
apply changes to the code then check the diffs of after and before of the references files

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, felipealmeida, lauromoura

Tags: PHID-PROJ-uhnmnvlvunw6jgoqdnd4, #efl_language_bindings, #refactoring

Maniphest Tasks: T8167

Differential Revision: https://phab.enlightenment.org/D9712
2019-09-23 21:28:14 -03:00
Xavi Artigas 7dcce72eb7 docs: Add documentation for Efl.Ui.Scroller
Summary:
These docs were missing.
Ref T7891

Test Plan: Only docs changed

Reviewers: zmike, woohyun, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7891

Differential Revision: https://phab.enlightenment.org/D10019
2019-09-23 16:51:30 -04:00
Carsten Haitzler 88888a00a6 osx - require full opengl for gl support on osx
the default still is gl-es as documented. you need to explicitly turn
on full opengl to get gl support on osx because thats all the engine
does. document this exception for osx (having gl magically being full
on osx and gle-es elsewhere is another option but then we need
different os specific defaults for this which is kind of bad in other
ways).
2019-09-23 21:22:22 +01:00
Marcel Hollerbach 6714c821f7 efl_ui_pack: allow NULL as existing parameter in after and before
Summary:
with this commit all implementations of Efl.Pack_Linear to permit NULL
as existing parameter, this is verified with a spec test unit.

fixes T8210

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

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

Tags: #efl

Maniphest Tasks: T8210

Differential Revision: https://phab.enlightenment.org/D10023
2019-09-23 16:15:44 -04:00
Lauro Moura 5f5f62d6bd tests: Initialize variables and quiet warning.
Summary: The switch does not cover all Align enum values.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10085
2019-09-23 15:50:28 -04:00
Cedric Bail 059e48ff0e efl: improve test in checking the return value during Eina_Value get operation.
Summary: Depends on D10061

Reviewers: zmike, bu5hm4n, SanghyeonLee, segfaultxavi, felipealmeida, lauromoura

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10062
2019-09-23 15:50:28 -04:00
Xavi Artigas b5e5117992 docs: Clarify behavior of NULL in Efl.Pack_Linear.
Summary: Depends on D10023

Reviewers: zmike, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8210

Differential Revision: https://phab.enlightenment.org/D10024
2019-09-23 15:50:28 -04:00
Marcel Hollerbach 534021632c efl_ui_position_manager: review cache accesses
in position manager grid and list, there are caches for the sizes, so
the access within placing the item is faster. The cache sometimes is
invalidated, which means, it must be rebuild before accessing it.

This commit is the result of reviewing all the accesses, that the
correct item is available.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10065
2019-09-23 10:33:19 -07:00
Marcel Hollerbach 63ebd0e9cc efl_ui_focus_managr_sub: fix a err message
with this commit there are a few errors less, for the case a object is
destroyed while registered as a border element in the sub manager.
This adds a few more callbacks to the list of callbacks, however, i
could not messure a big performance impact.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10067
2019-09-23 10:33:17 -07:00
Woochanlee 802f414b25 ecore_thread: Fix arguments to match with the function call.
see the _eina_thread_internal() function

r = c->func((void*) c->data, eina_thread_self());

The second param has been missed in ecore_thread_worker, ecore_direct_worker functions.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10073
2019-09-23 10:33:15 -07:00
Mike Blumenkrantz 1260333ae5 build: fix EFL_VERSION_MICRO define
this was never pulled in from the build system and thus was never actually
defined

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10078
2019-09-23 10:33:13 -07:00
Mike Blumenkrantz 74cfe457c3 efl_ui/layout: move 'frozen' struct member to be a bool bitflag
this is already handled by edje, all we really want here is a flag
to avoid more eo lookups internally when calling canvas_group_change

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10079
2019-09-23 10:33:11 -07:00
Lauro Moura 03da60997e cxx: Fix some warnings from -Wextra
Summary:
- As we don't have C++17's [[fallthrough]], rely on GCC'd detection
  of fallthrough comments.

  See https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/

- Replaced some copy constructors with typecast operators.

  Previously, a constructor with remove_const/remove_cv were used
  to allow const iterators to be constructed from non-const iterators.
  This had the side effect of making these constructors actual copy
  constructors for non const lists. As we did not define other
  special constructors/operators, the rule of 5 were violated for these
  cases.

  This commit replaces these constructors with actual typecast operators
  that promote non const iterators to their const counterparts.

- Cast a Eina_Bool/bool narrowing conversion

- Add a missing break statement from D10050

Reviewers: zmike, brunobelo, felipealmeida

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9934
2019-09-23 13:58:01 -03:00
Xavi Artigas 883ef612b7 docs: Efl.Ui.Widget_Scroller_Content updated docs
Summary: Ref T8254

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8254

Differential Revision: https://phab.enlightenment.org/D10082
2019-09-23 18:30:21 +02:00
Vincent Torri e79d6bd0af eina_array: do not mix declaration and definition
fix warning when used in C90 code.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10077
2019-09-23 16:43:54 +02:00
Wonki Kim f18201749c gesture: fix it not to lose information by dividing
division of integer by integer results integer.
this patch fix the case to make a division result more precise.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10039
2019-09-23 15:52:30 +02:00
Marcel Hollerbach b6c713c937 eina_log: ensure that we do not spam journald with our intree binaries
EFL_RUN_IN_TREE is set for all binaries that are executed during build
time, and test suites. With this commit we are ensuring that we are not
sending messages during that time to journald, otherwise we would waste
a lot of time + we would create a lot of unneccessary log messages.

(eina test suite runtime with journald hook: 11.21s without journald
hook: 0.57s)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10076
2019-09-23 15:52:27 +02:00
Daniel Kolesa 74becf76c0 eolian: allow read-only stringshare in events
While the type cannot be moved to the callee, it at least provides
a hint that it's a stringshare, leeting people ref it instead of
copying.
2019-09-23 15:26:23 +02:00
Jaehyun Cho 98c2a75bda elementary: unref objects when memory allocation fails in factory
The objects referenced are unreferenced when memory allocation fails in
elementary factory.

Differential Revision: https://phab.enlightenment.org/D9968
2019-09-23 14:15:41 +02:00
Hermet Park eb2c1311ae ector engine: +null checking.
Null pixels is allowed when drawing region is 0,

In that case, the pixel buffer can be destroyed earlier by vg.

@fix
2019-09-23 21:15:28 +09:00
Jaehyun Cho dd5e7c7019 efl_ui_tab_pager: fix infinite selected calls
Since tab_pager's _select() and tab_bar's _selection_change_cb() cause
calling each other infinitely.
2019-09-23 20:08:32 +09:00
Mike Blumenkrantz 696627ffcd elm_test: mark image_zoomable test as non-legacy
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10053
2019-09-23 12:57:22 +02:00
Marcel Hollerbach 5ff0c3cc15 eina_log: do not fallback to INFO when we run with systemd support
INFO is a way too verbose log domain, this lead to the fact that we
spammed journald before the first frame with ~200-300 messages
(depending on the setup) which is quite a lot. Additionally, this also
lead to the fact that we often TIMEOUT our own tests.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10075
2019-09-23 11:50:43 +02:00
Stefan Schmidt a819a954bf elementary_codegen: check before use to avoid use after free
These might or might not have been freed already, depending on the
breaks form the above loop. Before we are having a use after free here
better check on it before free'ing another time.

Coverity IDs: 1402671, 1402701

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10047
2019-09-23 11:16:38 +02:00
Stefan Schmidt 885d5b5b68 efl_ui_exact_model: fix always true condition
The tbuf binbuffer has already been freed the line above, which means
this condition would always be true as !tbuf would always result in true.
As a result the rest of the function has never been executed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10046
2019-09-23 11:16:37 +02:00
Stefan Schmidt 87c8e2718c efl_ui_selection_manager: free allocated memory after local use
This temporary allocation is only used in this block and goes out of
scope when leaving. Make sure we free the resource before this happens.

Coverity ID: 1402653

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10045
2019-09-23 11:16:36 +02:00
Stefan Schmidt c02dcf6966 efl_ui_textpath: make sure variables are not uses uninitialized
First and last could have been uninitialized for their first use in some
cases. Make sure we set the x y coordinates to 0 to begin with.

Coverity IDs: 1401458, 1404747

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10044
2019-09-23 11:16:35 +02:00
WooHyun Jung f7e183b851 efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable
Summary:
Based on the discussion T7883, there is no reason to keep those
interfaces separately. So, now, efl_ui_scrollable will support
the events and methods together.

@ref T7883

Reviewers: eagleeye, bu5hm4n, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7883

Differential Revision: https://phab.enlightenment.org/D10072
2019-09-23 11:02:15 +02:00
Wonki Kim fe8715e9f6 test: Add a logic to check a size of Check
If I pack a check without any api calls into a box,
then it doesn't have the hint_min size which is defined on check edc.
I guess there are problems on sizing logic currently, so this patch helps people
to test the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10038
2019-09-23 10:44:33 +02:00
Mike Blumenkrantz 654e783d28 elm/layout: remove check for finalize in efl_canvas_group_change impl
this used to be a thing in order to prevent widgets from spamming themselves
with recalcs during construction, but since that's no longer possible we
can remove this and also resolve an issue where legacy widgets failed
to correctly calculate their min size if no text was set

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10043
2019-09-23 10:44:32 +02:00
Xavi Artigas 3b53749149 docs: Typos in Efl.Object 2019-09-23 10:41:46 +02:00
SangHyeon Jade Lee 3d539c1131 efl_ui : fix possible memory leak on model compressing
Summary: fix memory leak of model compressing on binbuf and allocated data.

Reviewers: cedric, bu5hm4n, zmike

Reviewed By: cedric, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10037
2019-09-23 16:27:07 +09:00
Marcel Hollerbach 18e9a224be efl_ui_collection: protect against invalid access
i am not sure why this should ever happen. However, a error here is
better than a access out of the bounds of the array.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10066
2019-09-21 20:43:56 +02:00
Marcel Hollerbach 64be497e42 efl_ui_bg: implement load_controller and efl.gfx.image via composition
With this commit the API of load controller and efl.gfx.image is
implemented via composition, which makes eolians API checker happy

ref T7880

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10064
2019-09-21 18:22:47 +02:00
Marcel Hollerbach 625189d248 efl_gfx_image: remove ptr()
this is not needed here, and not permitted in a none beta context.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10069
2019-09-21 18:22:46 +02:00
Marcel Hollerbach b051cb52fa efl_ui_image: implement Efl.Gfx.Image and Efl.Gfx.Image_Load_Controller
at first i tried to implement that with composition, however, this does
not work, caused by the fact that the edje_object does not implement
efl.gfx.image nor load controller. which would mean i would have to
differentiate based on the type what kind of composition i would attach,
additionally, i would have to write an additional object which would
implement the correct behaviour.

To shortcut this overdone approach, this commit simply implements the
APIs in the image object.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10068
2019-09-21 18:22:45 +02:00
Marcel Hollerbach 0d7535071c elementary: make our tests work again
7321911468 moved the constructor to to
top, which leads to the fact that a few widgets cannot fetch the shared
data of the window. Which made the test suite fail.

With this commit we are just moving the sub_object_add after the
constructor, which fixes the flip crash.
This fixes the test suite
2019-09-21 15:04:42 +02:00
Carsten Haitzler 7321911468 efl ui widget - call parent constructor before doing more init
the object is not properly set up yet for child classes -0 parent like
the main evas object or smart obj havent been constructed yet so call
this really early, not in the middle of construction of an efl ui
widget...

this fixes a segv in elementary_test -to filp where it segv's on
object construction where evas object ->cur/prev are NULL (not set up
yet).
2019-09-21 10:26:46 +01:00
Lauro Moura 9e92b3d123 csharp: Guard hash usage behind EFL_BETA.
Summary: After 718f3cd495, hashes are currently beta-only.

Reviewers: zmike, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10060
2019-09-20 19:29:20 -03:00
Jaehyun Cho 01875756eb eolian_mono: add more verbs to generate C# method beginning with verb
Summary:
C# language binding generates C# method name beginning with verb by
checking verb list in name_helpers.hh.

Some verbs used in eo method are missing in the current verb list. So
they are added into the verb list.

In this scheme, there is a problem that some words can be used as a verb
in some methods but they also can be used as a noun in other methods.
(e.g. drag_start as a verb / cursor_word_start as a noun)

So "start" and "scroll" are not added to verb list in this patch.
To resolve the above problem, we may need a new eo syntax to rename or
reverse the name in language bindings.

Test Plan: Check C# method names in .eo.cs files if the name begins with verb.

Reviewers: felipealmeida, SanghyeonLee, woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10001
2019-09-20 19:29:08 -03:00
Daniel Kolesa 53a3326ddc eolian: rename any_value_ptr -> any_value_ref for consistency 2019-09-20 18:03:39 +02:00
Daniel Kolesa 7cbd08ee8c eolian: string(share) is always const, allow in events out of box 2019-09-20 17:47:43 +02:00
Daniel Kolesa 718f3cd495 eolian: make hashes beta-only for now
They're not completely settled on and we don't even know if we want
them at all. So let's make them beta only for now.

Ref T8050.
2019-09-20 17:04:48 +02:00
Xavi Artigas 61ce4c79fd Use proper Eolian syntax for default values instead of docs
Summary:
Eolian supports reporting the defaults for parameters and return values, but in some
places we have been writing this information in the documentation instead.
This patch moves it to its proper place, where documentation generators can pick it up
and render it in a consistent manner.

Ref T8171

Reviewers: zmike, bu5hm4n, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8171

Differential Revision: https://phab.enlightenment.org/D10051
2019-09-20 11:55:55 -03:00
Lauro Moura 32f92d3d86 csharp: Add support for default param references in documentation
Summary:
This also adds the information of default values in `parameter_def`.
This will help adding actual default parameter support in the C#
bindings.

Thanks to @segfaultxavi for improved formatting and escaping.

Fixes T8224

Reviewers: segfaultxavi, felipealmeida, brunobelo

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, segfaultxavi, #committers

Tags: #efl

Maniphest Tasks: T8224

Differential Revision: https://phab.enlightenment.org/D10050
2019-09-20 16:23:54 +02:00
Marcel Hollerbach 4672598b03 efl_ui_factory: improve docs
Summary:
and remove TAAABS
Depends on D10038

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10042
2019-09-20 15:29:20 +02:00
Hosang Kim 47ab7e1b83 efl.ui.scrollbar: fix event name for scrollbar
Summary: Event name is applied in the past tense.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10040
2019-09-20 12:51:48 +02:00
WooHyun Jung bc162b1253 efl_ui_scroll_util: add null check after calloc 2019-09-20 11:09:02 +09:00
Marcel Hollerbach 1eb24301fd efl_io_model: next try to fix this race condition
what is happening is that a file gets announced through eio_model
listing code, at this point of time, the monitor does not yet know about
the file. If the file now gets deleted between the annoncing and the
learning of the file from the monitor, then the file got an ADD event,
but no DEL event. Which is a bug.

With this commit there is a new API which asks the monitor if the file
already has the knowledge about the files existance, or not. A few
monitors like win32 inotify or cocoa do not have context about the file
directly, if the OS is now having the same bug, then we are again in
trouble, however, we canot do anything about that. In the case of kevent
or poll, this asks the context of the monitor if the file is already
there.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10006
2019-09-19 14:50:42 -07:00
Cedric BAIL 3e9f619b1d elementary: Efl.Ui.Widget_Factory bind widget property before finalizing the widget.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9949
2019-09-19 14:37:56 -07:00
Cedric BAIL cc49c8ac64 elementary: leverage sizing information from model if available to avoid unecessary calc.
With the new Efl unified infrastructure, we do delay a lot of the computation to finalize,
by filling the object information before finalize we reduce unecessary computation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9948
2019-09-19 14:37:54 -07:00
Marcel Hollerbach fc935e99d9 efl_ui_position_manager: a way to announce new entities
there are situations where the entity is not ready yet when the initial
placing does happen. With this API you can tell the position manager
that the placing of the items can be reapplied at the entities are
availble now.

Differential Revision: https://phab.enlightenment.org/D9947
2019-09-19 14:37:52 -07:00
Cedric Bail 8128e3fea2 efl: improve Efl.Boolean_Model test to enforce Eina_Value type too.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10031
2019-09-19 14:37:51 -07:00
Cedric Bail 77ab3523cd ecore: remove unused piece of code.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10030
2019-09-19 14:37:49 -07:00
Cedric Bail f402efbba3 ecore: properly initialize all field in event generated by Efl.Generic_Model
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10029
2019-09-19 14:37:47 -07:00
Cedric Bail 6af8a70f37 ecore: properly initialize the event structure in Efl.Generic_Model.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10028
2019-09-19 14:37:45 -07:00
Cedric Bail 2fdad92948 eina: add code to help debug leaking Eina_Value.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9942
2019-09-19 14:37:43 -07:00
Cedric Bail 9382bfc0bc eina: add eina_mempool_iterator_new to slowly iterate every allocated pointer in a mempool.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9941
2019-09-19 14:37:41 -07:00
Marcel Hollerbach bf12fe241e efl_ui_layout_part_table: implement missing API
setting of these properties does not work, as they are not available in
legacy, but edje is still creating legacy objects.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10007
2019-09-19 14:37:39 -07:00
Marcel Hollerbach 2f48607e7c efl_ui_layout_part_*: declare stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9995
2019-09-19 14:37:37 -07:00
Marcel Hollerbach fc22a94d26 efl_ui_widget_*: declare parts stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9994
2019-09-19 14:37:35 -07:00
Marcel Hollerbach d8053bac96 efl_ui_layout_part_box/table: remove real_part_set
real part set was used to set the real part on the part, so the obj
pointer of Layout_Part_Data points to the correct evas object. With this
commit, this API is removed from the public .eo files, and is refactored
into the same API which is private.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9993
2019-09-19 14:37:33 -07:00
Marcel Hollerbach aecb3a4bb2 efl_ui_layout_part_table: implement Efl.Pack.pack API
this api was missing, the pack method here is behaving in the same
manner as Efl.Ui.Table.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9992
2019-09-19 14:37:31 -07:00
Marcel Hollerbach ccdec4ba68 efl_ui_widget_part: implement all the missing API
Efl.Color and Efl.File cannot be done due to composition. Efl.Gfx.Image
can, so we can solve this via composition, this also resolves all the
other cases for Efl.Gfx.Image.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9991
2019-09-19 14:37:29 -07:00
Marcel Hollerbach 422154c0de efl_test_multi_selectable: test for the correct event
EFL_UI_EVENT_ITEM_SELECTED / UNSELECTED is the wrong event here. We
should check of the selection changed event. ITEM_SELECTED is the legacy
event. this was not found based on the fact that we test for this event
to NOT be executed.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10011
2019-09-19 14:37:27 -07:00
Marcel Hollerbach 6960751c45 elm_test_widget_focus: cleanup callbacks correctly
we need to delete the callback here, otherwise the objects are deleted
later on, which:
- changes focus, which leads to
- callbacks executed with stacked addresses from a dead function

this fixes a testsuite failure on the release build.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10020
2019-09-19 14:37:25 -07:00
Yeongjong Lee e06e03f220 efl_ui_collection: fix null pointer dereferences
This will fix Coverity issue.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9986
2019-09-19 14:37:23 -07:00
Marcel Hollerbach 21fe2bdc41 eo: custom created legacy events should be unfreezable
a while back we have moved event submission from custom lists to eo
events. We also merged together the freeze and thaw functions, however,
this brought up one bug. smart_callbacks and the likes (those that used
custom lists before) are not effected by the legacy freeze and thaw
functions. This means, we should declare these legacy wrapper objects
unfreezable in order to obtain this behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10016
2019-09-19 14:37:21 -07:00
Mike Blumenkrantz 393530b770 efl_ui: further unbreak headers
move more header includes around to fix building with Efl_Ui.h

ref T8228

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10022
2019-09-19 14:37:18 -07:00
Mike Blumenkrantz da5fcb8ea0 ecore/signal: increase maximum signal throughput
this adds 4 more signal handling fds and loops over them for reading/writing
signal info in order to handle more signals when the buffer of one (or more)
pipes is full

also update the unit test to verify that we are receiving all the events without
dropping any and bump the number of signals to 2000 since we should now be able to
handle that many

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10027
2019-09-19 14:37:16 -07:00
Mike Blumenkrantz af5abbe4bc tests/ecore: add stress test for main loop signal handling
this explodes after about 500 signals, so make it 1000 for a good test

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10026
2019-09-19 14:37:14 -07:00
Mike Blumenkrantz aae2e49744 ecore/signal: also use nonblock for writing side of signal pipe
if any efl-based process receives a bunch of signals in a short period of
time, it will deadlock in the signal handler. this is unavoidable given the
current signal handling architecture

by setting nonblock, we can at least avoid deadlocking even if it means we'll
be losing signal events

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10025
2019-09-19 14:37:11 -07:00
Daniel Kolesa 539dc642e9 eolian: remove the composite keyword (replaced by composites) 2019-09-19 18:20:56 +02:00
Daniel Kolesa b74f98e8b7 efl: replace composite with composites and dedup implements
Since using 'composites' now automatically implements what has not
been implemented yet, remove the unnecessary duplicates.
2019-09-19 18:20:56 +02:00
Daniel Kolesa bc793753cb eolian: allow composites keyword in place of composite
Fixes T8218.
2019-09-19 18:20:56 +02:00
Daniel Kolesa 46a6949b2e eolian: auto-add composited interfaces into implements if needed
The condition here is that the composited interface does not
already appear in the inheritance tree of the given class. If
it does, don't add. If it doesn't, add it to the class that
specifies the composited block.
2019-09-19 18:20:56 +02:00
Xavi Artigas f8926697ff docs: Update documentation for Efl.Gfx.Color_Class 2019-09-19 16:51:04 +02:00
Daniel Kolesa 4de4995fa2 eolian: return NULL instead of EINA_FALSE on safety checks 2019-09-19 16:05:34 +02:00
Xavi Artigas 5428f26f7d docs: Update docs for Efl.Gfx.Image_Orientable 2019-09-19 13:11:00 +02:00
Marcel Hollerbach e3bc67257f efl_model: fix links
Summary: Depends on D10009

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10010
2019-09-19 12:45:03 +02:00
Marcel Hollerbach 71e8dc0e75 efl_model: improve docs
Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10009
2019-09-19 11:36:26 +02:00
Xavi Artigas ac531f881f docs: Update documentation on Gestures
We need to keep in mind that the Manager and the Recognizers are not visible to the user.
The user only sees the events and the different Efl.Canvas.Gesture_* payloads.
2019-09-19 11:17:49 +02:00
Hermet Park 8a66c2eaea doc: fix typo and indentation. 2019-09-19 15:30:19 +09:00
Myoungwoon Roy, Kim 81b94b5a20 doc: improves single line description of gesture class.
Summary: This patch improves single line descriptions described on T7717

Test Plan: NA

Reviewers: segfaultxavi, woohyun, Hermet, cedric

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10002
2019-09-19 15:23:07 +09:00
Hermet Park 6f3841e4b4 evas mask: refactoring code.
This clearly separate the condition cases clear so that
the analizyer tool doesn't bother us anymore.

No logical changes.
2019-09-19 14:01:31 +09:00
Hermet Park cdfe946358 evas gl: remove unnecessary null check.
If we check reference validation, the rest of other usage
should keep the reference check as well.

Remove it since gl prorgram must be valid always here
to shutdown the static analyzer reporting this suspicous logic.
2019-09-19 13:42:22 +09:00
Hermet Park aaa199e2d4 evas map: disable the anti_aliasing code which can't be reached.
This anti-aliasing is a little buggy, should be improved.

But just leaving to fix later when it's necessary.
2019-09-19 13:30:21 +09:00
Daniel Kolesa 1f19af7780 eolian: disallow void for out/inout for stable API 2019-09-18 21:09:15 +02:00
Mike Blumenkrantz e687805074 tests/elm: add eventing test for normal check widget, verify api compatibility
legacy check widgets should not emit a "changed" event when using the api to
change the widget's state

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9852
2019-09-18 18:18:57 +02:00
Mike Blumenkrantz 99174b10f6 tests/check: add unit test for elm_toggle (check) callback
verify that the "changed" callback is triggered as expected

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9832
2019-09-18 18:18:56 +02:00
Mike Blumenkrantz 7767ce884a elm/check: fix emission of legacy "changed" callback
legacy "check" and "toggle" widgets operate differently:
* check emits only the "toggle" event
* toggle emits "toggle", "on", "off"

legacy also must not emit events when the widget's state is changed
programmatically

to handle this effectively, check whether the event has been emitted for
each state when the signal is emitted from the theme, and track this
for subsequent uses to ensure that exactly one event is triggered
when it should be

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9831
2019-09-18 18:18:55 +02:00
Mike Blumenkrantz 011022ae1b efl/radio/box: handle non-radio-objects
this improves the usefulness of radio box by presenting it as a box widget
which has the additional feature of being able to manage radio widgets

also fix all the image cases in elm_test which relied on there being only
a single box in the window

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9998
2019-09-18 18:04:59 +02:00
Mike Blumenkrantz 3139371932 build: firmly split legacy and unified API into Efl_Ui.h and Elementary.h
these headers should be usable independently without having one secretly
pull in the other

fix T7667

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9981
2019-09-18 18:04:58 +02:00
Mike Blumenkrantz 9f301b1c9e build: remove efl_ui_calendar.h
this was somehow actually a legacy header which duplicated elm_calendar.h
...sort of

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9980
2019-09-18 18:04:57 +02:00
Mike Blumenkrantz 67b7cac72d build: use correct animation_view headers in Efl_Ui.h and Elementary.h
efl_ui_animation_view.h is the legacy header (but why?)
efl_ui_animation_view.eo.h is the unified header

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9979
2019-09-18 18:04:56 +02:00
Mike Blumenkrantz ca86b98e40 build: fix elm header usage
.c files in src/lib/elementary should only include elm_priv.h to ensure
that all the include ordering is correct and that all necessary headers
are pulled in

.c files outside of src/lib/elementary should include either/both
Efl_Ui.h, Elementary.h as needed

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9978
2019-09-18 18:04:55 +02:00
Mike Blumenkrantz 038b546414 elm/priv: fix this header
this should include emotion, since that component is used internally,
and it should not explicitly include api headers which should be in
public headers

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9977
2019-09-18 18:04:53 +02:00
Mike Blumenkrantz 2251865a30 elm/widget: make this header usable without elm_priv.h again
supposedly this header should be usable if someone wants to create an
elm widget, so ensure that it can be included without issues

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9976
2019-09-18 18:04:52 +02:00
Mike Blumenkrantz 43af39ac69 efl_ui/image_zoomable: include header for internal pan
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9975
2019-09-18 18:04:50 +02:00
Mike Blumenkrantz 304dac6570 elm/scrollable: unbreak this header
this is a legacy header, it can't include any unified api types

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9974
2019-09-18 18:04:49 +02:00
Mike Blumenkrantz 9ec38bff90 build: add include guards for a couple elm headers
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9973
2019-09-18 18:04:47 +02:00
Mike Blumenkrantz ffac7f076f efl_ui/win: fix prototype decls for eo api versions of autodel
this is still pretty broken, but at least the headers aren't

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9972
2019-09-18 18:04:46 +02:00
Mike Blumenkrantz b9b925fba5 build: use legacy api in places where legacy should be used
these seem to randomly have been changed when they shouldn't have

also install elm_clock_eo.h since this is required but we didn't install it

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9971
2019-09-18 18:04:45 +02:00
Xavi Artigas 6e3bfa6bb1 TABS 2019-09-18 16:05:17 +02:00
Hermet Park 8d910e7bee canvas vg: code refactoring.
remove unnecessary reference cooridnates.
2019-09-18 21:52:54 +09:00
Wonki Kim 726b0ee920 elm_config: fix to check if eet_open fails
Summary: this patch adds a guard block in case of failure of eet_open().

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9987
2019-09-18 08:21:02 -04:00
Marcel Hollerbach 5a7102a589 Revert "efl_io_model: remove custom counting logic"
Summary:
This reverts commit d794a0d3d9.

This breaks Efl_Io_Model.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10003
2019-09-18 08:21:00 -04:00
Xavi Artigas f4290cb330 Efl.ThreadIO: replace empty implementations with @pure_virtual
The implementation for call and call_async are empty on this mixin.
I think removing them and marking them as @pure_virtual in the EO file is cleaner.
2019-09-18 13:43:30 +02:00
Xavi Artigas 214ced325f docs: Update Efl.Threadio and Efl.Appthread 2019-09-18 13:43:30 +02:00
Woochanlee 04df2327bd docs: Fill-in docs for Efl.Threadio, Efl.Appthread
Reviewers: myoungwoon, segfaultxavi

Subscribers: stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10000
2019-09-18 13:43:30 +02:00
Mike Blumenkrantz fa03eb44f7 efl/image: merge preload and unload events into preload_state,changed
Summary:
this reduces the necessary event subscriptions for cases where someone
is likely to want to listen on these events

ref T7875
Depends on D9996

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7875

Differential Revision: https://phab.enlightenment.org/D9997
2019-09-18 10:08:58 +02:00
Mike Blumenkrantz 28f589d795 efl/image: rename "border" -> "border_insets"
Summary:
this is a clearer name which makes the intent of the API more obvious at
a glance

ref T7875

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7875

Differential Revision: https://phab.enlightenment.org/D9996
2019-09-18 10:08:56 +02:00
Bruno da Silva Belo 1f767c81e5 eolian-mono: add compiler's complaint methods.
Summary: New default checkers breaks mono's test.

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9999
2019-09-17 19:37:30 -03:00
Cedric Bail e448110439 elementary: properly shutdown and cleanup Efl.Ui.Position_Manager.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9946
2019-09-17 10:24:14 -07:00
Cedric Bail 3656996df4 elementary: fix double eina_value_free in Efl.Ui.Homogeneous_Model.property.set
Model do not own the Eina_Value when it is set on them. They can make a copy of it,
but shouldn't free it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9945
2019-09-17 10:24:12 -07:00
Cedric Bail 9b618316c4 ecore: remove unused variable after code migration. Fix warning.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9944
2019-09-17 10:24:10 -07:00
Cedric Bail 94e9363649 eina: prevent leak of Eina_Value internal allocation.
eina_value_copy assume the given Eina_Value as target is not initialized
when it copy the source in it. In eina_value_reference_copy we were initialising
before calling eina_value_copy which would then override and leak the internal
pointer no fault of the users.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9943
2019-09-17 10:24:08 -07:00
Cedric Bail 93a382085b eina: turn on Eina_Mempool tests for OneBig too.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9940
2019-09-17 10:24:07 -07:00
Cedric Bail 4ab4b59757 eina: fix free support in eina OneBig mempool.
We use an Eina_Trash to store freed pointer, which require the item size
to be at least the size of a pointer. There wasn't any test suite enable
for OneBig mempool and we never used free on a small item size...

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9939
2019-09-17 10:24:05 -07:00
Cedric Bail 2064112684 eina: fix eina_mempool_from to not report pointer that have never been allocated as allocated.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9938
2019-09-17 10:24:03 -07:00
Marcel Hollerbach cce67afc38 efl_ui_widget_part_bg: improve docs
Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9990
2019-09-17 16:04:04 +02:00
Marcel Hollerbach 8a029d5c04 efl_ui_image: implement missing API
the API calls have not been implemented, this revision implements these
APIs as redirects to the image if those are a edje object.

Normally this should be a calling the legacy edje API. However, this is
here really hard as imitating the correct callback behaviour is hard.
And the correct behaviour with the eina value type is also just leading
to copying the implementation from edje. So in order to keep the amount
of code low here, this just uses the efl-api to redirect the requests.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9989
2019-09-17 15:45:26 +02:00
Chris Michael 2d9fd1a827 tests/ecore_wl2: Fix resource leak
Small patch to fix resource leak pointed out by Coverity

Fixes Coverity CID1403883
2019-09-17 09:35:43 -04:00
Chris Michael 21c7f95d08 efl_ui_caching_factory: Fix resource leaks
Small patch to fix resource leaks pointed out by Coverity

Fixes Coverity CID1404762
2019-09-17 09:23:46 -04:00
Chris Michael bb7353b450 efl_ui_widget_factory: Fix resource leaks
Small patch to fix resource leaks pointed out by Coverity

Fixes Coverity CID1404766
2019-09-17 09:21:15 -04:00
junsu choi 3932c68382 evas_vg_load_svg: Change strtod to eina_convert_strtod_c for locale issue
Summary:
Crash depending on LOCALE when using strtod.
So change to eina_convert_strtod_c which is made to prevent strtod problem.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9988
2019-09-17 21:18:47 +09:00
Daniel Kolesa 4a60495d91 eolian: skip funcs from beta-classes when unimplemented-checking 2019-09-17 13:48:44 +02:00
Marcel Hollerbach ff0aabd345 efl_ui_multi_selectable: remove SINGLE_ALWAYS
this should get a better solution later on. There is also no real usage
for that.

ref T7922

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9985
2019-09-17 13:46:05 +02:00
Daniel Kolesa 81441638db eolian: enable unimplemented function errors for stable API 2019-09-17 12:36:50 +02:00
Carsten Haitzler f87ba12a76 evas - in case handle scope data being null
apbbb saw something that had this scope return null ... so handel -
but it shouldn't get this far... can't figure out why though.
2019-09-17 11:31:15 +01:00
Marcel Hollerbach b0f293d37c efl_ui_table: protect again negative tests
Summary:
these tests are checking for errors, which is fine, we should expect a
error here
Depends on D9983

Reviewers: SanghyeonLee, cedric, zmike, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9984
2019-09-17 12:26:01 +02:00
Marcel Hollerbach 4452b921df efl_ui_box: make this test expect the errors it is triggering
Summary:
there are checks for testing that something is not possible, which is
fine. However, the errors should be expected

Reviewers: SanghyeonLee, cedric, zmike, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9983
2019-09-17 12:25:59 +02:00
Xavi Artigas 4673120a19 mono-docs: Allow embedding examples in XML format
XML examples must provide their own <example> and <code> tags, and these
tags MUST be escaped: \< \> \" etc.
This is more inconvenient, but it allows adding explanatory text outside
the <code> and inside the <example>.
Examples are first looked for in XML format, and if not found, in CS format.
2019-09-17 12:02:19 +02:00
Hermet Park 24ed24a9db ector: refer exact stride size for jumping buffer lines.
Actual buffer and used width size could be different,
stride must be referred.
2019-09-17 12:03:25 +09:00
Mike Blumenkrantz 9dc7643f93 Revert "cxx: Fix some warnings from -Wextra"
This reverts commit bdb8505f3b.

more review pending on this
2019-09-16 14:19:43 -04:00
Lauro Moura bdb8505f3b cxx: Fix some warnings from -Wextra
Summary:
- As we don't have C++17's [[fallthrough]], rely on GCC'd detection
  of fallthrough comments.

See https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/

- Add some missing copy assignment operators as reported by
  -Wdeprecated-copy

- Cast a Eina_Bool/bool narrowing conversion

Reviewers: zmike, brunobelo, felipealmeida

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9934
2019-09-16 12:41:37 -04:00
Xavi Artigas 22b329d2f4 efl_ui_format: fix some more harmless Coverity warnings
1403023 Unchecked return value
1403024 Unchecked return value
1403026 Unchecked return value

If the eina value conversion fails the default value (0) will be used, which is already a good default.
ERRs have been added so the developer has a hint of what is happening.
2019-09-16 18:10:09 +02:00
Marcel Hollerbach 57c7e59850 efl_ui_focus_manager_calc: fix resource leaks
this fixes CIDs 1396965 & 1396984
2019-09-16 17:57:20 +02:00
Xavi Artigas 416b01ee74 docs: Update Efl.Ui.Box_Stack docs 2019-09-16 17:45:04 +02:00
Marcel Hollerbach b4976fdf2c efl_ui_*: fix dereferencing of possible NULL values
this fixes CID 1404763 & 1404751 & 1403904
2019-09-16 17:28:31 +02:00
Xavi Artigas 22f3cc0574 docs: Clarify event emission in Image.Gfx.Image_Load_Controller
And minor formatting.
2019-09-16 16:53:16 +02:00