Commit Graph

20688 Commits

Author SHA1 Message Date
Hosang Kim 0e2778f0ca efl_ui_layout: send theme signal when style is already updated.
Summary:
If you run below code, text is invisible.

```
efl_add(EFL_UI_BUTTON_CLASS, box,
        efl_ui_widget_style_set(efl_added, "anchor"),
        efl_text_set(efl_added, "anchor style"),
        efl_pack_end(box, efl_added));
```

But below code is working well.
```
efl_add(EFL_UI_BUTTON_CLASS, box,
        efl_text_set(efl_added, "anchor style"),
        efl_ui_widget_style_set(efl_added, "anchor"),
        efl_pack_end(box, efl_added));
```

Test Plan: run  efl_ui_theme_example_01

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11118
2020-01-23 09:34:37 -05:00
Ali Alzyod 932ea7a70e efl.canvas.textblock: annotate obstacle methods as beta
Summary:
We decided to annotate these methods as beta

**obstacle_add**
**obstacle_del**
**obstacles_update**

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8460

Differential Revision: https://phab.enlightenment.org/D11136
2020-01-23 12:34:39 +01:00
Xavi Artigas f6eed506d0 docs: Slight improvements to eina_types.eot Matrix docs
Reference D11158
2020-01-23 10:34:29 +01:00
junsu choi e7de16dc49 Eolian eina_types: Add Eina.Matrix4 type
Summary: for using in eolian

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, segfaultxavi

Reviewed By: bu5hm4n, segfaultxavi

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11158
2020-01-23 10:34:12 +01:00
Ali Alzyod 279f2eca06 efl.ui.textbox: move file implementation in to internal class
We want to keep implementation for file interface in a safe place and remove it from our side world (eo).

This is a simple copy-paste, from efl.ui.textbox into efl_ui_internal_text_interactive

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11153
2020-01-23 10:04:08 +01:00
junsu choi 6c6ac71f56 Revert "efl_ui_image: Call unload file when calling file_set"
Summary:
This reverts commit 93bd970259.
efl.ui.image using prev and current inner image object.
Unloading the efl.ui.image class can be unloaded up to the prev image.
And because efl.ui.image is using the image caching feature together,
it may get unexpected errors. Therefore, revert this patch.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11157
2020-01-23 17:36:41 +09:00
Ali Alzyod 4cdd5505e9 efl_text_interactive: selection enhancment
1- Implement setting selection range programmatically by modifying selection cursors from **efl_text_interactive_selection_cursors_get**
2- Add setter with **efl_text_interactive_selection_cursors_set** to set the range at once (modify start and end)

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: WooHyun Jung <wh0705.jung@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10968
2020-01-23 09:05:12 +01:00
Ali Alzyod 8143b81dd6 evas_object_textblock: treat variation sequence as single run
Summary:
Variation sequence treated as a single run, if we found one, we keep looking adding to the same  run, but if it is not, then we need to start a new one.

Before:
{F3826735}

After:
{F3826736}

Test Plan:
```
#include <stdio.h>
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/

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

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("emoji-example", "emoji-example");
   elm_win_autodel_set(win, EINA_TRUE);

   en = elm_entry_add(win);
   elm_entry_scrollable_set(en, EINA_TRUE);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_object_text_set(en, "<font_size=25>&#x262a;&#x262a;&#xfe0f;&#x262a;가</font_size>");

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 400, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

Reviewers: woohyun, bowonryu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8542

Differential Revision: https://phab.enlightenment.org/D11096
2020-01-23 16:21:22 +09:00
Ali Alzyod 3d2f99af9e efl.text.interactive: use Eina_Int_Range for selection range event
Summary:
1- add new Eina type  (Eina_Int_Range). which represents int range (start, Len).
2- Use this type instead of  Efl.Text_Range  with selection events.

Reviewers: cedric, woohyun, bu5hm4n, segfaultxavi, zmike

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8570

Differential Revision: https://phab.enlightenment.org/D11128
2020-01-23 16:07:42 +09:00
Jaehyun Cho 09e3972d14 efl_ui_spotlight: rename Stack_Manager to Fade_Manager
Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.

Depends on D11142

Reviewers: segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11143
2020-01-23 12:55:16 +09:00
Jaehyun Cho 3e21d34349 efl_ui_spotlight: rename Manager_XXX and Indicator_XXX
Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon

However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator

However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11142
2020-01-23 12:55:12 +09:00
Carsten Haitzler 68d7f584cb edje - store original size in edje struct and dont exceed max size
evas can tell us max texture size. in edje when we have image sets
(multiple images that make up mipmaps effectively for a logical
image), we now can avoid choosing an image that exceeds max texture
size. this actually fixes bugs i have seen on the rpi3 which has a max
texture size of 2048 which makes it easy to exceed it with wallpapers
or even terminology's default theme.

so combo of new feature and fix... but requires a rebuild of the edj
files...

@feat + @fix
2020-01-22 23:34:05 +00:00
Ali Alzyod 5137f6d143 eina: add new range Data type
Summary:
Introduce new data type (Eina.Range)  which represent range (part of series)

**eina_range_max_get**
**eina_range_intersect**
**eina_range_union**
**eina_range_contains**
**eina_range_equal**

Reviewers: cedric, woohyun, bu5hm4n, segfaultxavi, zmike

Reviewed By: woohyun

Subscribers: vtorri, cedric, #committers, #reviewers

Tags: #efl

Maniphest Tasks: T8570

Differential Revision: https://phab.enlightenment.org/D11133
2020-01-23 06:54:44 +09:00
junsu choi 93bd970259 efl_ui_image: Call unload file when calling file_set
Summary:
We have checked that unload is not called even if different files
call again elm_image_file_set on the same object.
If file_set is called repeatedly, I think a potential error can occur.
So, modify to call unload when doing file_set by referring to efl_ui_zoomable.

Test Plan: N/A

Reviewers: Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11148
2020-01-22 11:57:26 -05:00
Marcel Hollerbach baa7870082 evas_object_box: fix invalidator
the iteration over the content of the box did never cleanup the
children pointer, which resulted in buggy behavior.

This fixes test suite crashes with freeq debugging on.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11123
2020-01-22 15:11:22 +01:00
Woochanlee bcff657ed7 Revert "ecore-wl2: Move ecore_wl2_window_output_find function to be internal"
Summary:
This reverts commit 64dacb3d07.

User can't use ecore_wl2_output_dpi_get() , ecore_wl2_output_transform_get() APIs without this API.

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11154
2020-01-22 07:43:49 -05:00
Woochanlee e23dc58e20 Revert "ecore-wl2: Move ecore_wl2_input_cursor_from_name_set to be internal"
Summary:
This reverts commit 6a1d6b6705. This API
is used publicly in Tizen, so we cannot make it internal.

ref T8016

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D11147
2020-01-22 07:43:32 -05:00
Woochanlee 46cfcf7190 ecore_wl2: Add ecore_wl2_input_default_input_get() API.
Summary: Gets default input which created by display.

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11132
2020-01-22 07:38:45 -05:00
Woochanlee f174053564 ecore_wl2: Add ecore_wl2_input_keyboard_repeat_set() API.
Summary:
Add API to set input's keyboard repeat.

get API was already there.

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11131
2020-01-22 07:37:11 -05:00
Marcel Hollerbach 0049155c1a Revert "efl_text_interactive: selection enhancment"
This reverts commit 09f0d66d90.

This breaks CI, and tests do not pass anymore, hence no other revision
can be verified.

The revision is reopened. lets take a second look at this.
2020-01-21 17:15:11 +01:00
Chris Michael 6a1d6b6705 ecore-wl2: Move ecore_wl2_input_cursor_from_name_set to be internal
This function is unused outside of EFL, so it can be made internal

ref T8013
2020-01-21 10:08:31 -05:00
Chris Michael e34b338f71 ecore-wl2: Move ecore_wl2_display_terminate to be internal
This function is unused outside of EFL, so it can be made internal

ref T8013
2020-01-21 10:07:34 -05:00
Marcel Hollerbach d066dcf543 efl_ui_spotlight/pager/stack: remove @beta
there has been more than 1 month without any comment, i think this looks
fine now ?

The transition event is kept beta for now, as we have right now a
discussion about range that we might be able to use here.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11135
2020-01-21 13:43:17 +01:00
Jaehyun Cho a1350a0e3e efl_ui_spotlight_manager: fix not to change sub objects' color
Summary:
Widget's group_member_add() sets its sub objects' color with the
parent's color.
Since spotlight managers call group_member_add() with spotlight
container and its sub objects, the sub objects' color can be changed.
e.g. packed rectangle's color is changed to white (default color value)

To resolve the above issue, spotlight managers set data "_elm_leaveme"
before calling group_member_add() not to change sub objects' color.

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11134
2020-01-21 19:32:34 +09:00
Shinwoo Kim 7311b6fe32 Efl.Canvas.Group: implement Efl.Gfx.Filter
Summary: This patch makes Efl.Canvas.Group work for Efl.Gfx.Filter

Reviewers: Hermet, jsuya, zmike

Reviewed By: Hermet

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10435
2020-01-21 19:29:37 +09:00
Xavi Artigas a49e3ad7e3 docs: Typos in Doxygen docs 2020-01-21 10:59:12 +01:00
Ali Alzyod 09f0d66d90 efl_text_interactive: selection enhancment
Summary:
1- Implement setting selection range programmatically by modifying selection cursors from **efl_text_interactive_selection_cursors_get**
2- Add setter with **efl_text_interactive_selection_cursors_set** to set the range at once (modify start and end)

Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8521, T8522

Differential Revision: https://phab.enlightenment.org/D10968
2020-01-21 07:39:15 +09:00
Yeongjong Lee 292f4bc0da Revert "csharp: Property Indexer implementation"
Summary:
This reverts commit 0954e501fd.

According to Framework Design Guidelines of MS, most of indexed properties are
not recommended in EFL#.
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/property)

It is better to leave properties which have a key as methods.

Reviewers: woohyun, felipealmeida

Reviewed By: woohyun

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11114
2020-01-21 07:00:44 +09:00
Marcel Hollerbach 55ec2dc89e Revert "ecore_wl2: Fix a memory leaking case"
This reverts commit 97e71b9dc4.

This commit is absolutly wrong. This makes running wayland apps intree
impossible, and also crashes tests when run in wayland mode.

I asked multiple times in the revision for clarification, noone
answered.
This tricked me today for the second time, so better revert that.
2020-01-20 17:51:40 +01:00
Ali Alzyod 085bfb7eaf efl.input.text.hints_type: rename into content_type
Reviewers: woohyun, segfaultxavi

Reviewed By: woohyun, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8541

Differential Revision: https://phab.enlightenment.org/D11130
2020-01-20 21:25:43 +09:00
Ali Alzyod 28675d2705 efl.ui.textbox: using efl_provider_find
Summary: > Code structures like top = elm_widget_top_get(data); and if (efl_isa(top, EFL_UI_WIN_CLASS)) can be replaced with top = efl_provider_find(widget, EFL_UI_WIN_CLASS) No type check needed. (That should enhance the performance)

Reviewers: woohyun, bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8522

Differential Revision: https://phab.enlightenment.org/D11127
2020-01-20 16:55:32 +09:00
Jaehyun Cho 40b73758a0 efl_canvas_animation: rename Animation_XXX to XXX_Animation
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha

However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation

However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11108
2020-01-20 12:53:10 +09:00
Ali Alzyod ad63375199 efl.text.cursor: movement types rename
Summary: replace prev with previous, replace char with character

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8567

Differential Revision: https://phab.enlightenment.org/D11095
2020-01-20 10:07:40 +09:00
Carsten Haitzler 6f209e48be elm win - fix client side move/resize req handling csd in x
we dont keep our window id up to date... it changes somewhere along
the way during init.... (ecore evas does this e.g. go from normal to
alpha window it has tocreate a new window id anyway)... so stay up to
date so we send a req for the right window id...

@fix
2020-01-19 10:54:02 +00:00
Carsten Haitzler 7eeeb3c6f9 evas - fix access-after-free number 2
follow on from 3aa250e17f and T8534
looking into more possible problems and fixes

@fix
2020-01-18 12:25:08 +00:00
Carsten Haitzler de4a698c96 elm win + ecore evas - fix csd stuff like base size and min sizing
this fixes a lot that was broken with csd... but not everything.

@fix
2020-01-18 00:14:58 +00:00
Carsten Haitzler 28aa1a65b6 ecore_con - freebsd bind blocking workaround
this is to try do a workaround a hard to reproduce blocking bind on
some freebsd systems (i can't repro it on my fbsd vm), so try use file
locks as an extra barrier and hope they do the right thing without
other mysterious problems.

@fix
2020-01-18 00:14:58 +00:00
Carsten Haitzler 444f7eed01 elm - fix filesel deferred unref to not crash
@fix
2020-01-18 00:14:58 +00:00
Carsten Haitzler 3aa250e17f evas - fix access-after-free where during destroy hash item not cleared
leave it in the hash unfreed as it will be freed when the hash is soon
after durint destruction.

@fix
2020-01-18 00:14:58 +00:00
Hosang Kim fbb77e7d1c efl_ui_scrollbar: change scrollbar state when theme is reloaded.
Scrollbar visible state is not synchronized when theme is reloaded.

Differential Revision: https://phab.enlightenment.org/D10649
2020-01-17 17:21:09 +01:00
Marcel Hollerbach bac185e8f3 Introduce Separator
Summary:
this is just like elm_separator, just written for unified widgets.
This inherits from item, which has the advantage that this separator can
also be added into item container.

Reviewers: zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11125
2020-01-17 16:10:40 +01:00
Felipe Magno de Almeida 25e52f8106 C++: Fix use of @c_type tag in struct definition
Summary: Depends on D11090

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11099
2020-01-17 09:51:24 -05:00
Xavi Artigas a0523ebba5 docs: Typo in Efl.Text_Cursor 2020-01-17 12:56:51 +01:00
Yeongjong Lee 478863862a efl_text_cursor: correct class description name of simple class
Summary:
Name of `Efl_Class_Description` should be eo-style class name.
Please check there is no segmentation fault on Test code below.

Thanks to @woohyun for reporting and test case.

Test Plan:
```
//mcs test.cs -out:test.exe `pkg-config --libs efl-mono`

using System;

class Program
{
   public static void Main() {
      Efl.All.Init(Efl.Csharp.Components.Ui);

      Efl.Ui.Win win = new Efl.Ui.Win(null);
      Efl.Ui.Box box = new Efl.Ui.Box(win);
      Efl.Ui.Textbox tb = new Efl.Ui.Textbox(win);

      Efl.Ui.Button btn = new Efl.Ui.Button(box);
      btn.Text = "Click Me!";
      btn.ClickedEvent += (s, e) =>
      {
         Efl.Text.Cursor cur1, cur2;

         tb.GetSelectionCursors(out cur1, out cur2);
         cur1.SetPosition(3);
         cur2.SetPosition(7);
      };

      box.Pack(btn);
      box.Pack(tb);

      win.SetContent(box);
      win.SetSize(new Eina.Size2D(200, 400));
      Efl.Ui.Config.Run();
      Efl.All.Shutdown();
   }
}
```

Reviewers: woohyun, ali.alzyod, bu5hm4n

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11115
2020-01-17 15:06:18 +09:00
Hermet Park 0a61d5a44b canvas vector: fix to refresh svg file of vector object.
previously, svg file is not refreshed though the file is changed.

Let changed flag true properly to re-render properly.

@fix
2020-01-17 10:48:24 +09:00
Xavi Artigas bdaf20fb4c docs: Give some love to progress bar docs.
Differential Revision: https://phab.enlightenment.org/D11112
2020-01-16 16:36:43 +01:00
Ali Alzyod e92ee40b2f efl.ui.textbox: update _part_is_efl_ui_textbox_part
efl.ui.textbox: update _part_is_efl_ui_textbox_part

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11109
2020-01-16 16:36:42 +01:00
Ali Alzyod 250c7bd30d efl.ui.textbox: theme code cleanup
>You should not theme in _efl_ui_textbox_efl_object_finalize, but rather in theme_apply
>All part swallow things should be done in theme_apply.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11103
2020-01-16 16:36:39 +01:00
junsu choi 2f4ca46544 Efl.Ui.Vg_Animation: Change property name autorepeat to looping
Summary:
autoplay and autorepeat look similar and can be confusing.
so change autorepeat to looping.

ref T8476
Depends on D11022

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D11061
2020-01-16 20:11:49 +09:00
a.srour 05bb02cbb0 Efl.Ui.Textbox: Fix Ctrl+Backspace & Ctrl+Delete keys
Summary:
This should fix the behaviour of Ctrl+Backspace & Ctrl+Delete key down on `Efl.Ui.Textbox`.
Also added two tests for it.

Reviewers: woohyun, ali.alzyod, cedric, bu5hm4n

Reviewed By: woohyun

Subscribers: ProhtMeyhet, stefan_schmidt, segfaultxavi, bu5hm4n, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11040
2020-01-16 17:53:36 +09:00