platform/upstream/efl.git
5 years agoefl.canvas.group: group_member_del -> group_member_remove
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

5 years agoefl.canvas.group: add events for member add/remove
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

5 years agoTODO: efl_ui_layout_base
Wonki Kim [Fri, 8 Mar 2019 08:45:52 +0000 (17:45 +0900)]
TODO: efl_ui_layout_base

Change-Id: I83d2af460b76cf815ad759eb99dcc2bc97cb7424

5 years agoefl.ui.layout: split into abstract and real class
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

5 years agoefl.file: improve api a bit
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

5 years agoelua tests: fix distcheck
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.

5 years agomeson: edje: setup edje_codegen for cross-builds as well
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

5 years agoevas vg: don't access a dangling pointer.
Hermet Park [Wed, 27 Feb 2019 10:13:18 +0000 (19:13 +0900)]
evas vg: don't access a dangling pointer.

5 years agoedje: free more data descriptors on shutdown
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

5 years agoexamples/graphical: Mark unused parameters with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:40:07 +0000 (14:40 -0500)]
examples/graphical: Mark unused parameters with EINA_UNUSED

5 years agoexamples/camera_light: 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

5 years agoexamples/sphere_hunter: 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

5 years agoexamples/performance: 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

5 years agoexamples/location_example: 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

5 years agoexamples/efl_canvas_layout_text: Mark unused parameter 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

5 years agoexamples/efl_ui_list: Mark unused parameters 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

5 years agoexamples/filemvc: Mark unused parameter with EINA_UNUSED
Christopher Michael [Tue, 26 Feb 2019 19:13:53 +0000 (14:13 -0500)]
examples/filemvc: Mark unused parameter with EINA_UNUSED

5 years agoefl_ui_scroller: apply handling focus.
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

5 years agoefl-csharp: Use proper conversion functions.
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

5 years agoefl-csharp: Remove legacy Evas bindings.
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

5 years agoeina: free vpath hash on shutdown
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

5 years agoelm_map: Make more robust elm_map
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

5 years agoTODO: squash into efl.gfx.entity: combine show/hide events into visibility,changed
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

5 years agoefl.gfx.entity: combine show/hide events into visibility,changed
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

5 years agoefl.canvas.scene: rename "smart" methods to "group" methods
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

5 years agoeolian: validate betaness
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

5 years agobuild: test eo fallback add
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

5 years agoefl.content: add event for when content is changed containing content as data
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

5 years agodocs: Assorted fixes
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

5 years agoefl_ui_scrollable: add step size property
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

5 years agoefl_ui_widget: remove focused_item
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

5 years agoefl_canvas_object: remove event_freeze
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

5 years agoefl_canvas_object: make is_frame_object internal
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

5 years agoefl_canvas_object: get rid of event_animation set/get
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

5 years agoefl_ui_stack: use direct events instead of event_animation
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

5 years agoefl_ui_slack: remove explicit animation removings
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

5 years agoefl_ui_stack: refactor code
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

5 years agoelm textpath: reduces differences between actual pos and modified pos
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

5 years agoefl_ui_widget: remove "moved" event
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

5 years agoefl: improve Efl.Container_Model test to have proper lifecycle.
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

5 years agoeio: enforce proper lifecycle for all Efl.Io_Model and fix discovered lifecycle bugs.
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

5 years agoecore: enforce proper lifecycle for all Efl.Composite_Model children.
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

5 years agoefl-csharp: Add support for containers in events.
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

5 years agoexamples: fixes after Efl.Gfx.Hint rename
Xavi Artigas [Fri, 22 Feb 2019 16:42:31 +0000 (17:42 +0100)]
examples: fixes after Efl.Gfx.Hint rename

5 years agoexamples: Fix cxx examples compilation.
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

5 years agoeolian: introduce typed slice types
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

5 years agodocs: Polish focus documentation.
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

5 years agobuild: fix macos build
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

5 years agoevas_callbacks: redo legacy smart object events for recently changed event names
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

5 years agoapi: add bool data to efl.io.reader/writer 'changed' events
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

5 years agoefl_ui_focus_object: rename API
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

5 years agoefl_ui_focus_object: rename events
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

5 years agoefl_ui_focus_composition: remove unneeded API
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

5 years agoefl_ui_focus_object: improve doc
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

5 years agoefl_ui_focus_manager: improve docs
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

5 years agoefl_ui_focus_manager: rename focus,changed
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

5 years agogitignore: add .eo.legacy.c
Daniel Kolesa [Fri, 22 Feb 2019 12:07:48 +0000 (13:07 +0100)]
gitignore: add .eo.legacy.c

5 years agoelementary meson: fix script typo.
Hermet Park [Fri, 22 Feb 2019 11:16:09 +0000 (20:16 +0900)]
elementary meson: fix script typo.

5 years agoefl_ui_table: fix correct parameters of table_rows_get
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

5 years agotest_ui_relative_layout: fix maybe-uninitialized warning
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.

5 years agoTODO: squash into efl_ui_relative_layout: introduce new relative container
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

5 years agoefl_ui_relative_layout: introduce new relative container
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

5 years agomono-examples: Fix after Efl.Gfx.Hints rename
Xavi Artigas [Fri, 22 Feb 2019 10:12:03 +0000 (11:12 +0100)]
mono-examples: Fix after Efl.Gfx.Hints rename

5 years agoRevert "eo: fix to remove unreachable loop"
Jaehyun Cho [Fri, 22 Feb 2019 10:01:09 +0000 (19:01 +0900)]
Revert "eo: fix to remove unreachable loop"

This reverts commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b.

5 years agoapi: efl.gfx.stack stack,changed -> stacking,changed
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

5 years agoapi: rename efl.gfx.entity geometry events and add geometry data to those events
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

5 years agoeo: fix to remove unreachable loop
Jaehyun Cho [Mon, 18 Feb 2019 04:24:27 +0000 (13:24 +0900)]
eo: fix to remove unreachable loop

5 years agoelementary: make sure Efl.Ui.Average_Model stay alive until the end of a property_set.
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

5 years agoecore: add infrastructure to make it easy to enforce Efl.Loop_Model children lifecycle.
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

5 years agoefl: make sure that the expected lifecycle of the children of Efl.Model is well descr...
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

5 years agointerfaces: move animator,tick to efl.canvas.object and remove efl.animator
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

5 years agotests: fix elua test with autotools
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.

5 years agoapi: remove efl.ui.cursor interface
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

5 years agoeo: add tests for efl_property_reflection_exist.
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

5 years agoeo: add efl_property_reflection_exist to be able to know if a property is available...
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

5 years agoeo: return an Eina_Value error when a get for a property is not implemented.
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

5 years agoeo: make reflection setter able to return an error code in case of failure.
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

5 years agoefl.canvas.scene: clean up pointer_position property
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

5 years agoefl.canvas.scene: add 'seat_default' property
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

5 years agointerfaces: move pointer_iterate method efl.canvas.scene -> efl.ui.win
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

5 years agoelementary_test: fix meson build after renaming efl_gfx_map to mapping
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

5 years agoRename Efl.Gfx.Map -> Efl.Gfx.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

5 years agoefl_loop: remove message_handler_get
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

5 years agoefl_loop_timer: resolve fixups of documentation
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

5 years agoefl_loop / efl_app: make efl_app / efl_loop abstract
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

5 years agoTODO: squash into api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
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

5 years agoapi: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
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

5 years agoapi: efl.gfx.size_hints -> efl.gfx.hints
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

5 years agoefl.gfx.stack: restack -> stack,changed
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

5 years agoefl.screen: add screen_scale_factor property
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

5 years agoefl.screen: add screen_size_in_mm property
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

5 years agoefl.screen: screen_size -> screen_size_in_pixels
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

5 years agoeolian gen: generate a separate file with legacy implementations
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.

5 years agotests: add chdir in elua to prevent incorrect file accesses
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.

5 years agotests: Include ecore test dir for generated eo.h
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

5 years agoeolian gen: emit doxygen references to constants in uppercase
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.

5 years agoecore drm2 - work around kms/drm bug seemingly when no flip event comes
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

5 years agomeson: add the elementary examples to the build
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:53 +0000 (19:11 +0100)]
meson: add the elementary examples to the build

5 years agolayout_property_bind: make it work again
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:26 +0000 (19:11 +0100)]
layout_property_bind: make it work again

5 years agoefl_ui_theme: fix example
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:05 +0000 (19:11 +0100)]
efl_ui_theme: fix example