Commit Graph

41 Commits

Author SHA1 Message Date
Yeshwanth Reddivari f7e1be2062 spin interface: common interface for flipselector and spinner
Summary:
Added common interface for flipselector and spinner.
Implemented APIs of spinner like min_max_set, step_set, value_set etc in flipselector.

Test Plan: elementary_test

Reviewers: raster, jpeg, singh.amitesh, woohyun, SanghyeonLee, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-29 18:56:51 -07:00
Larry Jr 0c76f82a31 Efl, Eio, Eldbus, Elementary: new model API use eina_promise
Efl - efl_model_base changed to use eina_promise
Eio - eio_model use efl_model_base with promise
Eldbus - elddbus models use promise now
Elementary - elm_view_list and elm_view_form use new models with promise

updated all related examples and tests
2016-04-29 13:21:24 -03:00
Jean-Philippe Andre 902950018b Efl: Introduce Efl.Container and unify APIs
This removes Efl.Pack_Named which had a terrible name,
removes Elm.Container which should have been renamed
Efl.Ui.Container anyway, and introduces an interface
Efl.Container instead.

The hierarchy tree is now changed as objects don't inherit
from Efl.Container (it's an interface, not a regular class)
but only implement it. Obviously it is very easy to
reintroduce an Efl.Ui.Container parent class if we need it,
but I guess it should have some actual logic. It's basically
part of what Elm.Widget already does.

Some function names have been modified to look better in C
with the efl_content prefix.

@feature
2016-04-26 11:36:23 +09:00
Jean-Philippe Andre 2d946d03ae 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
2016-04-20 11:15:53 +09:00
Jean-Philippe Andre 24eccb6d62 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...
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 57e64ee65b 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
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre d1709a2b57 Efl: Rename flip and orient enums
Efl.Flip is now the enum, the interface is Flipable.
We could even use names like Efl.IFlip a la Java.

eo_prefix is used to have pretty names in C. legacy: null
is removed from the enums. orient_x0 is removed and only
defined in C with #define
2016-04-07 17:32:40 +09:00
Yeshwanth Reddivari 7f9036dce5 Interface: Progress - Add common interface for Slider and Progressbar
Summary:
Implement common interface efl_ui_progress and inherit slider and progressbar from common interface.
Currently legacy APIs will also call interface functions and later it can be deprecated.
This interface will be moved to EFL in src/lib/efl/interfaces when elementary is merged into efl.

Test Plan:
elementary_test -to 'slider'
elementary_test -to 'progressbar'

Reviewers: singh.amitesh, raster, tasn, felipealmeida, woohyun, cedric, jpeg

Subscribers: saurabhbunty, alok25

Differential Revision: https://phab.enlightenment.org/D3759
2016-04-07 16:50:57 +09:00
Jean-Philippe Andre 4e4b42ec03 Efl: Add internal strong symbol to fix build on GCC < 5.3
This fixes a crash in ecore_init, calling a weak function from
libefl that was resolved to NULL.

So, here's a fun thing happening with GCC < 5.3. Since a1a506e13e
all EOAPI and EO class_get() functions are weak symbols. This means
that all APIs inside libefl.so are weak.

As a result, gcc linker with --as-needed skipped linking to libefl
since not a single strong symbol from libefl was required by
libecore. This is actually a bug in gcc linker since we do in fact
use symbols from libefl, just weak ones.

GCC 5.3 seems to be fixed, so people with GCC 5.3+ will not
experience any build/runtime issue. The current patch is
a workaround that bug, by artifically creating a strong symbol
required by ecore.

Other libraries than ecore might also need to call
__efl_internal_init, if they end up not being linked to libefl.
2016-04-07 14:40:10 +09:00
Yeshwanth Reddivari 98edbd23a4 Interface: Flip and orientation interface
Summary:
Added flip and orientation interface and used them in evas_image.
Removed efl_image_orientation_set API and used efl_orientation_set and efl_flip_set API.
In implementation part, converted enums back and forth in order to keep current implementation as it is.

Test Plan: src/examples/evas/evas-images5.c

Reviewers: singh.amitesh, raster, tasn, herdsman, woohyun, cedric, felipealmeida, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3844
2016-04-06 10:46:39 +09:00
Carsten Haitzler 6291c61556 efl: vpath subsystem
this adds a core vpath subsystem to efl that allows paths like:

  ~/file.jpg
  ~user/file.jpg
  (:tmp/file.jpg
  (:config/file.jpg
  (:videos/file.mp4
  (:pictures/file.jpg
  (:app.config/mycfg.cfg

etc. to be translated/looked up. it is desitgned to be async and call
event callbacks when ready. the reason for this complexity is fo in
future also handle:

  file:///whatever/file.jpg
  http://blah.com/file.jpg
  https://blah.com/file.jpg
  ssh://blah.com:~/file.jpg

etc.

@feature
2016-04-05 16:22:59 +09:00
Carsten Haitzler e446fcc2db Revert "XXX"
This reverts commit 5e9d838e60.
2016-04-01 09:58:02 +09:00
Carsten Haitzler 5e9d838e60 XXX 2016-04-01 08:57:09 +09:00
Jean-Philippe Andre b458341a13 Efl.Gfx.Buffer: Add interface skeletton 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre fd2c4b4a26 Evas image: Create interface Efl.Image.Animated
This interface groups all low-level animated image functions.

FIXME:
- Rename to Efl.Image.Animated once eolian is fixed
- Fix mess with emile enum (loop_hint)
2016-03-15 11:11:59 +09:00
Cedric BAIL 685681c864 efl: rename efl.core.animator to efl.animator.
It has been decided that we would not use any namespace for interface
and they will sit in efl main namespace.

This patch doesn't correct the naming of the event has we don't have a
prefix for event. We do still have EFL_ANIMATOR_EVENT_ANIMATOR_TICK,
instead of a nicer EFL_EVENT_ANIMATOR_TICK.
2016-03-10 13:14:13 -08:00
Cedric BAIL e405afb2f9 efl: add Efl.Core.Animator interface. 2016-02-02 10:45:42 -08:00
Tom Hacohen 37f84b7e96 Eo: Drop doc field from ops and events.
This hasn't been used for a while. Since we are going to break Eo a bit anyway
it's a good opportunity to drop this.

This may cause a slight performance issues with legacy events, such as
smart callbacks. This shouldn't really be a problem as we've migrated away from
them. If it does, we need to migrate the remaining parts. Only relevant
for callbacks that are added before the classes are created, which
shouldn't be possible except for smart, only for old evas callbacks.
2015-09-28 15:09:16 +01:00
Jean-Philippe Andre 64fd278c62 Evas filters: EO-ify the filters API
This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
2015-06-25 14:36:09 +09:00
Felipe Magno de Almeida 7928609a29 efl: move emodel to be an efl interfaces. 2015-04-05 16:23:38 +02:00
Cedric BAIL d14f805793 efl: notify when the path change.
This is an easier and safer way than forcing all object inheriting this class
to override all function that modify the path.
2015-04-03 16:33:38 +02:00
Cedric BAIL 94418f1cd5 efl: add a changed event triggered when something affect the visual aspect of an object. 2015-04-03 16:30:39 +02:00
Cedric BAIL 32de8d9e5f efl: move Efl.Gfx.Gradient_* to Efl.Gfx.Gradient.* much nicer for bindings. 2015-04-03 16:30:35 +02:00
Cedric BAIL ac8d923090 efl: add path operation to Efl.Gfx.Shape. 2015-04-03 16:23:28 +02:00
Cedric BAIL a395f5ded5 efl: add Efl.Gfx.View and use it in Evas.Image. 2015-04-03 16:23:26 +02:00
Cedric BAIL 7ba7ed4a1c efl: add Efl.Gfx.Fill and migrate Evas.Image to it. 2015-04-03 16:23:24 +02:00
Cedric BAIL 500fe6ef1b efl: add Efl.Gfx.Stack interface and update Evas_Object accordingly. 2015-04-03 16:23:22 +02:00
Cedric BAIL c08f8e26a6 efl: add Efl.Gfx.Base and fix inheritance for Evas_Object. 2015-04-03 16:23:17 +02:00
Cedric BAIL c000ee8099 efl: rename namespace Graphics to Gfx. 2015-04-03 16:23:16 +02:00
Cedric BAIL 4036a22b10 efl: introduce an Efl Gradient Radial interface. 2015-04-03 16:15:37 +02:00
Cedric BAIL e15bdbe457 efl: add a linear gradient interface. 2015-04-03 16:15:36 +02:00
Cedric BAIL d59351732d efl: add a gradient interface. 2015-04-03 16:15:03 +02:00
Cedric BAIL 1d49ff7df2 efl: rename geometry to graphics to be more general. 2015-04-03 16:15:02 +02:00
Cedric BAIL 14dcad09c0 efl: add an interface for Efl_Geometry_Shape. 2015-04-03 16:14:54 +02:00
Tom Hacohen 3f29b35662 Efl interfaces: Add control interface. 2014-08-21 11:02:11 +01:00
Tom Hacohen aff1c8832c Efl player: Add player interface.
This is the first version.
2014-08-21 11:02:11 +01:00
Tom Hacohen fe374084ed Efl interfaces: Add text interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen 69219fe1e2 Efl interface: Add image interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen ceada9523f Efl interfaces: Drop interface namespace from the used interfaces.
We don't need this namespace, it just makes the names long and complicated.
2014-08-21 11:02:11 +01:00
Tom Hacohen bf55348a92 Efl interfaces: Start using the text_properties interface. 2014-08-21 11:02:11 +01:00
Tom Hacohen b0b533fcb1 Efl: Create libefl.
Create libefl.so and the interal package for dependencies.
2014-08-21 11:02:10 +01:00