Lauro Moura [Fri, 22 Feb 2019 17:02:26 +0000 (14:02 -0300)]
efl-csharp: Add support for containers in events.
Summary: Using a simple wrapper as event parameters are not ownable.
Reviewers: vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7981
Xavi Artigas [Fri, 22 Feb 2019 16:42:31 +0000 (17:42 +0100)]
examples: fixes after Efl.Gfx.Hint rename
Lauro Moura [Fri, 22 Feb 2019 16:09:18 +0000 (17:09 +0100)]
examples: Fix cxx examples compilation.
Summary: After Efl.Gfx.Hint changes.
Reviewers: segfaultxavi, vitor.sousa
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8003
Daniel Kolesa [Thu, 21 Feb 2019 14:24:35 +0000 (15:24 +0100)]
eolian: introduce typed slice types
Summary:
This adds two new complex types, slice<T> and rw_slice<T>. This
is necessary to make the type useful to bindings, as Eina_Slice
on its own says nothing about what it's carrying and that prevents
useful code from being generated outside of C.
@feature
Reviewers: bu5hm4n, segfaultxavi, lauromoura, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7980
Marcel Hollerbach [Fri, 22 Feb 2019 09:41:38 +0000 (10:41 +0100)]
docs: Polish focus documentation.
Summary: Depends on D7994
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7998
Marcel Hollerbach [Fri, 22 Feb 2019 13:53:19 +0000 (08:53 -0500)]
build: fix macos build
Summary:
it the .pc file of luajit carries linker flags that causes compilation
fails on macos, thus we need to split up the .pc file into our own
dependency, and use it with causion
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7995
Mike Blumenkrantz [Fri, 22 Feb 2019 13:50:07 +0000 (08:50 -0500)]
evas_callbacks: redo legacy smart object events for recently changed event names
Summary:
this makes it more obvious which events are legacy and makes them easier to remove
in the future
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8002
Mike Blumenkrantz [Fri, 22 Feb 2019 13:50:02 +0000 (08:50 -0500)]
api: add bool data to efl.io.reader/writer 'changed' events
Summary:
changed events should always be triggered with the accompanying changed
data to reduce function calls
ref T7600, T7599
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7600, T7599
Differential Revision: https://phab.enlightenment.org/D7984
Marcel Hollerbach [Thu, 21 Feb 2019 20:46:32 +0000 (21:46 +0100)]
efl_ui_focus_object: rename API
these API names have been considered a better choice.
ref T7571
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7994
Marcel Hollerbach [Thu, 21 Feb 2019 20:35:34 +0000 (21:35 +0100)]
efl_ui_focus_object: rename events
the event now math the pattern of <property-name>,changed.
ref T7571
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7989
Marcel Hollerbach [Sun, 17 Feb 2019 17:22:13 +0000 (18:22 +0100)]
efl_ui_focus_composition: remove unneeded API
the purpose of this API can be improved, and the values there can be
guessed.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7993
Marcel Hollerbach [Sun, 17 Feb 2019 17:08:42 +0000 (18:08 +0100)]
efl_ui_focus_object: improve doc
ref T7571
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7992
Marcel Hollerbach [Sun, 17 Feb 2019 16:56:32 +0000 (17:56 +0100)]
efl_ui_focus_manager: improve docs
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7991
Wonki Kim [Fri, 8 Mar 2019 01:25:05 +0000 (10:25 +0900)]
efl_ui_focus_manager: rename focus,changed
focus,changed is already used in efl_ui_focus_object, which makes sense
there. However, here we listen for the property focus_manager, thus its
renamed to focus_manager,changed.
ref T7571
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7990
Change-Id: If0efbe092fd05a953655ed58afec7a5702e4db86
Daniel Kolesa [Fri, 22 Feb 2019 12:07:48 +0000 (13:07 +0100)]
gitignore: add .eo.legacy.c
Hermet Park [Fri, 22 Feb 2019 11:16:09 +0000 (20:16 +0900)]
elementary meson: fix script typo.
Yeongjong Lee [Fri, 22 Feb 2019 11:05:39 +0000 (20:05 +0900)]
efl_ui_table: fix correct parameters of table_rows_get
Test Plan:
efl_pack_table_size_set(ui_table, 3, 4);
efl_pack_table_size_get(ui_table, &cols, &rows);
Check (cols, rows) are (3, 4)
Reviewers: Jaehyun_Cho, zmike, jpeg, bu5hm4n
Reviewed By: Jaehyun_Cho, bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7838
Jaehyun Cho [Fri, 22 Feb 2019 11:00:14 +0000 (20:00 +0900)]
test_ui_relative_layout: fix maybe-uninitialized warning
Warning, which 'text' may be used uninitialized, is fixed.
Wonki Kim [Fri, 8 Mar 2019 01:25:50 +0000 (10:25 +0900)]
TODO: squash into efl_ui_relative_layout: introduce new relative container
Change-Id: I48b38f1b625034fba797a4c50ef2591594071463
Yeongjong Lee [Fri, 22 Feb 2019 10:47:47 +0000 (19:47 +0900)]
efl_ui_relative_layout: introduce new relative container
Summary:
Efl.Ui.Relative_Layout is a container which allows you to position and size with
relation to each other.
it is possible to position and size using relation like edje even though
you don't know a edc script.
Position and size can be changed dynamically using widget APIs.
@feature
ref T5487
Test Plan:
make check
examples
elementary_test -to 'efl.ui.relative_layout'
Reviewers: cedric, Hermet, Jaehyun_Cho, zmike, bu5hm4n, jpeg, segfaultxavi
Reviewed By: Jaehyun_Cho, segfaultxavi
Subscribers: segfaultxavi, kimcinoo
Tags: #efl
Maniphest Tasks: T5487
Differential Revision: https://phab.enlightenment.org/D7524
Xavi Artigas [Fri, 22 Feb 2019 10:12:03 +0000 (11:12 +0100)]
mono-examples: Fix after Efl.Gfx.Hints rename
Jaehyun Cho [Fri, 22 Feb 2019 10:01:09 +0000 (19:01 +0900)]
Revert "eo: fix to remove unreachable loop"
This reverts commit
f02b82a49e12c0d02bb3f438046e1ceb93d1643b.
Mike Blumenkrantz [Thu, 21 Feb 2019 19:09:41 +0000 (14:09 -0500)]
api: efl.gfx.stack stack,changed -> stacking,changed
slight tweak to make this more consistent with meaning and docs
ref T7560
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7988
Wonki Kim [Fri, 8 Mar 2019 01:01:41 +0000 (10:01 +0900)]
api: rename efl.gfx.entity geometry events and add geometry data to those events
the convention for event naming is to use $property,changed where possible
and to always emit related data with the event to reduce function calls
ref T7558
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7987
Change-Id: I71bb7e7a70349bd6d797263724fe185b435b345a
Jaehyun Cho [Mon, 18 Feb 2019 04:24:27 +0000 (13:24 +0900)]
eo: fix to remove unreachable loop
Cedric BAIL [Tue, 29 Jan 2019 19:57:24 +0000 (11:57 -0800)]
elementary: make sure Efl.Ui.Average_Model stay alive until the end of a property_set.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7863
Cedric BAIL [Tue, 29 Jan 2019 19:56:34 +0000 (11:56 -0800)]
ecore: add infrastructure to make it easy to enforce Efl.Loop_Model children lifecycle.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7862
Cedric BAIL [Tue, 29 Jan 2019 19:54:55 +0000 (11:54 -0800)]
efl: make sure that the expected lifecycle of the children of Efl.Model is well described.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7861
Mike Blumenkrantz [Thu, 21 Feb 2019 20:50:35 +0000 (21:50 +0100)]
interfaces: move animator,tick to efl.canvas.object and remove efl.animator
Summary:
this interface only contains a single event which is implemented only by the
canvas object
ref T7561
Reviewers: cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7561
Differential Revision: https://phab.enlightenment.org/D7905
Daniel Kolesa [Thu, 21 Feb 2019 20:51:55 +0000 (21:51 +0100)]
tests: fix elua test with autotools
For one, TESTS_SRC_DIR was missing even though it's present in
meson. For two, top_builddir/top_srcdir are relative paths, which
means the chdir added earlier would result in a wrong apps dir
being pointed to; fix that by making all paths passed into the
tests source absolute.
Mike Blumenkrantz [Fri, 8 Feb 2019 19:36:05 +0000 (14:36 -0500)]
api: remove efl.ui.cursor interface
this existed only to provide the methods for Efl.Ui.Layout_Part and fill
in implementation for some legacy functions which should probably not be
supported going forward
the corresponding methods have been merged into efl_ui_widget and the
legacy functions no longer use eolian-generated implementations
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7899
Cedric BAIL [Tue, 12 Feb 2019 02:21:39 +0000 (18:21 -0800)]
eo: add tests for efl_property_reflection_exist.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7938
Cedric BAIL [Tue, 12 Feb 2019 02:20:51 +0000 (18:20 -0800)]
eo: add efl_property_reflection_exist to be able to know if a property is available on an object.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7937
Cedric BAIL [Tue, 12 Feb 2019 01:39:00 +0000 (17:39 -0800)]
eo: return an Eina_Value error when a get for a property is not implemented.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7936
Cedric BAIL [Tue, 12 Feb 2019 00:31:52 +0000 (16:31 -0800)]
eo: make reflection setter able to return an error code in case of failure.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7935
Wonki Kim [Thu, 7 Mar 2019 23:45:05 +0000 (08:45 +0900)]
efl.canvas.scene: clean up pointer_position property
this needed to take a seat param (to handle multiseat) and also have a
bool return to indicate whether a pointer device exists for the specified
seat
ref T7584
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7957
Change-Id: Iecaf379a60aeff9c07cee876dd900ac283955e8d
Mike Blumenkrantz [Thu, 14 Feb 2019 19:32:52 +0000 (14:32 -0500)]
efl.canvas.scene: add 'seat_default' property
there seems to be no other way to directly return the default seat object?
ref T7584
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7956
Mike Blumenkrantz [Thu, 14 Feb 2019 18:59:54 +0000 (13:59 -0500)]
interfaces: move pointer_iterate method efl.canvas.scene -> efl.ui.win
this method should probably be merged into a gesture class somewhere,
but it's @beta anyway so shuffling it around to reduce spaghettification
of code is fine for now
ref T7584
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7955
Xavi Artigas [Thu, 21 Feb 2019 18:27:59 +0000 (19:27 +0100)]
elementary_test: fix meson build after renaming efl_gfx_map to mapping
Xavi Artigas [Wed, 20 Feb 2019 20:32:41 +0000 (21:32 +0100)]
Rename Efl.Gfx.Map -> Efl.Gfx.Mapping
Summary:
For clarity, since there are all kinds of maps, including a navigation map
widget.
Also, corrected some misspellings.
Test Plan: make && make check && make examples all work
Reviewers: cedric, zmike, bu5hm4n
Reviewed By: cedric
Subscribers: Jaehyun_Cho, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7564
Differential Revision: https://phab.enlightenment.org/D7974
Marcel Hollerbach [Thu, 21 Feb 2019 17:56:00 +0000 (18:56 +0100)]
efl_loop: remove message_handler_get
it appears that this could be emulated with other functions. Plus the
function had the limitation, that no constructors could be used.
ref T7597
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7985
Marcel Hollerbach [Thu, 21 Feb 2019 14:56:16 +0000 (15:56 +0100)]
efl_loop_timer: resolve fixups of documentation
this resolves a few FIXMEs regarding documentation.
Overwriting functions does not help that much, since the documentation
will not be displayed in a IDE, so the documentation of these functions
are moved to the class documentation, which is assosiated with the
object.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7983
Marcel Hollerbach [Thu, 21 Feb 2019 14:33:55 +0000 (15:33 +0100)]
efl_loop / efl_app: make efl_app / efl_loop abstract
this is done inorder to ensure that noone ever thinks of creating theire
own app/loop object.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7982
Wonki Kim [Thu, 7 Mar 2019 23:45:25 +0000 (08:45 +0900)]
TODO: squash into api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
Change-Id: Ie5a630aaac994dde913fdc9d8ac99a219405ed8f
Mike Blumenkrantz [Thu, 21 Feb 2019 17:46:36 +0000 (18:46 +0100)]
api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
Summary:
this is consistent with other "changed" event naming
ref T7563
Depends on D7977
Reviewers: segfaultxavi, cedric, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7563
Differential Revision: https://phab.enlightenment.org/D7978
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:45 +0000 (18:19 +0100)]
api: efl.gfx.size_hints -> efl.gfx.hints
Summary:
these hints are not strictly size-related, so renaming them is more consistent
with their actual function
ref T7563
Depends on D7968
Reviewers: segfaultxavi, cedric, bu5hm4n
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7563
Differential Revision: https://phab.enlightenment.org/D7977
Wonki Kim [Thu, 7 Mar 2019 12:19:52 +0000 (21:19 +0900)]
efl.gfx.stack: restack -> stack,changed
Summary:
ref T7560
Depends on D7967
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7560
Differential Revision: https://phab.enlightenment.org/D7968
Change-Id: Ifcc911edc42c2974b82f095796bec7162188a5e4
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:39 +0000 (18:19 +0100)]
efl.screen: add screen_scale_factor property
Summary:
ref T7590
Depends on D7966
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7590
Differential Revision: https://phab.enlightenment.org/D7967
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:35 +0000 (18:19 +0100)]
efl.screen: add screen_size_in_mm property
Summary:
ref T7590
Depends on D7965
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7590
Differential Revision: https://phab.enlightenment.org/D7966
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:33 +0000 (18:19 +0100)]
efl.screen: screen_size -> screen_size_in_pixels
Summary:
also improve docs slightly
ref T7590
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7590
Differential Revision: https://phab.enlightenment.org/D7965
Daniel Kolesa [Thu, 21 Feb 2019 15:52:40 +0000 (16:52 +0100)]
eolian gen: generate a separate file with legacy implementations
If legacy implementations are generated, eolian_gen now creates
a separate file for them and includes it. The file name convention
for that is <.c file name without ext>.legacy.<.c file name ext>
or <.c file name>.legacy.c if it has no ext, so for example
foo.eo.c becomes foo.eo.legacy.c and foo becomes foo.legacy.c.
The file is generated assuming there are any legacy APIs contained
inside the .eo file.
Daniel Kolesa [Thu, 21 Feb 2019 14:04:31 +0000 (15:04 +0100)]
tests: add chdir in elua to prevent incorrect file accesses
Elua is testing API that tries to read files by path, prevent
unintentional reads from current working directory by changing
that directory.
Lauro Moura [Thu, 21 Feb 2019 12:10:27 +0000 (13:10 +0100)]
tests: Include ecore test dir for generated eo.h
Summary: Was causing builds off-tree failing check-build
Test Plan: build tests
Reviewers: cedric, bu5hm4n, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7971
Daniel Kolesa [Sun, 17 Feb 2019 20:33:54 +0000 (21:33 +0100)]
eolian gen: emit doxygen references to constants in uppercase
Since these are made into macros in C, they get uppercase names.
Reflect this in documentation generation.
Fixes T7691.
Carsten Haitzler (Rasterman) [Sun, 17 Feb 2019 13:33:25 +0000 (13:33 +0000)]
ecore drm2 - work around kms/drm bug seemingly when no flip event comes
so we request a flip so we can do vsync events. the flip event never
comes. i am not sure why it never comes, but we ask and nothing
arrives, and this basically halts all rendering in wayland compositor
mode as we are syncing rendering to vsync (of course). put in a
timeout of 0.05s (50ms) to try ask again if the event never comes and
log the error. this is a pretty useful workaround becauswe having your
entire display freeze is a ... bad thing.
@fix
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:53 +0000 (19:11 +0100)]
meson: add the elementary examples to the build
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:26 +0000 (19:11 +0100)]
layout_property_bind: make it work again
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:05 +0000 (19:11 +0100)]
efl_ui_theme: fix example
Marcel Hollerbach [Wed, 20 Feb 2019 13:16:50 +0000 (14:16 +0100)]
efl_app: improve docs
ref T7596
Marcel Hollerbach [Wed, 20 Feb 2019 13:14:13 +0000 (14:14 +0100)]
efl_loop: document and annotate efl_loop_time correctly
this adds over the documentation of the legacy header.
Additionally set is defined as protected.
ref T7597
Marcel Hollerbach [Wed, 20 Feb 2019 12:12:37 +0000 (13:12 +0100)]
efl_loop: declare this class function to the object
we pass the object as first argument, so everything is just like object
function, thus we can declare it like this.
ref T7597
Marcel Hollerbach [Mon, 18 Feb 2019 14:09:27 +0000 (15:09 +0100)]
eo: add API for querying the class type
a class can be a interface mixin abstract or regular.
This adds a API for getting this information
Xavi Artigas [Tue, 19 Feb 2019 12:29:09 +0000 (13:29 +0100)]
mono-docs: Add <value> tags to properties
eolian_mono now generates properties (which simply wrap the setter and getter
methods when both ara available), but they were missing docs, because
properties require a special <value> tag instead of <returns> or <param> which
we are already implementing.
This commit adds <value> tags only if docs can be retrieved from the setter or
the getter methods.
Marcel Hollerbach [Wed, 20 Feb 2019 15:52:16 +0000 (16:52 +0100)]
ci: host binaries have moved to a new path
this fixes ci
Yeongjong Lee [Thu, 21 Feb 2019 05:17:18 +0000 (14:17 +0900)]
evas vg: fix correct increment for tflags
Summary:
There is warning.
```
lib/evas/vg/evas_vg_cache.c: In function ‘_vg_file_save’:
lib/evas/vg/evas_vg_cache.c:185:30: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
tflags = alloca(len) + 1;
```
Previous code of
a8d5f275c78 is intended to increase flags length.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7972
Hermet Park [Mon, 18 Feb 2019 06:09:44 +0000 (15:09 +0900)]
evas vg: check for OOM when calloc()
Hermet Park [Mon, 18 Feb 2019 05:47:14 +0000 (14:47 +0900)]
evas vg: use strncpy() instead of strcpy() for better security.
Daniel Kolesa [Sun, 17 Feb 2019 01:20:35 +0000 (02:20 +0100)]
eolian: disallow freefuncs on typedefs
Now the only kind of typedecl that is allowed a freefunc is
a struct. This simplifies the overall logic and makes freefuncs
a bit more predictable.
Daniel Kolesa [Sun, 17 Feb 2019 01:11:02 +0000 (02:11 +0100)]
eolian: restrict usage of ptr() to directly used types
That means, it can only now be used on parameters and struct
fields, never aliased within typedefs. This simplifies the
logic so that we don't have ptr metadata buried several layers
deep.
Carsten Haitzler (Rasterman) [Sat, 16 Feb 2019 22:03:08 +0000 (22:03 +0000)]
examples - add examples for efl exe/thread
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 19:52:50 +0000 (19:52 +0000)]
efl cmdline use simpler stringshare type to not be redundant
Daniel Kolesa [Fri, 15 Feb 2019 16:15:36 +0000 (17:15 +0100)]
eolian gen: initial support for reflection api
This adds support for generating reflection functions for
properties. This support is basic for now, supporting only
primitive types and string(shares), it will be expanded later
as required.
@feature
Mike Blumenkrantz [Fri, 15 Feb 2019 15:20:58 +0000 (16:20 +0100)]
efl.canvas.scene: improve class docs
Summary:
these were some pretty efl docs, and I've tried to make them more accessible
ref T7584
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7584
Differential Revision: https://phab.enlightenment.org/D7954
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 12:27:21 +0000 (12:27 +0000)]
efl commandline - make strings also owned as well as array
this seems like it should be the right one. i don't have sample tests
etc. to run - the mono suite succeeds... so...
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 10:38:09 +0000 (10:38 +0000)]
ecore audio - mark it all as beta
this api needs a re-think in terms of being portablke/back-enmd
agnostic. it shouldnt expose windows vs pulse etc. and shouldnt be
ecore_XXX for sure.
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 01:19:03 +0000 (01:19 +0000)]
fix efl exe/thread/appthread to work again after seemingly bitrotting
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 01:16:49 +0000 (01:16 +0000)]
fix args handling in cmdline class to not be broken
first use consistent ownership (stringshare the strings) and then also
properly dup and pass them and not free null arrays and so on where
they are used
Carsten Haitzler (Rasterman) [Thu, 14 Feb 2019 11:28:23 +0000 (11:28 +0000)]
cmdline iface - fix to consume input array AND strings totally
strings often enough are generated e.g. via "%s/%s" or "%i" or similar
etc. ... i have poitned to examples, so move to make all strings
consistently stringshared, fix a bug added to the efl thread code
where it accessed and freed array even tho array was consumed (but not
strings) in the set, and the code used free to consume not
stringshare_del. fix other code and tests to match
EXCTLY the kind of bugs and mistakes with this kind of design that i
said would happen more often just happened...
Carsten Haitzler (Rasterman) [Thu, 14 Feb 2019 11:27:27 +0000 (11:27 +0000)]
env obj - fixx implementation to use a shared object
so this chnage totally threww away all the thread safety and locking
without doing the simple thing of using a shared obcj for the global
env obj to ensure brute force safety at least. fix.
Xavi Artigas [Thu, 14 Feb 2019 20:41:23 +0000 (15:41 -0500)]
Move Efl.Observable_Tuple into efl_observable.eo
Summary:
And out of efl_types.eot
Makes sense, right?
Test Plan: Everything builds
Reviewers: cedric, zmike, bu5hm4n
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7953
Xavi Artigas [Thu, 14 Feb 2019 20:33:55 +0000 (15:33 -0500)]
Remove warnings when building without EFL_BETA_API_SUPPORT
Summary:
efl_alive_get should be a method defined in efl_object.eo, protected by
EFL_BETA_API_SUPPORT while that class is still @beta.
Instead, it is defined in Eo.h, so the BETA guard has to be defined manually.
This was causing some unsighly warnings during "make" and "make check"
(implicit declaration of function ‘efl_invalidating_get’)
Test Plan: make && make check do not throw that warning anymore
Reviewers: zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7958
Marcel Hollerbach [Thu, 14 Feb 2019 19:10:21 +0000 (20:10 +0100)]
efl_core_command_line: a +1 was forgotten in order to account \0
this forgotten and the allocated string buffer was too small.
This fixes a valgrind warnings
Xavi Artigas [Thu, 14 Feb 2019 15:24:56 +0000 (16:24 +0100)]
Stop defining EFL_BETA_API_SUPPORT in Efl_Core.h and Efl_Ui.h
Summary:
Including these headers does no longer mean that you want to use BETA API.
More and more methods in these libs will come out of BETA and they will
be usable without requiring EFL_BETA_API_SUPPORT to be defined by the app.
This concludes this patchset. Now apps can chose to define EFL_BETA_API_SUPPORT
or not, and they will have access to the requested API subset, but both options
are available.
Depends on D7951
Fixes T7692
Reviewers: zmike, bu5hm4n, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7692
Differential Revision: https://phab.enlightenment.org/D7952
Wonki Kim [Thu, 7 Mar 2019 12:10:28 +0000 (21:10 +0900)]
Mark BETA classes individually
Summary:
Instead of surrounding all the #include "*.eo.h" lines in Efl.h
with #ifdef EFL_BETA_API_SUPPORT, include these files unconditionally, but mark
all classes as @beta in the eo files.
This will allow taking them out of beta one by one as we deem them stable enough.
Otherwise, the current procedure involves moving the #include line out of the
ifdef block, which is cumbersome and messes include order.
Depends on D7950
Fixes T7692
Test Plan: Nothing changes
Reviewers: zmike, bu5hm4n, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7692
Differential Revision: https://phab.enlightenment.org/D7951
Change-Id: Ifc2ccd97807c33e2e4927c38c14d494567d3bbca
Xavi Artigas [Thu, 14 Feb 2019 16:09:23 +0000 (17:09 +0100)]
Mark EFL_MAIN and EFL_MAIN_EX macros as stable
They no longer require EFL_BETA_API_SUPPORT to be defined.
Xavi Artigas [Thu, 14 Feb 2019 15:11:32 +0000 (16:11 +0100)]
Mark efl_types.eot as stable
Summary:
This allows using Efl_Version without EFL_BETA_API_SUPPORT, which in turn
allows failing when trying to use restricted BETA API with a more meaningful
error message.
The error will now tell you which restricted API you are trying to use, instead
of Efl_Version symbol not found.
Fixes T7696
Depends on D7932
Test Plan:
make && make check && make examples continue working.
Building a BETA example while removing the EFL_BETA_API_SUPPORT define should
tell you which BETA API you tried to use.
Reviewers: zmike, bu5hm4n, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7696
Differential Revision: https://phab.enlightenment.org/D7948
Marcel Hollerbach [Thu, 14 Feb 2019 14:24:45 +0000 (15:24 +0100)]
eo: declare Eo stable
Summary:
This declares the main part of Eo.h as stable, except the domain api for
now. We don't have a user of that API for now, nor do we have bindings
supporting threads, lets wait with this bit until we have bindings for
this, so we can test it.
Further more, this does not stabilize the composition API of
efl_object.eo.h, reason for this is, that we might want to overthink the
solution we have with events, as we might want to forward events per
default.
Depends on D7931
Reviewers: stefan_schmidt, cedric, zmike, segfaultxavi
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7932
Xavi Artigas [Thu, 14 Feb 2019 14:22:01 +0000 (15:22 +0100)]
docs: Typo
Xavi Artigas [Thu, 14 Feb 2019 13:57:22 +0000 (08:57 -0500)]
Efl.Gfx.Stack: Rename raise and lower
Summary:
to move_to_top and move_to_bottom since the previous names seemed to indicate
that the object only moved one step instead of all the way through the top
or the bottom of the stack.
Ref T7560
Test Plan: make && make check && make examples work as before
Reviewers: cedric, zmike
Reviewed By: zmike
Subscribers: kimcinoo, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7560
Differential Revision: https://phab.enlightenment.org/D7934
Xavi Artigas [Thu, 14 Feb 2019 12:20:28 +0000 (13:20 +0100)]
docs: Clarify docs for Efl.Screen.
Marcel Hollerbach [Wed, 13 Feb 2019 12:48:24 +0000 (13:48 +0100)]
build: enable eolian_gen bootstrapping for cross compile
this enables travis to build eolian_gen before cross compiling in mingw.
This is done in order to make eolian_gen patches easier on CI.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7930
Marcel Hollerbach [Wed, 13 Feb 2019 12:42:55 +0000 (13:42 +0100)]
build: add a option to bootstrap eolian
this is here in order to make cross compiling easier, and we can just
provide the *all the time changing* eolian_gen binary.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7929
Marcel Hollerbach [Wed, 13 Feb 2019 11:36:12 +0000 (12:36 +0100)]
build: fix autotools release tarbal generation
this file was forgotten when initially writing this patch.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7928
Stefan Schmidt [Thu, 14 Feb 2019 09:40:13 +0000 (10:40 +0100)]
tests: guard eina bool variable to avoid compilation failure on windows
The timeout_reached bool is only used in this function when HAVE_FORK is
available. This is not the case on windows. Eina.h would only be
included with fork available so the Eina_Bool type causes a compilation
fail on windows. Guarding them as the other parts of the function using
it solves the problem.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7947
Carsten Haitzler (Rasterman) [Thu, 14 Feb 2019 09:31:02 +0000 (09:31 +0000)]
ecore wl2 - remove pointless sntrcpys causing warnings
again pointless:
strcpy(dest, x); -> len - strlen(x); strncpy(dest, x, len);
code put in causing new warnings. this kind of "get rid of strcpy" is
actua;;y dangerous as it's more likely a mistake is made along the way
and bugs are added. strcpy's should be reviewed and if ok - left
as-is. doing otherwise makes the code worse, not better and raises
risk. it now also produces warnings at compile time which creates
noise we just shouldnt' have.
Jaeun Choi [Wed, 13 Feb 2019 12:22:59 +0000 (21:22 +0900)]
efl_page_transition_scroll: avoid explicit null dereference
Yeongjong Lee [Thu, 14 Feb 2019 03:57:13 +0000 (12:57 +0900)]
efl_pack: move layout,updated event to Efl.Pack_Layout
Summary:
'layout,updated' event is more suitable for Efl.Pack_Layout which have
layout_update method.
Test Plan: make
Reviewers: segfaultxavi, cedric, Jaehyun_Cho
Reviewed By: segfaultxavi, Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7906
Xavi Artigas [Wed, 13 Feb 2019 17:12:59 +0000 (18:12 +0100)]
eolian: allow tagging complete classes as BETA
Summary:
This allows using the @beta tag in classes, like this:
class @beta Efl.Foo extends Efl.Bar { ... }
This will surround the class definition in the .eo.h file with an
EFL_BETA_API_SUPPORT #define, equivalent to tag every method and
event with @beta.
Test Plan: Nothing changes since no class uses this tag yet
Reviewers: q66, bu5hm4n, zmike
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7933
Xavi Artigas [Wed, 13 Feb 2019 10:58:33 +0000 (11:58 +0100)]
Remove individual class BETA guards
Summary:
Eolian adds a per-class BETA guard (like EFL_UI_WIN_BETA) to any method tagged
as @beta. This means that any app (and the EFL code) wanting to use BETA features
has to enable them class by class, which is cumbersome.
This commit replaces the individual guards with the global EFL_BETA_API_SUPPORT
guard, so apps only need to define one symbol to access BETA features.
Any usage of the per-class guards has been removed from the EFL code and examples.
When building EFL the global guard is defined by configure, so all EFL methods
already have access to BETA API.
Efl_Core.h and Efl_Ui.h no longer define EFL_BETA_API_SUPPORT. Apps wanting to
use BETA API have to define this symbol before including any EFL header
(It has been added to the examples requiring it).
Test Plan:
make && make check && make examples still work, but there's a lot less #defines
in the code
Reviewers: zmike, bu5hm4n, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T6788
Differential Revision: https://phab.enlightenment.org/D7924
Thierry [Wed, 13 Feb 2019 16:28:01 +0000 (11:28 -0500)]
ecore-x: only modify _ecore_key_grabs when key is toggled
A New entry is added to _ecore_key_grabs even when no key was grabbed.
Summary: The key grab and ungrab functions should return which keycode was used. Proposed by pascal@ordissimo.com
Reviewers: zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7923