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.
Stefan Schmidt [Wed, 20 Apr 2016 10:13:24 +0000 (12:13 +0200)]
docs: eio: add class description for eio model class
Stefan Schmidt [Tue, 19 Apr 2016 15:11:53 +0000 (17:11 +0200)]
docs: edje_edit: add class description
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
Tom Hacohen [Wed, 20 Apr 2016 09:11:21 +0000 (10:11 +0100)]
Ecore eo: Resolve duplicate Ecore_Cb definition.
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
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
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
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).
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).
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.
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, ...)
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.
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".
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.
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.
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...
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
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
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
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
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
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.
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.
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.
Derek Foreman [Fri, 15 Apr 2016 15:38:28 +0000 (10:38 -0500)]
wayland_shm: Refactor surface creation
Split this into two parts, one that makes the base surface, one that
calls the potential back ends.
Once the dmabuf backend is added this will allow a fallback path to
re-initialize the surface as wl_shm if dmabuf fails.
Derek Foreman [Fri, 15 Apr 2016 15:32:29 +0000 (10:32 -0500)]
wayland_shm: pass engine info to shm_surface_create
Gratuitous change to pass less parameters and make some code prettier.
Derek Foreman [Fri, 15 Apr 2016 15:29:14 +0000 (10:29 -0500)]
wayland_shm: Pull the damage stuff out of evas_shm
This doesn't really care what the buffers were allocated with, so
let's make this chunk of code useful to both the shm method and the
upcoming dmabuf one
Derek Foreman [Wed, 13 Apr 2016 18:58:15 +0000 (13:58 -0500)]
wayland_shm: Minor clean up of _evas_shm_surface_post
Some gratuitous cosmetic fixes
Derek Foreman [Tue, 12 Apr 2016 20:46:52 +0000 (15:46 -0500)]
wayland_shm: Don't pass num_buff to reconfigure
We can't really reconfigure the number of buffers after they're created,
there's nothing above us that would try to do it...
Derek Foreman [Tue, 12 Apr 2016 18:03:37 +0000 (13:03 -0500)]
wayland_shm: Gratuitous code simplification
Refactor evas_outbuf_setup a bit so there's only one call to
_evas_shm_surface_create.
Also makes the NULL return on unhandled rotation a lot more obvious.
Derek Foreman [Tue, 12 Apr 2016 17:39:45 +0000 (12:39 -0500)]
wayland_shm: Pass Evas_Engine_Info_Wayland_Shm directly to setup functions
We pretty much pass all its contents anyway.
Derek Foreman [Mon, 11 Apr 2016 21:10:33 +0000 (16:10 -0500)]
wayland_shm: Add dmabuf to engine info
Get the dmabuf protocol object from ecore_wl2 and store it in engine info
Derek Foreman [Mon, 11 Apr 2016 21:09:12 +0000 (16:09 -0500)]
ecore_wl2: Add API to get dmabuf protocol object
Derek Foreman [Mon, 11 Apr 2016 20:39:09 +0000 (15:39 -0500)]
wayland_shm: Abstract the actual shm operations
Make the Surface carry function pointers and the shm surface create
function set them. This refactor makes implementing dmabuf operations
simpler.
Derek Foreman [Mon, 11 Apr 2016 20:17:13 +0000 (15:17 -0500)]
wayland_shm: Remove outbuf_reconfigure function pointer
We only ever call it from one place, and we only ever initialize it
to one value, so there's no need for a function pointer.
Derek Foreman [Mon, 11 Apr 2016 20:12:29 +0000 (15:12 -0500)]
wayland_shm: Remove unused dx, dy params from resize functions
We don't appear to actually use these for anything except long term storage
Derek Foreman [Mon, 11 Apr 2016 15:35:15 +0000 (10:35 -0500)]
wayland_shm: Drop ifdefs around damage_buffer
We now depend on wayland 1.10.0 so damage_buffer is always going to be
present in the headers - we no longer need ifdef checks.
Derek Foreman [Mon, 11 Apr 2016 15:34:23 +0000 (10:34 -0500)]
build: Bump wayland version dependency
Anything that needed wayland now needs wayland 1.10.0
Derek Foreman [Fri, 8 Apr 2016 20:11:21 +0000 (15:11 -0500)]
wayland_shm: Make new Surface abstraction to wrap Shm_Surface
Wraps the Shm_Surface allocator in a new Surface type that will
potentially use different allocators, such as dmabuf in a future commit.
Derek Foreman [Fri, 8 Apr 2016 20:17:00 +0000 (15:17 -0500)]
ecore_wl2: Bind dmabuf global if available
Bind the dmabuf global so we can make use of it later.
Derek Foreman [Fri, 8 Apr 2016 20:09:37 +0000 (15:09 -0500)]
ecore_wl2: Add generated dmabuf files
This adds the framework for the dmabuf protocol for wayland - the files
are generated with wayland-scanner.
Derek Foreman [Fri, 8 Apr 2016 20:04:33 +0000 (15:04 -0500)]
wayland_shm: Move Shm private structures into evas_shm
Refactor all the shm specific stuff into evas_shm so it can better
co-exist with upcoming dmabuf allocations
Derek Foreman [Fri, 8 Apr 2016 19:51:40 +0000 (14:51 -0500)]
wayland_shm: Remove flags
We only used this for resize, and didn't actually even need it then.
Derek Foreman [Fri, 8 Apr 2016 19:28:56 +0000 (14:28 -0500)]
wayland_shm: Don't use number of buffers in swap mode calculation
The number of allocated buffers shouldn't change a thing...
Derek Foreman [Fri, 8 Apr 2016 18:24:22 +0000 (13:24 -0500)]
wayland_shm: Return buffer age from shm_surface_assign
This makes refactoring the Surface abstraction a little easier.
Cedric BAIL [Tue, 19 Apr 2016 18:56:17 +0000 (11:56 -0700)]
Revert "Set the name for table, box items"
This reverts commit
6f7608befd006f8076d237bee5d17c9e9e1e09ac.
Item in table and box do not need names as they have an index. This
is breaking ABI for edje application that rely on getting the index
properly when a signal is emitted. To be precise, this did break
elemines.
Cedric BAIL [Tue, 19 Apr 2016 18:28:36 +0000 (11:28 -0700)]
eo: fix borkage.
Tom Hacohen [Tue, 19 Apr 2016 16:16:20 +0000 (17:16 +0100)]
Merge strict eolian type checking branch.
In this branch I turned on strict eolian type checking and silenced all
of the errors that came to be because of it (fixed some).
I did it so new code will not introduce new errors. We've had more
errors introduced recently, and I believe it's because of ignorance. No
more excuses, compilation will now fail if you fail to handle types
correctly.
We need to fix my workarounds. Many of the .eo files that I worked
around on need to be removed anyway, and a lot of the rest need a lot of
changes, so there was no point wasting my time into fixing it properly.
Tom Hacohen [Tue, 19 Apr 2016 16:04:33 +0000 (17:04 +0100)]
Eolian: Turn on strict type checking.
Thanks to q66 for the code.
I'm stealing credit here because:
1. I'm lazy.
2. He's lazy and doesn't deserve it.
Tom Hacohen [Tue, 19 Apr 2016 16:02:27 +0000 (17:02 +0100)]
Elm glview: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:59:36 +0000 (16:59 +0100)]
Elm box: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:58:36 +0000 (16:58 +0100)]
Elm web: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:57:22 +0000 (16:57 +0100)]
Elm app server view: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:57:00 +0000 (16:57 +0100)]
Elm slideshow: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:55:52 +0000 (16:55 +0100)]
Elm app client view: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:54:50 +0000 (16:54 +0100)]
Elm app server: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:52:47 +0000 (16:52 +0100)]
Elm gengrid: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:51:36 +0000 (16:51 +0100)]
Elm map: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:50:09 +0000 (16:50 +0100)]
Elm calendar: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:49:32 +0000 (16:49 +0100)]
Elm eo: Make Eina_Compare_Cb accessible to all widgets.
Tom Hacohen [Tue, 19 Apr 2016 15:47:21 +0000 (16:47 +0100)]
Elm sys notify interface: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:46:34 +0000 (16:46 +0100)]
Elm prefs: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:44:33 +0000 (16:44 +0100)]
Elm app client: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:42:19 +0000 (16:42 +0100)]
Eo eina types: Add Eina.Value.
Tom Hacohen [Tue, 19 Apr 2016 15:40:43 +0000 (16:40 +0100)]
Elm multibutton entry: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:39:25 +0000 (16:39 +0100)]
Elm app server: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:37:38 +0000 (16:37 +0100)]
Elm genlist: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:36:54 +0000 (16:36 +0100)]
Elm view list: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:35:33 +0000 (16:35 +0100)]
Elm naviframe item: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:34:11 +0000 (16:34 +0100)]
Elm interface fileselector: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:32:45 +0000 (16:32 +0100)]
Elm slider: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:31:43 +0000 (16:31 +0100)]
Elm toolbar item: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:31:07 +0000 (16:31 +0100)]
Elm systray: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:30:33 +0000 (16:30 +0100)]
Elm toolbar: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:26:42 +0000 (16:26 +0100)]
Elm list: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:25:40 +0000 (16:25 +0100)]
Elm layout: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:23:39 +0000 (16:23 +0100)]
Elm atspi text: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:20:02 +0000 (16:20 +0100)]
Elm atspi widget action: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:18:22 +0000 (16:18 +0100)]
Elm hoversel item: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:17:29 +0000 (16:17 +0100)]
Elm win: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:13:50 +0000 (16:13 +0100)]
Elm check: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:13:21 +0000 (16:13 +0100)]
Elm image: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:12:54 +0000 (16:12 +0100)]
Elm entry: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:10:49 +0000 (16:10 +0100)]
Elm atspi accessible: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:07:55 +0000 (16:07 +0100)]
Elm widget: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:04:53 +0000 (16:04 +0100)]
Elm gesturelayer: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:03:34 +0000 (16:03 +0100)]
Elm photocam: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:00:38 +0000 (16:00 +0100)]
Elm general: Ignore more types (callbacks) in eolian.
Tom Hacohen [Tue, 19 Apr 2016 15:00:21 +0000 (16:00 +0100)]
Elm interface scrollable: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 15:00:05 +0000 (16:00 +0100)]
Elm widget item: Fix eo type errors.
Tom Hacohen [Tue, 19 Apr 2016 14:50:22 +0000 (15:50 +0100)]
Elm gen item: Add missing eolian type definitions.
Tom Hacohen [Tue, 19 Apr 2016 14:46:50 +0000 (15:46 +0100)]
Elm eo files: Add missing include of efl_types.
Tom Hacohen [Tue, 19 Apr 2016 14:33:05 +0000 (15:33 +0100)]
Eo base: fix parameters to be the correct type.
Eo is not a type Eolian is aware of, the correct type is Eo.Base.
SangHyeon Lee [Tue, 19 Apr 2016 09:41:43 +0000 (18:41 +0900)]
genlist: call update_job after smart_calculation done
Summary :
if item_update happens before the smart calcuate finished,
item can be delayed updated(next frame).
to prevent this issue, if unsolved job is remaining after
smart calc done, call update_job directly and remove job.
@fix
Carsten Haitzler (Rasterman) [Tue, 19 Apr 2016 09:25:15 +0000 (18:25 +0900)]
eo base - add value keys in addition to object and void ptr data keys
eina value would allow any value to be attached to an eo object and
also be freed nicely too. this would allow any generic data to go
there without overloading a void * that us c coders love to abuse.
@feature
Carsten Haitzler (Rasterman) [Tue, 19 Apr 2016 08:40:11 +0000 (17:40 +0900)]
eo base - clean up base data struct formatting
just a cleanup of the struct formatting/spacing
Carsten Haitzler (Rasterman) [Tue, 19 Apr 2016 08:21:21 +0000 (17:21 +0900)]
eo - add object comments - esp useful for erigo and gui builders
also useful for debugging and more. this also makes both name/id and
comment an extension blob of ram so objects dont keep growing
boundlessly in memory usage/size
@feature
Carsten Haitzler (Rasterman) [Tue, 19 Apr 2016 07:34:53 +0000 (16:34 +0900)]
eo - add object names/ids esp useful for erigo as it wants object names
also evas objects have names too, so add this as this was discussed
and now the feature is in. there is nothing to find objects by name
yet. that's more api's and features to add after this.
@feature
Carsten Haitzler (Rasterman) [Tue, 19 Apr 2016 07:33:33 +0000 (16:33 +0900)]
eina value test - gix blob check to check only relevant fields
the value check for blobs was checking unused fields in a union and
thats just bad. check only fields that matter to the blob.
@fix