Commit Graph

3096 Commits

Author SHA1 Message Date
Woochanlee 7d40e03ca7 tests/ecore_wl2: Add test for ecore_wl2_window_title functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_title functions

ref T8016
ref D10743

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10761
2019-12-03 11:01:22 -05:00
Woochanlee 0bfdc94df8 tests/ecore_wl2: Add test for ecore_wl2_window_class functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_class functions

ref T8016
ref D10743

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10759
2019-12-03 10:54:10 -05:00
Marcel Hollerbach d973bcc087 efl_ui_spotlight_container: reverse push and pop semantics
before this commit, push would add before the current element, pop would
return to the next higher element.
after this commit, push would add after the current element, pop would
return to the previous element.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10781
2019-12-03 14:38:28 +01:00
Chris Michael 00aaf99765 tests/ecore_wl2: Fix bad window test
Small patch to fix issue where merge of patch did not go so well, and
thus caused Coverity to report an issue where window was not being
initialized.

ref T8016

fixes CID1408311
2019-12-02 12:39:55 -05:00
Marcel Hollerbach 6d2a9ae1f8 introduce efl_ui_{pager/scroller}
They are just helpers, so a user does not need to handcreate spotlight
managers. This also leaves us the possibility of letting
spotlight_managers beeing @beta.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10773
2019-12-02 18:30:26 +01:00
Marcel Hollerbach 509b1c8f6d efl_ui_test_spotlight: check correct transitions without animation
this introduces the test requested in D10701. And checks that all
signals are correctly delivered even if animations are frozen

Differential Revision: https://phab.enlightenment.org/D10767
2019-12-02 18:30:24 +01:00
Marcel Hollerbach 842e6e9c67 efl_ui_spotlight_container: bring in min / max handling
the spotlight now is setting the overall correct min and max size on
itself. Additionally, the page size is now clamped to the size of the
container.

Correct min size of the container is defined to the MAX min size of all
the content.
The correct max size of the container is defined to the MIN max size of
all the content.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10766
2019-12-02 18:30:23 +01:00
Woochanlee 12cb64cfad tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions

ref T8016
ref D10743

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10747
2019-12-02 08:53:47 -05:00
Ali Alzyod 0806b03346 efl_canvas_text: correct password behaviour with efl_text_password_get/set
Summary:
In simple words:

when we create efl_canvas_text object,   efl_text_password_get will return TRUE.
which is wrong,
efl_text_password_get should  return FALSE, unless user change the password using   efl_text_password_set

Reviewers: woohyun, zmike, segfaultxavi, tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10735
2019-12-02 10:56:13 +09:00
Lauro Moura f203c164d8 eo files: Avoid container<ptr(value_type)> usage.
Summary:
Value types are already assumed to be stored by pointer (e.g.
`int val = *(node->data);`)

This commit just changes the current usage of the `ptr` modifier in the
ptr, not affecting the parser.

Reviewers: q66, segfaultxavi, bu5hm4n, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, brunobelo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10769
2019-11-29 17:22:07 -03:00
Woochanlee 167cb43a96 tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions

ref T8016

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10755
2019-11-29 08:55:19 -05:00
Ali Alzyod 7bdb63d045 Polish text interface methods
Summary:
This patch is set to rename some properties of `Efl.Text_Font` & `Efl.Text_Format` interfaces.

1- efl_text_font_set/get become (efl_text_font_family_set/get, efl_text_font_size_set/get)

2- efl_text_valign/halign   become efl_text_vertical/horizontal_align

3- efl_text_halign_auto_type  become  efl_text_horizontal_align_auto_type

Reviewers: ali.alzyod, woohyun, segfaultxavi, bu5hm4n, zmike, cedric

Reviewed By: woohyun

Subscribers: zmike, #committers, #reviewers, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10716
2019-11-28 16:55:27 +09:00
abdulleh Ghujeh fa1aa10d79 Efl Canvas Text : Update style parsing code
Summary:
Based on comments in D10607

Update code responsible for parsing "style=" :

-Update string parsing code
-Make the old and new code more readable
-Add tests

Reviewers: segfaultxavi, bu5hm4n, woohyun, ali.alzyod

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10715
2019-11-28 16:46:30 +09:00
abdulleh Ghujeh f6caca1d70 Efl Canvas Text : Modify Style Property
Summary:
This patch defines the way style property will work at canvas_text object

1- Changing canvas_text style property using Font/Format/Style interfaces or with efl_canvas_text style property are the same.
     Example:

```
efl_text_font_set(tb, "Arial", 30);
//is same as
efl_canvas_text_style_set(tb, "font=Arial font_size=30");

//which means calling
char * font;
int size;
int font_size;
efl_text_font_get(tb, &font, &size);
// calling this after any of the top two functions will return same result
```

2- style_get_property
     Will return string that contains full details about all the current applied style at canvas_text  level.

3- style_set_property
     Will only override passed styles and leave everything else as it is

```
efl_canvas_text_style_set(tb, "font=Arial");  // overrider font name to Arial and leave everthing else
efl_canvas_text_style_set(tb, "font_size=30");  // overrider font size to 30 and leave everthing else (font name will stay arial)
```

Reviewers: ali.alzyod, woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Reviewed By: woohyun

Subscribers: zmike, bu5hm4n, segfaultxavi, a.srour, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10607
2019-11-28 13:14:15 +09:00
Marcel Hollerbach 5932520f03 efl_ui_spotligt: make it possible to freeze animations
this new API makes it possible to stop animations beeing executed in the
spotlight manager. (The logic in the spotlight managers itself are
already implemented).
The animation will also be frozen during construction time of the
spotlight.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10701
2019-11-27 15:55:00 +01:00
Woochanlee ffc3c4a7e7 tests/ecore_wl2: Add test for ecore_wl2_window_activated_get function
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_activated_get function

ref T8016

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10746
2019-11-27 09:15:49 -05:00
Ali Alzyod c7f37fe618 Efl.Text.Attribute_Factory
Summary:
Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface.

Currently, we have two public methods:

```
void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format)
unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end);
```

Other methods will be internal methods, for the time being, we will redesign internal methods

Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10646
2019-11-27 13:04:32 +09:00
Lauro Moura aacd2fa82d csharp: Iterate more in GC-dependent test
Summary:
The inheritance test depends on the objects being actively destroyed.
Currently this happens in a two step process, where first the C#
object is collected from the GC. As this happens in a separate thread,
we schedule a callback to run in the main loop to actually unref the
EO object.

This commit adds more iterations to make sure the EO of the parent is
unref'd and releases the child.

This should be the last C#-related CI test failure

Ref T8313

Reviewers: stefan_schmidt, brunobelo, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8313

Differential Revision: https://phab.enlightenment.org/D10612
2019-11-26 12:40:32 -03:00
Marcel Hollerbach f7868fd28c efl_ui_multi_selectable: clean this up
this commit merges common functions from efl_ui_multi_selectable and
efl_ui_multi_selectable_async. Additionally, the two different aspects
of accessing the elements in a multi_selectable widget (numerical or
object based) are now abstracted into interfaces called range_numeric and
range_object. numeric APIs are also prefixed with id's, so its possible
for one widget to implement both (if there will ever be the demand to do
that in future).

The main reason for this split is:
- there is no good common path between mvvm based multi_selectable and
object based multi_Selectable, so there is no way that both sides would
benefit, without the other one suffering.
- If we find later on the demand to implement both on one widget, we now
can fully do that
- Common API is available for both types, so its less API and less
confusion for the API user.

ref T7871
ref T8265

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10675
2019-11-25 13:31:24 +01:00
Lauro Moura 642b243df9 csharp: Fix helper function
Summary: Was failing if the suffix were equal to the source string

Reviewers: felipealmeida, segfaultxavi, YOhoho, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10708
2019-11-22 12:01:59 -03:00
Ali Alzyod d7352f4db4 Efl.Text.Cursor
Summary:
Implementation of new cursor text object.

This Patch Contains :
1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor
   => there are some modifications on cursor methods

2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces

3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory

4- Add main cursor property into efl.text.interactive

5- Add cursor_new method in efl.ui.text  (I think we may move it into efl.text.interactive interface)

There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement.

```
enum @beta Efl.Text.Cursor_Move_Type
{
   [[Text cursor movement types]]
   char_next,       [[Advances to the next character]]
   char_prev,       [[Advances to the previous character]]
   cluster_next,    [[Advances to the next grapheme cluster]]
   cluster_prev,    [[Advances to the previous grapheme cluster]]
   paragraph_start, [[Advances to the first character in this paragraph]]
   paragraph_end,   [[Advances to the last character in this paragraph]]
   word_start,      [[Advance to current word start]]
   word_end,        [[Advance to current word end]]
   line_start,      [[Advance to current line first character]]
   line_end,        [[Advance to current line last character]]
   paragraph_first, [[Advance to current paragraph first character]]
   paragraph_last,  [[Advance to current paragraph last character]]
   paragraph_next,  [[Advances to the start of the next text node]]
   paragraph_prev   [[Advances to the end of the previous text node]]
}
move {
         [[Move the cursor]]
         params {
            @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]]
         }
         return: bool; [[True if actually moved]]
      }
```

or old way:
```
char_next {
         [[Advances to the next character]]
         // FIXME: Make the number of characters we moved by? Useful for all the other functions
         return: bool; [[True if actually moved]]
      }
      char_prev {
         [[Advances to the previous character]]
         return: bool; [[True if actually moved]]
      }

      char_delete {
         [[Deletes a single character from position pointed by given cursor.]]
      }

      cluster_next {
         [[Advances to the next grapheme cluster]]
         return: bool; [[True if actually moved]]
      }
      cluster_prev {
         [[Advances to the previous grapheme cluster]]
         return: bool; [[True if actually moved]]
      }

      // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character.
      paragraph_start {
         [[Advances to the first character in this paragraph]]
         return: bool; [[True if actually moved]]
      }
      paragraph_end {
         [[Advances to the last character in this paragraph]]
         return: bool; [[True if actually moved]]
      }
      word_start {
         [[Advance to current word start]]
         return: bool; [[True if actually moved]]
      }
      word_end {
         [[Advance to current word end]]
         return: bool; [[True if actually moved]]
      }
      line_start {
         [[Advance to current line first character]]
         return: bool; [[True if actually moved]]
      }
      line_end {
          [[Advance to current line last character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_first {
         [[Advance to current paragraph first character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_last {
         [[Advance to current paragraph last character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_next {
         [[Advances to the start of the next text node]]
         return: bool; [[True if actually moved]]
      }
      paragraph_prev {
         [[Advances to the end of the previous text node]]
         return: bool; [[True if actually moved]]
      }
```

Reviewers: woohyun, tasn, segfaultxavi

Reviewed By: woohyun

Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 17:35:54 +09:00
Wonki Kim 4a4525cb4b eina_matrix: replace cosf by cos to gain more accuracy
Summary:
cos function is much much more accurate than cosf.
this patch replaces cosf by cos to gain more accuracy.

Reviewers: cedric, jsuya, vtorri

Subscribers: vtorri, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10695
2019-11-21 17:50:33 +09:00
Bruno da Silva Belo 6772a78d02 csharp: Specifying StringComparison.
Summary: ref T8405

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8405

Differential Revision: https://phab.enlightenment.org/D10650
2019-11-20 17:47:44 -03:00
Marcel Hollerbach fa93893548 introduce efl_canvas_object_animation
this brings the animation to the canvas object. All the controls of the
animation now do now require a player object anymore, you can just use
the API that is directly on the Efl.Canvas.Object object.

wip animation player replacement

Differential Revision: https://phab.enlightenment.org/D10615
2019-11-20 09:58:24 +01:00
Xavi Artigas 9bb2df9966 Unify "animated" flags
There exist several flags to indicate whether an object should be animated, with inconsistent names:
Efl.Canvas.Layout.animation: bool indicating if Edje animations should be played
Efl.Ui.Spotlight_Manager.animation_enabled: bool indicating if page transitions should be animated
Efl.Canvas.Animation_Player.animation: Efl.Canvas.Animation object

This commit unifies all of them: "animated" is now a flag, and "animation" is an object.

Note: Animation_Player is in the process of being replaced by an "animation" property in the
Efl.Canvas.Object, hence the need for non-clashing animation flags.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10645
2019-11-20 09:58:23 +01:00
Lauro Moura b1eb794a91 csharp: Fix CA1815 for generated structs and aliases
Summary: Adds IEquatable<T> and friends.

Reviewers: felipealmeida, YOhoho, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, segfaultxavi, #committers

Tags: #efl

Maniphest Tasks: T8418

Differential Revision: https://phab.enlightenment.org/D10694
2019-11-19 21:49:35 -03:00
Christopher Michael 8195368929 tests/ecore_wl2: Add test for ecore_wl2_window_type functions
ref T8016
2019-11-19 09:44:45 -05:00
Christopher Michael dd74c6ed35 tests/ecore_wl2: Add test for ecore_wl2_window_geometry functions
ref T8016
2019-11-19 08:37:29 -05:00
junsu choi 3493a37db8 Eina_Matrix : Use math header for cosf and sinf of rotate function.
The local cos and sin functions differ from
the math header cos and sin functions by result values
The 4th decimal place is different.
Computing large numbers can cause errors.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10467
2019-11-15 11:52:01 -08:00
Lauro Moura 2272e21b3c csharp: Silence CA2000 in tests
Summary:
These objects are expected to leave scope while alive.

Ref T8423

Depends on D10671

Reviewers: brunobelo, felipealmeida, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8423

Differential Revision: https://phab.enlightenment.org/D10672
2019-11-15 00:08:38 -03:00
Bruno da Silva Belo cd113d7aae csharp: Disposing IDisposable objects.
Summary: ref T8423

Reviewers: lauromoura, felipealmeida, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8423

Differential Revision: https://phab.enlightenment.org/D10644
2019-11-14 15:32:42 -03:00
Cedric BAIL 6befb6e17b efl: improve Efl.BooleanModel test by checking the child del case.
This has detected the bug that previous commit fix.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10634
2019-11-13 21:16:22 +01:00
Cedric BAIL 06873a6fdb efl: remove useless printf from Efl Container Model tests.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10633
2019-11-13 21:16:20 +01:00
Christopher Michael 5b588c3c39 tests/ecore_wl2: Add test for ecore_wl2_window_wm_rotation_supported
functions

ref T8016
2019-11-12 10:09:54 -05:00
Christopher Michael 96e148b231 tests/ecore_wl2: Modify ecore_wl2_window_rotation test
Small patch to modify ecore_wl2_window_rotation test to support
ecore_wl2_window_rotation_set function

ref T8016
2019-11-12 09:55:41 -05:00
Christopher Michael 8213524583 tests/ecore_wl2: Add test for ecore_wl2_window_rotation_app functions
ref T8016
2019-11-12 09:53:09 -05:00
Christopher Michael eb7816c727 tests/ecore_wl2: Add test for ecore_wl2_window_preferred_rotation
functions

ref T8016
2019-11-12 09:50:12 -05:00
Christopher Michael 67995823fd tests/ecore_wl2: Add test for ecore_wl2_window_maximized functions
ref T8016
2019-11-12 09:47:36 -05:00
Christopher Michael 239549deec tests/ecore_wl2: Add test for ecore_wl2_window_fullscreen functions
ref T8016
2019-11-12 09:44:39 -05:00
Christopher Michael 52299bffa0 tests/ecore_wl2: Add test for ecore_wl2_window_focus_skip_get/set
functions

ref T8016
2019-11-12 09:41:29 -05:00
Christopher Michael 17919040b6 tests/ecore_wl2: Add test for ecore_wl2_window_floating_mode_get/set
functions

ref T8016
2019-11-12 09:39:15 -05:00
Christopher Michael 1357171d56 tests/ecore_wl2: Add test for ecore_wl2_window_alpha_get/set functions
ref T8016
2019-11-12 09:35:50 -05:00
Christopher Michael fb71805925 tests/ecore_wl2: Add test for ecore_wl2_display_compositor_version_get
ref T8016
2019-11-12 09:22:09 -05:00
Yeongjong Lee 246485ca92 efl_ui_relative_container: rename relative_layout
Summary:
Also,
Rename parameter name `target` to `base`.
Rename parameter name `relative` to `relative_position`.

ref T8380

Depends On D10639

Test Plan: ninja test

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8380

Differential Revision: https://phab.enlightenment.org/D10640
2019-11-12 14:33:13 +01:00
Marcel Hollerbach 6b1de6a4ac efl_canvas_animation: correctly handle double signness
Summary:
start_delay and duration both have to be > 0.0 otherwise there should be
an error. This also adds the neccessary checks, to ensure that.

For now this is only added to the normal evas test suite, maybe we eed
to refactor these efl_* API tests into theire own test suite. However,
not for now.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10617
2019-11-11 10:20:48 +01:00
Bruno da Silva Belo 0a2c9f57ef csharp: Localization strings with CultureInfo.
Summary: ref T8404

Reviewers: lauromoura, felipealmeida, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8404

Differential Revision: https://phab.enlightenment.org/D10608
2019-11-07 23:33:33 -03:00
Lauro Moura 77207f9b58 csharp: Fix running headless tests in dotnet
Summary:
CoreCLR, the runtime of dotnet, has some issues regarding storing
environment variables (see dotnet/coreclr issue #15812), keeping them in
a local cache instead of flushing to the native `setenv`.

This commit replaces the usage of
`System.Environment.SetEnvironmentVariable` with a `setenv` wrapper.

Test Plan: Run without DISPLAY set and with dotnet.

Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10619
2019-11-07 22:46:15 -03:00
Lauro Moura cb60b595d3 csharp: Make GetPart public.
Summary:
`efl_part_get` is protected in C due to the presence of `efl_part`,
which does automatic refcount management in single method calls.

The C# binding has no limitation on this as it already handles the
lifetime for all objects.

Fixes T8462

Reviewers: brunobelo, segfaultxavi, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8462

Differential Revision: https://phab.enlightenment.org/D10594
2019-11-07 17:59:40 -03:00
Bruno da Silva Belo d907aa5285 csharp: Removing a never used class.
Summary: ref T8417

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8417

Differential Revision: https://phab.enlightenment.org/D10611
2019-11-07 20:00:22 +01:00
Carsten Haitzler 39240fa3e7 Revert "evas_textblock: content fit feature"
This reverts commit 2f676a6591.

This causes segv's in edje_cc - i suspect the eet changes (or in combo
to how they are used in edje):

AddressSanitizer:DEADLYSIGNAL
=================================================================
==8991==ERROR: AddressSanitizer: SEGV on unknown address 0x000001010000 (pc 0xffff9f002604 bp 0xfffffa747700 sp 0xfffffa747700 T0)
==8991==The signal is caused by a READ memory access.
    #0 0xffff9f002600 in _eet_hash_gen ../src/lib/eet/eet_utils.c:25
    #1 0xffff9efdd024 in eet_dictionary_string_add ../src/lib/eet/eet_dictionary.c:103
    #2 0xffff9efbe324 in eet_data_put_string ../src/lib/eet/eet_data.c:849
    #3 0xffff9efc1c4c in eet_data_put_type ../src/lib/eet/eet_data.c:1427
    #4 0xffff9efd9128 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4730
    #5 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #6 0xffff9efd5958 in eet_data_put_variant ../src/lib/eet/eet_data.c:4309
    #7 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #8 0xffff9efd9270 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4739
    #9 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #10 0xffff9efd8ca0 in eet_data_put_array ../src/lib/eet/eet_data.c:4692
    #11 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #12 0xffff9efc7768 in eet_data_write_cipher ../src/lib/eet/eet_data.c:2403
    #13 0xffff9efc78a4 in eet_data_write ../src/lib/eet/eet_data.c:2420
    #14 0xaaaabb151dcc in data_thread_group ../src/bin/edje/edje_cc_out.c:2045
    #15 0xaaaabb152130 in data_write_groups ../src/bin/edje/edje_cc_out.c:2086
    #16 0xaaaabb157734 in data_write ../src/bin/edje/edje_cc_out.c:2866
    #17 0xaaaabb14122c in main ../src/bin/edje/edje_cc.c:456
    #18 0xffff9dbd92a0 in __libc_start_main (/usr/lib/aarch64-linux-gnu/libc.so.6+0x242a0)
    #19 0xaaaabb13ea00  (/home/raster/C/git/efl/build/src/bin/edje/edje_cc+0x38a00)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/lib/eet/eet_utils.c:25 in _eet_hash_gen
==8991==ABORTING
Aborted (core dumped)

When compiling breaks... it's certainly time to revert ASAP :(
2019-11-07 10:23:58 +00:00
Lauro Moura 03d9fa97cc csharp: Fix test build dependency
Summary: Make dotnet target also depend on the manual test files.

Test Plan: Modify one of the manual files and run the tests again. The test target should be rebuilt.

Reviewers: bu5hm4n, segfaultxavi, brunobelo, felipealmeida

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10609
2019-11-06 23:47:50 -03:00
Bruno da Silva Belo bd446fdcf9 csharp:comma have whitespace after and none before
Reviewers: felipealmeida, lauromoura, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10575
2019-11-06 23:46:18 -03:00
Lauro Moura 17a81bee4a csharp: Revamp dotnet support
Summary:
Instead of building with a patched meson version, make use of custom
targets and generated csproj files so we can used upstream meson
normally.

This avoids digging into "non official" dotnet stuff like calling
the CSC.dll directly that the patched meson tried to do.

To enable, run meson with `-Ddotnet=true`.

Regarding source file dependencies, Meson has a limitation[1]
about generated artifacts being placed in subdirectories.

In order to correctly track these generated artifacts for dotnet, we
generated them in the same folder as the csproj file through
`dotnet build -o`.

Instead of installing the dll like we do for mono, a nupkg is generated
and installed in the same folder as the dll would be
(<prefix>/lib/x86_64-linux-gnu/efl-mono-1)

To avoid messing around with Nupkg caches, we reference the source
project for the library directly instead of the nupkg when building the
test suite.

[1] https://github.com/mesonbuild/meson/issues/2320

Fixes T8168

Reviewers: bu5hm4n, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, brunobelo, felipealmeida, segfaultxavi

Tags: #efl, #do_not_merge

Maniphest Tasks: T8168

Differential Revision: https://phab.enlightenment.org/D9717
2019-11-06 11:20:19 -03:00
Wonki Kim dc52516397 check: reset flags that used for legacy 'changed' cb
Summary:
in case of setting a state of check by calling a API,
the flags that used for changed cb aren't changed.
which causes that the callback not invoked when it should be.

this patch resets the flags to make it work properly.

Reviewers: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10591
2019-11-06 14:03:29 +01:00
Lauro Moura d4d9ecc92f eolian: Imply @no_unused if @move in return.
Summary:
This makes sure the user is warned if it ignores a return value that
could potentially be a memory leak.

This also makes possible to use `value {}` blocks with `@move` instead
of value-less properties with `@no_unused`.

Also removed the `@move` from canvas_text_async_layout as it is ignored
in the only place it is used.

Reviewers: q66

Reviewed By: q66

Subscribers: #reviewers, #committers, bu5hm4n, felipealmeida, cedric, segfaultxavi

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10601
2019-11-05 16:54:17 -03:00
Stefan Schmidt 6108ea0978 tests/spec: allow for a longer timeout of the spec suite for dist build
During our ninja dist builds on the CI we run into timeouts for the spec
test suite taking longer than the default 30s. We can't pass any
multiplier into the ninja dist command as we are doing on the other unit
test runs.
Allow th default value for this suite to also cover the CI case. It does
no harm on sutuations where it finishes faster.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10593
2019-11-05 16:49:26 +01:00
Christopher Michael 4068d1c5be tests/ecore-wl2: Remove surface test
This test is not necessary anymore as the ecore_wl2_surface function
it was testing is now an internal function

ref T8016
2019-11-05 09:44:53 -05:00
Ali Alzyod 2f676a6591 evas_textblock: content fit feature
Summary:
**Content Fit Feature for Evas_Object_Textblock**

This Feature is available at **Evas **object level.  And **Edje **level (where it is internally use evas functionality)
This feature will allow text block to fit its content font size to proper size to fit its area.

**Main Properties:**
Fit Modes        :   None=Default, Width, Height, All [Width+Height]
Fit Size Range :   Contains maximum and minimum font size to be used (and in between).
Fit Step Size    :   Step(Jump) value when trying fonts sizes between Size_Range max and min.
Fit Size Array   :   Other way to resize font, where you explicitly select font sizes to be uses    (for example [20, 50, 100] it will try 3 sizes only)

Text Fit feature was available in Edje but:
1- It doesn't effected by ellipsis or warping in font style (or do not handle the in right way)
2- Accuracy is not good (specially if you have fix pixel size elements (spaces,tabs,items))
3- No (Step size, Size Array) available.

Test Plan:
To check the Feature
> elementary_test
> fit
> textbock fit
You can modify all the modes and properties

These are two examples, One using Evas other uses Edje

**Evas**

```
#include <Elementary.h>

enum BUTTON{
   BUTTON_MODE             = 0,
   BUTTON_MAX              = 1,
   BUTTON_MIN              = 2,
   BUTTON_STEP             = 3,
   BUTTON_ARRAY            = 4,
   BUTTON_CONTENT          = 5,
   BUTTON_STYLE            = 6,
   BUTTON_ALL              = BUTTON_STYLE+1,
};

char* BUTTON_STR[BUTTON_ALL] ={
   "MODE",
   "MAX",
   "MIN",
   "STEP",
   "ARRAY",
   "CONTENT",
   "STYLE",
};

char *contents[] = {
   "Hello World",
   "This is Line<br>THis is other Line",
   "This text contains <font_size=20 color=#F00>SPECIFIC SIZE</font_size> that does not effected by fit mode"
   };

char *styles[] = {
   "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed ellipsis=1.0'",
   "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed'",
   "DEFAULT='font=sans font_size=30 color=#000 ellipsis=1.0'",
   "DEFAULT='font=sans font_size=30 color=#000'",
   };

char *styles_names[] = {
   "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>1.0</color>",
   "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>NONE</color>",
   "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>1.0</color>",
   "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>NONE</color>",
   };

typedef struct _APP
{
   Evas_Object *win, *box, *txtblock,*bg, *boxHor, *boxHor2;
   Eo *btn[BUTTON_ALL];
   Eo *lbl_status;
   char * str;
   unsigned int i_contnet, i_style;
} APP;
APP *app;

char * get_fit_status(Eo * textblock);

static void _btn_clicked(void *data EINA_UNUSED, Eo *obj, void *eventInfo EINA_UNUSED){
   if (obj == app->btn[BUTTON_MODE])
     {
        unsigned int options;
        evas_textblock_fit_options_get(app->txtblock, &options);
        if (options == TEXTBLOCK_FIT_MODE_NONE)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_HEIGHT);
        else if (options == TEXTBLOCK_FIT_MODE_HEIGHT)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_WIDTH);
        else if (options == TEXTBLOCK_FIT_MODE_WIDTH)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_ALL);
        else if (options == TEXTBLOCK_FIT_MODE_ALL)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_NONE);
     }
   else if (obj == app->btn[BUTTON_MAX])
     {
        unsigned int min, max;
        evas_textblock_fit_size_range_get(app->txtblock, &min, &max);
        max -= 5;
        evas_textblock_fit_size_range_set(app->txtblock, min, max);
     }
   else if (obj == app->btn[BUTTON_MIN])
     {
        unsigned int min, max;
        evas_textblock_fit_size_range_get(app->txtblock, &min, &max);
        min += 5;
        evas_textblock_fit_size_range_set(app->txtblock, min, max);
     }
   else if (obj == app->btn[BUTTON_STEP])
     {
        unsigned int step;
        evas_textblock_fit_step_size_get(app->txtblock, &step);
        step++;
        evas_textblock_fit_step_size_set(app->txtblock, step);
     }
   else if (obj == app->btn[BUTTON_ARRAY])
     {
        unsigned int font_size[] = {10, 50, 100 ,150};
        evas_textblock_fit_size_array_set(app->txtblock,font_size,4);
     }
   else if (obj == app->btn[BUTTON_CONTENT])
     {
        app->i_contnet++;
        if(app->i_contnet>=sizeof(contents)/sizeof(char*))
           app->i_contnet=0;
        evas_object_textblock_text_markup_set(app->txtblock,contents[app->i_contnet]);
     }
   else if (obj == app->btn[BUTTON_STYLE])
     {
        app->i_style++;
        if(app->i_style>=sizeof(styles)/sizeof(char*))
           app->i_style=0;

        Evas_Textblock_Style *style = evas_object_textblock_style_get(app->txtblock);
        evas_textblock_style_set(style,styles[app->i_style]);
     }

   elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock));
}

char * get_fit_status(Eo * textblock)
{
   static char status[0xFFF];
   unsigned int options,min,max,step,size_array[256];
   size_t size_array_len;
   evas_textblock_fit_options_get(textblock,&options);
   evas_textblock_fit_size_range_get(textblock,&min,&max);
   evas_textblock_fit_step_size_get(textblock,&step);
   evas_textblock_fit_size_array_get(textblock,NULL,&size_array_len,0);
   if (size_array_len>255)
      size_array_len = 255;
   evas_textblock_fit_size_array_get(textblock,size_array,NULL,size_array_len);

   strcpy(status,"Mode : ");
   if (options == TEXTBLOCK_FIT_MODE_NONE)
      strcat(status,"MODE_NONE");
   else if (options == TEXTBLOCK_FIT_MODE_HEIGHT)
      strcat(status,"MODE_HEIGHT");
   else if (options == TEXTBLOCK_FIT_MODE_WIDTH)
      strcat(status,"MODE_WIDTH");
   else if (options == TEXTBLOCK_FIT_MODE_ALL)
      strcat(status,"MODE_ALL");

   strcat(status,"<br>");
   sprintf(status + strlen(status),"Max   : %d<br>",max);
   sprintf(status + strlen(status),"Min   : %d<br>",min);
   sprintf(status + strlen(status),"Step  : %d<br>",step);
   sprintf(status + strlen(status),"Array  : [ ");
   for (size_t i = 0 ; i < 10 ; i++)
     {
        if(i<size_array_len)
           sprintf(status + strlen(status)," %d,",size_array[i]);
     }

   if(10<size_array_len)
      sprintf(status + strlen(status)," ... ");
   sprintf(status + strlen(status)," ]");

   sprintf(status + strlen(status),"<br>");
   sprintf(status + strlen(status),"%s",styles_names[app->i_style]);

   return status;
}

int elm_main(int argc, char **argv)
{
  app = calloc(sizeof(APP), 1);

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   app->win = elm_win_util_standard_add("Main", "App");
   elm_win_autodel_set(app->win, EINA_TRUE);

   app->box = elm_box_add(app->win);
   app->boxHor = elm_box_add(app->box);
   app->boxHor2 = elm_box_add(app->box);
   app->txtblock = evas_object_textblock_add(app->box);
   app->bg = elm_bg_add(app->box);
   elm_bg_color_set(app->bg,255,255,255);

   Evas_Textblock_Style *style = evas_textblock_style_new();
   evas_textblock_style_set(style,styles[0]);
   evas_object_textblock_style_set(app->txtblock,style);
   evas_object_textblock_text_markup_set(app->txtblock,contents[0]);

   elm_box_horizontal_set(app->boxHor, EINA_TRUE);
   elm_box_horizontal_set(app->boxHor2, EINA_TRUE);

   evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_show(app->txtblock);
   evas_object_show(app->bg);
   evas_object_show(app->box);
   evas_object_show(app->boxHor);
   evas_object_show(app->boxHor2);

   elm_box_pack_end(app->box, app->bg);
   elm_box_pack_end(app->box, app->boxHor);
   elm_box_pack_end(app->box, app->boxHor2);

   elm_object_content_set(app->bg,app->txtblock);

   elm_win_resize_object_add(app->win, app->box);
   evas_object_resize(app->win, 320, 480);

   for(int i = 0 ; i < BUTTON_ALL ; i++)
     {
        app->btn[i] = elm_button_add(app->boxHor);
        evas_object_smart_callback_add(app->btn[i], "clicked", _btn_clicked, NULL);
        elm_object_text_set(app->btn[i], BUTTON_STR[i]);
        elm_box_pack_end(app->boxHor, app->btn[i]);
        evas_object_show(app->btn[i]);
     }

   app->lbl_status = elm_label_add(app->boxHor2);
   elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock));
   elm_box_pack_end(app->boxHor2, app->lbl_status);
   evas_object_show(app->lbl_status);

   evas_object_size_hint_weight_set(app->txtblock, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->txtblock, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->bg, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_show(app->win);
   elm_run();
   return 0;
}

ELM_MAIN()
```

**Edje**

```
// compile: edje_cc source.edc
// run: edje_player source.edje
collections {
   styles
   {
      style
      {
         name: "text_style";
         base: "font=sans font_size=30 color=#FFF wrap=mixed ellipsis=1.0";
         tag: "br" "\n";
         tag: "ps" "ps";
         tag: "tab" "\t";
         tag: "b" "+ font_weight=Bold";
      }
   }
   group {
      name: "my_group"; // must be the same as in source.c
      parts {

         part
         {
            name: "background";
            type: RECT;
            scale: 1;
            description
            {
               color: 0 0 0 0;
               rel1.relative: 0.0 0.0;
               rel2.relative: 1.0 1.0;
            }
         }

         part
         {
            name: "text";
            type: TEXTBLOCK;
            scale: 1;
            entry_mode: NONE;
            effect: OUTLINE_SHADOW;
            description
            {
               state: "default" 0.0;
               rel1.to : "background";
               rel1.relative: 0.0 0.0;
               rel2.to : "background";
               rel2.relative: 1.0 1.0;
               text
               {
                  style: "text_style";
                  align: 0.0 0.0;
                  text: "Hello World This is Me";
                  fit: 1 1;
                  fit_step: 1;
                  size_range: 30 200;
                  //fit_size_array: 20 40 60 80 100 200;
               }
            }
         }
      }
   }
}
```

Found Task T5724 relative to this Feature

Reviewers: woohyun, bowonryu, cedric, raster

Subscribers: #committers, #reviewers, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9280
2019-11-05 20:40:59 +09:00
Bruno da Silva Belo 0e6e983808 csharp: Changing visibility of nested class/struct
Reviewers: felipealmeida, lauromoura, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8393

Differential Revision: https://phab.enlightenment.org/D10588
2019-11-04 14:53:54 -03:00
Mike Blumenkrantz 72be0842ab tests/eina: use #ifdef guard for block which can only occur inside ifdef
this value is set in the corresponding #ifdef block above, so use the same
guard here to make code more readable

CID 1400948

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10321
2019-10-31 03:19:19 -07:00
Cedric Bail db93501e66 eo: reduce memory use to track event registration and callback call.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10482
2019-10-31 14:52:52 +01:00
Cedric Bail 7f53d91583 eo: prevent unecessary callback call walk.
This patch introduce a small hash (64 or 32bits) that cache all existing
Efl_Event_Description callback handler registered on an object. It slightly
reduce the time needed to do an unecessary call and cost just a few bytes
per object.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10475
2019-10-31 14:52:31 +01:00
Mike Blumenkrantz 5d69afdc09 tests/spec: pre-create a ton of widgets during test init
Summary:
similar to existing mechanics for elm/efl_ui tests, this pre-creates
all the widgets used as test contents for all the test cases so they
can be forked and reused without needing to spend time in every single
test creating the same test contents
Depends on D10573

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10574
2019-10-31 09:02:56 -04:00
Mike Blumenkrantz 7cd9113f1f tests/elm: add utils for detecting buffer engine and setting fork init cb
Summary:
this allows use of the global win object prior to actually being inside a
test for the purpose of doing additional setup
Depends on D10572

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10573
2019-10-31 09:02:54 -04:00
Mike Blumenkrantz ec7562fddf tests/spec: use wrefs to automatically unset global pointers
Summary:
these may end up being reused in the future, so unset them only on
object destruction
Depends on D10571

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10572
2019-10-31 09:02:52 -04:00
Mike Blumenkrantz c722b18d2a tests/spec: assert success of content_set during setup
Summary: Depends on D10570

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10571
2019-10-31 09:02:51 -04:00
Mike Blumenkrantz 2021c756ef tests/spec: store test class and reuse globally to avoid needing efl_isa
Summary: Depends on D10569

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10570
2019-10-31 09:02:49 -04:00
Mike Blumenkrantz 9c71ce2c00 tests/elm: add util function for detecting whether current test is forked
Summary:
this is useful for determining whether we can use extra hacks because nobody's
supervising our pointer (ab)use
Depends on D10568

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10569
2019-10-31 09:02:47 -04:00
Mike Blumenkrantz e9e0f79956 tests/spec: reduce looping of pack content tests
Summary:
this was hugely over-testing before; simply verifying one item outside
the limit is sufficient here
Depends on D10567

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10568
2019-10-31 09:02:45 -04:00
Mike Blumenkrantz 2ceea3e44b tests/spec: merge some loops in linear pack tests
Summary:
these are small loops, but iterating small loops hundreds of times leads to
big slowdowns

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10567
2019-10-31 09:02:44 -04:00
Carsten Haitzler 80d317f20e evas - revert evas variation sequence support - out of bound accesses
This code is filled with out of bounds accesses now after the reverted
patch. All those base_char+1, itr+1 etc. in
evas_common_font_query_run_font_end_get() are accessing BEYOND
the end of the run. textgrid shows this instantly to fall over as it
uses single unicode codepoint chars with no nul terminator. As this
api takes an explicit run_len we should never access beyond the end of
the run_len.

Please revisit this code and keep in mind proper memory/bounds
accessing. If there was ano run_len and it assumed strings were
regular strings that had to be nul terminated... then it might be ok,
but not here.

of course if i put in guards for these +1's then it ends up in
infintie loops, so enough debugging and send it back for a rethink. :)

....

Revert "evas_object_textblock: add support for variation sequences"

This reverts commit 46f2d8acdc.
2019-10-31 12:31:52 +00:00
Bruno da Silva Belo 72a5367f8d csharp: space after keywords.
Reviewers: felipealmeida, lauromoura, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10576
2019-10-31 07:53:00 -03:00
Mike Blumenkrantz 78bc0b77b7 tests/efl_app: add port of intensive timer recursion
this is roughly the same as the similarly-named ecore_timer unit test

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10556
2019-10-30 08:49:12 -07:00
Mike Blumenkrantz a6c92e2fc0 tests/evas: prune directory scan in mesh loader/saver test
this test should use a hardcoded list of files, but until it does we
can at least attempt to reduce failure rates which may occur from random
garbage in the tree

ref T6857

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10552
2019-10-30 08:49:11 -07:00
Mike Blumenkrantz 82e19f075e tests/evas: replace macro with function in mesh loader/saver test
this was totally impossible to debug

no functional changes

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10551
2019-10-30 08:49:10 -07:00
Mike Blumenkrantz 7a2fa2c614 tests/ecore: add intensive test for recursive timer usage
this recurses the mainloop to a depth of 8, continually creating and
triggering timers as it progresses and tracking the states to ensure that
everything is working as expected regardless of depth

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10547
2019-10-30 08:49:09 -07:00
Mike Blumenkrantz 7b374754cb tests/ecore: do not create global test timeout timer if running unforked
this is a pita for debugging

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10546
2019-10-30 08:49:08 -07:00
Mike Blumenkrantz e416b44ed7 efl_ui: remove Efl.Ui.Slider_Indicator_Visible_Mode
this cannot be used for anything and serves no purpose

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10539
2019-10-30 08:49:02 -07:00
Mike Blumenkrantz 9878a0cad4 tests/genlist: add behavior testing for nearly all genlist events
this simulates a number of user interactions to ensure that various
functionalities of genlist actually work, including but not limited to:
* selection
* highlighting
* item focus
* scrolling
* filtering
* dragging
* item reordering

ref T8433

Differential Revision: https://phab.enlightenment.org/D10528
2019-10-29 16:09:50 +01:00
Mike Blumenkrantz 9870b7992d tests/loop_timer: add port of ecore_timer behavior tests for loop_timer
ensure that the behavior here is also working exactly as expected

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10531
2019-10-29 16:09:49 +01:00
Mike Blumenkrantz cb23d14d11 tests/ecore: make timer behavior test even more strict
we need to also verify that timers will process out of order solely based
on their timestamps and ignoring whether they are "recently-added"

additionally verify the behavior of timer interval changing and re-instantiating

ref T8434

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10530
2019-10-29 16:09:45 +01:00
Mike Blumenkrantz 0da0b8ea55 tests/ecore: add more grueling timer throughput test
this verifies that:
* newly-created timers are not triggered in the next loop iteration
* newly-created timers can be triggered the second loop after created
* multiple timers can be triggered in a single loop iteration
* timers are effectively added to the pending timer list

ref T8434

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10516
2019-10-29 16:09:00 +01:00
Mike Blumenkrantz 1faf6ef2b7 tests/genlist: fix tree test sizing
for some reason I used 10px as the base height of a genlist item when clearly
they are more like 30px

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10513
2019-10-29 16:08:51 +01:00
Mike Blumenkrantz eb12c77a7a tests/elm: add utility function to trigger a mouse drag
a drag may require a lot of internal calculating to successfully trigger
the intended test behavior, so this has a flag which allows it to perform
loop iterations and canvas calcs in order to be more universal, along with
a global #define for determining exactly how many mouse moves were triggered

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10512
2019-10-29 16:08:48 +01:00
Mike Blumenkrantz fea9fbec98 tests/elm: make argv a static char so it never goes out of scope and crashes
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10511
2019-10-29 16:08:45 +01:00
Mike Blumenkrantz 3ad0cf6c46 tests/elm: add util functions for clicking objects/parts with event flags
this is useful for synthesizing e.g., double click events

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10510
2019-10-29 16:08:41 +01:00
Mike Blumenkrantz 5ab30b1e01 tests/elm: add util callback for incrementing an int data
this is a common functionality

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10509
2019-10-29 16:08:39 +01:00
Lauro Moura 135c69b23c eolian_cxx: Add key/value to function_def
Summary:
This commit adds explicit eolian key/value/return info to function_def. The
original parameter/return types are kept for compatibility.

parameter/return -> Mimics the behavior of the generated C API (i.e.
single-valued getters have their lone value translated to be their
return type)

explicit_return -> The actual return value for that block in the EO
file.
keys/values -> The values for respectively key and values blocks.

This should help working with properties in the generators instead of
fumbling with paremeter/return directly

Fixes T8431

Test Plan: extra tests in the diff

Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

Maniphest Tasks: T8431

Differential Revision: https://phab.enlightenment.org/D10494
2019-10-28 20:35:39 -03:00
Bruno da Silva Belo 19588be0b9 csharp: Add comparables operators to eina_value.
Summary: ref T8394

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho, bu5hm4n

Reviewed By: YOhoho

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8394

Differential Revision: https://phab.enlightenment.org/D10458
2019-10-28 20:34:25 -03:00
Marcel Hollerbach df653267b3 spec-suite: verify correct widget-hiding behaviour.
Summary:
These checks are ensuring that when we are hiding a widget, that
everything inside these widgets are also hidden correctly. Due to
clipper or due to visibility flag.

Depends on D10468

Reviewers: zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10474
2019-10-28 12:40:27 -04:00
Bruno da Silva Belo 547f8767a9 csharp: Add missing exception ctor from Errors.cs.
Summary: ref T8392

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8392

Differential Revision: https://phab.enlightenment.org/D10455
2019-10-28 12:23:34 -03:00
Xavi Artigas 5299a65d45 Silence mono warning in tests
../src/tests/efl_mono/Model.cs(35,13): warning CS0219: The variable `veggies' is assigned but its value is never used

This was driving me nuts... Am I the only one seeing these things?
2019-10-28 15:12:35 +01:00
Bruno da Silva Belo 31be3b6a5d csharp:Changing ex access modifier from Errors.cs.
Summary: ref T8401

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8401

Differential Revision: https://phab.enlightenment.org/D10502
2019-10-25 17:40:40 -03:00
Bruno da Silva Belo fee91831cb csharp: Using Array.Empty Eina.
Summary: ref T8421

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8421

Differential Revision: https://phab.enlightenment.org/D10500
2019-10-25 14:23:14 -03:00
Bruno da Silva Belo c0f3febccf csharp: Calling ConfigureAwait on tasks Model.
Summary: ref T8424

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8424

Differential Revision: https://phab.enlightenment.org/D10496
2019-10-25 11:28:45 -03:00
Bruno da Silva Belo 882a2d4ec4 csharp: Calling ConfigureAwait on task eopromises.
Summary: ref T8424

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8424

Differential Revision: https://phab.enlightenment.org/D10495
2019-10-25 11:28:39 -03:00
Mike Blumenkrantz bcf27e35a2 tests/layout: add legacy layout test to verify behavior with legacy size hints
Summary:
this verifies that user-set legacy size hints will be applied accurately during
calc, and that the size of a layout can accurately decrease when its contents min
sizes decrease

ref 95b5731461

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10453
2019-10-25 09:54:19 -04:00
Mike Blumenkrantz 59ad959e85 tests/ecore: ensure that we attempt to re-set PATH in ecore-file tests
Summary:
if this test failed before for any reason, PATH would be permanently changed
for the current shell and process, which is obviously not what we want
Depends on D10414

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10415
2019-10-24 18:23:14 +02:00
Mike Blumenkrantz 30f6c12cbf tests/ecore: replace all bespoke strcats with snprintf
Summary:
CID 1400812
Depends on D10413

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10414
2019-10-24 18:23:11 +02:00
Mike Blumenkrantz e05311a99a tests/ecore: unset app args after app args unit test to prevent invalid reads
Summary:
various internal components in efl access the app args and read them which
will result in invalid memory access since these are stack-allocated strings
Depends on D10412

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10413
2019-10-24 18:23:03 +02:00
Mike Blumenkrantz fdb931fb6e tests/eina: use slstr_steal function in slstr_steal test
Summary: CID 1401043

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10404
2019-10-24 17:55:17 +02:00
Mike Blumenkrantz 896f234b25 tests/spec: free array in multi selectable tests
Summary: CIDs 1405810, 1405807, 1405806, 1405805, 1405803, 1405801, 1403902

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10403
2019-10-24 17:46:52 +02:00
Felipe Magno de Almeida a3ade15d5a cxx: Add license to CXX bindings.
Summary:
Like C#, it will also be Apache 2.0

Depends on D9414

Reviewers: vitor.sousa, woohyun, jpeg, lauromoura

Reviewed By: lauromoura

Subscribers: jpeg, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9418
2019-10-24 10:40:16 -03:00
Lauro Moura 40a980174b csharp: Add licensing information.
Summary:
C# bindings will be lincensed under Apache Sofware License 2.0.

This commit adds the license text to the licenses folder and a copyright
notice to the binding files.

Fixes T8039

Reviewers: woohyun, felipealmeida, vitor.sousa

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8039

Differential Revision: https://phab.enlightenment.org/D9414
2019-10-24 10:10:56 -03:00
Ali Alzyod 46f2d8acdc evas_object_textblock: add support for variation sequences
Summary: update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Efl.h>
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Main", "");
   elm_win_autodel_set(win, EINA_TRUE);
   textblock = evas_object_textblock_add(win);
   efl_canvas_text_style_set(textblock,NULL,"DEFAULT='font=DejaVuSans font_fallbacks=SamsungColorEmoji color=#000 font_size=20'");
   evas_object_textblock_text_markup_set(textblock, "8&#xfe0f;&#x20E3;&#x262a;&#xfe0f;AAA&#x262a;&#xfe0E;1234567&#xfe0f;&#x20E3;");

   evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(textblock);
   evas_object_move(textblock, 0, 0);
   evas_object_resize(textblock, 320, 320);
   evas_object_resize(win, 320, 320);
   evas_object_show(win);
   elm_run();
   return 0;

}

ELM_MAIN()

```

Reviewers: woohyun, bowonryu, segfaultxavi, cedric, bu5hm4n

Reviewed By: woohyun, cedric

Subscribers: bu5hm4n, subodh6129, herdsman, segfaultxavi, zmike, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9053
2019-10-19 14:01:36 +09:00
Mike Blumenkrantz 20b592cef7 fix various trivial null derefs
Summary:
CIDs 1401081, 1401044, 1400983, 1400960, 1400927, 1400799, 1396946, 1396944,
     1383851, 1383847, 1382211, 1379921, 1379921

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10452
2019-10-18 13:30:10 -04:00
Mike Blumenkrantz ccf0106448 tests/ecore_con: clarify pointer usage in ecore_con_url tests
Summary:
this was pretty bizarre

CID 1401029

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10450
2019-10-18 13:29:57 -04:00
Mike Blumenkrantz 8cef6a9724 tests: fix minor string leaks
Summary: CIDs 1404754, 1401022, 1400965

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10405
2019-10-18 13:29:13 -04:00
Mike Blumenkrantz 511ee4e6f4 tests/eldbus: add va_end for va_args usage in message test
Summary: CIDs 1400977, 1400974

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10390
2019-10-18 13:28:48 -04:00
Bruno da Silva Belo 4e2b9e2089 csharp: Setting ELM_ENGINE if it is none.
Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8322

Differential Revision: https://phab.enlightenment.org/D10442
2019-10-18 12:14:13 -03:00
Mike Blumenkrantz 7e7465379f tests/eina: fix assign when compare was intended
Summary: CID 1400858

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10396
2019-10-15 11:21:42 -03:00
Lauro Moura 87e5fc4c6a csharp: Remove test dependency on internal funcs
Summary: This will help cleaninup the EFL# API.

Test Plan: run test suite

Reviewers: YOhoho, felipealmeida, segfaultxavi, woohyun, brunobelo

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10365
2019-10-14 17:19:12 -03:00
Mike Blumenkrantz e96d18b046 evas/callbacks: emit hardcoded legacy smart callbacks always
Summary:
these are not strictly related to the event callback types and should not
have their emission tied to the corresponding event

also add unit test to verify all of these

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10353
2019-10-14 09:29:23 -04:00
Lauro Moura 3358d9d475 csharp: Add since info to members related to events.
Like OnFooEvent, FooEvents, etc.

ref T8359

Differential Revision: https://phab.enlightenment.org/D10382
2019-10-12 19:20:58 -03:00
Lauro Moura 5516b06af5 eolian-cxx: Make events inherit beta info from klass.
To mimic function behavior

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10381
2019-10-12 19:18:13 -03:00
Cedric BAIL e5c1eb5747 ecore_con: do not crash in test if nothing is returned by Ecore_Con_Url.
Summary: Depends on D10362

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10363
2019-10-11 09:25:04 -04:00
Lauro Moura dcb6380ab5 csharp: Add missing docs to slice.
Summary:
Also removed uneeded methods.

Slice also may need some API love to be actually useful later.

ref T8292

Reviewers: segfaultxavi, felipealmeida, brunobelo, woohyun

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8292

Differential Revision: https://phab.enlightenment.org/D10327
2019-10-11 11:23:22 +02:00
Mike Blumenkrantz 9fb86615fe tests/position_manager: initialize variable in declaration
this member is never used anywhere, but it creates a CID

CID 1404747

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10319
2019-10-09 20:02:32 +02:00
Lauro Moura 86191b02c7 eolian: Leave default text for libeolian users
Summary:
Instead of setting the default text at the library level, keep the
summary empty if nothing is provided.

The libeolian users them are free to check if the summary was actually
empty or a placeholder text was added.

ref T8309

Test Plan: Run attached tests

Reviewers: q66, segfaultxavi

Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers

Tags: #efl

Maniphest Tasks: T8309

Differential Revision: https://phab.enlightenment.org/D10285
2019-10-09 16:18:30 +02:00
Lauro Moura 62a61c3c7c csharp: Do not use the System Bus for testing.
Summary: To allow the C# bindings running on the CI

Reviewers: zmike, brunobelo, felipealmeida, segfaultxavi, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8313

Differential Revision: https://phab.enlightenment.org/D10283
2019-10-08 17:56:46 -03:00
Marcel Hollerbach 427a93c47f efl_test_multi_selectable: ensure consistant state across mode switch
Summary:
When we are in multi, and switch back to single or none, we should
ensure that the state is corrently. Same applies to single -> none.

Reviewers: segfaultxavi, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10277
2019-10-07 10:03:48 -04:00
Marcel Hollerbach b0ac1ec85f efl_ui_spec: introduce tests that ensure we are not leaking objects
Summary:
with those two tests we are checking two things:
- Check that there is no left out canvas object after the widget is
invalidated but not deleted. For now this only deals with canvas
objects.
- Additionally this also ensures that ref;del;unref as well as simple
del is never ever going to end up in a error, even with children beeing
added.

This pretty much mirrors the tests for legacy in
0d48cb46d4 , except that these tests do
not check for evas parent contsruction vs. real widget parent
construction. Which is intendet, as none-legacy widgets do error out
when a not widget object is passed as parent.
Depends on D10291

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10292
2019-10-07 10:03:48 -04:00
Cedric BAIL b6c76c78b8 elementary: always use a font that matches our expectation for our test instead of the system one.
Summary:
Our tests do rely on the font to have certain characteristic so that they have the value and the
item size being calculated is the one we expect. As it is quite hard to support an infinite number
of font with random size, it is easier to embed one we can rely on for our test. I have copied Vera
from Expedite and changed evas global font path to look for it first. After this patch, even with an
incompatible font in the system, it does still pass all tests. This add around 400KB of data to our
git, but is necessary for a reliable tests suite.

@fix

T8277

Reviewers: lauromoura, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8277

Differential Revision: https://phab.enlightenment.org/D10276
2019-10-02 23:54:22 -03:00
Marcel Hollerbach 0d48cb46d4 elm: add basics test to create a destroy *every* widget with errors
Summary:
this simply creates packs, resizes, and destroys every single widget
that we have in legacy elm.

This i made to ensure that there are no mistakes in the construction
chain. Additionally, a second test case checks that creation with none
elm parents is erroring but not failing, this seems weird, but we have
provided that in the past, so we should continue providing this.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10088
2019-10-02 17:08:01 +02:00
Yeongjong Lee fa90880055 efl_gfx_arrangement: change content_padding param type and remove scalable
Summary:
This change `content_padding` parameter type to int from double for consistency
of size properties.

`scalable` should be handled in more common size API.

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

ref T7864

Test Plan: ninja test

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7864

Differential Revision: https://phab.enlightenment.org/D10154
2019-10-02 12:11:15 +02:00
Lauro Moura 74e79b5ae2 csharp: Allow improved cbs in eina comparators
Summary:
Instead of receiving a callback that compares two intptrs (which is
still used internally), expose a more C#-friendly delegate which is
wrapped into the native one.

Test Plan: run test suite

Reviewers: felipealmeida, segfaultxavi, brunobelo

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10253
2019-09-30 23:09:29 -03:00
Xavi Artigas 835e230f2f Revert "eolian: disallow missing docs for stable API where necessary"
I'm afraid but this breaks the mono bindings too close to a release.
This also fixes the missing docs errors by adding a lot of inconsistent
placeholder text ("No description supplied.", "TBD") which will make
finding them later on more complicated.

I was the one that asked for this feature but it is not critical at this
point, so I suggest we explore some refinements (like T8291) before landing
this patch in its current state.

This reverts commit 2946cb3c32.
2019-09-30 19:48:19 +02:00
Daniel Kolesa 2946cb3c32 eolian: disallow missing docs for stable API where necessary
The things that require docs include classes, variables, typedecls,
events and methods/properties. Implements, params, returns, parts
and struct/enum fields don't require them.

Empty/whitespace only string does not count as documentation.
2019-09-30 18:21:17 +02:00
Mike Blumenkrantz 5ac1f52af9 tests/position_manager: initialize variable in declaration
CID 1404756, 1404747

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10202
2019-09-30 10:46:41 +02:00
Mike Blumenkrantz 66f0ed43e6 tests/spin_button: include Elementary.h since this uses legacy api
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10233
2019-09-30 10:33:31 +02:00
Mike Blumenkrantz cf92adb149 tests/spec: use eo types here since this isn't supposed to use legacy
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10232
2019-09-30 10:33:30 +02:00
Mike Blumenkrantz e55a6f6778 edje: add Efl_Layout.h for eo-based layout headers
this includes all related headers

ref T8274

Additional Authors: Lauro Moura <lauromoura@expertisesolutions.com.br>

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10228
2019-09-30 10:33:27 +02:00
Mike Blumenkrantz 34a21d7ef9 efl/canvas: add Efl_Canvas.h
this includes all the efl.canvas headers and adds some compilation tests
for the header to the unit test suite

ref T8274

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10226
2019-09-30 10:33:24 +02:00
Bruno da Silva Belo 97846281b5 efl_ui_suite: Some pointers were being delete.
`efl_ui_smart_transition_lifetime` test causes segfault
when compile with `clang`.
Fixes half of T8277

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10221
2019-09-27 17:12:17 +02:00
Mike Blumenkrantz 88da46d3f6 tests/eina: outdent code
Summary:
this is a very important coverity issue.

CID 1400838
Depends on D10205

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10206
2019-09-26 17:59:34 -04:00
Mike Blumenkrantz 2584adae08 tests/strbuf: call va_end for varargs
Summary: CID 1400792

Reviewers: brunobelo

Reviewed By: brunobelo

Subscribers: brunobelo, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10204
2019-09-26 17:59:24 -04:00
Mike Blumenkrantz 2d206757ed tests/check: add port of check widget mouse testing for efl_ui_check
Summary:
coverage++
Depends on D10194

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10195
2019-09-26 18:00:32 +02:00
Daniel Kolesa f37c996ad4 efl_mono: remove spurious const 2019-09-26 17:17:29 +02:00
Daniel Kolesa b0ee540ec9 eolian: rename param direction enum and fields for consistency 2019-09-26 16:56:13 +02:00
Daniel Kolesa 6d93dc4cbf eolian: rename event_prefix to event_c_prefix for consistency 2019-09-26 16:47:22 +02:00
Marcel Hollerbach 1df17abba5 efl_ui_*selectable: unify these APIs with the same c_prefix
Summary:
with this commit that api for single and multi selectable shares the
same prefix, which makes sense in c as we do not really differ between
those two types there anyway.

ref T7871

Reviewers: SanghyeonLee, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7871

Differential Revision: https://phab.enlightenment.org/D10183
2019-09-26 18:32:58 +09:00
Marcel Hollerbach 6592fefcdd Revert "elm: add basics test to create a destroy *every* widget with errors"
This reverts commit 10cdb07018.

this does not pass on ci ... o.O
2019-09-25 21:46:59 +02:00
SangHyeon Jade Lee 7884a38dbd efl_ui : change selected_items_get to selected_iterator_new.
multi_selectable_aync already changed name as
selected_iterator_new
so multi_selectable change name also for unity of API.

not sure about we need unselected_items_get in multi_selectable,
so skip to create new api for this time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10148
2019-09-25 21:14:22 +02:00
Marcel Hollerbach 10cdb07018 elm: add basics test to create a destroy *every* widget with errors
this simply creates packs, resizes, and destroys every single widget
that we have in legacy elm.

This i made to ensure that there are no mistakes in the construction
chain. Additionally, a second test case checks that creation with none
elm parents is erroring but not failing, this seems weird, but we have
provided that in the past, so we should continue providing this.

Differential Revision: https://phab.enlightenment.org/D10088
2019-09-25 21:14:21 +02:00
Daniel Kolesa 71cd89c580 eolian: expose most API as stable
There is still some TODO with builtin types, parameter
directions and prefixes, which will be resolved in the
next commits.
2019-09-25 18:26:07 +02:00
SangHyeon Jade Lee 2c4db3b09a efl_ui : reverse the select method name to be ended verb on the last.
Summary:
our new method naming rule only allow verb at the last position,
so change name to fallow rule.

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: bu5hm4n, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10144
2019-09-25 17:12:51 +09:00
Lauro Moura 2e7b508312 csharp: Fix wrapping of private classes
Summary:
Sometimes, valid Eo objects of private classes can be returned from
methods. Currently we try to wrap in a minimal `Efl.Object` instance,
but as it is an abstract class, we can't instantiate directly.

This commits adds a dummy `Efl.ObjectRealized` to be instantiated when
wrapping such classes alongside a test case.

Fixes: T8258

Reviewers: felipealmeida, brunobelo, segfaultxavi, Jaehyun_Cho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10101
2019-09-24 18:00:05 -03:00
Lauro Moura 4234dcfc3e csharp: Fix factory instantiation
After 892c26f906, widget factories require
a widget to be their parents.

This commit updates C# tests and adds a warning message to elementary if the user does
not provide one.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10122
2019-09-24 13:56:07 -07:00
Cedric Bail 3c9a46372e elementary: add an interface for asynchronous multi selection.
This interface is currently focusing on being use by widget like
Efl.Ui.Collection_View or Efl.Ui.Select_Model. I have decided that
it should not be available along with Efl.Ui.Multi_Selectable.

Differential Revision: https://phab.enlightenment.org/D9957
2019-09-24 11:12:42 -07:00
Daniel Kolesa 92da64a532 eolian: remove support for globals
This was meant to happen but did not previously happen. It is not
ideal to do it now but better do it while we still can.

In short, this removes one half of the variables API (keeps
constants as they are) and repurposes the API to be only for
constants. This is also better for consistency to match errors.
2019-09-24 18:27:37 +02:00
Daniel Kolesa 251d8fc6bd eolian: remove global vars from tests 2019-09-24 16:29:55 +02:00
Marcel Hollerbach 594fc08442 efl_ui_win: default the window type to basic
normally when you create a window, you just want to have it beeing a
basic window. If not you still can set the window type.

ref T8229

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10049
2019-09-24 16:00:44 +02:00
Marcel Hollerbach 6714c821f7 efl_ui_pack: allow NULL as existing parameter in after and before
Summary:
with this commit all implementations of Efl.Pack_Linear to permit NULL
as existing parameter, this is verified with a spec test unit.

fixes T8210

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: woohyun, Jaehyun_Cho, YOhoho, segfaultxavi, zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8210

Differential Revision: https://phab.enlightenment.org/D10023
2019-09-23 16:15:44 -04:00
Lauro Moura 5f5f62d6bd tests: Initialize variables and quiet warning.
Summary: The switch does not cover all Align enum values.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10085
2019-09-23 15:50:28 -04:00
Cedric Bail 059e48ff0e efl: improve test in checking the return value during Eina_Value get operation.
Summary: Depends on D10061

Reviewers: zmike, bu5hm4n, SanghyeonLee, segfaultxavi, felipealmeida, lauromoura

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10062
2019-09-23 15:50:28 -04:00
Wonki Kim fe8715e9f6 test: Add a logic to check a size of Check
If I pack a check without any api calls into a box,
then it doesn't have the hint_min size which is defined on check edc.
I guess there are problems on sizing logic currently, so this patch helps people
to test the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10038
2019-09-23 10:44:33 +02:00
Lauro Moura 9e92b3d123 csharp: Guard hash usage behind EFL_BETA.
Summary: After 718f3cd495, hashes are currently beta-only.

Reviewers: zmike, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10060
2019-09-20 19:29:20 -03:00
Jaehyun Cho 01875756eb eolian_mono: add more verbs to generate C# method beginning with verb
Summary:
C# language binding generates C# method name beginning with verb by
checking verb list in name_helpers.hh.

Some verbs used in eo method are missing in the current verb list. So
they are added into the verb list.

In this scheme, there is a problem that some words can be used as a verb
in some methods but they also can be used as a noun in other methods.
(e.g. drag_start as a verb / cursor_word_start as a noun)

So "start" and "scroll" are not added to verb list in this patch.
To resolve the above problem, we may need a new eo syntax to rename or
reverse the name in language bindings.

Test Plan: Check C# method names in .eo.cs files if the name begins with verb.

Reviewers: felipealmeida, SanghyeonLee, woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10001
2019-09-20 19:29:08 -03:00
Daniel Kolesa 53a3326ddc eolian: rename any_value_ptr -> any_value_ref for consistency 2019-09-20 18:03:39 +02:00
Daniel Kolesa 718f3cd495 eolian: make hashes beta-only for now
They're not completely settled on and we don't even know if we want
them at all. So let's make them beta only for now.

Ref T8050.
2019-09-20 17:04:48 +02:00
Cedric Bail 8128e3fea2 efl: improve Efl.Boolean_Model test to enforce Eina_Value type too.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10031
2019-09-19 14:37:51 -07:00
Cedric Bail 9382bfc0bc eina: add eina_mempool_iterator_new to slowly iterate every allocated pointer in a mempool.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9941
2019-09-19 14:37:41 -07:00
Marcel Hollerbach 422154c0de efl_test_multi_selectable: test for the correct event
EFL_UI_EVENT_ITEM_SELECTED / UNSELECTED is the wrong event here. We
should check of the selection changed event. ITEM_SELECTED is the legacy
event. this was not found based on the fact that we test for this event
to NOT be executed.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10011
2019-09-19 14:37:27 -07:00
Marcel Hollerbach 6960751c45 elm_test_widget_focus: cleanup callbacks correctly
we need to delete the callback here, otherwise the objects are deleted
later on, which:
- changes focus, which leads to
- callbacks executed with stacked addresses from a dead function

this fixes a testsuite failure on the release build.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10020
2019-09-19 14:37:25 -07:00
Mike Blumenkrantz da5fcb8ea0 ecore/signal: increase maximum signal throughput
this adds 4 more signal handling fds and loops over them for reading/writing
signal info in order to handle more signals when the buffer of one (or more)
pipes is full

also update the unit test to verify that we are receiving all the events without
dropping any and bump the number of signals to 2000 since we should now be able to
handle that many

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10027
2019-09-19 14:37:16 -07:00
Mike Blumenkrantz af5abbe4bc tests/ecore: add stress test for main loop signal handling
this explodes after about 500 signals, so make it 1000 for a good test

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10026
2019-09-19 14:37:14 -07:00
Daniel Kolesa b74f98e8b7 efl: replace composite with composites and dedup implements
Since using 'composites' now automatically implements what has not
been implemented yet, remove the unnecessary duplicates.
2019-09-19 18:20:56 +02:00
Mike Blumenkrantz e687805074 tests/elm: add eventing test for normal check widget, verify api compatibility
legacy check widgets should not emit a "changed" event when using the api to
change the widget's state

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9852
2019-09-18 18:18:57 +02:00
Mike Blumenkrantz 99174b10f6 tests/check: add unit test for elm_toggle (check) callback
verify that the "changed" callback is triggered as expected

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9832
2019-09-18 18:18:56 +02:00
Mike Blumenkrantz b9b925fba5 build: use legacy api in places where legacy should be used
these seem to randomly have been changed when they shouldn't have

also install elm_clock_eo.h since this is required but we didn't install it

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9971
2019-09-18 18:04:45 +02:00
Mike Blumenkrantz 28f589d795 efl/image: rename "border" -> "border_insets"
Summary:
this is a clearer name which makes the intent of the API more obvious at
a glance

ref T7875

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7875

Differential Revision: https://phab.enlightenment.org/D9996
2019-09-18 10:08:56 +02:00
Bruno da Silva Belo 1f767c81e5 eolian-mono: add compiler's complaint methods.
Summary: New default checkers breaks mono's test.

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9999
2019-09-17 19:37:30 -03:00
Cedric Bail 9b618316c4 ecore: remove unused variable after code migration. Fix warning.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9944
2019-09-17 10:24:10 -07:00
Cedric Bail 93a382085b eina: turn on Eina_Mempool tests for OneBig too.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9940
2019-09-17 10:24:07 -07:00
Chris Michael 2d9fd1a827 tests/ecore_wl2: Fix resource leak
Small patch to fix resource leak pointed out by Coverity

Fixes Coverity CID1403883
2019-09-17 09:35:43 -04:00
Marcel Hollerbach ff0aabd345 efl_ui_multi_selectable: remove SINGLE_ALWAYS
this should get a better solution later on. There is also no real usage
for that.

ref T7922

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9985
2019-09-17 13:46:05 +02:00
Daniel Kolesa 81441638db eolian: enable unimplemented function errors for stable API 2019-09-17 12:36:50 +02:00
Marcel Hollerbach b0f293d37c efl_ui_table: protect again negative tests
Summary:
these tests are checking for errors, which is fine, we should expect a
error here
Depends on D9983

Reviewers: SanghyeonLee, cedric, zmike, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9984
2019-09-17 12:26:01 +02:00
Marcel Hollerbach 4452b921df efl_ui_box: make this test expect the errors it is triggering
Summary:
there are checks for testing that something is not possible, which is
fine. However, the errors should be expected

Reviewers: SanghyeonLee, cedric, zmike, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9983
2019-09-17 12:25:59 +02:00
Daniel Kolesa d9594dbc9d eolian: drop @ctor_param and the associated APIs
This has been unused for a while, and has been just lingering
around the code, so drop it so it doesn't make it into a release.
2019-09-16 15:37:04 +02:00
Hosang Kim a6aa1b912e efl.ui.scrollable: fix event name for scrollable
Summary:
Event name is applied in the past tense.
Meaning of 'stop' is 'stop it early', so I changed it to 'finish'

Test Plan: elementary_test -> efl.ui.scroller

Reviewers: segfaultxavi, woohyun

Reviewed By: segfaultxavi

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9859
2019-09-16 12:04:27 +02:00
Lauro Moura e973b87bf8 csharp: Fix Hash.DelByValue
Summary:
The C function `eina_hash_del_by_data` requires the same value that was
passed to the `add` function. As C# hashes store stuff through pointers
due to marshalling, this makes it hard to pass the same pointer for it.

So this functionality is implemented at C# level instead of relying on
the native function directly.

Fixes T8198

Thanks to @brunobelo and @singh.amitesh for the test case.

Reviewers: singh.amitesh, felipealmeida, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers, singh.amitesh, brunobelo

Tags: #efl

Maniphest Tasks: T8198

Differential Revision: https://phab.enlightenment.org/D9853
2019-09-13 19:22:39 -03:00
Mike Blumenkrantz cfae5ba285 tests/edje: handle file modifications properly on windows
Summary: we don't have access to utimensat and I'm too busy to figure out why

Reviewers: vtorri, bu5hm4n, devilhorns

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D9914
2019-09-13 14:13:33 -04:00
Marcel Hollerbach bc8c432841 efl_ui_slider: correct to a multiple of step when drag is finished
Summary:
this is needed in order to support the value to be a multiple of the
step when drag has finished. The normal changed event is still emitted
with non-multiple of step, but the steady event only contains the
correct values now.

ref T8187

Reviewers: zmike, segfaultxavi, woohyun

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8187

Differential Revision: https://phab.enlightenment.org/D9928
2019-09-13 10:14:59 -04:00
Vincent Torri 5e9b301533 efl_app_test_promise: fix warning (no returned value)
Test Plan: compilation

Reviewers: cedric, zmike, raster

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9926
2019-09-12 14:46:06 -04:00
Bruno da Silva Belo edae55fc76 csharp: Minor change to D9692
Summary: Changing Evt to Event from some files that it wasn't catch on D9692

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, felipealmeida, #reviewers, lauromoura, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9904
2019-09-11 23:32:16 -03:00
Mike Blumenkrantz 52e39f71fa tests/edje: reduce chances of cascading test failures in non-forked mode
Summary:
move evas_free() into the global shutdown fixture to ensure that edje_shutdown
actually does call internal shutdown methods since evas_free() will not be
reached if it is at the end of a failing test

Depends on D9878

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9879
2019-09-11 13:38:35 -04:00
Mike Blumenkrantz 599d7f80db tests/edje: add comprehensive edje reloading test
Summary:
this verifies:
* successfully loading a file
* emission of "load" signal when performing a file load
* swallowing an object
* no-op of file load operation on same file if mtime is unchanged
* successfully reloading the same file if the mtime has changed
* preserving user-defined data across file reloads

Depends on D9877

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9878
2019-09-11 13:38:28 -04:00
Marcel Hollerbach 7f691b47fb introduce test file for Efl.Ui.Group_Item
Summary:
this tests that the tree structure which is defined by the group and
child item hirachy is correctly transformed into a linear list.
This also checks that the bug from the revision before is not happening.

Depends on D9890

Reviewers: segfaultxavi, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9872
2019-09-11 13:38:20 -04:00
Marcel Hollerbach 6088557233 efl_ui_test_list_collection: add test for item placement
Summary:
this test checks if the placement of the items is correct with and
without scrolling, with and without groups.
Depends on D9869

Reviewers: segfaultxavi, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9870
2019-09-11 13:38:07 -04:00
Lauro Moura 09c3517d57 csharp: Add test for static interface members
For the checks added in D9893
2019-09-10 20:17:28 -03:00
Lauro Moura dfb856158c csharp: Skip non-public members from interfaces
Summary:
Eolian allows non-public members in interfaces and mixins (usually
@protected). As both kinds are converted to C# interfaces, this
causes problem as non-public members are forbidden in C# interfaces.

This commit changes eolian_mono by removing those members from the C#
interfaces. If a generated class implements the interface, the method is
generated as if it were a protected member of the class directly.

For mixed properties like `Efl.Io.Reader.CanRead { get; set @protected; }`,
the interface has only the public getter and the the implementing class has both
the public getter and the protected setter.

With this, C# devs won't be able to directly implement protected Eo
methods from interfaces. (But this really does not make sense from the
C# point of view).

ref T7494

Reviewers: segfaultxavi, felipealmeida, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, brunobelo, Jaehyun_Cho, #reviewers, woohyun, #committers

Tags: #efl

Maniphest Tasks: T7494

Differential Revision: https://phab.enlightenment.org/D9800
2019-09-10 19:30:47 -03:00
Felipe Magno de Almeida ad48272ffe CSharp: Cleanup test that inserts idle event and do not remove it
Summary: Remove idle event after running test so it doesn't impact with other tests that run after it

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9887
2019-09-10 18:58:31 -03:00
Bruno da Silva Belo 50a1572c09 csharp: Adding ToString methods to Strbuf and custommarshaler.
Summary:
WIN32 should use a allocator and deallocator different from EFL, sometimes, when
freeing a pointer, it should use win32_free. To stardardize, A custommarshaler
is used to fix this problem.

Fixes T8201

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, brunobelo, felipealmeida, #reviewers, lauromoura, #committers

Tags: #efl

Maniphest Tasks: T8201

Differential Revision: https://phab.enlightenment.org/D9842
2019-09-10 17:42:19 -03:00
Marcel Hollerbach 5bae833123 efl_ui_suite: resolve focus errors
Summary:
unregsiter shound never call unprotected eo API on the object,
unregister can be called with a object that is dead.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9898
2019-09-10 09:21:56 -04:00
Daniel Kolesa 267c57d0f1 eolian: remove second parameter for eolian_type_c_type_get
This has been replaced by newer APIs.
2019-09-09 18:26:49 +02:00
Daniel Kolesa 4f4b58bf4c efl: change all occurences of @owned to @move 2019-09-06 17:01:05 +02:00
Marcel Hollerbach 2d2e01bdec efl_ui_spec: add tests for the previous fixes
we should check that if existing is not added before, that we do not
perform reparenting, and that we return false.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9863
2019-09-06 16:20:48 +02:00
Marcel Hollerbach 588745e995 efl_ui_spotlight: migrate from active_index to active_element
after playing arround with the widget, we found out that it feels quite
weird to have a index, where most of the time you work with widgets.

We might want to add syntax suger in the future to make it easier to
just jump to the next element, or to the previous, but that still is to
be decided.

The event and the communication to the spotlight manager are still left
to be used with the index, reason for this is, that we might need to
fill there an invalid pointer, if a deletion is triggering an animation,
which seems quite weird. That needs further discussing.

Docx have been updated, the sitemarks about the shifting of the
active_index can be removed, as the element is not subject of change
during content adds/deletes.

ref T7991

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9813
2019-09-06 16:10:40 +02:00
Bruno da Silva Belo b36e159d31 eolian-mono: Removing I prefix from classes.
Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, brunobelo, felipealmeida, #reviewers, lauromoura, #committers

Tags: #efl

Maniphest Tasks: T8166

Differential Revision: https://phab.enlightenment.org/D9816
2019-09-06 16:06:09 +02:00
Bruno da Silva Belo 353524e1b8 eolian-mono: Renaming suffix for event and event args
Summary: suffix _Args to Args, Evt to Event

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: Jaehyun_Cho, woohyun, segfaultxavi, cedric, felipealmeida, #reviewers, lauromoura, #committers

Tags: #refactoring, PHID-PROJ-uhnmnvlvunw6jgoqdnd4, #efl_language_bindings

Maniphest Tasks: T8164, T8163

Differential Revision: https://phab.enlightenment.org/D9692
2019-09-06 15:55:17 +02:00
Daniel Kolesa eb25e92770 eolian: change composite syntax from block to inheritance section
This makes more sense as these are related to inheritance tree.
Therefore, change while we still can.

Fixes T8183
2019-09-06 15:14:20 +02:00
Lauro Moura 17c6cabaa4 bindings: Rename test cxx and csharp eo ownership tags
Summary:
Ref T8199

Depends on D9843

Reviewers: q66, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, brunobelo, #committers

Tags: #efl

Maniphest Tasks: T8199

Differential Revision: https://phab.enlightenment.org/D9844
2019-09-05 20:05:19 +02:00
Daniel Kolesa 04b0321bea eolian: update C generator to respect by_ref as well as tests 2019-09-05 15:19:28 +02:00
Mike Blumenkrantz bcfb2d1b6d tests/check: use test namespace for legacy check test function names
no functional changes

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9830
2019-09-05 10:54:05 +02:00
Daniel Kolesa 6751f011c1 eolian: remove the expression eval_type API
This is unnecessary because for all contexts where type is
relevant the validator already makes sure the type and expression
match correctly, so you don't ever need to re-validate it. If you
are doing a generic case and are not sure, just use MASK_ALL.
2019-09-04 18:02:47 +02:00
SangHyeon Jade Lee 4e379f5db4 Efl_Ui: Move elementary and change namespace Ui for ui related models
Summary:
Select and View is ui characteristic features,
so Efl_Select_Model and Efl_View_Model move to elementary from ecore
seems more natural.

namespace also should changed to Efl.Ui as it's right place.

Test Plan: run the test while building it

Reviewers: cedric, felipealmeida, bu5hm4n, zmike, lauromoura

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9820
2019-09-04 11:07:37 -04:00
Daniel Kolesa 8b49bdb830 eolian tests: use new c_type APIs 2019-09-04 16:27:54 +02:00
Mike Blumenkrantz f306d2b879 tests: use void cast with util callback
Summary: fixes a compiler warning

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9805
2019-09-03 18:17:55 +02:00
Daniel Kolesa 0b6e8f71f1 eolian: move all tests to use the new @move syntax and API 2019-09-02 15:24:14 +02:00
Jaehyun Cho 595a0c0b2f Revert "eolian_mono: remove underscore of Evt_Args"
This reverts commit ac99e2ac94.

This patch is reverted because D9692 covers this patch.
2019-09-02 21:41:20 +09:00
Jaehyun Cho ac99e2ac94 eolian_mono: remove underscore of Evt_Args
Since C# does not use underscore in type name, the underscore of
Evt_Args is removed.
2019-09-02 21:14:44 +09:00
Marcel Hollerbach 333a070915 efl_ui_collection: prevent the invalid insertion of items.
Summary:
the group hirachy that you can build up with group items is flattend
down in the collection, as a linear list. Based on that a user might be
able to insert items at invalid positions, like between groups, without
having set the proper group item, which ... is a problem.

This commit ensures that no new item ever destroys the neightboor hood
between two items of the same group or a item with a group and its group
leader.

Reviewers: stefan_schmidt, zmike, segfaultxavi, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9778
2019-08-30 14:50:32 -04:00
Mike Blumenkrantz f6e2e03720 tests: use void cast with util callback
fixes a lot of compiler warnings

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9802
2019-08-30 19:15:17 +02:00
Mike Blumenkrantz 1ca07b72da efl_ui/popup: timeout -> closing_timeout
simple property rename

ref T7902

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9801
2019-08-30 19:15:10 +02:00
Daniel Kolesa 66b0555f59 eolian: disallow legacy keyword in enums in stable api
This also marks a bunch of users of that as beta, as they were
effectively beta.
2019-08-29 15:06:08 +02:00
Ali Alzyod 080f75e8c9 eina_test: resolve build warning
Differential Revision: https://phab.enlightenment.org/D9781
2019-08-29 14:43:48 +02:00
Marcel Hollerbach 3cc427234e efl_ui_tab_pager: remove the setter for tab_bar
the setter of the tab_bar here is quite useless. If you set it after
something else was set, the item situation is not clear anymore, there
is more in the spotlight than in the bar. You cannot use the widget
without tab bar. So the logical consequence for me was that the pager
create the tab bar by itself, and you can just access it via a getter.

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9731
2019-08-29 14:42:45 +02:00
Marcel Hollerbach ffafe749ed efl_ui_tab_bar: migrate to Efl.Pack_Linear
with pack linear it is a lot more convinient and error prover to add
items to this widget, this also comes with the pack test suite, which
verifies that this behaviour is not broken. Additionally we have fewer
APIs that a user has to learn.

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9730
2019-08-29 14:42:43 +02:00
Stefan Schmidt 04e3eff845 tests: eldbus: fix heap use after free error detected by address sanitizer
Using the just unref'ed message in the call next line is not going to
end well.

==26321==ERROR: AddressSanitizer: heap-use-after-free on address 0x603000001210 at pc 0x7fc456fd37f5 bp 0x7fff37a00a50 sp 0x7fff37a00a40
READ of size 4 at 0x603000001210 thread T0

    #0 0x7fc456fd37f4 in eldbus_message_path_get ../src/lib/eldbus/eldbus_message.c:193
    #1 0x42f6ab in utc_eldbus_message_ref_unref_p ../src/tests/eldbus/eldbus_test_eldbus_message.c:877
    #2 0x7fc456a27744 in srunner_run_tagged (/lib64/libcheck.so.0+0x6744)
    #3 0x406a01 in _efl_suite_run_end ../src/tests/eldbus/../efl_check.h:282
    #4 0x407357 in _efl_suite_build_and_run ../src/tests/eldbus/../efl_check.h:403
    #5 0x407925 in main ../src/tests/eldbus/eldbus_suite.c:49
    #6 0x7fc45685df32 in __libc_start_main (/lib64/libc.so.6+0x23f32)
    #7 0x405d8d in _start (/home/stefan/EFL/efl/build/src/tests/eldbus/eldbus_suite+0x405d8d)

ref T8142

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9755
2019-08-29 09:41:53 +02:00
Marcel Hollerbach d445e5240b efl_ui_radio_group: migrate to Efl.Ui.Single_Selectable
with this the whole thing is migrated to single_selectable. The group is
added to the spec test suite. The elm_test case of radio_group now also has
a fallback option to demonstrate the usage of it.

This also fixes a broken testcase, where a flag was forgotten to be
checked.

ref T8024

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9706
2019-08-29 08:29:58 +02:00
Christopher Michael 27a1ec507a tests/ecore_wl2: Skip aux_hints_supported test if not run in Enlightenment
This test will fail when run in all situations (weston, command line,
etc) except when run under Enlightenment, so add a small env check so
that it can be skipped if we are not running E.

ref T8016
2019-08-28 07:59:13 -04:00
Marcel Hollerbach 53739890ce efl_ui_position_manager: refactor data access
before data access has been a property on
Efl.Ui.Position_Manager.Entity. However, we are not sure how stable all
this will be, and maybe we have the demand to change that in future, in
order to allow more high-performance item passing here.

Additionally, this patch addresses a few lectures learned from the past,
that includes:
- direct group header filling.
- direct group sizing
- difference between size for caching, and size for displaying
- Have a end_id which is the maximum of id that is filled.

ref T8179

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9754
2019-08-27 17:47:54 +02:00
WooHyun Jung 5636bb8b0b efl_ui_slider: refactor for better data flow and code readability
1. efl_ui_range_value_set only sets value
2. remove internal eo functions (such as xxx_knob, val_fetch, and val_set)
3. make access_value_and_text works correctly

@ref T7893

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9720
2019-08-27 15:35:01 +02:00
Yeongjong Lee 9c52484caf efl_pack_table: rename table_position to cell_column, cell_row
Summary:
Rename ambiguous `table_position` property. it is actually related to child
column, row.

ref T7900

Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7900

Differential Revision: https://phab.enlightenment.org/D9611
2019-08-27 12:57:35 +02:00
Marcel Hollerbach 43edd17f41 efl_ui_single_selectable: add properties and events
this commit adds 2 new features, a new event and a new property

The fallback property is usefull if you want to have a selection that always falls back
to some preconfigured things.
As a usecase, think about a list of languges where you can select the
languages you want to have. When everything is deselected, the list will
simply fallback to the preconfigured element (for example the language
configured before)

The event is annoncing that there was a change to the selection. The
event is allowed to be defered, it will be emitted once for a range of
selection elements that happened during one loop iteration. This is
usefull if you are interested in a general selection where you want to
know that we changed from a specific set of selected element to another
set of elements, without monitoring every selectable in the widget.

ref T8057

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9662
2019-08-26 14:42:50 +02:00
Marcel Hollerbach 1c1c3685fe suite_helpers: punsh some sanity into function names
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9661
2019-08-26 14:42:49 +02:00
Marcel Hollerbach 35f9fc26e3 efl_ui_multi_selectable: add APIs for selecting
this can be used to select / unselect a range or all selectables in a
container. The range selectable APIs do not have a strong ordering on a
and b, b does not have to come after a.

ref T8057

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9660
2019-08-26 14:42:48 +02:00
sub.mohanty@samsung.com 5bd95c9850 eina/array: added eina_array_find() api to eina_array.
Summary: updated test suite for testing the api.

Reviewers: zmike, Hermet, cedric, segfaultxavi

Reviewed By: zmike, segfaultxavi

Subscribers: segfaultxavi, ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9734
2019-08-26 08:31:08 -04:00
Mike Blumenkrantz 2cd4d67109 tests/edje: disable efreetd and ecore system modules in unit tests
Summary: these cause tests to take up to 100x longer

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D9702
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 81962dfa1b tests/eio: unlink tmpfiles after tests
Summary:
my tmpdir is full of thousands of these things
Depends on D9710

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9711
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz f9bd541e37 tests/eio: verify that the model monitor test's file is successfully created
Summary:
if this fails then the test will hang until timeout, so catch it earlier
Depends on D9709

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9710
2019-08-23 13:38:33 -04:00
Lauro Moura f3d9238e15 csharp: Add bindable factory parts support
Summary:
This commit makes parts that implement `Efl.IContent` use BindFactory
instead of property binding.

```
var factory = new Efl.Ui.ItemFactory<Efl.Ui.ListDefaultItem>();
var iconFactory = new Efl.Ui.ImageFactory(null);
iconFactory.PropertyBind("filename", "modelProperty");
factory.IconPart().BindFactory(iconFactory);
```

Fixes T7628

Reviewers: cedric, felipealmeida, SanghyeonLee

Reviewed By: felipealmeida

Tags: #efl

Maniphest Tasks: T7628

Differential Revision: https://phab.enlightenment.org/D9653
2019-08-23 14:17:44 -03:00
Felipe Magno de Almeida 1aa05ab41b eolian-mono: Add support for multi-value properties with tuples
Summary: T8133

Reviewers: woohyun, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9577
2019-08-23 14:07:09 -03:00
Mike Blumenkrantz f64a0966dc efl_ui/popup: remove text_alert class
this can now be done by simply calling
efl_ui_widget_scrollable_content_scrollable_text_set on an alert popup

tests have been adjusted for this

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9677
2019-08-23 07:33:51 +02:00
Mike Blumenkrantz 9d8735caf7 efl_ui/popup: remove scroll_alert class
this can now be done by simply calling efl_ui_widget_scrollable_content_set
on an alert popup

tests have been adjusted for this

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9675
2019-08-23 07:33:49 +02:00
Marcel Hollerbach ab4a628490 efl_ui_spec_suite: that fixture is unneeded
items are already getting added from the fixture added for the single
selectable interface

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9659
2019-08-21 12:53:05 -07:00
Mike Blumenkrantz bedb6df973 efl_ui/popup: remove anchor_popup class
Summary:
all functionality is now merged into the base popup class. this greatly
simplifies the codebase and deduplicates a lot of code

ref T7902
Depends on D9651

Reviewers: cedric

Reviewed By: cedric

Subscribers: herb, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7902

Differential Revision: https://phab.enlightenment.org/D9652
2019-08-21 10:42:04 -04:00
Hermet Park 8900cf0715 efl_ui_animation_view: introduce a new widget for controlling vector animation.
Summary:
This is a new convenient ui control that designed to load vector resources
-svg, json-, and control animations if it supports.

Please turn on evas-loaders-json in meson options,
if you'd like to use Lottie Animation.

Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>

@feature

Reviewers: #committers, jsuya, zmike, bu5hm4n

Reviewed By: #committers, bu5hm4n

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9451
2019-08-21 17:40:15 +09:00
Marcel Hollerbach e2b859bdae efl_ui_position_manager: pass on information about group ids
every batched call will now contain the id of the first item, if the
conditions in the documentation are met.

ref T8115

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9586
2019-08-21 07:50:50 +02:00
Marcel Hollerbach 3ce3b3d48c introduce group item
this brings a group item in the style of genlist / gengrid group items.

The group item theme does currently not provide the signals in the theme
that would be needed for selecting it. This is kind of intended, but we
might need API to express that.

ref T8115

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9583
2019-08-21 07:50:46 +02:00
Mike Blumenkrantz 563ad2a650 tests/popup: make text alert sizing test even more strict
Summary:
ensure that the internal label size is not wider than the scroller

text alerts should never need to scroll horizontally, so ensure that this
does not break

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9589
2019-08-20 09:11:07 -04:00
WooHyun Jung ebae12f06a elm_slider: remove dependency with efl_ui_slider
Summary:
This commit includes follwoing works.

1. change parent class from EFL_UI_SLIDER_INTERVAL
  to EFL_UI_LAYOUT_BASE
2. get all necessary codes from efl_ui_slider and
   efl_ui_slider_interval to elm_slider
3. add callbacks to slider test code

ref T7893

Test Plan:
1. elementary_test
2. slider
3. operate sliders on the window

Reviewers: bu5hm4n, segfaultxavi, eagleeye, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7893

Differential Revision: https://phab.enlightenment.org/D9623
2019-08-20 09:09:14 -04:00
Lauro Moura cc49c1034b csharp: MVVM parts support
Summary:
Parts binding will follow a similar approach to regular property
binding:

`var error = factory.PartName().PropertyName().Bind(modelProperty);`

* Changed both `Bind()` overloads to return the error code from
  `efl_ui_property_bind`
* Also properties from interfaces implemented didn't have their `Bindable`
  wrapper methds available.

Depends on D9563

Reviewers: felipealmeida, cedric, SanghyeonLee, woohyun

Reviewed By: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9564
2019-08-19 21:41:29 -03:00
Mike Blumenkrantz 6316455261 tests/scroller: start unit tests for efl.ui.scroller
same layout as elm_test case, start by checking scroll events after wheel

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9634
2019-08-19 16:47:10 -07:00
Mike Blumenkrantz 1114106f09 tests/elm: add util functions for triggering wheel events
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9633
2019-08-19 16:47:08 -07:00
Ali Alzyod e08ca17488 evas_textblock: markup text: improve handling invalide escape characters
Improve handling invalid escape characters.

(*) When '&' character founded in Markup text.
      Old Behavior   : Any text after '&' (if it is not escape), all text will be discarded
      New Behavior : Any text after '&' (if it is not escape), will be processes as normal plain text.

Example:
     Markup  Text :  Hello X & Y & Z 1 2 3
     Old     output :  Hello
     New   output :  Hello X & Y & Z 1 2 3

This is related to T8077

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9489
2019-08-19 11:33:25 -07:00
Vincent Torri 01b987df59 make mman.h private
Summary:
integrate mman.h to make Evil private to the EFL, as mman.h does not exist on Windows. After a discussion with raster, i include sys/mman.h only on non Windows platform.

One issue, though, is that src/modules/emotion/generic/Emotion_Generic_Plugin.h has inlined functions using mmap()

Test Plan: compilation on Windows

Reviewers: cedric, raster, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9542
2019-08-19 09:55:13 -04:00
Felipe Magno de Almeida a6e679f830 eo-cxx: Add second NULL sentinel to avoid buffer overrun by efl_check.h
efl_check.h assumes at least one element exists when checking
parallelization and accesses the second element of the array without
checking its size first. Adding a second NULL sentinel fixes the problem.

T8141
Differential Revision: https://phab.enlightenment.org/D9588
2019-08-19 09:42:05 +02:00
Daniel Kolesa 2f147f2725 eolian: rename is_class api for functions to is_static
Still needs restriction to classes only etc to be done later.

Ref https://phab.enlightenment.org/T8118
Ref https://phab.enlightenment.org/T7675
2019-08-16 16:33:37 +02:00