Commit Graph

72 Commits

Author SHA1 Message Date
Youngbok Shin de9f0aff57 edje: don't return negative width and height from _parts_extends
Summary:
It should return width and height with positive values or zero.
@fix

Test Plan: make check

Reviewers: raster, jpeg, cedric

Reviewed By: raster

Subscribers: jiin.moon

Differential Revision: https://phab.enlightenment.org/D5422
2017-11-06 11:06:41 +09:00
Jean-Philippe Andre 04d3cc4eb9 edje: Fix make check
Oops. The API was tested.
See 19dff85519
2017-10-13 11:07:28 +09:00
Jean-Philippe Andre 1fb306fd3e edje: Fix make check :(
No idea how I missed that one... (except that make check is now broken
for C++, again)
2017-09-18 17:40:38 +09:00
Jean-Philippe Andre efac7d523a edje: Move signal APIs to an interface
This interface will be used by elm_layout as well.

Ref T5315
2017-08-04 11:52:16 +09:00
Sungtaek Hong d545929845 edje_signal: reduce member count when deleted edje_signal_callback is found
Summary:
 - when deleted callback is found _edje_signal_callback_move_last() is called
   in order to pack match array.
 - during _edje_signal_callback_move_last() index skips when another deleted
   callback is found, but does not reduce members_count.
 - this duplicates a remaining callback and calls the callback twice.

Test Plan:
1. add multiple edje_signal_callback by edje_object_signal_callback_add()
              which have the same source, signal, func but different data.
           2. delete first and last callback by
              edje_object_signal_callback_del/edje_object_signal_callback_del_full.
           3. emit edje_signal.
           4. observe one callback is called twice.

Reviewers: SanghyeonLee, conr2d, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4985
2017-07-17 15:05:20 +09:00
Jean-Philippe Andre bca55bb52f edje: Add test case for signal_recursive_process 2017-05-30 14:39:24 +09:00
Jean-Philippe Andre bc38a4c639 check: Bump version to 0.9.10 and change macro
Changing ck_assert_ptr_nonnull() to ck_assert_ptr_ne() in order to
require "only" check >= 0.9.10. ck_assert_ptr_nonnull() was
introduced in 0.11.0. ck_assert_ptr_ne() is already used a lot
in the test suite so a recent version of check is required.
2017-05-30 11:02:05 +09:00
Jean-Philippe Andre 9d48350ae4 edje: Implement EO API for message_send
Since this uses generic_value (aka Eina_Value), there is an
implicit type detection and conversion. I did not attempt to
cover all types (namely string+int and string+float and even
less sets of those) as I believe they aren't really used. Or
they most likely could be replaced by multiple messages rather
than a single message.

Note: should we pass ptr(generic_value) instead of generic_value?
The API looks a little odd in C when passing by value.

@feature
2017-05-24 13:02:20 +09:00
Gustavo Sverzut Barbieri 8dc853f230 ifdef RUN_IN_TREE logic.
This logic is only needed for autotools, cmake will replicate the
installation file structure and thus eina_prefix works out of box.
2017-02-03 12:36:38 -02:00
Jee-Yong Um ed7febb2c5 edje_cc: allow combine lazEDC keywords
Summary:
Fix parsing error which occurs when lazEDC keyword is combined
with other keyword by period. (like parts.rect)

@fix

Test Plan: Download attached file and run "make"

Reviewers: Hermet, cedric, jpeg

Subscribers: taxi2se

Differential Revision: https://phab.enlightenment.org/D4309
2016-09-23 11:56:19 +09:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Jean-Philippe Andre 269fc4f7a6 evas: Remove common interface and use provider_find
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.

Use eo_provider_find in each implementing class.
2016-06-21 16:13:04 +09:00
Jean-Philippe Andre 7bf8da2baa evas: Rename Evas.Object to Efl.Canvas.Object
One step closer to make the EO inheritance tree look like
it's all Efl.
2016-06-21 14:35:19 +09:00
Jean-Philippe Andre 915e09aed3 Evas: Rename Evas.Rectangle as Efl.Canvas.Rectangle 2016-06-02 18:57:30 +09:00
Tom Hacohen a6a2338962 Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
This reverts commit 546ff7bbba.

It seems that eo_del() is useful and removing it was creating bugs.
The issue is that the way we defined parents in eo, both the parent and
the programmer share a reference to the object. When we eo_unref() that
reference as the programmer, eo has no way to know it's this specific
reference we are freeing, and not a general one, so in some
circumstances, for example:
eo_ref(child);
eo_unref(child); // trying to delete here
eo_unref(container); // container is deleted here
eo_unref(child); // child already has 0 refs before this point.

We would have an issue with references and objects being freed too soon
and in general, issue with the references.

Having eo_del() solves that, because this one explicitly unparents if
there is a parent, meaning the reference ownership is explicitly taken
by the programmer.

eo_del() is essentially a convenience function around "check if has
parent, and if so unparent, otherwise, unref". Which should be used when
you want to delete an object although it has a parent, and is equivalent
to eo_unref() when it doesn't have one.
2016-06-01 13:33:21 +01:00
Jean-Philippe Andre 99924852ab Efl: Remove part name in Efl.Container (use Efl.Part)
This touches Edje and also Elementary where part names are used.
This commit blew up in size since now all content part APIs
(get, set, unset) require to use Efl.Part instead.

This is a big refactoring commit, but no logic should
have been changed. Fingers crossed.
2016-05-26 19:55:50 +09:00
Jean-Philippe Andre 35fc3f5130 Edje: Test proxy objects more
This tests that a cached object is not reused invalidly if
it was ref'ed.
2016-05-24 18:50:58 +09:00
Jean-Philippe Andre df375ca395 Edje: fix test case (switch to efl_part) 2016-05-24 18:50:58 +09:00
Tom Hacohen 546ff7bbba Eo: Remove eo_del() and make eo_unref() the replacement.
We used to have eo_del() as the mirrored action to eo_add(). No longer,
now you just always eo_unref() to delete an object. This change makes it
so the reference of the parent is shared with the reference the
programmer has. So eo_parent_set(obj, NULL) can free an object, and so
does eo_unref() (even if there is a parent).

This means Eo no longer complains if you have a parent during deletion.
2016-05-17 16:23:23 +01:00
Jean-Philippe Andre 5ba58353f0 Edje: Fix test case to show proper use of part APIs
The one and only valid use case is calling a function directly on
the part handle, like:
  func(part_get(obj, "part"), args).

This does not change the actual proxy object lifecycle or resolve
any potential issues, but this should clear up things in terms
of scope for proper (supported) use.

efl_content_get may become efl_part() and return a temporary object,
valid for a single function call. Those are "details" still to be
refined.
2016-05-09 14:42:47 +09:00
Jean-Philippe Andre 0c2027b2af Edje: Add test case showing lifecycle of proxy object
This is for efl_content_get proxy objects (BOX & TABLE).
2016-04-29 13:32:01 +09:00
Jean-Philippe Andre ff8ee01432 Efl: Rename some packing functions and return bool
This renames some APIs from Efl.Pack in order to try and
make them more sensible. Feedback welcome.

Also, most APIs now return bool, where false is quite unlikely
to happen.
2016-04-26 16:48:55 +09:00
Jean-Philippe Andre f19da66843 Edje: Add test case for edje table
This tests the EO and Legacy APIs
2016-04-26 14:09:36 +09:00
Jean-Philippe Andre 12146ddea6 Edje: Return text defined in EDC in part_text_get
This function was returning only the text defined by part_text_set.
This is a behaviour change, as part_text_get() no longer returns NULL
if there is a string defined in EDC. But this now means that the actual
value displayed on screen can be retrieved by a simple API call.

@feature
2016-04-26 11:36:23 +09:00
Jean-Philippe Andre e2176ed6a3 Edje: Replace edje_box_part with a fake eo proxy
This is basically an implementation of eo_part() but only
for Edje Box APIs. Legacy API is implemented on top of the
EO API.
2016-04-26 11:36:23 +09:00
Jean-Philippe Andre 24177057d0 Edje tests: Add test case for access_part_list
This tests eo and legacy apis
2016-04-26 11:36:23 +09:00
Jean-Philippe Andre e1092b84eb Edje: Adapt to Efl.Container
This basically renames swallow into content.
2016-04-26 11:36:23 +09:00
Jee-Yong Um 11cdd13945 edje: add test for edje_object_part_box_insert_after()
Summary:
This test checks the validity of edje_object_part_box_insert_after().
It depends on D3733.

Reviewers: jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-04-18 16:21:07 -07:00
Tom Hacohen 70537370a1 Edje tests: Add parent upadting tests to edje. 2016-04-18 10:10:23 +01:00
Tom Hacohen b337558fd6 Edje tests: Fix tests when running out of source and remove hack.
There was a seriously horrible hack here to workaround this issue. This
hacks goes all the way back to 3e07236. The essence of the hack was to
try the system files for the tests (and I guess that's why we were
shipping them although we really shouldn't).

This change fixes the file lookup for out of source files.

Hat-tip to zmike for pointing me to abs_top_buildir.
2016-04-15 18:18:22 +01:00
Jean-Philippe Andre bd7af3ecfe Edje: fix tests snap 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 06cf9e6bea Evas.Image: Complete implementation of proxy and snapshot
This moves the EO APIs away from Evas.Image and adds the required
legacy bindings.
2016-03-15 11:11:59 +09:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
2016-03-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Jean-Philippe Andre 24f19dc770 Efl.Gfx.Filter: Rework APIs and mark as stable
- Remove @beta flags,
- Update @since to match stabilization,
- Change methods to properties with keys,
- Use eo_prefix and add filter_ prefix to all properties since
  they use very generic names,

The filter API stays under Efl.Gfx since there are other kinds of
filters, and this one is the particular "graphical filter" or
"effect" API.

The EO API mostly not change from an application point of view,
except for "source_get" which now returns a string directly. Also,
state and data can now be queried.
2016-03-02 12:57:23 +09:00
Vincent Torri 885a1d2f7d Test rework #5: Edje 2016-02-16 12:41:06 +00:00
Jee-Yong Um a416f73790 edje: add test for omitting "name" keyword in color_classes.color_class block
Summary:
This test checks whether omitting "name" keyword in color_classes.color_class
block in EDC work normally.

Depends on D3598

Test Plan: make check

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 07:51:34 +01:00
Jee-Yong Um 395ed14f63 edje: add size_class test case
Summary: add edje size_class APIs' test case

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3391
2015-12-16 14:56:39 +09:00
Jee-Yong Um 20671d84cd edje: add mising closing brace and adjust indents and spacing in test edc
Summary: A closing brace is missing, and indent is not aligned.

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 14:54:18 -08:00
Tom Hacohen 64a04eb770 Edje test: remove unused variable. 2015-10-04 15:01:27 +01:00
Jean-Philippe Andre 73f9ca6297 Edje tests: Test inheritance of flag no_render 2015-10-02 12:25:29 +09:00
Jean-Philippe Andre 35fe059ec8 Edje: Add test case for SNAPSHOT
This is mostly an edje_cc compilation test.
2015-10-01 20:10:54 +09:00
Jean-Philippe Andre 6b7e4087d2 Edje tests: Add PROXY part to the filters test case
Only compilation is tested here.
Use edje_player to check the resulting edj if you wanna see what
happens.
2015-10-01 20:10:54 +09:00
Jean-Philippe Andre b8a2a9b3c0 Evas filters: Fix make doc, check when EFL is not installed
Thanks @aerodynamik for even giving the proper environment
variable to set :)

Fixes T2614
2015-07-29 20:22:35 +09:00
Jean-Philippe Andre 6ca02cbfe8 Edje: Embed verbatim scripts for Efl.Gfx.Filters
This is now like the other embedded scripts, where a verbatim
string is parsed. The syntax is now:

filters {
   filter {
      name: "filter0";
      file: "filter.lua";
   }
   filter {
      name: "filter1";
      script {
         blend {}
      }
   }
   filter.file: "file.lua"; // name is "file.lua"
}

Thanks @raster for the quick review.
2015-07-01 20:46:34 +09:00
Jean-Philippe Andre d4de36a43a Edje: Fix test case (after syntax change)
Filters now belong to one of the filters sections:
- filters
- collections.filters
- collections.group.filters
2015-06-30 10:12:13 +09:00
Jean-Philippe Andre 8ba212c3b6 Edje tests: Fix compilation warning
Thanks Stefan for the report.

I don't really like putting all those -DBLA_BETA or #define BLA_BETA
everywhere, though. Maybe the @beta flag is not required since the
EO APIs are still beta?

See: 0446619355
2015-06-26 09:15:07 +09:00
Jean-Philippe Andre 6ca1ce305b Edje tests: Add test case for embedded text filters 2015-06-25 14:36:09 +09:00
Jean-Philippe Andre f24b45a7d0 Edje: Add test case for "no_render" and "clip_to" state flag 2015-06-15 16:59:41 +09:00