Commit Graph

556 Commits

Author SHA1 Message Date
Marcel Hollerbach 197210cde2 elc_filselector: solve the mysterium of sometimes failing tests
so after a phone call, two days of debugging, tears, crying etc. etc. we
finally came to a point of enlightenment! *Someone* (bu5hm4n) moved
gengrid and genlist events from eo back to smart events, so we can work
arround legacy borks and event-name collisions, at this point he did not
knew that some widgets (fileselector) already relied on those *lovely*
events. Hence this broke theoretically the testsuite, however, the
fileselector testsuite is ultimatily buggy, and the wait function does
not return false when it timeouts, (i don't know why not). So this break
was never discovered.

Additionally there is a second issue. it appears, that when we
immidiatly quit the mainloop after we have got the selected callback,
that then genlist decides to forget about the sd->selected pointer, and
NULLs that one out. Which then results in the fact that
elm_fileselector_selected_get ends up returning invalid paths.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8488
2019-03-27 15:03:41 -07:00
Wonki Kim 0f29560aa2 test: add a test case for elm_entry
Summary:
behaviors of elm_entry has been changed
so that this patch provides usages to keep as a test case.

Reviewers: zmike, Hermet, YOhoho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8483
2019-03-27 10:58:35 -04:00
Yeongjong Lee 2e545ee34e elm_win: fix correct return value on elm_win_rotation_get
Summary:
Before b3327c761e, -1 was returned on`elm_win_rotation_get`, if `obj` is NULL.
This fixes backward compatibility.

Test Plan: make check

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8474
2019-03-26 19:48:30 +09:00
Yeongjong Lee 43b199aca3 elm_photocam: fix file_get,set operations
Summary: This patch fixes bug that elm_photocam_file_get always return NULL.

Test Plan: make check

Reviewers: Hermet, zmike, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8472
2019-03-26 13:16:32 +09:00
Mike Blumenkrantz 18349ac73f tests: add (failing) test for elm_entry magnifier
this crashes immediately and showcases the current infinite recursion issue
in elm_entry which is triggered by clicking any entry for $longpress_timeout

ref T7202

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8440
2019-03-25 15:26:51 +01:00
Mike Blumenkrantz c249cb3c8b tests: add function to do "real" timers
in very specific cases it's necessary to match the exact timing of
internal functionality, so add a function to provide that capability

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8439
2019-03-25 15:26:50 +01:00
Mike Blumenkrantz 1e54bb7d9e tests: make elm_win visible during tests
elm_win has some internal locking to avoid doing sizing and visibility
changes until pre-render to save some calculations. this makes triggering
ui events on objects impossible, as they will not be visible.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8438
2019-03-25 15:26:47 +01:00
Yeongjong Lee 476010b018 elm_win: fix correct rot variable in elm_win_rotation_get
Remove duplicated rotation variable

Also, it fixes wrong layout class comparing.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8464
2019-03-25 11:36:14 +01:00
Shilpa Singh 834219013d efl_access: add test cases for reading_info_type_set/get API
Add test cases for efl_access_object_reading_info_type_set and efl_access_object_reading_info_type_get
APIs

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8427
2019-03-25 10:41:35 +01:00
Yeongjong Lee 77f2782d29 ui.box_stack: refactor layout_update
Summary:
This patch remove evas_box function from Efl.Ui.Box_Stack and add unit test.

Depends on D8214

Test Plan:
1. make check
2. elementary_test -to 'efl.ui.box_stack'

Reviewers: zmike, Jaehyun_Cho, cedric

Reviewed By: zmike, Jaehyun_Cho, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8094
2019-03-20 10:37:42 -04:00
Shilpa Singh e80169a844 efl_access: Add attribute_del API, Add test cases for all access_object_attribute* APIs
Add attribute_del API, currently there is no provision to delete a particular attribute(key-value pair)
from the attribute list of a widget.
Add test cases for efl_access_attribute_append, efl_access_attributes_get, efl_access_attribute_del and efl_access_attributes_clear API

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8386
2019-03-20 15:29:04 +01:00
Marcel Hollerbach 60384a4d40 evas: apply new event calling convention
Summary:
ref T7758

Depends on D8407

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7758

Differential Revision: https://phab.enlightenment.org/D8408
2019-03-19 16:31:50 -04:00
Daniel Kolesa 58b8a3d163 efl: remove EFL_EO_API_SUPPORT macro
Summary:
Since we're now going to be shipping some eo classes as stable,
there is no point in keeping the eo api behind a macro, and it
should be enabled by default. Another case is beta classes, but
those are behind the EFL_BETA_API_SUPPORT guard.

This also changes includes around the place where things are
clearly broken (such as an included header needing something
from another header but that other header being guarded, notably
efl_ui_widget.h needing focus manager but focus manager being
behind beta in Elementary.h)

Reviewers: zmike, cedric, bu5hm4n, stefan_schmidt, segfaultxavi

Reviewed By: cedric, segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8322
2019-03-18 12:13:59 +01:00
Marcel Hollerbach cdd134a3a0 elementary: add compile checks for the efl_ui.h header
Summary:
we should check if the header actaully compiles without the beta
defines.

Depends on D8342

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8343
2019-03-14 14:26:34 -04:00
Yeongjong Lee ba1c94d051 efl_ui_layout: fix elm_layout_text_set behavior
Summary:
Since commit 649433560b, elm_layout_text_set didn't work on some widgets.
This patch fixes invisible text issues.

Test Plan:
1. make check
2. elementary_test -to 'popup'

Reviewers: zmike, segfaultxavi, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, herb, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8326
2019-03-14 11:11:32 -04:00
Yeongjong Lee c3f823418d ui.widget: fix theme_apply working in sub_object_add
It seems that theme_apply in sub_object_add haven't worked since commit
f6fa1ef612.

scale, theme property will be set properly when the parent is changed.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8283
2019-03-13 17:02:30 +01:00
Jaehyun Cho 6bf7f19d60 Revert "tests: add test for elm_layout_text_set"
This reverts commit 0e027980f6.

Since D7888 breaks the backward compatibility, D7888 is going to be
reverted. This patch is based on D7888 so this patch is also required to
be reverted for now.
After a proper patch is applied instead of D7888, then this patch can be
submitted again.
2019-03-13 19:25:36 +09:00
Marcel Hollerbach aabe29abc1 Revert "ui.widget: fix theme_apply working in sub_object_add"
This only works with a new libcheck, but not with a old one, revisiting
it.

This reverts commit da0ff53471.
2019-03-11 21:57:45 +01:00
Yeongjong Lee da0ff53471 ui.widget: fix theme_apply working in sub_object_add
It seems that theme_apply in sub_object_add haven't worked since commit
f6fa1ef612.

scale, theme property will be set properly when the parent is changed.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8283
2019-03-11 21:34:57 +01:00
Yeongjong Lee 0838c1af63 ui.widget: add exception handling code and unit test of sub_object_add/del function
Add missing exception check code with unit test.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8282
2019-03-11 21:23:51 +01:00
Daniel Kolesa d3c5384cd0 eolian: enable checking of beta/stable contexts in all classes
Summary:
This enables all the checks unconditionally, without ignoring
classes that don't have an Efl namespace. This required a lot
of beta marking to make it build. It most likely doesn't
mark types correctly, as that is not fully enabled yet.

Reviewers: zmike, cedric, segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8266
2019-03-11 13:42:29 +01:00
Marcel Hollerbach 2f85e78998 efl_ui_types: rename move_prolicy field
Summary:
in was not very descriptiv, move_in was concluded to be more descriptive

ref T7726

Reviewers: segfaultxavi, cedric, zmike

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7726

Differential Revision: https://phab.enlightenment.org/D8270
2019-03-09 13:34:48 +01:00
Mike Blumenkrantz 632bd45825 efl.loop_timer: rename all methods/properties/events
Summary:
avoid potential future conflict by not using conflict-able names

ref T7731

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7731

Differential Revision: https://phab.enlightenment.org/D8256
2019-03-08 16:38:46 +01:00
Mike Blumenkrantz 1e750ddfde tests: add test for legacy-only build in elm_suite
Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D8254
2019-03-08 09:02:00 -05:00
Mike Blumenkrantz 7edd248491 tests: add build test for EFL_NOLEGACY_API_SUPPORT in efl_ui_suite
Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D8252
2019-03-08 09:01:56 -05:00
Mike Blumenkrantz 60063359fc tests: use Efl_Ui.h for efl_ui test
Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8253
2019-03-08 08:53:18 -05:00
Yeongjong Lee fbc7c31b33 ui.box_flow: refactor layout_update
Summary:
This patch remove evas_box function from Efl.Ui.Box_Flow and add unit test.
Depends on D8214

Test Plan:
1. make check
2. `elementary_test -to 'efl.ui.box'` with 'flow' checkbox.

Reviewers: zmike, Jaehyun_Cho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8219
2019-03-08 08:22:08 -05:00
Yeongjong Lee 97416e9996 elm_gengrid: fix correct parent-child relation of item content
Summary:
see 1b2401849a that said
`evas_object_smart_member_del` doesn't make sense here.
I guess `_sub_object_del` should have been used when item_all_contents_unset is
implemented.

Item content should have widget(gengrid) as the parent. but that relationship
is removed by c075b7caaa.
See also, `_item_content_realize` of genlist.

Test Plan: make check

Reviewers: Hermet, SanghyeonLee, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8238
2019-03-08 13:18:05 +09:00
Mike Blumenkrantz 14df465ce3 elm: explicitly include Efl_Ui.h in binaries
it looks like people have been relying on Elementary.h to include
eo apis even though this obviously makes no sense

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8223
2019-03-07 14:16:57 -08:00
Mike Blumenkrantz ca9daf94c6 elm_code_widget: make this efl_ui namespaced
this currently has no counterpart in interface widgets but would be
useful there. removing the use of an elm_scroller type makes it independent
of legacy widgets, and it's still a beta api so at least future development
can be resumed at some point without much issue

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8158
2019-03-07 14:14:55 -08:00
Yeongjong Lee 0b7cd8d88e ui.box, ui.table: respect user min
Use restricted_min_set instead of min_set in layout_update.
min_set is set by public API(user side). if it is changed by internal function,
user will get unexpected value later. please check added test case.

Note that this reverts commit e013480e7a. instead,
this patch provides better solution of the issue refered in e013480e7.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8214
2019-03-07 09:59:05 -08:00
Yeongjong Lee f1d5b8a40c test/elm_box: clean up elm_box_disabled_test
1. remove unrelated test.
2. fix indentation
3. use proper parameters of `elm_win_resize_object_add`

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8218
2019-03-07 09:58:56 -08:00
Mike Blumenkrantz 9a361ac917 efl_access_object: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in
evas and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree

ref T7724

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8131
2019-03-06 13:03:02 -08:00
Yeongjong Lee e013480e7a ui.box, ui.table: respect parent hint size min
Summary:
This patch fixes issue that parent hint size min is ignored when it is greater
than children hint size min sum.

Thanks to segfaultxavi for reporting this.

Test Plan:
1. make check
2. 'hello-gui' or 'texteditor' example in examples.git

Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8098
2019-03-05 09:31:19 +01:00
Mike Blumenkrantz e3fa213d10 efl.ui.win: remove all legacy types and functions from eo file
Summary:
most of the eo methods here will be marked beta, preventing them from
generating legacy code

ref T7511
Depends on D8082

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7511

Differential Revision: https://phab.enlightenment.org/D8083
2019-03-04 13:37:24 -05:00
Mike Blumenkrantz da16711974 efl.ui.layout: fix theme.get implementation (+unit test)
Summary: ref T7512

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7512

Differential Revision: https://phab.enlightenment.org/D8059
2019-03-04 13:36:25 -05:00
Mike Blumenkrantz 0e027980f6 tests: add test for elm_layout_text_set
Summary: ref T6931

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6931

Differential Revision: https://phab.enlightenment.org/D7603
2019-02-27 16:04:07 -05:00
Yeongjong Lee e4e5b5a349 test/ui_table: add unittest for Efl.Ui.Table
Summary:
{F3627728}
{F3627729}
ref T5487

Depends on D7892

Test Plan: make check

Reviewers: jpeg, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5487

Differential Revision: https://phab.enlightenment.org/D7840
2019-02-27 14:45:34 -05:00
Mike Blumenkrantz 0b152734ba efl_ui_widget: redo disable handling
before the disable property was a bit weird. Setting something to
disabled=true will disable all children of the widget that is changed.
However, only the update function of the children will get the false flag,
not the flag itself. Which means, to query the real disabled state, we
need to walk up the parent relations.

With this patch, every change to disabled will go through the disabled
property, which mean, a implementor can just overwrite the disabled
property, and adjust its internal state there. Just be carefull, a set
to disabled=true still might result in disabled=false. This makes the
function on_disable_update unneccesary. Which also cleans up the
Efl.Ui.Widget class.

ref T7553

Depends on D8016

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8017
2019-02-27 20:19:23 +01:00
Marcel Hollerbach aef19e9017 efl_ui_widget: introduce a new API
Summary:
this new API can be used to get a easy to use iterator, to iterate
through all the children of a specific widget.

ref T7553

Reviewers: stefan_schmidt, zmike, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: woohyun, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7553

Differential Revision: https://phab.enlightenment.org/D8014
2019-02-27 13:29:08 -05:00
Mike Blumenkrantz 6326e18b3f 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
2019-02-27 13:17:10 -05:00
Mike Blumenkrantz 5da43b2aa7 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
2019-02-25 14:00:14 -05:00
Marcel Hollerbach 229dc576e6 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
2019-02-22 14:00:32 +01:00
Marcel Hollerbach 93903a7ba3 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
2019-02-22 14:00:28 +01:00
Yeongjong Lee 3118bfc34b 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
2019-02-22 19:47:47 +09:00
Mike Blumenkrantz 99c3d42efd 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
2019-02-21 20:24:34 +01:00
Mike Blumenkrantz e166486107 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
2019-02-21 20:24:30 +01:00
Marcel Hollerbach 078ccd1ca9 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
2019-02-21 19:13:39 +01:00
Mike Blumenkrantz f886941b11 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
2019-02-21 18:43:12 +01:00
Marcel Hollerbach 37d2d378ec eolian: drop class function overriding
Until this commit eo did class functions as part of the vtable, which
enabled those functions to be overwritten in classes inheriting another
class. However in task T7675 we decided that this is not really good for
bindings, as most OOP languages do not support this sort of feature.

After this commit eolian realizes class function completly outside of
the vtable, the c-symbol that is the class funciton is now just directly
redirecting to a implementation, without the involvement of the vtable.

This also means a change to the syntax created by eo:

Calling before:
  class_function(CLASS_A);
Calling after:
   class_function();

Implementation before:
   class_function(const Eo *obj, void *pd) { ... }
Implementation after:
   class_function(void) { ... }

This fixes T7675.

Co-authored-by: lauromauro <lauromoura@expertisesolutions.com.br>

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7901
2019-02-13 16:59:58 +01:00
Yeongjong Lee b1f280f0c2 test/ui_box: add unittest for Efl.Ui.Box
Summary:
Testcase
{F3613173}
{F3613174}

ref T5487
Depends on D7750

Test Plan: make check

Reviewers: jpeg, barbieri, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5487

Differential Revision: https://phab.enlightenment.org/D7463
2019-02-13 09:23:01 -05:00
Stephen 'Okra' Houston 7b19573895 elm_progressbar test: Add test for custom format strings to show when %% is not escaped correctly.
This adds a test that sets a custom progressbar format string that includes a custom percent (%%) that should be escaped to just one percent (%).  This case has been broken and fixed many times and is broken again so it makes sense to now add a check for it to try and prevent the continual breakage.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7745
2019-02-11 15:41:04 -08:00
SangHyeon Jade Lee 053146598c efl_ui : rename model connect and factory connect to bind property and factory.
As we discussed in T7469 with V40,

efl_ui_model_connect
efl_ui_factory_model_connect

need to be renamed to

efl_ui_bind_property
efl_ui_bind_factory

for this work,
Efl.Ui.Model.Connect interface is changed as Efl.Ui.Bind,
and bind_property and bind_factory both method is supported by this interface.

bind_factory need Efl.Ui.Factory,
and Efl.Ui.Factory inheritted Efl.Ui.Bind,
so I little bit concerned about circular referencing, but so far, it works well.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7529
2019-02-11 11:06:13 -08:00
Mike Blumenkrantz 08b7974fa1 tests/elm: speed up all main loop timer execution
this spins a second loop which manages a timer to trigger the canvas tick
and increase the loop timer by a fixed interval on every timer call

by increasing the loop time manually, timers such as edje animation timers
which would usually take a very long time (e.g., 0.5s) to run will instead
complete almost instantly, making tests run much faster

the second loop is necessary in this case in order to accurately provide ticks
at a consistent interval without any modifications to timing

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D6791
2019-02-01 14:10:52 -06:00
Mike Blumenkrantz 2a218e28c3 efl_ui_win: add 'exit_on_close' property and unit test
Summary:
this property can enable the associated window to quit the main loop with
the passed exit code when the window is destroyed

@feature
fix T5494

Depends on D7594

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5494

Differential Revision: https://phab.enlightenment.org/D7595
2019-01-31 11:54:58 -05:00
Mike Blumenkrantz 9b129b5c7a efl_ui_win: add 'exit_on_all_windows_closed' class property and unit test
Summary:
this property causes the main loop to exit with the passed exit code
when the standby event is triggered

@feature
ref T5494

Reviewers: cedric, bu5hm4n, segfaultxavi

Reviewed By: cedric, bu5hm4n, segfaultxavi

Subscribers: segfaultxavi, bu5hm4n, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5494

Differential Revision: https://phab.enlightenment.org/D7594
2019-01-31 11:54:54 -05:00
SangHyeon Jade Lee 5525c89a3d efl_model : rename all efl_model based classes.
Summary:
As the result of discussion in T7458,
we need to rename all efl_model based classes with efl_XXX_Model sequence.
I've run few vote for this, see V42, V43
few classes are totally renamed as our consideration of misnaming.

| Efl.Model_Loop | Efl.Loop_Model |
| Efl.Model_Item | Efl.Generic_Model |
| Efl.Model_Container | Efl.Container_Model |
| Efl.Model_Container_Item | Efl.Container_Model_Item |
| Efl.Model_Composite | Efl.Composite_Model |
| Efl.Model_Composite_Boolean | Efl.Boolean_Model |
| Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item |
| Efl.Model_Composite_Selection | Efl.Select_Model |
| Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item |
| Efl.Model_View | Efl.View_Model |
| Eio.Model | Efl.Io.Model |
| Efl.Ui.Model_State | Efl.Ui.State_Model |
| Efl.Ui.Model_Size | Efl.Ui.Size_Model |
| Efl.Ui.Model_Exact | Efl.Ui.Exact_Model |
| Efl.Ui.Model_Average | Efl.Ui.Average_Model |
| Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model |

I worried about Efl.Io.Model changes, cause it is widely used,
but as I tested, there is no issue found yet.

Eldbus.Model also may can changed Efl.Dbus.Model,
but I cannot found any class who using Efl.Dbus namespace,
so I left it future work.

Test Plan:
Run the Make Test,
it works well except Efl test about selection.
there are class inheritance problem exist in select_model,
I reported it and will fix it in another patch.

Reviewers: cedric, felipealmeida, woohyun, Hermet

Reviewed By: cedric

Subscribers: lauromoura

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D7533
2019-01-31 14:59:37 +09:00
Cedric BAIL c713bb90d3 elementary: add test for Efl.Ui.Model_Average.
Summary: Depends on D7664

Reviewers: SanghyeonLee, felipealmeida, segfaultxavi, zmike

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7382

Differential Revision: https://phab.enlightenment.org/D7665
2019-01-31 11:09:16 +09:00
Cedric BAIL 40cc1aca0d elementary: add a test for Efl.Ui.Model_Exact.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7664
2019-01-30 12:06:22 -08:00
Cedric BAIL d1b1dce5ff elementary: add a test for Efl.Ui.Model_Homogeneous.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7663
2019-01-30 12:06:20 -08:00
Mike Blumenkrantz dc8e46a926 tests: move efl_ui focus tests into efl_ui_suite
ref T6815

Differential Revision: https://phab.enlightenment.org/D7827
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 2137154d2a tests: move efl_ui_image test -> efl_ui_suite
ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7825
2019-01-30 10:11:41 +01:00
Mike Blumenkrantz 633a2e506c tests: move efl_ui_layout tests into efl_ui_suite
also use legacy api for elm_layout swallow test

ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7824
2019-01-30 10:11:40 +01:00
Mike Blumenkrantz 7628bd76ed tests: move image_zoomable into efl_ui_suite
ref T6815

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7807
2019-01-30 09:44:32 +01:00
Mike Blumenkrantz 166dafb0d8 tests: add atspi test for efl_ui_suite
this is just a copy of the existing suite but with some small changes to
use (mostly) eo apis

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7806
2019-01-30 09:44:31 +01:00
Mike Blumenkrantz 22152565a9 tests: formatting
make this consistent for possible sed later

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7805
2019-01-30 09:44:30 +01:00
Mike Blumenkrantz 9f3d87ccca tests: modify efl_ui_suite to use same test infrastructure as elm_suite
this should enable us to begin moving efl_ui tests into the proper suite
instead of sticking them all into elm_suite

also move grid tests to efl_ui_suite

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7765
2019-01-30 09:04:57 +01:00
Cedric BAIL 97e210d727 elementary: enable efl_ui_suite tests for meson build.
Summary: Depends on D7661

Reviewers: SanghyeonLee, felipealmeida, segfaultxavi, zmike

Reviewed By: SanghyeonLee, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7382

Differential Revision: https://phab.enlightenment.org/D7662
2019-01-29 09:26:51 -05:00
Marcel Hollerbach 1c27529363 elm_fileselector_button: support the whole interface
this adds full support of the full elm_fileselector interface to
elm_fileselector_button.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7753
2019-01-26 11:42:02 +01:00
Marcel Hollerbach 993c843291 efl_ui_layout: use the correct object
the obejct used in D7740 have been false.
Here comes the fix + a few tests.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7746
2019-01-24 10:24:50 +01:00
Marcel Hollerbach 5c1fde2c57 efl: add free functions to owned types
this commit is a first step in order to add free functions to all the
types that are owned.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7627
2019-01-22 14:02:37 +01:00
Mike Blumenkrantz 4cac97675e tests: use test namespace for elm_layout unit test function names
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7604
2019-01-16 13:28:58 +01:00
Yeongjong Lee 78ae9c0ae0 gfx: Add size hint fill (EO)
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.

@feature

Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'

Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T3912

Differential Revision: https://phab.enlightenment.org/D7409
2019-01-16 16:47:51 +09:00
Marcel Hollerbach 20ddd4c679 efl_app: introduce app_main for getting the app object
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.

fix T7509

Differential Revision: https://phab.enlightenment.org/D7480
2018-12-20 12:56:54 +01:00
Yeongjong Lee d840a64550 elm-test: add a test for checking the focus_next_object_set
The object which is set by elm_object_focus_next_object_set should be considered
first when focus moved.

ref T7389

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7310
2018-12-17 09:12:22 +01:00
Carsten Haitzler e3fb243feb elm teest - focus - fix unused param warn 2018-12-04 08:43:02 +00:00
Carsten Haitzler 89524e376c elm tests - focus - fix unused param warn 2018-12-04 08:42:19 +00:00
Carsten Haitzler 2060786ab9 elm tests - gengrid - fix unused param warn 2018-12-04 08:41:24 +00:00
Marcel Hollerbach a444ff743f elm_interface_scrollable: add support for *jumping* into a scroller
Until recently we have been only registering the border elements of the
graph, (so only the elements that don't have a neighboor). However this
lead to the situation that a scroller that is scrolled into the middle
(so not the x nor the y axis is scrolled to the max), is not accessable.

Now, we register all elements that have a neighboor in the outside.
The patch in the test suite is required in order to provide the correct
geometry to the implementation of efl_ui_focus_manager_sub.

Differential Revision: https://phab.enlightenment.org/D7360
2018-12-04 08:45:49 +01:00
Marcel Hollerbach c1dd57d210 meson: use eolian_gen with -S
this ensures that eolian does not parse installed .eo files

Differential Revision: https://phab.enlightenment.org/D7405
2018-12-03 19:00:26 +01:00
Marcel Hollerbach acee09f585 efl_ui_focus_manager_sub: freeze manager when parent manager is frozen
a efl_ui_focus_manager_sub object is a manager object by itself. It
registeres the border elements of itself in the parent focus manager.
However, all elements that are registered in this manager object, are
also automatically children of the parent root object, which means, when
the root object of the parent manager object is moved, then those
children will also be moved. Which means, when the parent manager can
ignore those changes, we can also ignore them.
This improves the overall performance of the "Scroller 2" test case by
26%.

The change to the test is required in order to redirect the events so
the self_dirty bit is setted correctly

Differential Revision: https://phab.enlightenment.org/D7350
2018-11-26 11:37:04 +01:00
Daniel Kolesa c8e0a1d2e2 eolian: implement new syntax for inheritance
This new syntax separates the parent class from extensions, in
a familiar way to similar to e.g. Java. Since changing everything
at once is a lot of effort, implement it alongside for the time
being.
2018-11-23 13:57:07 +01:00
Marcel Hollerbach 11a19c23b1 elm_gengrid: transform P233 into a testcase
the new testcase checked if the focus is correctly restored after the
gengrid is focused again. And it checks that the focused_item pointer is
NULLed out when the gengrid is not focused at all anymore.

Differential Revision: https://phab.enlightenment.org/D7272
2018-11-20 20:51:25 +01:00
Marcel Hollerbach d79db7c8bf elm-test: simulate focus on the window
we cannot rely on the compositor to actaully get focus.
However, a few widgets are only doing focus operations if they can get
focus, if not they do nothing. Which effectifility turns off every focus
operation if you don't have compositor focus. In order to work arround
this, we are getting the ee, NULL out the callbacks, so the window does
not know about the the *real* compositor focus, after that we manully
say that the root object has focus, so normal operations can be
performed again.

Differential Revision: https://phab.enlightenment.org/D7311
2018-11-20 20:50:42 +01:00
Marcel Hollerbach 25ac6d4fcc efl_ui_focus_object: add new event
the new event indicates when the focus property of a child has changed.

Fixes T7438

Differential Revision: https://phab.enlightenment.org/D7263
2018-11-20 14:42:32 +01:00
Marcel Hollerbach 70c800465e elm-test: add a test for checking the event handling
This tests creates a giant box with widgets in them. Each widget that is
tested is added to the box, focus is moved into it, and away from it,
the corresponding events are then checked.

Differential Revision: https://phab.enlightenment.org/D7233
2018-11-20 14:42:32 +01:00
SangHyeon Jade Lee 4b5304d7f2 efl_ui_grid : introduce new packable grid widget for Efl.Ui.Widget
Summary:
Introduce new packable grid for Efl.Ui.Widget toolkits.
most of parts are same as Efl.Ui.List, and it also support Efl.Pack_Linear,
although it will not support Efl.Pack_Table, because item must be
arranged sequential orders.

Test Plan:
We will make the tests on efl ui test suite.
please test by make check.

Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun

Reviewed By: Hermet, eagleeye

Subscribers: CHAN, bu5hm4n, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6985
2018-11-20 14:32:31 +09:00
Jaehyun Cho 2d460e52e4 elementary: remove Efl.Ui.Layout namespace
Summary:
Efl.Ui.Layout namespace is removed to keep consistency with other
widgets.
Consequently, "Efl.Ui.Layout.Object" is renamed to "Efl.Ui.Layout" and
"Efl.Ui.Layout." is renamed to "Efl.Ui.Layout_".

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers, SanghyeonLee, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7291
2018-11-16 11:11:13 +01:00
Carsten Haitzler 665a75378f xxx - fix eina_future_then calls to pass sotrage val - fix warns 2018-11-09 11:43:59 +00:00
Daniel Kolesa 5a3d79d383 meson: add eolian custom dependencies support
This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.

For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.

Differential revision: D7187

Fixes T6700.
2018-10-24 12:02:55 +02:00
Marcel Hollerbach 2643ce0aad build: move ELM_INTERNAL_API_ARGESFSDFEFC into buildsystem
the definition is now defined in the buildtools autools / meson. This
reduces the amount of warnings in meson.

Differential Revision: https://phab.enlightenment.org/D7170
2018-10-18 16:01:07 +02:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00
Mike Blumenkrantz 8537ad4282 tests/elm: use custom tick source for animator events
ensure that animator ticks are occurring at the same time as render
dumping in order to further speed up tests

Differential Revision: https://phab.enlightenment.org/D6766
2018-09-13 09:53:46 +02:00
Shinwoo Kim f84408e325 tests: fix a build error on the 0.12.0 check
Summary:
(1) EFL_START_TEST(TEST_NAME) is defined as follows if you are using
    the 0.12.0 check:

  START_TEST(TEST_NAME) \
  _timing_start();

(2) START_TEST(__testname) is defined as follows
    (To make it simple I am using 'blah-blah' here):

static void __testname_fn (blah-blah);\
static const TTest __testname_ttest = { blah-blah };\
static const TTest * __testname = & __testname_ttest;\
static void __testname_fn (blah-blah)

For example we are using as follows in a test case:

EFL_START_TEST(evas_object_smart_paragraph_direction)
{
   ...
}
EFL_END_TEST

This made a build error.

Test Plan: make check

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6969
2018-09-04 14:58:10 +09:00
Mike Blumenkrantz 351a4c828e tests/elm: further reduce buffer render interval
Summary: this further increases the speed at which some tests perform

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric

Tags: #do_not_merge

Differential Revision: https://phab.enlightenment.org/D6765
2018-08-27 12:15:09 +09:00
Yeongjong Lee 07692dc640 elm_image: create image object before call elm_image_object_get
Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.

Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);

img should not be NULL.

Reviewers: Hermet, zmike

Reviewed By: zmike

Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6828
2018-08-16 10:01:37 -04:00
Yeongjong Lee 25d4517fb9 tests/image: remove unused variable
Differential Revision: https://phab.enlightenment.org/D6843
2018-08-16 10:22:48 +02:00
Mike Blumenkrantz 672cacaaf6 tests/elm: remove elm_test_helper.(c|h) files
these timer functions are only used by fileselector and I'm trying to consolidate
timer usage

no functional changes

Differential Revision: https://phab.enlightenment.org/D6768
2018-08-15 10:20:55 +02:00
Mike Blumenkrantz e47c2d7006 tests/naviframe: add test to verify preserve_on_pop functionality
this adds a naviframe with button content and pushes/pops the stack
a couple times to see if a delete callback is called on the button

ref T7236

Differential Revision: https://phab.enlightenment.org/D6762
2018-08-15 09:51:18 +02:00
Yeongjong Lee 95ea970cb6 tests/genlist: add focus test
This adds test for simulating focus state.
Differential Revision: https://phab.enlightenment.org/D6800
2018-08-14 15:00:58 +02:00
Marcel Hollerbach 92bb03d7f5 efl_ui_focus_manager: adjust pop history pop
It now searches for a element if the focus stack is empty.

Differential Revision: https://phab.enlightenment.org/D6801
2018-08-14 15:00:58 +02:00
Mike Blumenkrantz a7f65c75d9 tests/naviframe: namespace test function names
Summary:
no functional changes
Depends on D6759

Reviewers: stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric, #committers

Tags: #efl_widgets, #efl_tests

Differential Revision: https://phab.enlightenment.org/D6760
2018-08-08 09:37:07 -04:00
Mike Blumenkrantz eb5bb9b35b tests/genlist: add full test for expanding and contracting a genlist item
Summary:
this adds a fairly complete test for simulating the expand and contract
of a tree item in a genlist, as triggered by a user clicking the expand arrow
on an item

presently this test fails, as it is set to abort if any error messages are
logged and there are a number of focus manager errors

ref D6737
ref T6837

Reviewers: bu5hm4n, Hermet

Reviewed By: Hermet

Subscribers: SanghyeonLee, cedric, #committers

Tags: #efl_tests, #efl_widgets

Maniphest Tasks: T6837

Differential Revision: https://phab.enlightenment.org/D6750
2018-08-08 09:36:33 -04:00
Mike Blumenkrantz 5b6dddbce6 tests/genlist: use genlist test namespace for test functions
Summary:
namespacing test function names makes test output easier to read.

no functional changes

Reviewers: SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: SanghyeonLee, cedric, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D6758
2018-08-08 09:36:27 -04:00
Mike Blumenkrantz e8d40a04b9 tests/elm: when using buffer engine, clamp render and edje timing to 0.05s
Summary:
this sets manual render on buffer engine windows and dumps the render at every
interval in order to avoid doing any real rendering or animating or having to
wait on some irrelevant timing.

tests using buffer engine just want to complete as fast as possible, as they are
never being displayed anywhere, so just perform canvas operations (recalcs mostly)
and BAIL

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D6749
2018-08-06 16:26:52 +09:00
Andy Williams 1485cf9df5 elm_code: (cherry-pick) Support indentation styles that are purely tab based
read: Allow non-EFL style indentation.
This is off by default but is switched on if you turn 'tabs insert spaces' off
2018-07-22 17:02:23 +01:00
Marcel Hollerbach 655c5ee6e0 elm_test_focus: fix a testcase
Summary:
The test was checking that multiple register calls fail. However, we
made this more stable and are making register only error if the
configuration is not the same. This fixes that.

fix T7141

Reviewers: zmike

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7141

Differential Revision: https://phab.enlightenment.org/D6588
2018-07-13 10:22:45 -04:00
Marcel Hollerbach 7a8ff655c8 elm_popup: ensure focus is emitted on this object
Summary:
This mirrors the focus property from the notify to the one from popup.

This is needed to establish legacy behaviour, as earlier popup was able to get focus.

ref T6707
Depends on D6510

Reviewers: zmike, devilhorns

Reviewed By: zmike

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6707

Differential Revision: https://phab.enlightenment.org/D6511
2018-07-05 15:09:21 -04:00
Mike Blumenkrantz 0accfb12fa tests: disable toggling clouseau_enabled option in elm tests
Summary:
this option triggers codepaths which require and interface with an
external project not in the EFL tree, so it should not be tested in
the efl tree

also depending on the version of clouseau used, this causes the test
suite to fail 100% of the time

fix T6985
ref T7023

Reviewers: devilhorns, ManMower

Reviewed By: ManMower

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6985, T7023

Differential Revision: https://phab.enlightenment.org/D6295
2018-06-15 16:34:50 -04:00
YeongJong Lee 61dc4899b5 elm_win: fix widget type name for backward compatibility
Summary:
It should use legacy class in elm_win_add.

this patch fixes T6898, T6899

Test Plan: make check

Reviewers: zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6899, T6898

Differential Revision: https://phab.enlightenment.org/D6233
2018-05-31 21:39:34 +09:00
Youngbok Shin 6e6ed72921 elementary widget: Do super's efl_gfx_color_set to apply color to widget itself
Summary:
The efl_gfx_color interface was not applied properly.
The implementation code of evas_object_smart_color_set was moved
to efl_gfx_color_set implementation code. But, these two functions are not same.
In efl_gfx_color_set impl, it has to call super's color set to apply
the given color values to widget object itself.

This bug caused color_set/get test failure and the following bug.
1. elm_image_add
2. evas_object_color_set
3. elm_image_file_set
4. show. See the given color is not applied. It was applied in the past.

Test Plan: color_set/get to elm_image object is included in test suite.

Reviewers: raster, cedric, herdsman, woohyun

Reviewed By: cedric

Subscribers: #committers, zmike

Tags: #efl

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:08:24 -07:00
Cedric BAIL 0d52ded215 elementary: destroy timer as they could tick during shutdown. 2018-05-24 16:02:20 -07:00
Cedric BAIL dbbcfa4a59 elementary: small correction in the API of Efl.Access.Object to have proper lifecycle.
This API require more review, I have just fixed API that return type that are
inconsistent over time and fail to allow for proper lifecycle of event, which
lead to crash when those event trigger at unexpected point.

Differential Revision: https://phab.enlightenment.org/D6102
2018-05-24 16:02:18 -07:00
Cedric BAIL ccb5642eb9 Revert "efl_add_ref - fis to use efl_add properly with a parent."
This reverts commit 2fb5cc3ad0.

Most of this change where wrong as they didn't affect the destruction
of the object. efl_add_ref allow for manual handling of the lifecycle
of the object and make sure it is still alive during destructor. efl_add
will not allow you to access an object after invalidate also efl.parent.get
will always return NULL once the object is invalidated.

Differential Revision: https://phab.enlightenment.org/D6062
2018-05-24 16:02:17 -07:00
Marcel Hollerbach fa9aff8f70 efl_ui_focus_manager_calc: do not restore focus when redirect is set
When there is a redirect there is no need to adjust the focus property
based on a unregister, so just continue and cleanup the history. When
the redirect is unset the focus is restored.

fix T6908
2018-05-08 11:50:04 +02:00
Lauro Moura f39baf1e82 elm: Use ck_assert_str_eq for better error logging
Summary: It was introduced in libcheck 0.9.6, before our minimum 0.9.10.

Reviewers: felipealmeida, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6048
2018-05-03 18:04:41 -03:00
Cedric Bail f3ceaebeb4 elementary: fix elementary fileselector tests to exit main loop. 2018-05-01 10:39:01 -07:00
Cedric BAIL 70c6f6db00 elementary: fix layout test to handle asynchronous information properly. 2018-05-01 10:39:01 -07:00
Davide Andreoli d8bfcd511e Genlist: a sane test for genlist item iteration
This is much more extensive than before and we are now
testing both tree and group items.

This test has been run in 9 stable releases down to 1.12
the only one that fail is 1.18 that is know to be broken
wrt item iteration.

Hopefully definitly close T5938
2018-04-28 12:22:51 +02:00
Mike Blumenkrantz bbbd05148a tests: disable ecore system modules in elm_suite
Summary:
ref T6864

Depends on D5967

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5968
2018-04-27 21:43:31 +02:00
Mike Blumenkrantz 54ca34c15d tests: disable efreetd for elm tests
Summary:
this is especially problematic for elm tests as the fork reset callback
in efreet will cause a huge number of server connections to be created

ref T6864

Depends on D5966

Reviewers: stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5967
2018-04-27 21:42:38 +02:00
Mike Blumenkrantz 0cf63649c7 tests: use a global win object in fork mode when using buffer engine
Summary:
this avoids the creation of a new win object for each test

ref T6864

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5965
2018-04-27 15:01:39 +02:00
Xavi Artigas 189fbd335b Efl.Ui.Focus.Manager_* (from Efl.Ui.Focus.Manager.*)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:05:52 -07:00
Xavi Artigas 6a98b84cd7 Efl.Ui.Layout.Object (from Efl.Ui.Layout)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:03:54 -07:00
Xavi Artigas 55bd097a3d Efl.Gfx.Entity (from Efl.Gfx)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:03:32 -07:00
Xavi Artigas 9dcc31ed4a Efl.Access.Object (from Efl.Access)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:03:24 -07:00
Xavi Artigas 65ee277a66 Efl.Canvas.Scene (from Efl.Canvas)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:03:23 -07:00
Mike Blumenkrantz ea3803e6fb tests: add test to verify genlist item deletion
Reviewers: stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5963
2018-04-20 14:31:11 +02:00
Mike Blumenkrantz ab430e3ee5 tests: preload elm csd theme in elm_suite startup
Summary:
ref T6864
Depends on D5958

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5959
2018-04-18 13:58:15 +02:00
Mike Blumenkrantz 9bfa85fdf0 tests: skip second ecore_shutdown call in elm_suite when forking
Summary:
init is only called here to verify the refcount, shutdown is only necessary
when not forking in order to preserve the environment

ref T6864

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5958
2018-04-18 13:57:49 +02:00
Daniel Kolesa fcae7cab27 eolian gen: enable constness generation on property getter impls
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.

Ref T6859.
2018-04-17 20:31:55 +02:00
Mike Blumenkrantz 67705589ac tests: preload elm_init and default theme groups in elm_suite
Summary:
opening the default theme file can take up to 0.2s in worst case during
a test

ref T6864
Depends on D5914

Reviewers: stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6864

Differential Revision: https://phab.enlightenment.org/D5915
2018-04-17 15:43:52 +02:00
Mike Blumenkrantz 00f8541d6d tests: split elm_test_init into separate test suite (inside elm_suite)
Summary:
check whether init+shutdown work explicitly before proceeding to other
tests
Depends on D5913

Reviewers: stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5914
2018-04-13 13:53:39 +02:00
Marcel Hollerbach 9d5a9cf2e1 efl_ui_focus_util: add helper for getting the highest manager objekt 2018-04-13 11:07:34 +02:00
Marcel Hollerbach e5001b2cf3 elm_suite: add test for request_move 2018-04-13 11:07:34 +02:00
Marcel Hollerbach ba7e4d2168 elm_suite: a new testcase for checking focus chains with redirects 2018-04-11 10:31:53 +02:00
Marcel Hollerbach ef3cce5730 elm_suite: fixup test suite
the testcase was only added, but not executed, my bad!
2018-04-10 14:27:44 +02:00
Stefan Schmidt 7b4d9f5905 tests: elementary: remove unused variable
Looks like a copy and paste left over from another test.

../../../src/tests/elementary/elm_test_genlist.c:58:16: warning: unused variable ‘type’ [-Wunused-variable]
2018-04-06 10:35:44 +02:00
Mike Blumenkrantz 624925fe6e tests: move to using checked fixtures for all test suites
individual tests should not need to explicitly call init/shutdown functions
in most cases, and many did not properly do this anyway

see followup commit which resolves some issues with eina tests

ref T6813
ref T6811

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:26 +02:00
Mike Blumenkrantz adc601aca2 tests: add instrumentation to existing tests to find slow tests
efl_check.h must be included and the EFL_START/END_TEST macros must be
used in place of normal START/END_TEST macros

timing is enabled when TIMING_ENABLED is set
https://phab.enlightenment.org/w/improve_tests/

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:25 +02:00
Marcel Hollerbach 135ea9e894 elm_suite: add test case for history_pop 2018-04-04 19:52:46 +02:00
Marcel Hollerbach aa0ba5d21d elm_suite: add test case for no child
make sure 39739ba333 does not happen again
2018-04-04 19:52:46 +02:00
Marcel Hollerbach 62c2f49487 elm_suite: cleanup managers
so unneccessary error messages do not appear.
2018-04-04 10:10:53 +02:00
Marcel Hollerbach dd53f47793 elm_suite: test refocus on unregister 2018-04-04 09:55:26 +02:00
Marcel Hollerbach 9725e728a5 elm_suite: add test cases for request subchild 2018-04-04 09:55:26 +02:00
Andy Williams ff4cf74dfa Fix private usage by removing those test 2018-03-29 22:06:12 +01:00
Carsten Haitzler 2fb5cc3ad0 efl_add_ref - fis to use efl_add properly with a parent.
fixes bc18b7e7ad and
168849e8a0
2018-03-29 13:30:55 +09:00
Andy Williams cc2b7a10a8 elm_code: Remove a render test and complex workarounds required
Fixes issues with Windows and general unused method warnings
2018-03-28 17:30:17 +01:00
Andy Williams 3b60da0e37 elm_code: Fix line selection with leading tabs 2018-03-28 16:47:55 +01:00
Cedric BAIL 4c4177ac20 efl: use efl_add_ref to create objects which have no parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:56 -07:00
Cedric BAIL 101f17d1c5 tests: add genlist test to verify group item api behaviour
ref T5938

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL a1655cf9cb tests: remove invalid api usage from elm layout test
the comment here indicates that the author knew it was an invalid api use
so it should not have been here in the first place

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL ac5f11ed1f tests: disable elm glview tests when running in buffer engine
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL e0c863a358 tests: check whether ecore is properly shut down after elm_shutdown
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 3d90c9d7dd tests: avoid test failures for elm_win when not running in X
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL d1bf11f819 tests: use buffer engine for elm_suite if engine is not specified
this should add some consistency to tests

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 00cd18b514 tests: properly destroy elm_win timers to prevent crashes
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Youngbok Shin b147b5062f elementary: bg - keep file path and key string for legacy bg widget
Summary:
If a file path and key string was passed to elm_bg, we could get
the same file path and key string. Even if it failed to load the image file.
And the file path also remained its original form.
ex) Setting file path "~/image.png" => Getting file path "~/image.png"
                                       (Not "/home/user_name/image.png")

@fix

Test Plan: Included in elementary test suite.

Reviewers: jpeg, cedric, raster

Reviewed By: cedric

Subscribers: woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Carsten Haitzler 9c8749b99a ecore - go back to args 0 being the command and 1+ being actual args
so this is then inconsistent with efl.exe and efl.thread, so go back
to being normal with 0'th arg being the binary itself jsut to make
sure we have conistent usage.
2018-03-07 02:32:15 +09:00
Carsten Haitzler 1bdd9e4dd1 ecore - a different take on efl.app class as a super class to efl.loop
so the MAIN loop is actually an efl.app object. which inherits from
efl.loop. the idea is that other loops in threads will not be efl.app
objects. thread on the creator side return an efl.thread object.
inside the thread, like the mainloop, there is now an efl.appthread
object that is for all non-main-loop threads.

every thread (main loop or child) when it spawns a thread is the
parent. there are i/o pipes from parnet to child and back. so parents
are generally expected to, if they want to talk to child thread, so
use the efl.io interfaces on efl.thread, and the main loop's elf.app
class allows you to talk to stdio back to the parent process like the
efl.appthread does the same using the efl.io interfaces to talk to its
parent app or appthread. it's symmetrical

no tests here - sure. i have been holding off on tests until things
settle. that's why i haven't done them yet. those will come back in a
subsequent commit

for really quick examples on using this see:

https://phab.enlightenment.org/F2983118
https://phab.enlightenment.org/F2983142

they are just my test code for this.

Please see this design document:

https://phab.enlightenment.org/w/efl-loops-threads/
2018-03-03 13:40:33 +09:00
Carsten Haitzler 1c74aaa7e9 Revert "cxx: Fix manual code after efl_app change."
This reverts commit 135154303b.

Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit 3dbca39f98.

Revert "efl: add test suite for efl_app"
This reverts commit 3e94be5d73.

Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit 28fe00b94e.

Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?

1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)

etc.
2018-03-03 13:40:33 +09:00
Mike Blumenkrantz 568b524411 tests: add test for efl.ui header compilation 2018-02-26 15:05:36 -05:00
Mike Blumenkrantz 28fe00b94e efl: create Efl.App class, the parent of Efl.Loop 2018-02-26 14:02:51 -05:00
Marcel Hollerbach bfbe038921 elm_web: this testcase now also works 2018-02-17 21:22:49 +01:00
Marcel Hollerbach 53a3d2403c elm_web: web should NEVER be NULL
if there is no real engine, then atleast none should be created.
2018-02-17 21:17:59 +01:00
Marcel Hollerbach c8f32bd770 elementary: listen to EFL_RUN_IN_TREE instead of ELM_RUN_IN_TREE
so its unified and easier to handle
2018-02-17 21:17:47 +01:00
Mike Blumenkrantz d17b8a23d9 Efl.Access.Text: resolve more name conflicts
text -> access_text
attributes -> text_attributes
selection -> access_selection
2018-02-15 13:28:49 -05:00
Mike Blumenkrantz 6e0d8badbb elm_test_focus: resolve property name conflict 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 804fc1667a efl_access_component: resolve property name conflicts
this class is a giant FIXME for anyone looking to do refactoring work.
the only reason it seems to exist is to provide wrappers around
efl.gfx functions and provide screen position adjustments--something
which isn't even viable under wayland

note that a test was removed here due to the corresponding method being
removed
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f8e93775c0 efl.access: remove parent property
most of this is just a reimplementation of efl_provider_find
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 8b7bbb2398 efl.access: name -> i18n_name 2018-02-15 13:11:00 -05:00
Youngbok Shin 855c1886b6 elementary: fix legacy widget type name for backward compat
Summary:
For example, the widget type of elm_button was "Elm_Button".
But, the object which is created by elm_button_add() will
return its widget type "Efl.Ui.Button_Legacy".
It is not legacy name. It should be fixed to return "Elm_Button".

I don't know when but eolian start to make class name with ".".
So, it should be converted to "_" for all widgets.

@fix

Test Plan:
All test cases are included in this patch.
Run "make check"

Reviewers: raster, cedric, jpeg, taxi2se

Reviewed By: cedric

Subscribers: taxi2se, woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Lauro Moura 3a6ff3c6b3 tests: Check return value in tests.
GCC was complaining about ignored return values from realpath, chdir,
etc.
2018-01-25 15:27:05 -03:00
Yeongjong Lee 210db8fc5d efl_ui_focus: merge efl_ui_focus_user and efl_ui_focus_object into one mixin
Summary:
focus_user and focus_object are similar classes. by merging them into
one mixin, we can maintain consistency.

Test Plan: make check

Reviewers: bu5hm4n

Subscribers: cedric, Jaehyun_Cho, woohyun, jpeg

Differential Revision: https://phab.enlightenment.org/D5734
2018-01-16 22:39:13 +01:00
Carsten Haitzler 9bedda14b3 efl loop - rename ecore_main_loop_get to efl_main_loop_get
ecore_main_loop_get() is really a new "eo api" but it's using our old
ecore_* namespace, so move to the new efl namespace.
2018-01-02 16:13:54 +09:00
Andy Williams d234458dfc Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 16:08:31 +00:00
Andy Williams 0a068ac549 elm_code: Fix usage of basename 2017-12-31 15:28:23 +00:00
Amitesh Singh 72b96bc4c5 Efl.Canvas: make pointer_iterate a beta API
Gesture framework should implement it.
2017-12-12 15:52:33 +09:00
Marcel Hollerbach 87cc19b94d efl_ui_focus_manager_calc: implement better relation calculation
The new calculation mechanism does not only look into the exact
directions up,right,down,left of a node, it also now checks the sectors,
bound by: x < node.x, x > node.max_x, y < node.y, y > node.max_y.

ref T6453
2017-12-11 10:46:52 +01:00
Sungtaek Hong 3490da0fff elm_code_widget: change efl_add to legacy_add
Summary:
elm_code_widget is legacy add, thus efl_add is not available.

Signed-off-by: Sungtaek Hong <sth253.hong@samsung.com>

Reviewers: jpeg, cedric, ajwillia.ms, woohyun

Differential Revision: https://phab.enlightenment.org/D5548
2017-12-08 16:02:22 +09:00
Marcel Hollerbach eee6fbad78 focus: more testcases! 2017-12-06 16:10:18 +01:00
Marcel Hollerbach 78afa2fb84 efl_ui_focus_user/object: fix api duplication
just like the commit before, this fixes duplicated api names
2017-12-05 17:19:28 +01:00
Lauro Moura 0dbeb91bb9 elementary: fix compilation of elm_code test on windows
Summary:
Added some guards to avoid redefinition of functions.

Partially fixes T5866, as there is still the question whether we should
test internal functions or not, as stated by jpeg in the comments.

Reviewers: vtorri, felipealmeida, jpeg, cedric

Reviewed By: cedric

Subscribers: jenkins, cedric

Maniphest Tasks: T5866

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:30:32 -08:00
Marcel Hollerbach de084292e0 efl_ui_focus_manager: unset the redirect chain once a redirect is set
this prevents the manager from having a redirect chain while not even
beeing used by the root manager
2017-11-15 13:21:22 +01:00
Marcel Hollerbach df81e2f492 efl_ui_focus_manager: ensure the manager is in focus when focus is set
this makes handling of focus easier in elementary
2017-11-15 13:21:22 +01:00
Andy Williams 95b0d7ca68 elm_code: Add basic scope parsing to syntax highlighting.
This is currently displayed by showing scope in the widget gutter
2017-11-14 19:12:56 +00:00
Lukasz Stanislawski b9f31b1836 elm: set accurate access role for elm_icon
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5453
2017-11-13 12:08:43 +09:00
Lukasz Stanislawski 2ea179d373 elm: set accurate access role for elm_popup
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5454
2017-11-13 12:08:24 +09:00
Andy Williams d5dbcdabd1 eo: Rename efl_ref_get to efl_ref_count 2017-11-08 09:30:42 +00:00
Jean-Philippe Andre 75a65ad41a tests: Properly define access beta/protected
This solves warnings (and likely errors) in the make check test cases
for ATSPI, since most of efl_access APIs are now marked as beta.
2017-11-08 15:28:35 +09:00
Jean-Philippe Andre f90b88422c tests: Fix make check for atspi beta APIs
See 5c997b3aaa
Ref D5365
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre ccc3efd77d elm: Fix examples/tests using elementary_config
elementary_config.h should not even exist. It's been hijacked as a
private header for elementary, but all "real" configuration is stored in
efl's main config.h now.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre b8ca1272ae evas: Add seat argument to 'pointer_inside' (EO)
This merges pointer_inside and pointer_inside_by_device.
Affects only EO.
2017-11-01 11:22:33 +09:00
Lukasz Stanislawski 57aefc53c1 elm: rename Elm_Interface_Atspi_Accessible interface
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5341
2017-10-19 10:13:54 +09:00
Marcel Hollerbach 8453ebfe4e elm: move the focus direction definition to general
and remove the old definition
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 282883ff9c efl_ui_focus_manager_calc: focus a child if a logical is focused
If you call focus_set(m, o) where o is a logical child, then the focus
will go to any none logical child of o, or if there is nothing in the
children of o, then the focus will remain on the now focused element.
2017-10-09 13:10:51 +02:00
Marcel Hollerbach e5d1c1f195 Revert "elm focus manager - dont leak child lists when updating focus order"
This reverts commit bd6dcbb044.

This was not fixing the issue, just ducktaping over a bug in eolian, the
bug is now probebly fixed in eo / eolian.
2017-09-29 11:28:15 +02:00
Jean-Philippe Andre 8557fe818f input: Move pointer props to Canvas
efl_input_pointer_position is defined by two classes... bad!

Fixes T6066
2017-09-26 17:58:07 +09:00
Lukasz Stanislawski b3ffd78237 elm: rename Elm.Interface.Atspi.Text => Efl.Access.Text
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5167
2017-09-26 17:58:07 +09:00
Lukasz Stanislawski fcbdea364e elm: rename Elm.Interface.Atspi_Action => Efl.Access.Action
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5166
2017-09-19 11:36:28 +09:00
Lukasz Stanislawski 3e6cc83369 elm: rename Elm.Interface.Atspi.Selection => Efl.Access.Selection
Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5165
2017-09-19 11:18:22 +09:00
Jean-Philippe Andre e28aba0542 efl: Use Eina.Position2D for input events 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 4c634ed78e efl: Use Eina.Size2D for Efl.Gfx.size
Big patch as a lot of things call or reimplement size_set. Hopefully I
got it right... fingers crossed.
2017-09-18 13:34:50 +09:00
Jean-Philippe Andre f3eff6eb3e efl: Introduce Eina.Rect and switch EO APIs to it
It's a complex struct but defined in EO as a simple struct. ABI-wise
it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle
also work on Eina_Rect out of the box, most of the code dealing with
x,y,w,h will require no modifications either.

But Eina_Rect provides direct access to a size or position 2d component,
as well as the usual x,y,w,h. The field "rect" is provided as a
convenience for code dealing with both Eina_Rectangle and Eina_Rect. We
may or may not require it.

Note: Size2D could use unsigned values but I have spotted a few places
in the code that actually use -1 to indicate invalid size (as opposed to
0x0).

@feature
2017-09-18 13:22:52 +09:00
Jean-Philippe Andre 13da5e980e efl_gfx: Use Eina.Rectangle for geometry (EO)
This saves a few lines already (without even having the proper helpers
for stack rectangles).
2017-09-13 18:03:34 +09:00
Jean-Philippe Andre 0885d0c405 elm: Fix use of Efl.Access APIs
See also 7d397c9f19

Thanks @stefan for the first fix patch, I simply failed to push this one
early enough.
2017-09-13 09:57:20 +09:00
Stefan Schmidt 7d397c9f19 tests: fix build after elm atspi renaming
Renamed but make check not taken into account.
2017-09-12 16:01:44 +02:00
Marcel Hollerbach b846545072 efl_ui_focus_manager_sub: make it a mixin
This just brings the functionality, the manager that is used as sub can
still be decided and be brought in via inheritance or compositition
2017-09-02 20:06:15 +02:00
Carsten Haitzler bd6dcbb044 elm focus manager - dont leak child lists when updating focus order
REALLY fix T5800 by duplicating lists rather than taking ownership

@fix
2017-08-31 17:34:30 +09:00
Marcel Hollerbach df3d0e3d7b efl_ui_focus_manager: make focus a property 2017-08-10 20:56:04 +02:00
Marcel Hollerbach d4cd85aa55 efl_ui_focus_manager: split this of tinto a class and a interface
it turns out to be very handy to have a interface for the moving and
border elements, that is unconnected to the way of how widgets are
registering themself.

This for example enables us to get a simple focus manager that just
redirects the call into a internal 2 dimensional data struct
2017-08-10 20:55:50 +02:00
Jean-Philippe Andre 9a2d4928f0 elm: Rename elm_layout to Efl.Ui.Layout
Some names have not been changed, hopefully making a distinction
between legacy APIs and internal code (elm_layout_blah) and valid EO
usages.

This means many internal functions are still elm_layout_ as their
sole purpose is to support the legacy API.

Ref T5315
2017-08-08 13:25:58 +09:00
Jean-Philippe Andre 3e5cfb83c0 elm: Remove custom layout signal APIs
This merges them with the now standard interface:
  Efl.Canvas.Layout_Signal

Some wrapping work was required for legacy API which
takes no user_data in del() but instead returns it. The
new EO function, while harder to use, is more correct
(you can't delete the invalid callback by accident, and
this follows EO events design).

Another crazy wrapping was done in entry/text in order
to add the callbacks to 2 objects instead of just one,
and still return the user data.

As for Naviframe and Popup, those two widgets override
signal_emit to forward the call to another object than
the resize object, but not callback_add/del. So they
are definitely broken.

Ref T5315
2017-08-04 11:52:16 +09:00
Andy Williams 977189de8b elm_code: Fix tests of widget tokens 2017-06-27 22:07:24 +01:00
Jean-Philippe Andre fdc70f138f elm: Fix make check (change in atspi role of MBE)
See da5ba14664
Ref D4925
2017-06-15 10:16:53 +09:00
Andy Williams 37aa0855e6 elm_code: Fix make check
The tests were using some code that became somewhat invalid, adjusting tests
2017-06-14 19:38:43 +01:00
Jean-Philippe Andre 4d68ec6e3d tests: Remove invalid call to elm_run
Nothing is supposed to happen here. Just exit after running
the checks. Don't wait for something to happen until eternity...
2017-06-14 16:54:15 +09:00
Amitesh Singh df54c13403 tests:efl.ui.image.zoomable: add a test case for icon APIs 2017-06-05 17:28:02 +09:00
Amitesh Singh 5882d343f0 efl.ui.image: fix icon_get API
If icon set is failed, icon_get should return NULL,
not the old icon name.

@fix
2017-06-05 17:09:19 +09:00
Amitesh Singh 67a91ddd5f tests:efl.ui.image: Add test case for icon api
This test case shows a bug in icon get API. If icon set is failed,
icon_get should return NULL, not the old icon name.
2017-06-05 16:37:57 +09:00
YeongJong Lee 0b67bfc031 elm_code: fix wrong selection delete
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.

Also, remove needless code.

Test Plan:
1. select multi line with 0 column.
2. delete the selection

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4922
2017-05-30 08:50:18 +01:00
Amitesh Singh 850498e977 rename elm_button to Efl.Ui.Button
ref T5323

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-22 17:28:47 +09:00
Marcel Hollerbach 43cb924faa efl_ui_focus_manager: fix valgrind warnings in the tests 2017-05-20 20:46:49 +02:00
Andy Williams 67f4b98ddb Revert "elm_code: Add a save_as API call for writing buffers to a new file"
The implementation is flawed and was not noticed due to
the tests not having run unexpectedly.

This reverts commit ac076be75d.
2017-05-18 08:40:43 +01:00
Andy Williams ac076be75d elm_code: Add a save_as API call for writing buffers to a new file 2017-05-16 23:19:34 +01:00
Marcel Hollerbach 178b363bac efl_ui_focus_manager: specify the event in the same way evas does 2017-05-04 20:44:42 +02:00
Marcel Hollerbach 0ebe80fa0b efl_ui_focus_manager: rename api from geometry to focus_geometry
otherwise we would clash with efl.gfx.
2017-05-04 20:44:41 +02:00
Andy Williams cae34033ef elm_code: fix make check, sorry 2017-05-03 20:51:53 +01:00
Stefan Schmidt e2a66204d1 itests: elm_focus: rename local variable to avoid clash with main()
tests/elementary/elm_test_focus_sub.c:88:25: warning: ‘main’ is usually a function [-Wmain]
2017-04-25 11:54:25 +02:00
Marcel Hollerbach 8afa54f179 elementary: fix focus tests 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 800390bcb0 focus_tests: fix the test suite
this brings back the working testsuite and fixes a bug in the
submanager.
2017-04-20 14:38:59 +02:00
Marcel Hollerbach d0859212a2 tests: update to recent changes 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f6aefb2d88 efl_ui_focus_manager: a logical item should never get focus. 2017-04-20 14:38:57 +02:00
Marcel Hollerbach b75b5f4c05 managersub: remove the select_set call
this can be done directly be inheriting border_elements and cutting down
the set.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 01f46ae205 efl_ui: introduce a focus manager and sub manager object
The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
2017-04-20 14:38:57 +02:00
Cedric Bail 500401364d elementary: fix tests build. 2017-03-06 17:03:19 -08:00
Andy Williams 18b676531e elm_code: syntax fix for preprocessor over multiple lines 2017-02-06 23:40:17 +00:00
Andy Williams 269affe753 elm_code: syntax fix for comments with an escaped blackslash 2017-02-06 23:40:17 +00:00
Larry Jr 093c592188 efl: add efl_model and efl_ui_view classes
Efl.Model.Container and Efl.Model.Item to efl/interfaces are used
to create Efl.Model objects with predefined property values.
This is useful to any situation where we want an Efl.Model with
explicit defined property values.

Efl.Ui.View and Efl.Ui.Factory are used to connect Efl.Models with
Widgets, Elm.Layout and Efl.Ui.Image has changed to use news interfaces

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-06 15:26:21 -08: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
Andy Williams e4fef24898 elm_code: Syntax highlighting for multiline comments 2017-01-22 21:58:20 +00:00
Andy Williams 5851a9d4a8 elm_code: Add initial simple syntax highlighting for C code
For c source and headers lookup a simple syntax definition.
Use a very simple text processing line by line to tokenise.
Simple but it gets us one step closer to cross-language syntax
2017-01-20 22:11:01 +00:00
Andy Williams 6d4f1501bf elm_code: Selections of word break on quotes too 2017-01-10 12:53:21 +00:00
YeongJong Lee 13730d7a75 elm_code: Add 2 spaces auto indent after keywords
Summary:
When insert newline, check the previous line has keyword.
If so, insert 2 spaces indent more.

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with keywords.
3. Type <Return>.
4. Check that the indentation of newline is correct.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4543
2017-01-06 10:16:41 +00:00
Andy Williams 9bdaf07d6e elm_code: remove unneeded init code.
Move elm_code init to the main elementary as that's where it lives
2017-01-01 20:10:07 +00:00
YeongJong Lee 65dc673ae8 elm_code: refactor auto indent about brace matching
Summary: return value of brace matching function no longer need free().

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with braces.
3. Check that closing brace has correct indent.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4540
2017-01-01 14:45:30 +00:00
Andy Williams 5cf5e4bb3c elm_code: Fix filename/path for non-file based instances
And add tests appropriately
2016-12-27 21:12:49 +00:00
Andy Williams 780da3c878 elm_code: Fix tests for parameter reordering
Apologies for the badness of not running the tests before
2016-12-12 14:01:20 +00:00
Andy Williams 91e84aa3b8 elm_code: use geometry of cells to paint a simple cursor
Also allows others to figure out where cells are :)
2016-12-09 15:55:34 +00:00
Andy Williams 92eacde6e7 elm_code: refactoring of the elm_code_line_indent to work with lines 2016-12-03 15:59:52 +00:00
Andy Williams 717a0159d2 elm_code: ooops, fix test from previous refactor 2016-12-03 14:36:17 +00:00
Andy Williams ad5bce5cbd elm_code: Add indentation for matching braces
Summary: when type closing brace, it find matching braces and then indent.

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with braces.
3. Check that closing braces have correct indent.

Reviewers: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4444
2016-12-03 00:56:25 +00:00
Andy Williams 2935b0b4a3 elm_code: Add really simple indentation for braces handling
That's about as far as we can push it without proper scope handling
2016-11-30 00:27:58 +00:00
Andy Williams 428136e0f1 elm_code: Add some missing indent tests 2016-11-28 01:19:21 +00:00
Andy Williams 60cd219792 tests: Update for elm_code indent changes 2016-11-28 01:01:35 +00:00
Shinwoo Kim e648f1e85e [elementary][atspi] change accessible description to char* from const char*
Summary:
The accessible name is char*, this could confuse API user.
If we provide user callback to get description, an user would return allocated string.
The usage of elm_interface_atspi_description_get/set should be same with elm_interface_atspi_name_get/set

Reviewers: lukasz.stanislawski, cedric, raster

Reviewed By: raster

Subscribers: stanluk, jpeg

Differential Revision: https://phab.enlightenment.org/D4378
2016-11-10 11:11:48 +09:00
Jean-Philippe Andre 63088b583c elm_image: Add smart cbs for async open
This adds a few callbacks to inform applications about
async open and preload:
- load,open
- load,ready
- load,error
- load,cancel

This patch adds a new EAPI as well: elm_image_async_open_set.
This is the only way to use async file open with the legacy APIs
and should be easily matched with whatever EO API we end up using
(be it based on promises or events).

Alter the test cases for make check as they were using the
unstable EO API which I just removed.

Thanks @arosis for the original patch. And sorry for the huge
delay in merging this.

See also: https://phab.enlightenment.org/D4215

@feature
2016-09-23 11:28:14 +09:00
Stefan Schmidt a24734d80a tests: elm_win: fix compiler warning about signed vs. unsigned comparison
The variable i only goes from 0 to 4 here but it gets compared against a normal
int so we make sure i also is a normal int.
2016-09-21 10:56:36 +02:00
Vitor Sousa 93d7b480fd elm fileselector: fix test to wait for the right event
Fileselector test was waiting for the wrong event. It caused the test to
fail in some situations, since it could check the object when it is
not ready.

Fix T4502

@fix
2016-09-14 21:04:00 -03:00
Jean-Philippe Andre b3993b684e win: Add EO API to query state of multi touch points
This combines evas canvas functions to list and query
touch points into a single iterator:
 - evas_touch_point_list_count
 - evas_touch_point_list_nth_xy_get
 - evas_touch_point_list_nth_id_get
 - evas_touch_point_list_nth_state_get

This also fixes a number of issues related to feeding fake
input events.

Note: I wanted to add delta x,y information as well but it's
in fact not really possible outside the event callback itself,
as the previous x,y position will not be updated unless there's
an event.

@feature
2016-09-01 14:57:11 +09:00
Tom Hacohen d5e321466e Efl object: Rename Eo_Event -> Efl_Event.
This is the last step of the Eo renaming efforts.
2016-08-30 13:34:10 +01:00
Jean Guyomarc'h 3791ed5fe0 elm-tests: don't include Ecore_X.h when not available
This fixes a build issue on Mac OS X.
2016-08-29 20:03:52 +02:00
Thiep Ha fb15910640 elm video: correct api
The elm_videfl_add should be elm_video_add.
It was changed by commit e65aae994e.
This commit brings it back.
2016-08-16 12:36:26 +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
Stefan Schmidt 27c1155cd4 tests: elm: follow up fix for _animation_disabled_ rename
This is a follow up fix for 4f840c5feb
Due to the abbreviated use in this macro I missed this occurrence.

With this fix it passes make check as well.
2016-08-09 23:03:19 +02:00
Cedric Bail a7bb1662e2 Revert "elementary/layout: attach edje object API with eo compositing"
This reverts commit 8a988717e1.

It seems we can't actually inherit from class more than once and neither eo
nor eolian will complain about it. You will just get random weird behavior.
This patch should come back once we have made an interface of edje.
2016-08-05 11:09:55 -07:00
Andy Williams f2a4ff154f Fix further text checks in Elm_Code T4264
An incorrect assumption in how unused memory may be initialised
    @fix
2016-08-03 23:43:23 +01:00
Andy Williams f7396703c5 Fix text check in Elm_Code T4264
An incorrect assumption in how unused memory may be initialised
@fix
2016-08-02 23:23:31 +01:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Stefan Schmidt a17d59c7c3 Revert "access: add API to get access object of given part"
This reverts commit 57d77c9041.

We are in freeze right now and this is a new feature. Considering the access
API is still in beta I might have let this slip by but its does not even build

../../../src/tests/elementary/elm_test_popup.c:27:1: error: conflicting types for ‘elm_object_part_access_object_get’
 START_TEST (elm_object_part_access_object_get)
 ^
In file included from ../../../src/lib/elementary/Elementary.h:240:0,
                 from ../../../src/tests/elementary/elm_test_popup.c:6:
../../../src/lib/elementary/elm_object.h:521:54: note: previous declaration of ‘elm_object_part_access_object_get’ was here
 EAPI Evas_Object *elm_object_part_access_object_get(const Evas_Object *obj, const char *part);
                                                      ^
../../../src/tests/elementary/elm_test_popup.c: In function ‘elm_object_part_access_object_get’:
../../../src/tests/elementary/elm_test_popup.c:39:47: warning: passing argument 1 of ‘elm_object_part_access_object_get’ makes integer from pointer without a cast [-Wint-conversion]
    access = elm_object_part_access_object_get(popup, "access.title");
                                               ^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: expected ‘int’ but argument is of type ‘Evas_Object * {aka struct _Eo_Opaque *}’
 START_TEST (elm_object_part_access_object_get)
 ^
../../../src/tests/elementary/elm_test_popup.c:39:13: error: too many arguments to function ‘elm_object_part_access_object_get’
    access = elm_object_part_access_object_get(popup, "access.title");
             ^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: declared here
 START_TEST (elm_object_part_access_object_get)
 ^
../../../src/tests/elementary/elm_test_popup.c:39:11: error: void value not ignored as it ought to be
    access = elm_object_part_access_object_get(popup, "access.title");
           ^
Makefile:43996: recipe for target 'tests/elementary/tests_elementary_elm_suite-elm_test_popup.o' failed
make[5]: *** [tests/elementary/tests_elementary_elm_suite-elm_test_popup.o] Error 1

If you still want this in make sure it actually can compile the tests you added.
2016-07-25 18:01:37 +02:00
Shinwoo Kim 57d77c9041 access: add API to get access object of given part 2016-07-25 22:05:24 +09:00
Jean-Philippe Andre 9ead2c669d tests: Disable profile_exists as it fails on jenkins 2016-07-01 16:54:25 +09:00
Cedric BAIL ee33978dc3 elementary: try to keep const type in config test. 2016-06-28 11:15:50 -07:00
Stefan Schmidt c1529d12d9 tests: elm: make cnt unsigned for correct compare
Not really somethign we would hit here but still better to change this.

tests/elementary/elm_test_config.c: In function ‘elm_config_profiles’:
tests/elementary/elm_test_config.c:206:12: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
         fail_if(cnt != eina_list_count(list));
2016-06-28 11:35:48 +02:00
Stefan Schmidt de495bb5f4 tests: elm: remove wrong const for Eina_List
We are assigning somethign new to this list so no chance for const here.

tests/elementary/elm_test_config.c: In function ‘_eina_list_string_has’:
tests/elementary/elm_test_config.c:174:11: warning: assignment discards ‘const’ qualifier from
pointer target type [-Wdiscarded-qualifiers]
    EINA_LIST_FOREACH(list, l, s)
2016-06-28 11:35:40 +02:00
Jee-Yong Um 8a988717e1 elementary/layout: attach edje object API with eo compositing
Test Plan: make check

Reviewers: Hermet, jpeg, cedric

Subscribers: slotus.lee

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-06-27 11:18:05 -07:00
Jean-Philippe Andre d299515788 config: Test profile APIs 2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 0f6268ff44 win: Attach config API with eo compositing 2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 3ee261780a config: Implement support for audio_mute
Instead of being a key "audio_mute" + another key "channel"
I've simply implemented a number of different keys:
audio_mute (= all)
audio_mute_all
audio_mute_effect
...
2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 07613bf2f6 config: Simplify Efl.Config API, make C helpers only
This removes the mixin functions and uses static inline functions
instead. Much cleaner, looks the same to C devs.
2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 8b8430214a config: Add support for some enums 2016-06-24 16:57:04 +09:00
Jean-Philippe Andre 47a1fae200 efl: Introduce general Efl.Config API
This is to port elm_config to EO APIs.

The current implementation relies on the legacy API, by
simply forwarding calls.

The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...

Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums

Profiles are also not handled at this point.

@feature
2016-06-24 16:57:04 +09:00
Cedric BAIL 5983792368 elementary: fix test of internal widget to redefine unaccessible variable. 2016-06-23 10:46:16 -07: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
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Andy Williams 6c0d51322b elementary: Fix repeated undo of character deletion
Let's not trigger further undo stack changes when we undo changes.
2016-06-14 22:47:22 +01:00
Cedric Bail 122f5eb3a4 elementary: switch to legacy API for tests. 2016-06-07 16:29:53 -07:00
Andy Williams 05f0134da4 elementary_code: Fix test failures post-merge
Looks like some were legitimate failures that were not being caught
in the previous setup
2016-06-06 14:28:17 +01:00
Tom Hacohen 8809ed1629 Merge elm code, a code editing widget into the efl
It was decided to merge this and mark the code as BETA for now.
It's currently being used by EDI and should also be used by enventor and etc.
2016-06-06 14:28:16 +01:00
Cedric BAIL d384012307 elementary: merging in elm_code widget.
Theme is not there as it should be manually merged into the elementary
default theme.
2016-06-02 17:19:08 -07: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
Cedric Bail 75a53ece10 eo: for consistency use object like all our API. 2016-05-18 08:18:04 -07: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
Cedric BAIL 0a77ae5c4a elementary: fix build with missing function. 2016-05-03 11:18:06 -07: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
Tom Hacohen cd26435434 Elm layout: Add parent updating tests to elm layout. 2016-04-18 10:10:23 +01:00
Tom Hacohen 68417186a9 Elm test layout: Fix indentation. 2016-04-15 15:41:36 +01:00
Tom Hacohen c1781eb9c8 Elementary tests: Migrate the suite to the efl test infra. 2016-04-15 14:39:56 +01:00