Commit Graph

1852 Commits

Author SHA1 Message Date
Lauro Moura bda5a0dd4a eina: Change assert_ptr_null to asset_ptr_eq(null)
Summary:
Again, ptr_null/nonnull were added in check 0.11, while we depend on
0.9.10.

Test Plan: Run make check

Reviewers: marcelhollerbach, cedric, felipealmeida

Reviewed By: felipealmeida

Differential Revision: https://phab.enlightenment.org/D5820
2018-02-22 20:42:21 -03:00
Marcel Hollerbach 7165003bc6 introduce eina_vpath!
Its the successor of efl.vpath, the api is synchronous, and supports
addtional vpath paths, new apis cal always be added to use them.
2018-02-22 09:26:55 +01: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
Mike Blumenkrantz 5025569f77 eio: sentry.del -> sentry.remove 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 30e52e9413 ecore_audio: remove "name" property 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz eda0c85910 eldbus: rename conflicting "name" properties for some classes 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz fcfd832ce5 eldbus: rename custom constructor methods
"constructor" conflicts with the base efl object constructor

some of the params for these should maybe be refactored into properties
and use finalize?
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
Vincent Torri d4fcff7ed4 evil: final step : remove completely the binary, useless now that the unit test is theree
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-02-01 13:28:36 -08:00
Vincent Torri 4a6d32b352 eina tests: add missing semicolumn
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-01-31 11:07:35 -08:00
Myoungwoon Roy, Kim 211093b7c5 ecore_event: Check for the valid type
Summary:
This patch checks for the valid types.
As mentioned API reference documentation, user must know its type before hand.
The type should be chedked like previous efl version and ecore_event_type_flush_internal()

Test Plan: Execute a ecore test suite.

Reviewers: cedric, raster, jpeg, stefan_schmidt, Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5776
2018-01-31 18:55:40 +09:00
Myoungwoon Roy, Kim e9d1a1e988 ecore_main: Check for the valid flag
Summary:
This patch checks for the valid Ecore_Fd_Handler_Flags.
The flags should be checked like previous verion because
There are no default handlings in case of out of Ecore_Fd_Handler enum values in other funcs.

Test Plan: Execute a test case

Reviewers: cedric, raster, jpeg, stefan, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5775
2018-01-31 18:55:40 +09:00
Vincent Torri 9f59009131 Eina test: delete tempory file on Windows in eina_test_file_mktemp 2018-01-30 16:52:24 +09:00
Vincent Torri ef0f0a50b2 Ecore_File: remove symlinks support on Windows (library and test) 2018-01-30 16:52:24 +09:00
Myoungwoon Roy, Kim 6bb2b8b402 ecore_timer: Check for the valid callback func
Summary:
This patch checks whether the callback function is valid or not.
Callback function must be set up for the class.

Test Plan: Execute test suite

Reviewers: cedric, raster, stefan, Jaehyun_Cho

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5762
2018-01-30 14:43:11 +09: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
Lauro Moura 9b56d9a257 eldbus: Uncomment tests
These were commented out during the promises changes but seems to be
working now.
2018-01-25 15:27:05 -03:00
Lauro Moura cf03e35766 efl_mono: Remove unneeded code from tests 2018-01-25 15:27:05 -03:00
Lauro Moura eaf41d9bce eolian_mono: Fix event argument for strings 2018-01-25 15:27:05 -03:00
Daniel Hirt 4a905a22a4 Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text
This interface has a simple 'create' method to create Efl.Canvas.Object
given a key.
This is used higher-up in Ui.Text in the next commit.

Ui text: add ability to set item factories

Added API to set an item factory object.
This is similar to the previous item providers (that worked with
callbacks).

You instantiate a factory object and set it on the Ui.Text object.
Each factory implements the "create" method from
Efl.Canvas.Text.Item_Factory.

This also includes 3 public factories (Image, Emoticon and Fallback):
  - Image factory: creates images from added entries (key strings)
  - Emoticon factory: creates emoticons by querying the theme
  - Fallback: creates image, then falls back to emoticon

If no factory is set, then the fallback (internal) factory is used.

See the added "Ui.text Item Factory" test in elementary_test for an
example of usage.

@feature
2018-01-18 10:20:28 -08:00
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09: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
Daniel Kolesa d47610a732 eolian: do not require unit when stringifying types
As it is no longer necessary to pass unit when evaluating exprs,
it is not necessary to pass it here either. Convert all the APIs
to the new style and update all instances in our tree.
2018-01-16 16:39:05 +01:00
Daniel Kolesa dd2e579fec eolian: do not require unit for expr eval APIs
The necessary information is now stored directly in the expr
during database validation.

Also enable expr validation for params.
2018-01-16 16:37:52 +01:00
Daniel Kolesa c6436337a4 eolian: aliased_base_get funcs don't need unit 2018-01-12 18:05:13 +01:00
Daniel Kolesa 19c16b671e eolian: type_typedecl_get doesn't need a unit 2018-01-12 18:05:13 +01:00
Jean-Philippe Andre f285fd5925 eo: Add "destruct" event
Triggered after (almost) complete destruction of the object.

Not called "deleted" because the other event is already "del".
I don't like "destruct" much but this follows the terminology of
"constructor" / "destructor".

@feature
2018-01-10 16:31:06 +09:00
Carsten Haitzler e30fb6945e fix evas test suite to now init both ecore and evas.... correctly.
see c8dcc4327b803e9b8ad2a0985e756c924946c442 - basicall evas depends
on ecore these days... thus requires ecore be initted THEN evas. ...
which in theory is an abi break for those using evas and ONLY evas
long ago from when efl was separate... but it''s how we're building
these days.

@fix
2018-01-05 02:34:16 +09:00
Marcel Hollerbach b8f4dc296f ecore_con: switch from 1234 to AF_UNSPEC
there are systems where sa_family_t is a enum, so assigning 1234 will
lead to compililation errors on picky systems
2018-01-02 14:35:31 +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 763942d8c7 Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 19:57:48 +00: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
Andy Williams 9a4eedb078 Remove all ocurrences of SPANK from our user facing errors.
This has been bugging me for some time but now we are triggering new errors internally
this is appearing to end users for problems they did not cause.

Additionally I was able to improve a couple of the errors by copying the
explanation from code comments into the error message.

Shorter error logs now too :)
2017-12-22 11:18:46 +00:00
Marcel Hollerbach 87a93b8521 eolian: unify test directories 2017-12-21 22:24:47 +01:00
Lauro Moura 46b202b86c eolian-mono: Add documentation generation support
This commit adds the "documentation" generator, which gets the
documentation_def attribute of the given item and generates xml comments
to be exported by MCS.

For items requiring some customization of the generated comments (e.g.
functions and its parameters), the helpers to generate the preamble
(summary), body (paragraphs) and epilogue (currently just the @since
tag) were added.

Currently we do not support converting Eolian references into xmldoc
references.

As we explicitly generate Get/Set methods for properties, for now the
generator tries to get the get/set specific documentation first. If it
is not present, fallback to the common docs.

Later this could be changed to generate the common one as paragraphs of
the Get/Set.

Also some generated code like the wrappers for calling C# methods
from C can be private. This will cleanup the introspection results
and warnings when generating documentation.

Due to this visibility change, the binbuf tests had to be changed
to add redirect calls to the native methods instead of directly
calling the DllImport'd methods.
2017-12-20 19:57:17 -02:00
Mykola Solyanko ea63f487d3 Eldbus: add test suite for eldbus (eldbus_pending_data*)
Summary:
add tests for next API:
eldbus_pending_data_set()
eldbus_pending_data_get()
eldbus_pending_data_del()

Reviewers: cedric, NikaWhite, myoungwoon, raster, artem.popov

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5650
2017-12-19 14:42:56 +09:00
Mykola Solyanko 346e9a1904 Eldbus: add test suite for eldbus (eldbus_pending_cancel*)
Summary:
add tests for next API:
eldbus_pending_cancel()
eldbus_pending_destination_get()
eldbus_pending_interface_get()
eldbus_pending_method_get()
eldbus_pending_path_get()

Reviewers: cedric, NikaWhite, myoungwoon, raster, artem.popov

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5660
2017-12-19 14:41:22 +09:00
SangHyeon Lee 0f16a06710 interface : change efl_pack_grid and efl_ui_grid to efl_pack_table and efl_ui_table
Summary:
Change name of 'grid' to 'table' for matching on common ui naming
and avoiding confusion with 'gengrid' and 'grid view'.
grid will be introduced as grid image view after.

Test Plan:
checked make & make install
checked make check - there are errors but not related with these changes.
checked make examples - there are errors in cxx but not related with these changes.
checked make discheck - failed
test in elementary_test with Efl.Ui.Table and Table_static.

Reviewers: raster, cedric, jpeg, felipealmeida

Differential Revision: https://phab.enlightenment.org/D5668
2017-12-19 14:25:08 +09:00
Jean-Philippe Andre 85b2a8669a ecore: Shutdown ecore after running tests
Those test cases should verify that the threads have exited cleanly, and
then we can shutdown ecore.

CK_FORK=no ecore_suite passes
2017-12-19 13:53:09 +09:00
Jean-Philippe Andre cb20ad9f53 ecore: Fix up some test cases
- Add missing ecore_shutdown
- Reinstate supposedly silly test case (see previous commits, the main
  loop object can in fact die cleanly).
- Disable really silly test cases (inner main loops aren't meant to
  work)
2017-12-19 12:21:29 +09:00
Vitor Sousa b55542889b efl_mono: fix test and example compilation on Windows 2017-12-15 22:26:30 -02:00
Vitor Sousa acd99be98b efl_mono: tests and better support for structs, plus some other fixes
Fix several integer binding type deduction based in its size on C.

Generation for function pointers no longer use modified argument name
which is different from the parameter name.

New generation context for structs.

bool from UnmanagedType.I1 to UnmanagedType.U1 (correct use
inside structs according to mono documentation).

byte (signed char) and int8 now is correctly represented by
sbyte in C#.

Check parameter direction in some out generators in parameter.hh.

Add efl_libs.csv to gitignore.

Make eina.Value pointer constructor public.

Add missing fields to efl.kw_event.Description struct.

Remove eina.File workaround (let struct gen handle it).

Remove is_function_ptr bool from regular_type_def and
add a typedecl_type enum to it. Also add some helper
methods for easier comparison.

Left some test cases commented for when pointer parameters
are properly working.
2017-12-15 22:26:29 -02:00
Daniel Kolesa 18e18ca74c eolian: remove remaining global state (+ modify APIs accordingly) 2017-12-15 17:11:11 +01:00
Daniel Kolesa c8aa30e698 eolian: make declaration APIs use units 2017-12-15 17:11:11 +01:00
Carsten Haitzler 5bd7beb53f tests - disable loop fd and timer lifecycle tests
these tests assume we delete the loop object on shutdown which we are
not doing atm as it's a lot of trouble... and frankly of little value.
2017-12-15 14:16:53 +09:00
Carsten Haitzler 6d2226385c tests - ecore promise - assuming a single loop iterate... wrong
this should really be an ecore_main_loop_begin plus a quit condition.
2017-12-15 14:16:53 +09:00
Carsten Haitzler 4d7d5913dd tests - ecore suite - dont shadow a global var - use different one 2017-12-15 14:16:53 +09:00
Carsten Haitzler d896a2365b eldbus test - del not unref obj as it has a parent ...
if you ONLy unref it wont force an unparent if you never del'd.

@fix
2017-12-15 14:16:53 +09:00
Carsten Haitzler db7fefc006 efl model tests - fix mainloop iterate to not assume a single iter
it may have to loop multiple times as there isnt a guarantee on WHEN
the result comes back.... :)
2017-12-15 14:16:53 +09:00
Cedric Bail 348c71e9ec eio: update efl_io_manager_xattr_ls test to use Eina_Future. 2017-12-14 16:42:44 -08:00
Ross Vandegrift 71e5c74eb6 efl: drop deprecated Encoding key from desktop files
Summary:
The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 1.20.6.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-13 10:27:48 -08:00
Mykola Solyanko 750e45e287 eldbus: add test suite for eldbus_proxy*
Summary:
add tests for next API:
eldbus_proxy_get()
eldbus_proxy_interface_get()
eldbus_proxy_object_get()
eldbus_proxy_call()
eldbus_proxy_ref()
eldbus_proxy_unref()
eldbus_proxy_send()
eldbus_proxy_method_call_new()
eldbus_proxy_send_and_block
eldbus_proxy_send_and_block()
eldbus_proxy_data_set()
eldbus_proxy_data_get()
eldbus_proxy_data_del()

Reviewers: cedric, NikaWhite, myoungwoon, raster, artem.popov

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-13 10:27:48 -08: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
Cedric BAIL c976f16606 ecore: rename efl_loop_Eina_FutureXXX_idle to efl_loop_idle 2017-12-11 14:04:09 -08:00
Cedric BAIL d614894d04 ecore: rename efl_loop_Eina_FutureXXX_job to efl_loop_job. 2017-12-11 14:04:09 -08:00
Cedric BAIL 2ee19c1d0f ecore: remove test of efl_loop_job. 2017-12-11 14:04:09 -08:00
Felipe Magno de Almeida ff9293827f efl-mono: Fix automake files in C# binding search with buggy mono version 2017-12-11 14:45:57 -02: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
Amitesh Singh 54ae9cc18b edje: rename Edje.Object to Efl.Canvas.Layout 2017-12-06 13:12:29 +09: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
Daniel Kolesa 8a1f93f698 eolian: pass state where necessary
This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.
2017-12-05 16:41:42 +01:00
Amitesh Singh c7aa3b2f83 edje: rename intf Efl.Canvas.Layout_Calc to Efl.Layout.Calc 2017-12-05 16:18:32 +09:00
Amitesh Singh 7b3fde4d4b edje: rename intf Efl.Canvas.Layout.Signal to Efl.Layout.Signal 2017-12-05 16:18:32 +09:00
Jean-Philippe Andre b3435831f7 c#: Fix test case
return -1 in a void function breaks the build for me (clang)
2017-12-05 15:06:34 +09:00
Jean-Philippe Andre 207a0cf3e3 eo: Move hacky API auto_unref to C only
This API is meant to be used by parts only, and by bindings dealing with
part objects. This patch fixes make check which got broken in the after
the previous one (cxx).
2017-12-05 15:06:34 +09:00
Jean-Philippe Andre f47bb54f4f cxx: Fix evas compile test and Evas.hh
The c++ header was checking the wrong header guard. Fixing that would
break the compilation test, as it was doing the wrong thing. Also I
think config.h should not be included for compilation tests. This should
make things slightly better.
2017-12-05 10:14:03 +09:00
Felipe Magno de Almeida 66eb8ddfeb eolian: Add inarray and inlist to source generation 2017-12-04 20:34:47 -02:00
Lauro Moura 345336c46d efl_mono: Added test files for the C# bindings.
Buildsystem integration will come in a future commit.
2017-12-04 15:47:50 -03:00
Cedric Bail 25747d0881 ecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout. 2017-12-03 16:30:53 -08:00
Cedric Bail c6d4614f8c ecore: remove efl_loop_timeout tests. 2017-12-03 16:09:14 -08:00
Cedric Bail 383e3a761e ecore: remove a test from old efl_promise to remove use of efl_loop_timeout. 2017-12-03 16:01:09 -08:00
Cedric Bail 7d229efda5 ecore_con: use eina_future based timeout for tests. 2017-12-01 00:38:43 -08: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
Jean-Philippe Andre d49c544e81 eolian: Add API's for part enumeration
@feature
2017-11-23 15:14:41 +09:00
Jean-Philippe Andre 50fde448fb eldbus: "fix" make check
As Cedric told me, eldbus_suite now fails on this line, where somehow
the properties array contains 2 elements, instead of 0 as expected. It
seems that the change is not related to EFL, but a new package on our
systems.

With d-feet (a dbus inspection tool), I can see two properties under:
 org.freedesktop.DBus
   /org/freedesktop/DBus or /
     org.freedesktop.DBus
       Properties
         Features
         Interfaces

Has anyone a better clue what's happening?
2017-11-20 12:31:13 +09:00
Jean-Philippe Andre 28d74624ec tests/eldbus: Use different bus for cxx and C tests
I had eldbus_suite and eldbus_cxx_suite fail quite often for some
strange reason: name already in use... yeah but by who??? Turns out both
test cases used the same name, and when ran in parallel (make -j10
check) this would often fail.
2017-11-17 11:57:15 +09:00
Jean-Philippe Andre bae51a0612 tests: Add better debugging for eldbus failure
It keeps on failing for me, but quite inconsistently (i.e. sometimes,
not always). Annoying.
2017-11-17 11:57:15 +09: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
Daniel Kolesa 2f81b26367 eolian: scan system dir by default
The '-S' option lets you reverse that. But by default, most
people will want the prefix to be scanned for eo files.
2017-11-14 13:47:09 +01: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
Vincent Torri b5333edd3f evil: add tests for Windows port.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-11-10 13:13:44 -08:00
Daniel Kolesa f19a905261 eolian: fix generation tests 2017-11-10 19:43:25 +01:00
Daniel Hirt 45d3614345 Canvas text: fix width calculation with style effects
There are multiple places in the code where both the padded item's
width and the maximum style padding (at the edges) are accounted for.
For the sake of making calculations for wrapping/ellipsis we should
only use the maximum style padding.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-11-10 10:29:49 -08:00
Daniel Hirt 0725ff620b Canvas text: update style pad when no format nodes are present
This updates the style pad even if there are no format nodes.
An example of this is having a default style set to the object.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-11-10 10:29:44 -08: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 c5d618e851 cxx: (Temporary) fix for make check
This fixes the C++ compilation tests.

list<int> is not allowed by eolian anymore, as the semantics were
unclear whether a pointer to int was passed, or if the int was stuffed
inside the list by casting.

ptr(string) is also not allowed as it's a pointer to a pointer type.

Both of the above types are strange when it comes to bindings. While C++
could probably be made to work, it's not clear we could have such types
in other bindings. Those types are in fact likely not so useful, as most
APIs can be designed around those restrictions.
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
Youngbok Shin a386597ad9 evas textblock: handle ellipsis when text's height exceed its area by "br"
Summary:
Textblock's ellipsis feature only worked when text's width exceeds its area.
So, it didn't work when text's height exceeds its area by "br" tags.
This patch will do ellipsis when only ellipsis=1.0 is set.
@fix

Test Plan: make check

Reviewers: herdsman, raster, cedric, jpeg, sohyun

Reviewed By: raster

Subscribers: woohyun

Differential Revision: https://phab.enlightenment.org/D5412
2017-11-06 11:29:43 +09:00
Youngbok Shin de9f0aff57 edje: don't return negative width and height from _parts_extends
Summary:
It should return width and height with positive values or zero.
@fix

Test Plan: make check

Reviewers: raster, jpeg, cedric

Reviewed By: raster

Subscribers: jiin.moon

Differential Revision: https://phab.enlightenment.org/D5422
2017-11-06 11:06:41 +09:00
Daniel Kolesa 9ec1b4fa53 eolian: fix tests following the container restrictions 2017-11-02 14:03:30 +01:00
Jean-Philippe Andre 9cec14918c evas: Move evas_canvas.eo to legacy-only
This isn't meant to be installed. The canvas API in EO is based around
the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is
not EO (eg: ecore_evas, evas, ...)

Note: evas_canvas3d is the last remaining thing that is installed along
EO files, but those are all beta APIs.
2017-11-01 11:22:33 +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
Daniel Kolesa 4f8a9b50f4 eolian: make inherits_get return a list of classes, not strings
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.

Subtly breaks API but everything should be updated.
2017-10-25 16:25:41 +02: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
Jean-Philippe Andre df304d0155 eo: Add beta API for auto_unref after a call
Before screaming in horror (C++...) here's why we may need this:
Efl.Part.part API returns an object that is by definition valid for a
single function call only. Enforcing this in practice is actually quite
hard as all implementation functions must manually take care of the
life-cycle. This is a lot of code in many places and a lot of
opportunities to forget to properly handle that life-cycle. Also, this
means any invalid function call on a part will leak an object.

This API absolutely must remain either "internal" or "beta" and
definitely not become abused by applications. On top of that such an API
can cause great trouble for bindings like C++. As a consequence, only
specially crafted APIs like efl_part() should return an object marked as
auto_unref.

Alternatively this API could be defined in Eo.h or some other
Eo_Internal.h. I placed it in efl_object.eo because it's much more
convenient :) (read: I'm lazy)

****

Performance notes:

Tested with clang & gcc (with -O2), I had a look at the output of perf
top, in particular the asm view. I used eo_bench in a loop. My
conclusions are:

- EINA_LIKELY/UNLIKELY actually works. The jump statement varies
  according to the expectation. I highly doubt all those ugly goto in
  eo.c / Eo.h are even useful.

- The impact of auto_unref on a call_resolve is so small it doesn't even
  appear in the trace. It is significant inside call_end, though
  (obviously, that function is just a few lines long). That function
  accounts for ~1% to ~4% of all CPU time. The impact of auto_unref in
  call_end is ~4% of the function time. This means ~0.16% of all CPU
  time (worst measured case). _efl_object_op_api_id_get simply doesn't
  show up because of caching, so the extra check there is negligible.

PS: I also tested EINA_LIKELY/UNLIKELY by compiling with -O2 and looking
at the output with objdump. The flag is well respected, and the jump
instructions are what you would expect (no jump for LIKELY and jump for
UNLIKELY). Conclusion: The goto's in eo.c only make the code harder to
read...
2017-10-18 11:02:16 +09:00
Daniel Kolesa b88132932a eolian: fix setter generation for @auto functions
Because of a typo in generator source (and overlooked error in
tests) we were previously generating incorrect code for setters
with the @auto qualifier. This was brought up in D5306 and is
now fixed.
2017-10-13 23:49:57 +02:00
Cedric Bail 377a685619 eina: this was actually a used variable. 2017-10-13 12:58:01 -07:00
Prince Kumar Dubey 1235459ed3 efl: unused variable removed, removing local variable assignment which has no use at all.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:11:45 -07:00
Daniel Kolesa 5699466dba eolian gen: generate documentation for first object param if present
This prevents doxygen from emitting warnings.

Fixes T6186.
2017-10-13 15:18:18 +02:00
Amitesh Singh 00ba7b1b6f tests: eina strbuf - fix compilation
refer patch 2cf24eb304
2017-10-13 16:11:00 +09:00
Amitesh Singh 2cf24eb304 eina: strbuf - Add strftime related functions
eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro

We need these functions for implementing generic format function
interface especially for calander.

Ref T6204
2017-10-13 16:04:24 +09:00
Jean-Philippe Andre 04d3cc4eb9 edje: Fix make check
Oops. The API was tested.
See 19dff85519
2017-10-13 11:07:28 +09:00
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
Marcel Hollerbach 79e21e90e0 eolian: add tests for the new owning functions 2017-09-29 11:28:15 +02:00
Marcel Hollerbach 8e4d0d70e9 eo: introduce function definitions with fallback
there can be cases where the call to such a function is never going to
be directed to the actual implementation. In those cases the FallackCall
will be called.
2017-09-29 11:00:37 +02:00
Cedric Bail 0fb9af0506 eio: migrate efl.io.manager.ls to use Eina_Future. 2017-09-28 18:31:34 -07:00
Daniel Kolesa 68e9f2ced5 eolian: fix tests after extra checks 2017-09-28 23:25:12 +02:00
Felipe Magno de Almeida 96d3af10bf eolian-cxx: Add optional parameter to lambda for unnamed proxy instantiation 2017-09-28 17:50:14 -03:00
Cedric BAIL 245ea06a65 eio: convert Efl.Io.Manager.stat() to return Eina_Future. 2017-09-27 16:32:58 -07: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
Felipe Magno de Almeida bb887f9869 eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types 2017-09-25 21:57:25 -03:00
Daniel Kolesa 6587b19e77 eolian: add tests for builtin queries 2017-09-22 21:03:28 +02:00
Daniel Kolesa 1577c576e6 eolian: remove static_array and terminated_array
These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...
2017-09-22 18:01:15 +02:00
Daniel Kolesa f36e5bd543 eolian: add mstring
This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.
2017-09-22 17:10:42 +02:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Lauro Moura 7db2485193 ecore: Avoid using newer check.h functions.
Summary:
The ptr_null/nonnull were added in the 0.11 version of libcheck. The
required version in configure.ac is 0.9.10 (some distros still use this
old one).

Reviewers: felipealmeida, stefan_schmidt

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5220
2017-09-22 09:57:06 +02:00
Jean-Philippe Andre 6f0a4c9822 eldbus: Fix test case (make check) 2017-09-19 16:53:25 +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 b19ee757e5 efl: Use Eina.Size2D in Gfx.View 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 2df8ad36b4 evas: Use Eina.Slice on the stack (gfx.buffer) 2017-09-19 10:51:48 +09:00
Felipe Magno de Almeida 89608b15ee eo-cxx: Fix test errors with new Eolian @own framework 2017-09-18 20:22:32 -03:00
Jean-Philippe Andre 1fb306fd3e edje: Fix make check :(
No idea how I missed that one... (except that make check is now broken
for C++, again)
2017-09-18 17:40:38 +09:00
Jean-Philippe Andre 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 8fb194d969 efl: Use Eina.Position2D for Efl.Gfx.position
Note: This is a little bit more cumbersome in some places but in most
it's more convenient than (x,y).
2017-09-18 13:22:54 +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 05c051405e eina file: Ensure populate is safe to call
This makes sure that the call to madvise is safe. On Linux it's not too
much of an issue as checks are made inside madvise, and the worst that
can happen is an error is returned (EINVAL). Not great.

But if MAP_POPULATE is not present, as is the case on *BSD, then the
internal function _eina_file_map_populate() is used for the populate
rule. In that case actual data is read and we should make sure not to
trigger a segfault or bus error.

Also, this makes sure that in case of HugeTLB we actually populate all
pages, rather than one page out of 8 (we were jumping by 16Mb instead of
2Mb).

Note: Can we get the size of a HugeTLB at runtime? We're assuming 2Mb
which might very well not be the case!
See: https://wiki.debian.org/Hugepages

Tested by disabling MAP_POPULATE and observing crashes :)

@fix
2017-09-18 11:58:53 +09:00
Daniel Kolesa 1afd3c215f eolian: correctness fixes in tests and eo files 2017-09-15 17:48:28 +02:00
Daniel Kolesa c559380f7f eolian cxx/js: fix test eo file ownership 2017-09-15 17:10:41 +02:00
Felipe Magno de Almeida 44c0199f42 eolian-cxx: Fix instantiate constructor with lambda after disambiguation patch 2017-09-14 15:06:33 -03:00
Cedric BAIL fb31440f49 eina: move the test to the new future and use the new Eina_Value array iterator macro. 2017-09-14 11:01:22 -07:00