platform/upstream/efl.git
8 years agoelementary: clean code and tests of order_lookup
Andy Williams [Mon, 25 Apr 2016 18:30:23 +0000 (19:30 +0100)]
elementary: clean code and tests of order_lookup

User configuration has replaced the code based setting of lookup

8 years agoelementary: Replace icon lookup_order with icon_theme.
Andy Williams [Mon, 25 Apr 2016 15:57:13 +0000 (16:57 +0100)]
elementary: Replace icon lookup_order with icon_theme.

The definition of where to load icons is now up to the user
(through the configuration of the icon_theme config value)
rather than being defined in code per-app or even per-component

8 years agoelementary: Add user setting for icon theme
Andy Williams [Mon, 25 Apr 2016 13:56:55 +0000 (14:56 +0100)]
elementary: Add user setting for icon theme

Beginning of the icon lookup rework.
The library will now store user preference for
the icon theme to use.

8 years agoGenlist: cache mechanism is broken again!
Dave Andreoli [Sun, 24 Apr 2016 09:46:45 +0000 (11:46 +0200)]
Genlist: cache mechanism is broken again!

added a new test to show the issue

8 years agoeo base - optimize memory by extending extension memory
Carsten Haitzler (Rasterman) [Sun, 24 Apr 2016 05:38:02 +0000 (14:38 +0900)]
eo base - optimize memory by extending extension memory

so geneirc data, wrefs, comments and id's are not that common so put
them all into their own memory segment that's allocated separately to
the core object so we only use this memory when needed. we already had
an extension section anyway so it's not new - just using it now for
more of the rarer bits of data. 2 more pointers gone from most objects
anyway and now extension code handling is a bit cleaner.

8 years agoeo - class table - move to mmaped memory if possible and alloc chunks
Carsten Haitzler (Rasterman) [Sun, 24 Apr 2016 03:00:37 +0000 (12:00 +0900)]
eo - class table - move to mmaped memory if possible and alloc chunks

so memory for class id -> ptrs is mallocs. this means it likely will
be next to other memory malloced. which means overrunning memory
someone mallocs could walk into the class table and corrupt it. we put
eo ids in mmaped regions to avoid this if possible in case of buggy
code. let's do it for classes too.

this also now allocs in larger chunks. for mmap its in page chunks
(which can hold either 1024 or 512 classes depending on 32 or 64bit).
reallocs still work if mmap is not there and we do them in chunks of
128 classes (it seems that we start at about 70 or so classes atm when
elm_test starts and it grows to ~100 or let's do 128 as that's pretty
much our base as a power of 2 and we now dont realloc much).

8 years agofix efreet/file monitor stringshare optimization
Carsten Haitzler (Rasterman) [Sat, 23 Apr 2016 14:45:28 +0000 (23:45 +0900)]
fix efreet/file monitor stringshare optimization

fixes e4d815dc48c660a336670ec3cc67e6becbdcacfc that i just put in a
few days back - it's a good idea to copy the string into your buffer
to use it.. not just 0 terminate it. :)

8 years agoevas - legacy evas_object_del - always hide obj regardless of refs
Carsten Haitzler (Rasterman) [Sat, 23 Apr 2016 14:06:13 +0000 (23:06 +0900)]
evas - legacy evas_object_del - always hide obj regardless of refs

if an object iot reffed or not hide on del. it should have been this
way before eo. eoifications i think messed a few things up.

this does bring up an issue... in eo we have no way to explicitly do
stuff on eo_del regardless of references at the time. this needs to be
solved.

@fix

8 years agoefreetd - reduce memory usage by using stringshare much more
Carsten Haitzler (Rasterman) [Fri, 22 Apr 2016 03:03:25 +0000 (12:03 +0900)]
efreetd - reduce memory usage by using stringshare much more

lots of long paths for monitoring file paths for icons etc. are in
memory for efreetd. this reduces that memory by sharing them much more.

@optimization

8 years agoedje_edit: fix mempools in group/alias add
Andrii Kroitor [Fri, 22 Apr 2016 23:12:26 +0000 (16:12 -0700)]
edje_edit: fix mempools in group/alias add

Summary: moved mempools adding to separate method to avoid this problem in future

Reviewers: cedric, reutskiy.v.v

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje: add note to the reference of .part_object_get()
Jee-Yong Um [Fri, 22 Apr 2016 22:17:01 +0000 (15:17 -0700)]
edje: add note to the reference of .part_object_get()

Summary:
For EDJE_RP_TYPE_SWALLOW objects (like GROUP, SWALLOW, EXTERNAL),
edje_object_part_object_get() will return NULL or transparent rectangle.
The note is added to have developers use edje_object_part_swallow_get()
in that case.

Reviewers: jpeg, Hermet, cedric

Reviewed By: cedric

Subscribers: Hermet

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoelementary: fix callback array declaration to build on Windows.
Cedric Bail [Fri, 22 Apr 2016 21:15:04 +0000 (14:15 -0700)]
elementary: fix callback array declaration to build on Windows.

8 years agotheme: don't use timed transition for comp focus out glow
Mike Blumenkrantz [Fri, 22 Apr 2016 19:24:21 +0000 (15:24 -0400)]
theme: don't use timed transition for comp focus out glow

8 years agotheme: explicitly hide focus glow for comp menu themes
Mike Blumenkrantz [Fri, 22 Apr 2016 19:14:54 +0000 (15:14 -0400)]
theme: explicitly hide focus glow for comp menu themes

this was getting clipped under x11 and was displaying itself (poorly) on wayland

8 years agoelementary: attempt to fix Windows build.
Cedric Bail [Fri, 22 Apr 2016 18:48:25 +0000 (11:48 -0700)]
elementary: attempt to fix Windows build.

8 years agoeina: implement a memory cache for Eina_Rbtree_Iterator.
Cedric Bail [Fri, 22 Apr 2016 17:58:25 +0000 (10:58 -0700)]
eina: implement a memory cache for Eina_Rbtree_Iterator.

So it seems we are using Eina_Hash_Iterator quite a lot more than before.
This lead to a huge amount of alloc/free of Eina_Rbtree_Iterator that
was noticable in Enlightenment callgrind trace. This patch make it vanish
from the trace :-)

8 years agoecore-wl2: isolate regular selection requests from dnd-specific code
Mike Blumenkrantz [Fri, 22 Apr 2016 15:28:52 +0000 (11:28 -0400)]
ecore-wl2: isolate regular selection requests from dnd-specific code

fix T3455

8 years agoecore-wl2: Fix formatting
Chris Michael [Fri, 22 Apr 2016 13:36:54 +0000 (09:36 -0400)]
ecore-wl2: Fix formatting

NB: No functional changes

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoecore-wl2: Port session recovery protocol to work with Ecore_Wl2
Chris Michael [Fri, 22 Apr 2016 13:32:45 +0000 (09:32 -0400)]
ecore-wl2: Port session recovery protocol to work with Ecore_Wl2

This patch ports the existing session recovery protocol from
Ecore_Wayland so that it is used inside Ecore_Wl2.

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agodocs: ector: improve docs for the abstract renderer base class
Stefan Schmidt [Fri, 22 Apr 2016 10:52:42 +0000 (12:52 +0200)]
docs: ector: improve docs for the abstract renderer base class

Not everything is docuement here yet. Might need some help from people more
familiar with ector.

8 years agodocs: ector: document generic surface mixin
Stefan Schmidt [Fri, 22 Apr 2016 08:53:09 +0000 (10:53 +0200)]
docs: ector: document generic surface mixin

Leave out the params and returns marked with a FIXME.

8 years agodocs: ector: fill gaps in the generic buffer documentation
Stefan Schmidt [Fri, 22 Apr 2016 08:38:36 +0000 (10:38 +0200)]
docs: ector: fill gaps in the generic buffer documentation

Fill various gaps to make this mixin fully documented.

8 years agodocs: ector: document ector cairo surface classes
Stefan Schmidt [Thu, 21 Apr 2016 14:59:41 +0000 (16:59 +0200)]
docs: ector: document ector cairo surface classes

For both the cairo and the cairo software surfaces.

8 years agodocs: eldbus: document property values
Stefan Schmidt [Thu, 21 Apr 2016 13:59:09 +0000 (15:59 +0200)]
docs: eldbus: document property values

Add documentation comments and switch away from the generic "value" name.

8 years agodocs: efl_vpath: separate summary line from rest of description
Stefan Schmidt [Thu, 21 Apr 2016 13:28:17 +0000 (15:28 +0200)]
docs: efl_vpath: separate summary line from rest of description

We use the summary line in various places where such a big block of text looks
ugly. In general we handle it a bit like our commit messages. One line summary
which should stand alone with more details and explanantions following after a
empty line.

8 years agogenlist : arrange focus set in mouse up
SangHyeon Lee [Fri, 22 Apr 2016 07:08:22 +0000 (16:08 +0900)]
genlist : arrange focus set in mouse up

Summary :
when mouse up happens, item must be focused, and after that,
select must be called.
current logic, focus is already called inside the select function
and again focus set is called in the end of mouse_up,
so if user new focused widget inside the select callback,
mouse_up forcely take the focus into the item again.
select callback should comes after the focus callback calls
to work properly.

@fix

8 years agoecore: forgot to handle recursive destruction in a function that actually ask for...
Cedric Bail [Fri, 22 Apr 2016 05:13:02 +0000 (22:13 -0700)]
ecore: forgot to handle recursive destruction in a function that actually ask for destruction.

8 years agoelementary: build edje dependency needed for tests.
Cedric Bail [Fri, 22 Apr 2016 05:03:37 +0000 (22:03 -0700)]
elementary: build edje dependency needed for tests.

8 years agoefl loop: implement loop.get property to return self
Carsten Haitzler (Rasterman) [Fri, 22 Apr 2016 00:36:57 +0000 (09:36 +0900)]
efl loop: implement loop.get property to return self

this means that on loop_get on any obj as long as its a child of a
loop obj... it'll retunr that loop now. it will work. no more code
needed.

we can shortcut this with ui/gfx objects returning the mainloop
singletone.

8 years agoelementary: actually this is part of our make dist and shouldn't be build everytime.
Cedric BAIL [Thu, 21 Apr 2016 23:58:15 +0000 (16:58 -0700)]
elementary: actually this is part of our make dist and shouldn't be build everytime.

8 years agoelementary: use Efl.Loop event directly as an API test.
Cedric BAIL [Thu, 21 Apr 2016 23:26:25 +0000 (16:26 -0700)]
elementary: use Efl.Loop event directly as an API test.

8 years agoecore: rename Ecore_Mainloop to Efl.Loop.
Cedric BAIL [Thu, 21 Apr 2016 22:11:32 +0000 (15:11 -0700)]
ecore: rename Ecore_Mainloop to Efl.Loop.

8 years agoecore: ecore_main_loop_animator_ticked_get seems to be useful only for Ecore_Evas.
Cedric BAIL [Thu, 21 Apr 2016 21:54:02 +0000 (14:54 -0700)]
ecore: ecore_main_loop_animator_ticked_get seems to be useful only for Ecore_Evas.

8 years agoecore: ecore_main_loop_select_func_set is definitively an internal function.
Cedric BAIL [Thu, 21 Apr 2016 21:50:19 +0000 (14:50 -0700)]
ecore: ecore_main_loop_select_func_set is definitively an internal function.

8 years agoecore: move ecore idle exiter to relly on the factorized main loop event.
Cedric BAIL [Thu, 21 Apr 2016 21:44:23 +0000 (14:44 -0700)]
ecore: move ecore idle exiter to relly on the factorized main loop event.

8 years agoecore: remove useless define
Cedric BAIL [Thu, 21 Apr 2016 21:30:58 +0000 (14:30 -0700)]
ecore: remove useless define

8 years agoeolian-cxx: Remove .Base requirement
Felipe Magno de Almeida [Fri, 18 Mar 2016 20:48:47 +0000 (17:48 -0300)]
eolian-cxx: Remove .Base requirement

Remove requirement that class can't have the same name as another
class's namespace.

8 years agoecore: use new refactorized idle infrastructure to make idle enterer rely on mainloop...
Cedric BAIL [Thu, 21 Apr 2016 21:07:16 +0000 (14:07 -0700)]
ecore: use new refactorized idle infrastructure to make idle enterer rely on mainloop events

8 years agoecore: allow for possible factorization of all idler event.
Cedric BAIL [Thu, 21 Apr 2016 20:40:33 +0000 (13:40 -0700)]
ecore: allow for possible factorization of all idler event.

8 years agoecore: move Ecore_Idler to legacy and rely on Eo event restart capability.
Cedric BAIL [Thu, 21 Apr 2016 18:57:14 +0000 (11:57 -0700)]
ecore: move Ecore_Idler to legacy and rely on Eo event restart capability.

8 years agoecore: give the mainloop its own private data.
Cedric BAIL [Thu, 21 Apr 2016 18:56:15 +0000 (11:56 -0700)]
ecore: give the mainloop its own private data.

8 years agoecore: make the main loop singleton initialized and available early on.
Cedric BAIL [Thu, 21 Apr 2016 18:53:31 +0000 (11:53 -0700)]
ecore: make the main loop singleton initialized and available early on.

8 years agoeolian-cxx: Remove deprecated examples
Felipe Magno de Almeida [Thu, 21 Apr 2016 17:58:40 +0000 (14:58 -0300)]
eolian-cxx: Remove deprecated examples

Removed deprecated and non-compilable examples for C++ using
Evas. Users should look into C++ Elementary's examples instead.

8 years agoelm_cnp: accept appropriate text types in wl drop handlers
Mike Blumenkrantz [Thu, 21 Apr 2016 17:57:37 +0000 (13:57 -0400)]
elm_cnp: accept appropriate text types in wl drop handlers

this fixes text dnd

@fix

8 years agoelm_cnp: do not send null accepts for every type within wl data offers
Mike Blumenkrantz [Thu, 21 Apr 2016 17:56:41 +0000 (13:56 -0400)]
elm_cnp: do not send null accepts for every type within wl data offers

once is sufficient

8 years agoecore-wl2: more dnd v3 updates
Mike Blumenkrantz [Thu, 21 Apr 2016 17:55:45 +0000 (13:55 -0400)]
ecore-wl2: more dnd v3 updates

ref d34b5958051c87fe491e358b24e9f25238fda10f

 #gladthiswasabetaapi

8 years agoecore-wl2: use fd handler for receiving selection data
Mike Blumenkrantz [Wed, 20 Apr 2016 16:54:54 +0000 (12:54 -0400)]
ecore-wl2: use fd handler for receiving selection data

not sure what trac ticket was referenced here, but probably the issue was
not using ecore_main_fd_handler_file_add()

8 years agoelm_cnp: attempt to get all applicable mime types when getting selection
Mike Blumenkrantz [Wed, 20 Apr 2016 16:53:36 +0000 (12:53 -0400)]
elm_cnp: attempt to get all applicable mime types when getting selection

@fix

8 years agoecore-wl2: return some copied code back to its original state
Mike Blumenkrantz [Wed, 20 Apr 2016 15:16:22 +0000 (11:16 -0400)]
ecore-wl2: return some copied code back to its original state

this will make future rebases easier

8 years agoecore-wl2: update wl dnd/clipboard support to v3 of protocol
Mike Blumenkrantz [Wed, 20 Apr 2016 15:11:34 +0000 (11:11 -0400)]
ecore-wl2: update wl dnd/clipboard support to v3 of protocol

this code is mostly copied from weston:
78d4bf9a3ec990dceee23fd53962a69891352a0e
9c93179023fe894e417ccd20533d72d672d976fc

credit to Carlos Garnacho <carlosg@gnome.org> as original author

fix T3455

@feature

8 years agoecore-wl2: correct the name and type of some function params
Mike Blumenkrantz [Wed, 20 Apr 2016 13:15:15 +0000 (09:15 -0400)]
ecore-wl2: correct the name and type of some function params

8 years agoecore-drm: Fix typo in doxygen
Chris Michael [Thu, 21 Apr 2016 12:55:01 +0000 (08:55 -0400)]
ecore-drm: Fix typo in doxygen

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agowayland_shm: Fix evas test breakage
Derek Foreman [Thu, 21 Apr 2016 00:49:33 +0000 (19:49 -0500)]
wayland_shm: Fix evas test breakage

Failing to link the wayland dmabuf protocol in caused a symbol
resolution failure in the evas test

8 years agotests: eo: switch to generic eo_key_del, fix build
Stefan Schmidt [Thu, 21 Apr 2016 09:41:44 +0000 (11:41 +0200)]
tests: eo: switch to generic eo_key_del, fix build

Since 5e09d1307ba29ba893c569978e808d61f9ae09c9 we use the generic eo_key_del
for all of these.

8 years agotry readme commit to check git prune issue
Carsten Haitzler (Rasterman) [Thu, 21 Apr 2016 09:08:45 +0000 (18:08 +0900)]
try readme commit to check git prune issue

8 years agoeo base - remove the duplicated key dels and just do eo_key_del() now
Carsten Haitzler (Rasterman) [Thu, 21 Apr 2016 09:01:00 +0000 (18:01 +0900)]
eo base - remove the duplicated key dels and just do eo_key_del() now

this rationalizes all the duplicated key dels (key_data, key_obj and
key_value).

8 years agoEdje edit: fix aspect_preference value into generate code function.
Mykyta Biliavskyi [Tue, 19 Apr 2016 11:19:53 +0000 (14:19 +0300)]
Edje edit: fix aspect_preference value into generate code function.

Add value "SOURCE" as one of possible values for aspect_preference
attributes.
@fix

8 years agoEdje edit: add new program actions into code generate function.
Mykyta Biliavskyi [Tue, 19 Apr 2016 11:06:40 +0000 (14:06 +0300)]
Edje edit: add new program actions into code generate function.

Generate edc source code for next action types:
  - EDJE_ACTION_TYPE_FOCUS_SET
  - EDJE_ACTION_TYPE_FOCUS_OBJECT
  - EDJE_ACTION_TYPE_PARAM_COPY
  - EDJE_ACTION_TYPE_PARAM_SET

8 years agoEdje edit: fix get list of program tagrets.
Mykyta Biliavskyi [Mon, 18 Apr 2016 13:46:39 +0000 (16:46 +0300)]
Edje edit: fix get list of program tagrets.

Correct support all types of program actions for constructing
list of targets.
There are 3 group of actions, that related to targets:
 - Does not support targets at all.
 - Support only parts as targets.
 - ACTION_STOP, that supported parts and other programs as targtes.

@fix

8 years agoExamples: Fix compilation (disable CXX examples!)
Jean-Philippe Andre [Thu, 21 Apr 2016 08:13:23 +0000 (17:13 +0900)]
Examples: Fix compilation (disable CXX examples!)

Warning: This disables CXX examples because they use
now-internal APIs that have no EO API binding.
Those examples should be updated to use Efl.Ui widgets... once
we have them.

8 years agoeo base - add loop_get for base class
Carsten Haitzler (Rasterman) [Thu, 21 Apr 2016 06:15:13 +0000 (15:15 +0900)]
eo base - add loop_get for base class

base class objects will ask their parent object to get the loop. this
means it recurses all objects regardless of type until it finds an
object that returns a proper loop object - eg a loop object returns
itself, a window, gfx/ui object returns the mainloop object etc. etc.

@feature

8 years agoEdje: Fix tests build without installing edj files
Jean-Philippe Andre [Thu, 21 Apr 2016 05:44:26 +0000 (14:44 +0900)]
Edje: Fix tests build without installing edj files

This mostly reverts acc01fe229b61874e6172855d6998b796d138b13

This simply uses DEPENDENCIES.

8 years agoedje: seems the only way to force the build of this files.
Cedric Bail [Thu, 21 Apr 2016 04:30:22 +0000 (21:30 -0700)]
edje: seems the only way to force the build of this files.

I can't figure out what is wrong with using BUILT_SOURCES. It should
work, but doesn't. Moving to use _SOURCES is impossible again (variable
again). Using the _DATA is the only technically working solution. Which
they will be installed on your system even if you don't need them. If
you find a way around it and still get them to build, please patch.

8 years agoRevert "edje: build again edje files needed for tests"
Carsten Haitzler (Rasterman) [Thu, 21 Apr 2016 02:10:12 +0000 (11:10 +0900)]
Revert "edje: build again edje files needed for tests"

This reverts commit 13b4a56ddc185a7c62bb0137a159ad57efb7b06d.

sorry cedric. this totally broke efl build. eo/eolian etc. is not
built before evas for example and so build totally falls apart.

yes - it makes no sense that this one change would cause that. it
doesnt make sense. but it did. :(

8 years agoecore: use restartable event for main loop event.
Cedric BAIL [Wed, 20 Apr 2016 22:54:18 +0000 (15:54 -0700)]
ecore: use restartable event for main loop event.

8 years agoeolian: add tests for restartable event.
Cedric BAIL [Wed, 20 Apr 2016 22:53:33 +0000 (15:53 -0700)]
eolian: add tests for restartable event.

8 years agoeolian: add support for restartable event.
Cedric BAIL [Wed, 20 Apr 2016 22:53:16 +0000 (15:53 -0700)]
eolian: add support for restartable event.

8 years agoeo: let's check that this nested restarted event are working somehow.
Cedric BAIL [Wed, 20 Apr 2016 22:52:41 +0000 (15:52 -0700)]
eo: let's check that this nested restarted event are working somehow.

8 years agoeo: add support for restartable event inside nested call.
Cedric BAIL [Wed, 20 Apr 2016 22:50:46 +0000 (15:50 -0700)]
eo: add support for restartable event inside nested call.

The idea is that when you are processing those events from within
they won't call twice any of the event until all of them are processed
at least once (Or one of them did return EINA_FALSE).

8 years agoedje: build again edje files needed for tests
Cedric BAIL [Wed, 20 Apr 2016 22:19:44 +0000 (15:19 -0700)]
edje: build again edje files needed for tests

8 years agotests: fix another redefine of Ecore_Cb build break
Stefan Schmidt [Wed, 20 Apr 2016 13:31:13 +0000 (15:31 +0200)]
tests: fix another redefine of Ecore_Cb build break

8 years agoecore-wl(2): add copyright headers (MIT) from weston
Mike Blumenkrantz [Wed, 20 Apr 2016 12:45:09 +0000 (08:45 -0400)]
ecore-wl(2): add copyright headers (MIT) from weston

these files were created containing code which was very obviously copied from
weston. when copying code, copyright headers must also be copied in order to
comply with licenses.

8 years agoEcore: Use calloc() to initialize Ecore_Event_Mouse_XXXX
Duna Oh [Wed, 20 Apr 2016 12:33:20 +0000 (08:33 -0400)]
Ecore: Use calloc() to initialize Ecore_Event_Mouse_XXXX

Summary:
To ensure initialize all fields of Ecore_Event_Mouse_XXX,
use calloc() instead of malloc().

Test Plan: N/A

Reviewers: gwanglim, cedric, raster, devilhorns, ManMower, zmike

Subscribers: jpeg, input.hacker, JHyun

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

8 years agoEolian cxx tests: don't redefine Ecore_Cb.
Tom Hacohen [Wed, 20 Apr 2016 11:51:37 +0000 (12:51 +0100)]
Eolian cxx tests: don't redefine Ecore_Cb.

8 years agoElm: Don't install box, table and grid eo files
Jean-Philippe Andre [Wed, 20 Apr 2016 11:08:49 +0000 (20:08 +0900)]
Elm: Don't install box, table and grid eo files

Box, Table and Grid now belong to legacy land.
Their Evas counterparts are already not installed anymore,
and Efl.Ui.Box and Efl.Ui.Grid are here to replace those
widgets (note: code was initially copy & pasted).

This should fix installed EO files consistency.

8 years agodocs: eldbus: add class and property descriptions for eldbus model files
Stefan Schmidt [Wed, 20 Apr 2016 10:45:09 +0000 (12:45 +0200)]
docs: eldbus: add class and property descriptions for eldbus model files

Also fix some existing docs while being there.

8 years agodocs: eio: add class description for eio model class
Stefan Schmidt [Wed, 20 Apr 2016 10:13:24 +0000 (12:13 +0200)]
docs: eio: add class description for eio model class

8 years agodocs: edje_edit: add class description
Stefan Schmidt [Tue, 19 Apr 2016 15:11:53 +0000 (17:11 +0200)]
docs: edje_edit: add class description

8 years agoeo base: names - add finding functions to fund by name
Carsten Haitzler (Rasterman) [Wed, 20 Apr 2016 09:26:35 +0000 (18:26 +0900)]
eo base: names - add finding functions to fund by name

this finds child objects by walking the child tree searching children
by using the search string which can be name, class:name and both
class and name can also be a glob.

@feature

8 years agoEcore eo: Resolve duplicate Ecore_Cb definition.
Tom Hacohen [Wed, 20 Apr 2016 09:11:21 +0000 (10:11 +0100)]
Ecore eo: Resolve duplicate Ecore_Cb definition.

8 years agoEfl: Add Efl.Pack interfaces and Efl.Ui Box and Grid
Jean-Philippe Andre [Wed, 20 Apr 2016 04:51:13 +0000 (13:51 +0900)]
Efl: Add Efl.Pack interfaces and Efl.Ui Box and Grid

The Pack interface is meant to unify all containers APIs.
Box and Grid a two new widgets implementing this new API. Box
has a new layout function that seems to correspond more to developers
expectations.

The Pack interface also provides a way to implement custom layout
functions, by the way of layout engine classes.

Still TODO:
- Named/Slot containers API with parts (eg. Elm.Layout, Edje.Object)
- Unify those with Pack (naming to be argued over: pack, content, ...)
- Deprecate (remove out of EO land) old containers
- Implement proper layout functions for Grid and fix Box.Flow

@feature

8 years agoEfl.Pack: Rename methods and properties
Jean-Philippe Andre [Tue, 19 Apr 2016 08:43:28 +0000 (17:43 +0900)]
Efl.Pack: Rename methods and properties

- Children are now contents
- Efl.Pack_Layout is now a separate class and
  merges Pack_Engine.
- Removed dumb class Efl.Pack_Item
- Updated docs
- Added pack_ or grid_ prefixes to some methods

8 years agoelm_text/box: Use real widgets to show off box layout
Jean-Philippe Andre [Tue, 19 Apr 2016 02:45:34 +0000 (11:45 +0900)]
elm_text/box: Use real widgets to show off box layout

8 years agoEfl.Ui.Grid: Implement custom layout functions
Jean-Philippe Andre [Mon, 18 Apr 2016 11:17:24 +0000 (20:17 +0900)]
Efl.Ui.Grid: Implement custom layout functions

Untested yet. Will need to add the common 3 classes:
- standard
- homogenous
- homogenous max_size

And then implement a true custom layout function, that
respects weights in a certain manner (need to define it
clearly).

8 years agoUi.Box: Fix flow layout
Jean-Philippe Andre [Mon, 18 Apr 2016 04:54:46 +0000 (13:54 +0900)]
Ui.Box: Fix flow layout

Set align, fix usage with eo_add(EFL_UI_BOX_FLOW_CLASS).

8 years agoEfl.Ui.Box: Add pack_align property
Jean-Philippe Andre [Fri, 15 Apr 2016 08:06:14 +0000 (17:06 +0900)]
Efl.Ui.Box: Add pack_align property

While at first I wanted to remove the box_align / table_align
properties, it ends up being a necessary value in some cases.

8 years agoEfl.Ui.Grid: Fix new API behaviour
Jean-Philippe Andre [Thu, 14 Apr 2016 07:41:57 +0000 (16:41 +0900)]
Efl.Ui.Grid: Fix new API behaviour

This fixes the linear API usage with a table.
TODO:
- remove internal table (as it doesn't support layout funcs)
- implement multiple layout functions (regular, homogenous, ...)

8 years agoElm_test/Grid: Add linear API test for Efl.Ui.Grid
Jean-Philippe Andre [Thu, 14 Apr 2016 05:12:16 +0000 (14:12 +0900)]
Elm_test/Grid: Add linear API test for Efl.Ui.Grid

At this point, it proves that the grid API does not work.
Some things still need to be implemented or fixed.

8 years agoElm_test/Ui.Box: Implement example custom layout function
Jean-Philippe Andre [Thu, 14 Apr 2016 03:00:04 +0000 (12:00 +0900)]
Elm_test/Ui.Box: Implement example custom layout function

This shows how to implement a layout function, with the
required Eo class boilerplate (note: could probably be
simpler with the appropriate macros, or a better solution
to create classes on the fly in C).

The layout function itself is awful, but shows that "it works".

8 years agoElm_test: Add test case for Ui.Grid
Jean-Philippe Andre [Thu, 14 Apr 2016 02:12:44 +0000 (11:12 +0900)]
Elm_test: Add test case for Ui.Grid

Right now the proper layout functions for Ui.Grid are not
implemented, so most controls don't work. This tests that the
grid works fine as a table.

8 years agoEfl.Ui.Box: Implement flow layouts
Jean-Philippe Andre [Tue, 12 Apr 2016 09:16:20 +0000 (18:16 +0900)]
Efl.Ui.Box: Implement flow layouts

This reuses the Evas.Box code, since we are still using the
box internally. The flow layout function is far from perfect
(it works well only with items of same height).

This shows how to use specific layouts provided by EFL.

8 years agoEfl.Ui.Box: Implement way to override layout function
Jean-Philippe Andre [Tue, 12 Apr 2016 07:20:54 +0000 (16:20 +0900)]
Efl.Ui.Box: Implement way to override layout function

So, since we don't have function pointers, all the solutions
to reimplementing the layout function are quite convoluted:

1. use events
2. reimplement layout func
3. use an extra object
4. use a generic class (non instanciated)

Promises don't apply here (layout will run multiple times).

Problems:

1. Multiple event callbacks will be called, resulting in
   potential performance impact, extra events, etc...
   Also, there is no way to define standard implementations
   that would be provided by the framework.

2. Reimplementation of a function requires extra EO work
   (create an EO class, etc...), doesn't allow on-the-fly
   change of the layout method.

3. Probably the best solution is to have an object implementing
   the layout. But this means creating an extra object along
   with the container.

4. To avoid the extra object, use a class, and reimplement
   a @class function. This unfortunately requires extra
   EO work.

Solution 4. has been selected, but it's not very nice...

8 years agoElm_test: Add basic test case for the new box api
Jean-Philippe Andre [Tue, 12 Apr 2016 05:13:19 +0000 (14:13 +0900)]
Elm_test: Add basic test case for the new box api

8 years agoElm: Compile in box and grid
Jean-Philippe Andre [Tue, 12 Apr 2016 05:11:37 +0000 (14:11 +0900)]
Elm: Compile in box and grid

Ui.Grid is definitely not complete.
Ui.Box still needs a few adjustments:
- alternative layout
- aspect ratio support
- RTL support
- remove evas box

8 years agoEfl.Ui.Grid: Add implementation of a grid/table
Jean-Philippe Andre [Tue, 12 Apr 2016 05:10:47 +0000 (14:10 +0900)]
Efl.Ui.Grid: Add implementation of a grid/table

This is only a partial implementation, work in progress.

The grid object should be a replacement for evas and elementary's
table and grid. Only the layout of items inside the container
is different, otherwise the API should be the same.

For now, this widget is based on an evas table but the full
layout logic will need to be reimplemented, eventually.

@feature

8 years agoEfl.Ui.Box: Add implementation of a simple box
Jean-Philippe Andre [Tue, 12 Apr 2016 05:10:05 +0000 (14:10 +0900)]
Efl.Ui.Box: Add implementation of a simple box

This should be the only linear packing container.
This replaces: evas box and elm box.

Edje box needs to be kept around for compatibility,
but it stays an EDC object only (for apps).

Lots of things are still to be fleshed out in this
box implementation:
- Simplify smart object / elm widget code
- Maybe stop using evas object box altogether
- Implement other layout strategies

@feature

8 years agoEfl: Add skeletton for new containers "Pack" API
Jean-Philippe Andre [Tue, 12 Apr 2016 05:08:35 +0000 (14:08 +0900)]
Efl: Add skeletton for new containers "Pack" API

I chose the name "pack" instead of containers because it
is shorter, and allows out-of-the-box short C names like
efl_pack_end() instead of efl_container_pack_end().

All Pack interfaces will use the same efl_pack eo prefix.

This is still work in progress.

@feature

8 years agowayland_shm: Remove debug detritus
Derek Foreman [Tue, 19 Apr 2016 20:38:58 +0000 (15:38 -0500)]
wayland_shm: Remove debug detritus

Should've been removed before push.  Oops.

8 years agowayland_shm: Add dmabuf support
Derek Foreman [Fri, 15 Apr 2016 17:34:07 +0000 (12:34 -0500)]
wayland_shm: Add dmabuf support

This adds a separate backend to the "shm" engine that allows allocation
of buffers via libdrm that can be turned into dmabuf handles and used
with the wayland dmabuf extension.

Currently only the intel buffer manager is supported.

The benefit of dmabuf buffers is that they don't require a texture upload
like shm buffers do, and when we have plane support they can be dropped
directly into a plane without a memcpy.

8 years agostatic_libs: Add libdrm headers (for wayland_shm)
Derek Foreman [Tue, 19 Apr 2016 18:42:20 +0000 (13:42 -0500)]
static_libs: Add libdrm headers (for wayland_shm)

wayland_shm's dmabuf implementation needs acess to libdrm headers for
doing GPU specific memory allocations.  We search for these libraries
at runtime with dlopen, so we don't need to find them at build time,
however certain struct definitions and defines are still required.