Lauro Moura [Tue, 26 Feb 2019 23:21:15 +0000 (23:21 +0000)]
eina: Declare eina_config.h install dir
Meson from git complains if `install` is set but not `install_dir`.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D8036
Stefan Schmidt [Wed, 27 Feb 2019 10:26:26 +0000 (11:26 +0100)]
build: ensure we remove the newly generated *eo.legacy.c files for distcheck
Eolain now generates extra files for the C legacy implementations and
distcheck has trouble with them not being removed by the build system.
Going to handle lists of them in all the different makefiles (elm,
ecore, emotion, etc) would be a lot extra work. Thus I will just make
sure the get removed during our clean-local rule.
Given 1.22 is the last release we will use autotools for I think this is
a fair compromise to get this fixed.
Differential Revision: https://phab.enlightenment.org/D8052
Carsten Haitzler (Rasterman) [Wed, 27 Feb 2019 15:49:19 +0000 (15:49 +0000)]
evas gl - swap with damage - look for KHR extn string too
as per shortlog - look for KHR in addition to EXT for swap with damage
region extn detection.
Lauro Moura [Thu, 28 Feb 2019 10:47:37 +0000 (11:47 +0100)]
eolian: Fix struct database registration.
Summary:
It was mistankely swapping regular and inlist structs when registering
after parsing, causing functions like eolian_state_structs_by_file_get
to return wrong data, breaking C# bindings.
Also added a simple test.
Reviewers: q66, bu5hm4n, zmike, cedric, felipealmeida, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8047
Stefan Schmidt [Thu, 28 Feb 2019 09:08:23 +0000 (10:08 +0100)]
eina: safe guard against macro expension error in EINA_*_EQ
Make sure we are use doubel also also in things like EINA_DBL_EQ(a-b, x+y).
Thanks to Vicent for reporting and Xavi for giving me context.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8049
Daniel Kolesa [Thu, 28 Feb 2019 00:08:27 +0000 (01:08 +0100)]
eolian: properly skip the struct keyword in inlist structs
This was missed as a part of an incorrect merge.
Daniel Kolesa [Tue, 29 Jan 2019 14:46:05 +0000 (15:46 +0100)]
eolian: add support for inlist structs
This adds support for inlist structs, a special type of struct
that can only be used with inlists. This differs from regular
structs in a couple ways:
1) They are stored separately. Just like structs, enums, aliases
have their own storage, so do inlist structs.
2) They can't be @extern, nor they can be opaque.
3) They are their own type of typedecl.
4) When they contain only one field, this field must be a value
type always, cannot be a pointer.
Like regular structs, they can have arbitrary fields, and they
can have a pre-set free function via @free().
In C, the inlist structs will be generated exactly like ordinary
ones, except they will have EINA_INLIST before the first field.
Other binding generators can deal with them as they wish, for
example to provide high level interfaces to them.
This does not yet do the plumbing necessary to hook these into
the type system, nor it adds generator support.
@feature
Mike Blumenkrantz [Wed, 27 Feb 2019 21:04:07 +0000 (16:04 -0500)]
tests: add test for elm_layout_text_set
Summary: ref T6931
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T6931
Differential Revision: https://phab.enlightenment.org/D7603
Mike Blumenkrantz [Wed, 27 Feb 2019 21:03:50 +0000 (16:03 -0500)]
efl_ui_layout: check part existence in text_set
Summary: fix T6931
Reviewers: bu5hm4n, cedric, segfaultxavi
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T6931
Differential Revision: https://phab.enlightenment.org/D7888
Yeongjong Lee [Tue, 12 Feb 2019 11:55:11 +0000 (11:55 +0000)]
efl_container: remove content_remove
Most of classes implements Efl.Container.content_remove are just calling "unpack"
except of "Efl.Canvas.Layout" and "Efl.Ui.Layout".
This patch remove the asymmetrical API and add content_remove API of
"Efl.Canvas.Layout" and "Efl.Ui.Layout" that child can be remove without efl_part
APIs.
ref T7576
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7913
Wonki Kim [Thu, 21 Feb 2019 09:50:18 +0000 (09:50 +0000)]
meson: modify install pathes for modules of ecore_buffer
there are differences between meson and autotools.
autotools installs them under ${libdir}/ecore_buffer/modules/module/version/ as module.so
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7837
Marcel Hollerbach [Wed, 27 Feb 2019 19:57:03 +0000 (14:57 -0500)]
efl_canvas_layout_part_external: implement missing functions
Summary:
this just prints a error, manipulating the content here is not
permitted. As it is created by edje externals, which are owned by edje.
ref T5719
Depends on D7757
Reviewers: cedric, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: q66, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5719
Differential Revision: https://phab.enlightenment.org/D7759
Yeongjong Lee [Wed, 27 Feb 2019 19:45:34 +0000 (14:45 -0500)]
test/ui_table: add unittest for Efl.Ui.Table
Summary:
{
F3627728}
{
F3627729}
ref T5487
Depends on D7892
Test Plan: make check
Reviewers: jpeg, Jaehyun_Cho, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5487
Differential Revision: https://phab.enlightenment.org/D7840
Yeongjong Lee [Wed, 27 Feb 2019 19:45:32 +0000 (14:45 -0500)]
ui.table: implement homogeneous mode
Summary:
Homogeneous mode means children are of the same weight and of the same min size
which is determined by maximum min size of cells.
Depends on D7841
Reviewers: Jaehyun_Cho, jpeg, zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7892
Yeongjong Lee [Wed, 27 Feb 2019 19:45:27 +0000 (14:45 -0500)]
efl_ui_table: refactor layout_update
Summary:
There are three reasons to refactor layout_update of Efl.Ui.Table.
=== 1. Inconsistency of hint behavior. ===
Some hint property is often not respected. for example, hint_min is ignored in
Table when it is used with hint_max even if hint_weight is 0. hint_aspect is
always ignored in Table.
The ambiguous behavior make it hard to layout widgets in container. of course,
we documented 'it's just a hint that should be used whenever appropriate.' but i
don't think it means that 'hint API is sometimes respected and we also don't
know when that API is respected.'. at least there is rule for consistent
behavior and we should be able to explain why a widget is located here and
why some hint property is ignored.
So, i'll suggest priority of hint property. this refactoring support following
priority.
1) HintMin
2) HintMin + HintAspect
3) HintMargin
4) HintMax
5) HintAspect
6) HintWeight, HintFill
7) HintAlign
ref T5487
Please check with unit test D7840
=== 2. To Enhance usability. ===
Efl.Ui.Table is using homogeneous mode of evas_table which have same columns,
rows size. but i think a table can generally change columns, rows size and
we can provide homogeneous mode option.(D7892)
In this patch
- table columns(rows) min size is decided by maximum size among its cells
width(height) min size.
- table columns(rows) weight is decided by maximum weight among its cells
horizontal(vertical) weight.
Also, pack_align is implemented. it is used if no item has a weight.
=== 3. To remove internal evas_table. ===
This is low priority work. however, i guess is is necessary for lightweight
container widget. there are two size_hint callback to adjust table size and
efl_canvas_group_calculate is called twice when it is resized.
This patch is first step to remove internal evas_table.
Test Plan:
make check
elementary_test -to 'efl.ui.table'
Reviewers: jpeg, Jaehyun_Cho, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5487
Differential Revision: https://phab.enlightenment.org/D7841
Wonki Kim [Fri, 8 Mar 2019 08:04:26 +0000 (17:04 +0900)]
TODO: squash into efl_ui_widget: child_can_focus is not needed anymore
Change-Id: Iab04ccecd1c4903996c2db71fefecf939ae2c4ee
Marcel Hollerbach [Wed, 27 Feb 2019 19:01:16 +0000 (14:01 -0500)]
efl_ui_widget: child_can_focus is not needed anymore
summary_:
pd->logical.child_count is a counter where focusable children do
register themself in the parent if they can be focused or not. With this
we don't need the updating of this internal flag nor the flag itself anymore.
Depends on D8027
Reviewers: woohyun, cedric, Jaehyun_Cho, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8030
Marcel Hollerbach [Wed, 27 Feb 2019 19:01:05 +0000 (14:01 -0500)]
efl_ui_widget: make interest_region_mode legacy
summary_:
interest_region_mode makes it possible, that interest_region_get either
returns WIDGET or ITEM coordinates. However, efl-api does not have
items. That means, this can be legacy.
ref T7553
Depends on D8026
Reviewers: woohyun, cedric, Jaehyun_Cho, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7553
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8027
Wonki Kim [Fri, 8 Mar 2019 08:17:19 +0000 (17:17 +0900)]
disable a override method for tizen only
this aptch disables a override method for tizen only.
because the method has been removed.
Change-Id: I07043f7b789c6c17a5e3d46b365226a48ef3352d
Marcel Hollerbach [Wed, 27 Feb 2019 19:00:52 +0000 (14:00 -0500)]
efl_ui_widget: move show_region to legacy
summary_:
show_region is simular to focus_region. However, it builds up on setting
custom functions per setter to the widget, which are then executed. This
can be solved better by overwriting the interest_region getter, and
using a function like elm_widget_focus_region_show (This function still
needs to find its place in the eo api).
ref T7553
Depends on D8025
Reviewers: woohyun, cedric, Jaehyun_Cho, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7553
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8026
Wonki Kim [Fri, 8 Mar 2019 08:44:45 +0000 (17:44 +0900)]
TODO: focus_highlight_style
Change-Id: I8d6cb29d29e8ee61905582b8499f35fa962ef36c
Marcel Hollerbach [Wed, 27 Feb 2019 19:00:39 +0000 (14:00 -0500)]
efl_ui_widget: move focus_highlight to the window
summary_:
the widget implementation just redirected calls from efl_ui_widget to
efl_ui_win. Which makes the properties unncessesary on the widget. This
commit moves them now to the window.
The legacy implementation of the window can now go away, as this is
taken care of by eolian directly.
ref T7553
Depends on D8017
Reviewers: woohyun
Reviewed By: woohyun
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7553
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8025
Mike Blumenkrantz [Wed, 27 Feb 2019 19:00:14 +0000 (14:00 -0500)]
efl_ui_widget: redo disable handling
before the disable property was a bit weird. Setting something to
disabled=true will disable all children of the widget that is changed.
However, only the update function of the children will get the false flag,
not the flag itself. Which means, to query the real disabled state, we
need to walk up the parent relations.
With this patch, every change to disabled will go through the disabled
property, which mean, a implementor can just overwrite the disabled
property, and adjust its internal state there. Just be carefull, a set
to disabled=true still might result in disabled=false. This makes the
function on_disable_update unneccesary. Which also cleans up the
Efl.Ui.Widget class.
ref T7553
Depends on D8016
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8017
Marcel Hollerbach [Wed, 27 Feb 2019 18:52:37 +0000 (13:52 -0500)]
elementary: remove unnecessessary disabled setter
summary_:
those objects are disabled anyways, because disabled is applied to the
objects in a tree. Which means, subobjects of a widget are disabled
whenever the widget is disabled anyways.
Depends on D8015
Reviewers: cedric, zmike, segfaultxavi, stefan_schmidt
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8016
Marcel Hollerbach [Wed, 27 Feb 2019 18:29:08 +0000 (13:29 -0500)]
efl_ui_widget: introduce a new API
Summary:
this new API can be used to get a easy to use iterator, to iterate
through all the children of a specific widget.
ref T7553
Reviewers: stefan_schmidt, zmike, cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: woohyun, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7553
Differential Revision: https://phab.enlightenment.org/D8014
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:37 +0000 (13:17 -0500)]
efl.canvas.object: clip -> clipper && clipees -> clipped_objects
Summary:
also clipees_has -> clipped_objects_count
ref T7555
Depends on D8039
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7555
Differential Revision: https://phab.enlightenment.org/D8040
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:35 +0000 (13:17 -0500)]
efl.file_save: rework save flags
Summary:
instead of passing a string which requires reading docs to know which
arbitrary string key=value sets can be passed, use an extensible struct
which contains more easily referenced values
ref T7672
Depends on D8035
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7672
Differential Revision: https://phab.enlightenment.org/D8039
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:28 +0000 (13:17 -0500)]
efl.canvas.group: group_member_del -> group_member_remove
Summary:
api naming in efl uses 'del' when deleting an object and 'remove' when
removing something from an object
ref T7554
Depends on D8034
Reviewers: segfaultxavi, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7554
Differential Revision: https://phab.enlightenment.org/D8035
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:22 +0000 (13:17 -0500)]
efl.canvas.group: add events for member add/remove
Summary:
ref T7554
Depends on D8032
Reviewers: segfaultxavi, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7554
Differential Revision: https://phab.enlightenment.org/D8034
Wonki Kim [Fri, 8 Mar 2019 08:45:52 +0000 (17:45 +0900)]
TODO: efl_ui_layout_base
Change-Id: I83d2af460b76cf815ad759eb99dcc2bc97cb7424
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:16 +0000 (13:17 -0500)]
efl.ui.layout: split into abstract and real class
Summary:
most widgets inherit from layout to provide implementations for common
functionality such as content/text/theme get+set.
one of the things that layout also brings into its inheritance hierarchy
is efl.file and implementations for its methods. this becomes a problem
when the widget which inherits layout also wants to provide implementations
for efl.file methods (e.g., entry, which uses efl.file to load text files)
as it will result in calling all of the efl.file implementations up the
chain.
in the case of entry, this could result in the 'file' property eventually being
set to the current theme file in use by the entry's layout object, and then the
entry will attempt to autosave its content to the default theme file when it is
destroyed, corrupting the theme file and breaking everything
to solve this:
* efl.ui.layout remains an instantiable class which implements efl.file
* efl.ui.layout_base is the abstract class which provides all the methods of layout
but should be inherited by all widgets which want to implement efl.file functionality
Depends on D8018
Reviewers: bu5hm4n, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Differential Revision: https://phab.enlightenment.org/D8032
Mike Blumenkrantz [Wed, 27 Feb 2019 18:17:09 +0000 (13:17 -0500)]
efl.file: improve api a bit
Summary:
the previous implementation/api had a number of issues:
* "file" property contained both "file" and "key" values
- also performed file loading operation
* "load_error" property which was specific to image objects
* no methods for controlling file loading/unloading
this patch attempts the following changes:
* split "file" property into "file" and "key" properties
- also remove "key" from existing "mmap" property
* remove "load_error"
* directly return error codes from operations
* add "load" and "unload" methods for directly controlling load state
* add implicit file loading if file/mmap is set during construction
* rewrite all efl.file implementations to move file loading into load() method
* rewrite all usage of efl.file api based on these changes
* add C extension functions to mimic previous behavior
ref T7577
Reviewers: segfaultxavi, bu5hm4n, cedric
Reviewed By: segfaultxavi
Subscribers: vitor.sousa, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7577
Differential Revision: https://phab.enlightenment.org/D8018
Daniel Kolesa [Wed, 27 Feb 2019 17:38:43 +0000 (18:38 +0100)]
elua tests: fix distcheck
The elua tests need to create a temporary file, so chdir'ing
first will not work, as the tests source dir is immutable during
distcheck. Therefore, only chdir once absolutely necessary, and
before that make sure that all file accesses are to temporary
ones.
Stefan Schmidt [Fri, 15 Feb 2019 09:55:38 +0000 (10:55 +0100)]
meson: edje: setup edje_codegen for cross-builds as well
We had it all setup for edje_cc, but missed edje_codegen which is used
in the examples.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7963
Hermet Park [Wed, 27 Feb 2019 10:13:18 +0000 (19:13 +0900)]
evas vg: don't access a dangling pointer.
Mike Blumenkrantz [Tue, 26 Feb 2019 19:49:53 +0000 (14:49 -0500)]
edje: free more data descriptors on shutdown
Summary: fix some leaks
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8022
Christopher Michael [Tue, 26 Feb 2019 19:40:07 +0000 (14:40 -0500)]
examples/graphical: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:39:02 +0000 (14:39 -0500)]
examples/camera_light: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:37:07 +0000 (14:37 -0500)]
examples/sphere_hunter: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:35:47 +0000 (14:35 -0500)]
examples/performance: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:28:22 +0000 (14:28 -0500)]
examples/location_example: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:25:00 +0000 (14:25 -0500)]
examples/efl_canvas_layout_text: Mark unused parameter with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:16:58 +0000 (14:16 -0500)]
examples/efl_ui_list: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:13:53 +0000 (14:13 -0500)]
examples/filemvc: Mark unused parameter with EINA_UNUSED
Hosang Kim [Tue, 26 Feb 2019 07:52:54 +0000 (16:52 +0900)]
efl_ui_scroller: apply handling focus.
Summary: Focus manager is applied to process key events.
Test Plan: elementary_test -> efl.ui.scroller
Reviewers: SanghyeonLee, YOhoho, marcelhollerbach, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: woohyun, Jaehyun_Cho, bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7776
Lauro Moura [Mon, 25 Feb 2019 22:23:04 +0000 (19:23 -0300)]
efl-csharp: Use proper conversion functions.
Summary:
PtrToStringAuto may switch between ANSI and UTF16 encodings in a not so
clear way, leading to decoding errors when getting messages from DBus.
Reviewers: vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8023
Lauro Moura [Mon, 25 Feb 2019 22:16:19 +0000 (19:16 -0300)]
efl-csharp: Remove legacy Evas bindings.
Summary: Pave the way to correct beta classes handling.
Reviewers: vitor.sousa, segfaultxavi, bu5hm4n
Reviewed By: vitor.sousa, bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8004
Mike Blumenkrantz [Mon, 25 Feb 2019 22:12:57 +0000 (17:12 -0500)]
eina: free vpath hash on shutdown
Summary: this resolves a considerable number of leaks in unit tests
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8020
Michaël Bouchaud (yoz) [Mon, 25 Feb 2019 19:00:21 +0000 (14:00 -0500)]
elm_map: Make more robust elm_map
Summary:
Make more robust elm_map even if the user wipe is cache directory
or import an already filled tile cache.
@fix T7443
Reviewers: zmike, cedric
Reviewed By: zmike
Subscribers: thierry1970, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7443
Differential Revision: https://phab.enlightenment.org/D7617
Wonki Kim [Fri, 8 Mar 2019 02:31:46 +0000 (11:31 +0900)]
TODO: squash into efl.gfx.entity: combine show/hide events into visibility,changed
Change-Id: Iceefc5283d41258824a8fe969c032546aeec06e1
Mike Blumenkrantz [Mon, 25 Feb 2019 18:59:49 +0000 (13:59 -0500)]
efl.gfx.entity: combine show/hide events into visibility,changed
Summary:
this requires some internal hackery to preserve legacy compatibility
and correctly translate the single new event into two legacy events
ref T7558
Depends on D8018
Reviewers: segfaultxavi, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: bu5hm4n, segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7558
Differential Revision: https://phab.enlightenment.org/D8019
Mike Blumenkrantz [Mon, 25 Feb 2019 18:59:18 +0000 (13:59 -0500)]
efl.canvas.scene: rename "smart" methods to "group" methods
Summary:
"group" is the name used for interfaces api, so be consistent by using
that naming here too
ref T7584
Depends on D8019
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7584
Differential Revision: https://phab.enlightenment.org/D8021
Marcel Hollerbach [Mon, 25 Feb 2019 12:59:51 +0000 (13:59 +0100)]
eolian: validate betaness
Summary:
if there is a none beta class, then this class should not depend on beta
classes in parameters / event types / return types, parent inherits.
This adds this validation, so we can start to slowly to unbeta more and
more classes.
Reviewers: q66, zmike, cedric, segfaultxavi
Reviewed By: q66
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7999
Marcel Hollerbach [Mon, 25 Feb 2019 12:59:13 +0000 (07:59 -0500)]
build: test eo fallback add
Summary:
this enables tests with the fallback implementation of EO.
Depends on D7924
Reviewers: stefan_schmidt, cedric, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7931
Mike Blumenkrantz [Mon, 25 Feb 2019 12:45:43 +0000 (07:45 -0500)]
efl.content: add event for when content is changed containing content as data
Summary: ref T7588
Reviewers: cedric, segfaultxavi
Reviewed By: cedric, segfaultxavi
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7588
Differential Revision: https://phab.enlightenment.org/D7907
Xavi Artigas [Mon, 25 Feb 2019 12:33:25 +0000 (07:33 -0500)]
docs: Assorted fixes
Summary:
- Fix multiple doxygen-style references:
Doxygen docs refer to types with #foo whereas Eolian uses @foo.
In lots of places the old Doxygen docs have been just copied into eo files
without properly translating references.
- Add some missing descriptions:
Empty doc tags like [[]] should not be used. Please try at least to provide
a single-line comment, and we can improve that later.
There are still lots of empty doc tags, and their authors will be notified.
Test Plan: Only docs change. make doc and DocFX still work.
Reviewers: zmike, cedric, bu5hm4n
Reviewed By: zmike
Subscribers: #reviewers, foo, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7976
Hosang Kim [Mon, 25 Feb 2019 12:22:43 +0000 (21:22 +0900)]
efl_ui_scrollable: add step size property
Summary: The step size property determines amount of scroll by arrow key event.
Test Plan: elementary_test -> efl.ui.scroller
Reviewers: bu5hm4n, woohyun, cedric
Reviewed By: bu5hm4n, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7916
Marcel Hollerbach [Sun, 24 Feb 2019 09:57:01 +0000 (10:57 +0100)]
efl_ui_widget: remove focused_item
focused_item is only used in item containers. This API is now moved into
a widget item container, which *can* have a focused item.
ref T7553
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8013
Marcel Hollerbach [Sat, 23 Feb 2019 14:32:02 +0000 (15:32 +0100)]
efl_canvas_object: remove event_freeze
this is now done via Efl.Object.event_freeze / Efl.Object.event_thaw.
ref T7555
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8011
Marcel Hollerbach [Sat, 23 Feb 2019 13:22:11 +0000 (14:22 +0100)]
efl_canvas_object: make is_frame_object internal
it was decided that this property should be internal. So now it is
internal.
ref T7555
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8010
Marcel Hollerbach [Sat, 23 Feb 2019 12:21:40 +0000 (13:21 +0100)]
efl_canvas_object: get rid of event_animation set/get
the API is a little bit problematic. The API takes events as an
parameter. However, only the hide and show events can be used, because
move for example is not intercepted, which leads to a situation that you
cannot attach a translation animation to the event. Further more,
handling the animations directory instead of pipeing them through events
seems to be a little bit easier as the case study of the previous events
have shown. Further more, we should never ever overwrite the
callback_call function of a eo base object, those methods are an
incredible hotpath, by the time we would have 1-2 animations on a
object, the event submission would be significetly slowned down.
ref T7555
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8009
Marcel Hollerbach [Sat, 23 Feb 2019 11:57:13 +0000 (12:57 +0100)]
efl_ui_stack: use direct events instead of event_animation
event_animation of efl_canvas_object, is a little problem, we need to
explictly turn it off, to do a visual state manipulation, just to attach
the animation again. Further more, the animation objects are stored in
static fields, which are not bound to the object. Which means, when two
Efl.Ui.Stack objects are running in parrallel, the animation will look a
little bit wacky, since the object is detached before the animation is
ended.
ref T7555
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8008
Marcel Hollerbach [Sat, 23 Feb 2019 10:05:18 +0000 (11:05 +0100)]
efl_ui_slack: remove explicit animation removings
it appears that this is a bit unnessesery. Setting an animator to NULL
only causes the animation to be stopped. However, in all cases of these
removed calls, a new animator is setted anyways in one of the next
calls. Which means, the old animator is going to be stopped and removed
anyways. Thus these calls are unnessesery
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8007
Marcel Hollerbach [Fri, 22 Feb 2019 17:52:48 +0000 (18:52 +0100)]
efl_ui_stack: refactor code
there has been a lot of duplications, they are removed now.
The 5 new APIs are there to either show[1] or hide[2] content without animations, show[4] or hide[5] content with animations. The last new function[3] is there to announce the events after content has been removed.
1: _show_content_without_anim
2: _hide_content_without_anim
3: _announce_hiding
4:_show_content_with_anim
5:_hide_content_with_anim
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8006
Youngbok Shin [Mon, 25 Feb 2019 06:26:25 +0000 (15:26 +0900)]
elm textpath: reduces differences between actual pos and modified pos
Summary:
In a previous patch, textpath was modified to use differences between
prev/next values to decide next position. Actually, it improved rendering
quality. But, the modified position could have a big difference from actual position.
It caused a distortion problem.
So, this patch was made for reducing that differences.
@fix
Test Plan:
I'll attach some screenshots of before/after.
1. Modify text in text_ui_textpath.c to see distortion of text. ex) "―――――――――――――――――――..."
2. Build and install.
3. Run
"ELM_SCALE=0.8 ELM_ACCEL=gl elementary_test -to efl.ui.textpath"
Reviewers: Hermet, raster, cedric
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7418
WooHyun Jung [Mon, 25 Feb 2019 04:13:21 +0000 (13:13 +0900)]
efl_ui_widget: remove "moved" event
Summary:
This "moved" event is only used by elm_gengrid now.
And it's not something common for all widget classes,
because the event is giving notification when the legacy
item is reordered.
ref T7553
Test Plan: elementary_test "GenGrid"
Reviewers: bu5hm4n, YOhoho, Jaehyun_Cho
Reviewed By: bu5hm4n, YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7553
Differential Revision: https://phab.enlightenment.org/D8005
Cedric BAIL [Sat, 23 Feb 2019 13:58:07 +0000 (08:58 -0500)]
efl: improve Efl.Container_Model test to have proper lifecycle.
Summary: Depends on D7865
Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7528
Differential Revision: https://phab.enlightenment.org/D7866
Cedric BAIL [Sat, 23 Feb 2019 13:57:19 +0000 (08:57 -0500)]
eio: enforce proper lifecycle for all Efl.Io_Model and fix discovered lifecycle bugs.
Summary:
This make sure that the object returned by children_slice_get are properly
destroyed when the refcount drop to only the parent holding a reference on
it. This make it clear that the user of the api can rely on efl_ref/efl_unref
to actually manage its use of the returned object.
Additionnaly we are cleaning up the created object that we are using to build our own
request inside the Efl.Io.Model and avoid internal leak.
Depends on D7864
Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7528
Differential Revision: https://phab.enlightenment.org/D7865
Cedric BAIL [Sat, 23 Feb 2019 13:57:10 +0000 (08:57 -0500)]
ecore: enforce proper lifecycle for all Efl.Composite_Model children.
Summary:
This make sure that the object returned by children_slice_get are properly
destroyed when the refcount drop to only the parent holding a reference on
it. This make it clear that the user of the api can rely on efl_ref/efl_unref
to actually manage its use of the returned object.
Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n
Reviewed By: segfaultxavi, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7528
Differential Revision: https://phab.enlightenment.org/D7864
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