Commit Graph

3753 Commits

Author SHA1 Message Date
Mike Blumenkrantz bb09142477 elm_entry: make file loading succeed on 0-sized files
a file which has no data is still a valid file and should be correctly
opened

fix T6562
@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647
2019-01-16 15:57:54 -08:00
Jean-Philippe André f1f3607f8c ui/flip: fix efl_pack usage
Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367
2019-01-16 14:46:19 -08:00
Cedric BAIL 563f91eaf9 ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.
If you need data, use a efl_future_then as done in every case here to get the same feature.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
2019-01-16 14:33:26 -08:00
Cedric BAIL bd2ae0ae85 elementary: refactor selection manager to not use eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543
2019-01-16 14:33:10 -08:00
Christopher Michael a7cf1b4c3c efl_ui_focus_manager_root_focus: Remove extra blank lines
NB: No functional changes
2019-01-16 11:34:18 -05:00
Christopher Michael bc43982949 elm_config: Free data returned from eet_read
Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:

```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610==    at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610==    by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610==    by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610==    by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610==    by 0x5864775: eet_read (eet_lib.c:2022)
==11610==    by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610==    by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610==    by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610==    by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610==    by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610==    by 0x138143: main (test.c:1379)
```

@fix

Reviewers: raster, cedric, ManMower

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7646
2019-01-16 11:07:07 -05:00
Yeongjong Lee 78ae9c0ae0 gfx: Add size hint fill (EO)
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.

@feature

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

Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T3912

Differential Revision: https://phab.enlightenment.org/D7409
2019-01-16 16:47:51 +09:00
Carsten Haitzler c233d6523b elm config - add back i var to build again 2019-01-15 20:48:39 +00:00
Carsten Haitzler fe6ea2314c Revert "elm_config: remove profile name reading logic from data dir"
This reverts commit 6c4e49d970.

Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...
2019-01-15 20:43:18 +00:00
Derek Foreman 5f207d79e3 focus_manager: fix memory leaks
_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622
2019-01-15 13:47:21 -06:00
Marcel Hollerbach ae65c64b8d evas: make efl_canvas_group abstract
the efl_canvas_group should be abstract in order to support other
classes which are inheriting from it, which are abstract. This is done
in order to support only abstract parents from abstract classes.

ref T7240

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600
2019-01-15 17:37:40 +01:00
Carsten Haitzler f90c5b7376 elm - dnd - restore to working as drop targets
so drop taregts liek rage stopped working - something was wrong with
type handling and fetching selections at all and so on... i've kicked
it back into working again. it's not perfect but it's improved. at
least simple thgins like being a dnd target for dnd from a filemanager
work again which is probably the biggest use case.

@fix
2019-01-12 14:44:03 +00:00
Christopher Michael b4f8315e1a elementary: Add missing EINA_UNUSED for efl_ui_image_factory_connect
Eo *obj is unused in this function, so mark it as such
2019-01-11 09:27:53 -05:00
Michael Bouchaud (yoz) 61179964c3 elm_map: Add new overlay content to the list of smart members of wigdget
Summary: Without this a new overlay content aren't displayed into the map widget.

Reviewers: zmike, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7457
2019-01-11 09:21:19 -05:00
Christopher Michael f85c261509 elementary: Add missing EINA_UNUSED for efl_ui_layout_factory_connect
Eo *obj is unused in this function, so mark it as such
2019-01-11 09:20:07 -05:00
Marcel Hollerbach 3ddd577fb0 efl: refactor all mixins
Differential Revision: https://phab.enlightenment.org/D7585
2019-01-11 12:37:27 +01:00
Larry Lira 54287d67d4 Efl.Ui.List_View: precise layout async
Summary:
fixed precise layouter to work with create asynchronous
fixed example theme signal

Reviewers: cedric, felipealmeida, SanghyeonLee, lauromoura

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7476
2019-01-11 17:21:19 +09:00
Shinwoo Kim b447a37ed8 efl_ui_win: make win work for evas_norender
The evas_norender updates the canvas internal objects.
But efl_ui_win does not evaluate its internal objects, when evas_norender is
called before showing, after resizing as below.

   evas_object_resize(win, 300, 600);
   evas_norender(evas_object_evas_get(win));
   evas_object_show(win);

This problem could be verified by checking if a resize function of internal
object is called or not.

minw,h is 0 in _elm_win_resize_objects_eval but deferred_resize_job is TRUE.

   evas_norender -> _window_layout_stack ->  _elm_win_resize_objects_eval

So if _elm_win_resize_objects_eval does not return if deferred_resize_job is
TRUE even if minw,h is 0, and calls _elm_win_resize_job, then it will work.

   _elm_win_resize_objects_eval -> _elm_win_resize_job ->
   evas_object_geometry_set  -> _efl_canvas_group_group_need_recalculate_set ->
   _window_layout_stack -> evas_object_geometry_set -> resize function.

I have checked this behavior without elementary. It seems that evas_norender
works between resize and show in this case. Let me share examples.

   ecore_evas_resize(ee, 100, 100);
   evas_norender(evas);
   ecore_evas_show(ee);
Differential Revision: https://phab.enlightenment.org/D7425
2019-01-10 13:05:17 -06:00
Wonki Kim b73a5ed704 meson: add a option to config the base directory name for elm data
There is a option(--with-elementary-base-dir) on autotools
this patch provides the exactly same thing that autotools does on meson
Differential Revision: https://phab.enlightenment.org/D7580
2019-01-10 19:44:01 +01:00
Cedric BAIL f5172faebb efl: remove warning due to unused variable/parameters.
Reviewers: #committers, felipealmeida, zmike

Reviewed By: #committers, felipealmeida, zmike

Subscribers: zmike, YOhoho, Hermet, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7554
2019-01-09 14:54:54 -05:00
Cedric BAIL c21a39c88a elementary: enable caching for Efl.Ui.LayoutFactory.
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7445
2019-01-09 11:02:14 -08:00
Cedric BAIL 78ca66fb76 elementary: enable caching for Efl.Ui.ImageFactory.
Differential Revision: https://phab.enlightenment.org/D7444
2019-01-09 11:02:12 -08:00
Cedric BAIL 4fe4f76b8c elementary: add a factory that handle caching for you.
This factory handle caching of one type of object and automatically empty the cache
when the application goes into pause.

Creating object is costly and time consuming, keeping a few on hands for when you next will need them help a lot.
This is what this factory caching infrastructure provide. It will create the object from the class defined on it,
set the parent and the model as needed for all items a Factory create. The View has to release the Item using the
release function of the Factory interface for all of this to work properly.

This is copying what Elm_Genlist was doing for you in the background and bring Efl interface to parity.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7443
2019-01-09 11:02:11 -08:00
Carsten Haitzler ab6c0e9f2b elm dnd/selection - only query wl things if thje window is a wl one...
check at RUNTIME not just with ifdefs at compile time. less ERR noise
for sure.
2019-01-09 18:57:23 +00:00
Yeongjong Lee e3aca63428 efl_ui_text: remove duplicated empty string initialization
Summary:
string of text_obj is already initialized in evas_object_textblock_init.
also, this patch fixes text_set bug.

Test Plan:
```
efl_add(EFL_UI_TEXT_CLASS, parent,
        efl_text_set(efl_added, "string"));
```
 or

elementary_test -to 'efl.ui.slider'

Reviewers: herdsman, zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7561
2019-01-09 13:08:36 -05:00
Carsten Haitzler 1ff024c9bb elm win - we forgot to add gl_drm to possible elm win engines
this was forgotten it seems, so add it alongside drm engine etc. so we
can do accelerated gl in the "fb" via drm too for elm app windows.
2019-01-08 15:25:17 +00:00
Hermet Park 12d2a4ce00 elementary genlist: make it sure object type.
Summary:
elm has some cases that resize_obj is not the group object.
That case, efl_canvas_group_need_recalculate_get() prints
annoying type-check errors.

Reviewers: #committers, SanghyeonLee

Reviewed By: #committers, SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7557
2019-01-08 20:01:23 +09:00
Hermet Park 3a5acad50e elementary selection_manager: remove unused paramter warning. 2019-01-08 20:00:19 +09:00
Cedric BAIL 88dbd866e0 elementary: rename Efl.Ui.Translatable -> Efl.Ui.L10n
If we are to choose Efl.Ui.I18n for the internationalization support, the localization API
should be named accordingly L10n.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7507
2019-01-02 11:03:53 -08:00
Cedric BAIL 038612736c efl: rename Efl.Ui.Base -> Efl.Ui.I18n as that is really what it does.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7506
2019-01-02 11:03:51 -08:00
Cedric BAIL 327593e9b4 elementary: rename Efl.Selection -> Efl.Ui.Selection as it is only usable with User Interface related element.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7505
2019-01-02 11:03:49 -08:00
Hermet Park d2ec3ce170 efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Reviewed By: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
2018-12-28 12:20:15 +09:00
Carsten Haitzler 318d16846f Revert "Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.""
This reverts commit 42e886d8d6.
2018-12-26 17:50:09 +00:00
SangHyeon Jade Lee c3f37111ff efl_ui: activate widget focus on efl.ui.item.
Summary:
Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.

Test Plan:
tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.

scroll feature is not yet supported by efl_ui_scroll itself.

Reviewers: eagleeye, cedric, Hermet, felipealmeida, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7465
2018-12-26 21:08:10 +09:00
Marcel Hollerbach 42e886d8d6 Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."
This reverts commit 9b5155c9f1.

For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.

This fixes crashing terminology instances.
2018-12-26 12:31:08 +01:00
Hermet Park 0e278d1de8 Revert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"
This reverts commit 7c38c0c915.

Oops, didn't intend this patch.
2018-12-26 19:32:42 +09:00
Hermet Park 7c38c0c915 efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
2018-12-26 19:29:10 +09:00
Cedric BAIL 9b5155c9f1 ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
2018-12-20 12:42:34 -08:00
Cedric BAIL e74578c7d3 elementary: switch to the new efl_future_then syntax.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7448
2018-12-20 10:44:45 -08:00
Cedric BAIL 50d675d6c1 elementary: make all view generate an event when the item is created.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7447
2018-12-20 10:44:44 -08:00
Marcel Hollerbach 20ddd4c679 efl_app: introduce app_main for getting the app object
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.

fix T7509

Differential Revision: https://phab.enlightenment.org/D7480
2018-12-20 12:56:54 +01:00
Marcel Hollerbach 7031a8cd7e elm_widget: remove defines that are not implemented
Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7455
2018-12-20 19:55:20 +09:00
Woochanlee d9a222ecf5 Intruduce Efl.Ui.Panel (Create Efl Ui Widget from elm widget(elm_panel))
Summary: Create Efl Ui Widget from elm widget(elm_panel)

Test Plan: elementary_test -> efl_ui_panel

Reviewers: woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7238
2018-12-20 11:32:28 +09:00
Xavi Artigas 2e2c225093 doc: Remove misplaced blank line 2018-12-19 13:51:55 +01:00
Jérémy Zurcher 8a617fda97 silence most left over compiler warnings
Summary: silence -Wshadow -Wunused-variable -Wunused-parameter

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7473
2018-12-18 13:08:01 +01:00
Marcel Hollerbach 27e5e8fa75 elm_gengrid: improve genlist behaviour
the new behaviour is (as genlist in the previous commit):
- focus the first item when down is pressed
- focus the last item when up is pressed
- do not go into the widget with tab or ctrl+tab and just return
immidiantly

fixes T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7454
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 5e0a602ee8 elm_widget_item_static_focus: fix ERR prints
There is the case that the deletion of the adapter can cause another
registeration, which then calls another time prepare, which then deletes
the adapter, before the actaul deletion of the first efl_del happened,
which means it will throw an error. To avoid this we track if we are in
process of a unrealization, and if so, do not delete the item there.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7453
2018-12-17 09:12:22 +01:00
Marcel Hollerbach e779492a1c elm_genlist: behaviour fixes for genlist
This implements the behaviour in case no item is yet focused, but the
genlist is focused.

ref T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7452
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 6922761f3f elm_gen****: fix focus restoring on window focus changes
this ensures that if there is no focused item, that at least the
container is focused. This leads to the fact that the elm_genlist
/elm_gengrid is refocused when a window is unfocused and focused again.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7451
2018-12-17 09:12:22 +01:00
Marcel Hollerbach ef874d5b59 efl_ui_focus_manager: performance optimize order setting
setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager.  We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.

We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2df601d589 elm_focus: implement legacy targets for logical widgets
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.

fix T7389

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
2018-12-17 09:12:22 +01:00
Marcel Hollerbach dfc9cd8a67 elm_focus: implement elm_object_focus_next_item_set / get
you can use this now to let the focus move to the widget container of
the passed item.

I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.

fixes T6183.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2d4f25fb32 elm_config: fix valgrind warnings
buf is only initializied, if on_flush is true.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
2018-12-17 09:11:19 +01:00
Derek Foreman 0611dbc1e9 efl_ui_win: Don't allow the frame object to change size before first draw
This fixes a bug where calling:

evas_object_show(win);
evas_object_resize(win, 400, 400);
elm_run();

Would show a much smaller than 400,400 window on wayland, as the CSD
calcs would set the size smaller.

It also fixes some differences in startup size between X and wayland for
some trivial test clients.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7438
2018-12-14 13:42:14 -06:00
Leonardo Loch 55854e9582 elementery: fix mouse selection of items in efl.ui.list_view 2018-12-07 14:01:13 -02:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01:00
Cedric BAIL 4d6f20d714 elementary: make Efl.Ui.Factory.create asynchronous.
Reviewers: felipealmeida, SanghyeonLee, vitor.sousa, bu5hm4n, segfaultxavi

Reviewed By: felipealmeida, vitor.sousa, segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7332
2018-12-07 11:47:21 +01:00
Alastair Poole 29c388a35b efl: fix misspelt focused in API and documents.
Fix spelling in elm_code API and other documents too where this occurs.
Differential Revision: https://phab.enlightenment.org/D7299
2018-12-06 15:11:17 +01:00
Bowon Ryu ede6c1316b efl_ui_tab_bar: fix error about double free
Summary:
tab is the parent of the icon.
so deleting the tab causes deleting the icon automatically.
in this case, it can cause double-freed problem once icon has deleted.

Test Plan: elementary_test -to efl.ui.tab_pager

Reviewers: cedric, Jaehyun_Cho, jpeg

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7407
2018-12-05 20:28:24 +09:00
Jaehyun Cho df216a4f1d efl_ui_win: enable bg color set although alpha is set
Summary:
This patch sets background transparent if window supports alpha.
If alpha window does not emit signal to show background rectangle,
then the background color set by _efl_ui_win_part_color_set cannot
be applied because the background rectangle remains hidden.

This patch fixes the side effect of D6569.

Test Plan: Run Efl.Ui.Win (Bg part) in elementary_test.

Reviewers: zmike, devilhorns, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7302
2018-12-05 10:35:30 +09:00
Carsten Haitzler f0092e8e0d elm config - fix warnings about unused vars and params 2018-12-04 08:45:02 +00:00
Carsten Haitzler 42a3ad53d2 elm main - fix unused param in cb warn 2018-12-04 08:40:02 +00:00
Carsten Haitzler 3e5b50a1e4 elm toolbar - fix unused param warn 2018-12-04 08:39:25 +00:00
Carsten Haitzler bb9cec6d9e elm colorselector - fix unused param warn 2018-12-04 08:38:44 +00:00
Carsten Haitzler cc3a5252f1 efl ui focus manager - fix unused param warn 2018-12-04 08:37:59 +00:00
Carsten Haitzler 0e7a24c1b8 efl ui focus manager - remove unused local vars warn 2018-12-04 08:36:00 +00:00
Carsten Haitzler 8ee0d7674b elm glview - fix unused param warn 2018-12-04 08:34:40 +00:00
Marcel Hollerbach 80bdbc8b54 elm_scroller: update behaviour to match legacy behaviour more closely
This implements scrolling the scroller when the scroller is not in the
maximum position of the requested relation, but there is no more focus
object in that relation.

Summing up, the scroller is scrolled manually, when the focus object is
not fitting in the viewport, and the object is beeing out of the
viewport in the requested direction. Or the scroller is not at its max
position in the requested direction, and there is no more focusable
object in this requested direction.

ref T6804

Differential Revision: https://phab.enlightenment.org/D7382
2018-12-04 08:45:49 +01:00
Marcel Hollerbach 1ede2302d3 efl_ui_focus_manager_root_focus: ensure that adapter is part of viewport
This ensures that the adapter part is part of the viewport elements and
border elements. This is done in order to support cases where a
elm_scroller content is not focusable. Before the element was not
correctly in viewport, and so not correctly registered.

ref T6804

Differential Revision: https://phab.enlightenment.org/D7364
2018-12-04 08:45:49 +01:00
Marcel Hollerbach a444ff743f elm_interface_scrollable: add support for *jumping* into a scroller
Until recently we have been only registering the border elements of the
graph, (so only the elements that don't have a neighboor). However this
lead to the situation that a scroller that is scrolled into the middle
(so not the x nor the y axis is scrolled to the max), is not accessable.

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

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

Differential Revision: https://phab.enlightenment.org/D7405
2018-12-03 19:00:26 +01:00
Carsten Haitzler 3c9123f170 elm - fix config version bump correctly
bump version right and fix eec7bc458e
properly.
2018-12-03 11:46:31 +00:00
Marcel Hollerbach 7f9cb37ea0 elm_config: repair configs
Summary:
in eec7bc458e the epoch offset was edited,
which seems to be wrong, as this caused every single config to be
deleted. This also updates the configs in the elementry base configs
as they have been forgotten.

This brings back the ability to edit the config in elementary_config.

Reviewers: segfaultxavi, devilhorns, ManMower, raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7403
2018-12-03 11:43:53 +00:00
Carsten Haitzler a9650209a4 efl ui text - check if string exists beofre using it...
don't segv.
2018-12-03 11:04:27 +00:00
Cedric BAIL cc801e2e2a elementary: simplify code by using proper helper.
efl_loop_promise_new is a helper function that does automatically figure out an
available scheduler and create a promise from it. Basically replacing the call to
eina_promise_new(efl_loop_future_scheduler_get(o), ...).

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7336
2018-11-30 14:58:12 -08:00
Larry Lira 6b0c85cb0d Efl.Ui.List.View: fixed MVVM life-cycle
Fix bugs on Views and Model related with null items and proper ownership and
life-cycle of components.

Configure default theme for default factory on finalize.
2018-11-30 16:56:47 -02:00
Vitor Sousa 0398b8f19c elementary: rework Efl.Ui.Layout boolean signal-connection to Models
Add new feature to specify signal connection to boolean properties of Models.
This also fix some '%v' substitution problems.

Parsing EINA_VALUE_TYPE_BOOL as boolean in Efl.Ui.Layout signal updates from
Models (instead of EINA_VALUE_TYPE_UCHAR). UCHAR no longer has special handling
and falls to the general result of eina_value_to_string() as other types do.

Use EINA_VALUE_TYPE_BOOL instead of EINA_VALUE_TYPE_UCHAR to signal selection on
click events to the Model.

Update examples to make usage of the new property connection feature in order to
model selection of items on Views.
2018-11-30 16:56:47 -02:00
Christopher Michael eec7bc458e elementary: Support using no frame object
Summary:
Creation of the frame object can lead to significant delays in window
creation time on limited-power devices (watches, mobile, tv, etc).
This patch allows setting an environment variable and config value in
order to completely skip frame object creation.

This shaves about 50ms from startup on an i7 8600k, so should be more
substantial a saves on limited-power devices.

Reviewers: kimcinoo, ManMower

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7305
2018-11-29 14:35:26 -05:00
Wonki Kim 8b0b9ed281 elm_config: fix elm_config_save not to wake idle processes up
there is a eio_monitor which is tracking on config directory.
and that is the reason why idle processes get waken up once some process call elm_config_save().
this patch fix the function not to wake idle processes up as it was before.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7354
2018-11-28 16:22:18 -08:00
Wonki Kim 43b18dc890 elm_config: replace ecore_file_mv with ecore_file_cp
eio_monitor could miss what it is tracking on
in case of calling ecore_file_mv on the tracked file.
so that this patch replace move with copy.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7352
2018-11-28 16:22:16 -08:00
Wonki Kim 6c4e49d970 elm_config: remove profile name reading logic from data dir
Nothing writes any profile name on profile.cfg inside data dir
This patch removes the logic.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7351
2018-11-28 16:22:14 -08:00
Xavi Artigas 05682eed7d eo-docs: Remove Doxygen tags from efl*.eo files
Summary:
- Replace '\@ref name' with '@name'
- Remove unused \@internal tag
    This tag affects text AFTER it, and there is no text after it.
- Remove \@note tag
    Replaced with a simple NOTE: text, since eolian does not have an equivalent tag.
- Remove spurious \@Efl... tags
    They should really be @Efl...
- Remove \@p tags
    There is no eolian equivalent, and a simpler $ suffices in this case.

Fixes T7482

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7482

Differential Revision: https://phab.enlightenment.org/D7372
2018-11-28 13:33:46 +01:00
Hosang Kim c4ae2be685 efl_ui_scrollable: implement efl_ui_scrollable_content_pos_get method.
Summary:
Applications want to know current position on scroller.
Also, it is necessary when calculate position of focusable object.

Reviewers: herdsman, akanad, YOhoho, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7251
2018-11-28 14:34:28 +09:00
SangHyeon Jade Lee edacff4fa5 gengrid : remove elm_access_text_set for code consistancy.
Summary:
Early accessibility read object and item infomations by elm_access_text_set
but this code is redundant now and removed genlist and list already.
To make a same consistancy of our accessibility informations in list-look widgets
we need to remove this function calls here.

Test Plan: tested Gengrid Item is not readed in gengrid item focused with accessibility on.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7370
2018-11-27 20:15:54 +09:00
Daniel Hirt 6e92042845 Ui Scroller : remove unnecessary efl_del
Child objects are already destoryed during destruction of the parent
object.

This fixes ERR messages when doing `efl_del(sd->smanager)`
object, which is already destroyed at that point.
2018-11-26 13:17:07 +02:00
Daniel Hirt a7b1329b0e Scroll manager: remove unnecessary callback_del
Child objects are already destoryed during destruction of the parent
object.

This fixes ERR messages when doing operations on the `event_rect`
object, which is already destroyed at that point.
2018-11-26 13:17:07 +02:00
Daniel Hirt c87d23f942 Ui text: remove unused code from internal scroller 2018-11-26 13:17:07 +02:00
Daniel Hirt fed99f8d13 Ui text: implement efl_part and part_text API to text_set 2018-11-26 13:17:07 +02:00
Daniel Hirt baecca47b4 Ui text: read init text properties from theme 2018-11-26 13:17:07 +02:00
Daniel Hirt b77fc4ed4f Ui text interactive: emit changed,user event correctly 2018-11-26 13:17:07 +02:00
Daniel Hirt 3e5616b346 Ui text scroller: add usage of a guide 2018-11-26 13:17:07 +02:00
Marcel Hollerbach acee09f585 efl_ui_focus_manager_sub: freeze manager when parent manager is frozen
a efl_ui_focus_manager_sub object is a manager object by itself. It
registeres the border elements of itself in the parent focus manager.
However, all elements that are registered in this manager object, are
also automatically children of the parent root object, which means, when
the root object of the parent manager object is moved, then those
children will also be moved. Which means, when the parent manager can
ignore those changes, we can also ignore them.
This improves the overall performance of the "Scroller 2" test case by
26%.

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

Differential Revision: https://phab.enlightenment.org/D7350
2018-11-26 11:37:04 +01:00
Marcel Hollerbach a73904ba66 elm_interface_scrollable: freeze the manager object when content moves
this freezes the manager object of the user of the interface. This
improves the overall performance when moving arround focus in a
scrollable object, since no new relations are needed to be recalculated.
This safes up about 2% in the "Scroller 2" test. Additional
optimizations are added in another commit.

Differential Revision: https://phab.enlightenment.org/D7349
2018-11-26 11:37:04 +01:00
Marcel Hollerbach ac8d16684d efl_ui_focus_manager_calc: ensure that the coords are marked dirty
this is needed when a object is unregistered, otherwise a user of the
event is not informed when a element is gone, and thus the border
elements might have changed.

Differential Revision: https://phab.enlightenment.org/D7353
2018-11-26 11:37:04 +01:00
Marcel Hollerbach e36dce177e efl_ui_focus_manager: introduce a new API
the new api can be used to freeze the cache. This means, when the
widgets of the focus manager are all equally moved, the cache can stay,
cause the relative positions did not change, this enables a whole new
set of available optimizations.

Differential Revision: https://phab.enlightenment.org/D7348
2018-11-26 11:37:04 +01:00
Marcel Hollerbach 97ece33134 efl_ui_focus_object: introduce a new event for focus geometry changes
before the move and resize events have been used. However, this turned
out to not work well, because not all registered items are real
efl.gfx.entity objects, there is also a custom property for getting the
focus geometry, so now this property is completed with a event that is
emitted when the focus geometry changes. With this event we can
reintroduce relation caching. Since all events are marked correctly
dirty now.

Differential Revision: https://phab.enlightenment.org/D7347
2018-11-26 11:37:04 +01:00
Marcel Hollerbach fccc5fc438 elm_focus: implement missing functions
there is one function that needs to be implemented by the inheritor of
Efl.Ui.Focus.Object and that is focus_parent, otherwise child_focus
cannot be propagated correctly. This is now achived correctly for all
widgets.

This fixes from elm_object_focus_get results for toolbar and calendar.
Segmentcontrol inherits from the class, however, the widget itself does
not allow focus, so its never registered probebly.

Differential Revision: https://phab.enlightenment.org/D7331
2018-11-26 11:37:04 +01:00
Marcel Hollerbach e661c4acc3 efl_ui_focus_manager_calc: reduce the amount of list operations
it appears that the calculation of the unordered elements can be done a
lot easier here, when checking in the initial for loop for the right
parent safes us two more list walk later on.

Additionally, if all elements in this chain have the right parent, and
the amount of elements is the same as the parent has, then this list can
be used as a full replacement.

Differential Revision: https://phab.enlightenment.org/D7330
2018-11-26 11:37:04 +01:00
Daniel Zaoui 976a33e36a FlipSelector: fix items creation when range is used
In the case step is 0, the application will enter in an infinite loop
where the max will never be reached. To fix this, step is set to 1 if 0
is given by the user.
Moreover, step is forced to positive. According to the given min and
max values, the step will be negative or positive. In this way, we are
sure to be inside the correct range.
2018-11-26 10:47:20 +02:00
Cedric BAIL 5de51f84fb eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been available for some time.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7327
2018-11-23 11:39:43 -08:00
Cedric BAIL d4d44d76f3 efl: make Efl.Model.properties_get return an Iterator<string>.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7289
2018-11-23 10:13:58 -08:00
Yeongjong Lee 424bd60084 elm_gengrid: remove all_items_deselect call in _gengrid_element_focused
focus_changed doesn't mean select_changed. selection is handled the code below.
Differential Revision: https://phab.enlightenment.org/D7268
2018-11-23 12:48:37 +01:00
Derek Foreman 02840efec2 elm: roll _tree_custom_chain_missing into main focus test function
Further reduction in eo overhead.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:39 +01:00
Derek Foreman 45f24b6ef4 elm: Compress more focus tests into the same list walk
Since we're already at the top of the list, we can do the WIN_CLASS test
much more cheaply.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:39 +01:00
Derek Foreman 30be434fb1 elm: Re-order focus tests
Placing the cheapest tests first can save on some heavy walks.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:39 +01:00
Derek Foreman b8f6323a36 elm: Walk parents instead of parent widget in focus test
This Should Work, right?

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:38 +01:00
Derek Foreman a4e4343082 elm: speed up _eval_registration_candidate
combining _tree_unfocusable and _tree_disabled into a single function
reduces eo overhead.  This saves a few ms at startup in elementary_test.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:38 +01:00
Yeongjong Lee c7ee93eebb Remove duplicated interface inheritance in eo
Summary:
Delete unnecessary interface inheritance

Efl.Ui.Base ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Ui.Base
Efl.Text_Cursor ==> Efl.Text_Markup - Efl.Text_Cursor
Efl.Pack_Layout ==> Efl.Ui.Box - Efl.Pack_Layout
Efl.Ui.Translatable ==> Efl.Ui.Layout - Efl.Ui.Widget - Efl.Ui.Translatable
Efl.Part ==> Efl.Ui.Widget - Efl.Part
Efl.Ui.View ==> Efl.Ui.Layout.Object - Efl.Ui.View
Efl.Access.Value ==> Efl.Ui.Spin - Efl.Access.Value
Efl.Gfx.Buffer ==> Efl.Canvas.Image_Internal - Efl.Gfx.Buffer
Efl.Canvas.Pointer ==>  Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Canvas.Pointer
Efl.Gfx.Size_Hint ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Gfx.Size_Hint

Test Plan: make check

Reviewers: Jaehyun_Cho, Hermet, woohyun, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7241
2018-11-22 17:22:04 +09:00
Chris Michael 9c814cb652 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael e2862ef2e2 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael beaa784cb5 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 71baeab41d elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 554573eaa9 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 5a35d9d3e3 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael f7a414db38 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 27fb5151e5 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael a61b5c380b elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 0f00fa0777 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 4220c9d2d4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael bd32bf5626 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 7bddabaa33 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 275165423a elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 31a7e545b4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael b32c39cd58 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 328a6ad307 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael e8298d8d44 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 7f42105cb7 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 2f8221ed68 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 98c8c7bf91 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael f7c073d77c elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 19059b8eca elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 6d29afae4d elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 50ab99b05b elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 1bea98eba4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Marcel Hollerbach a81540ead5 elm_gengrid: enable focus api for none realized items
this ensures that the item is focused once the item is realized.
The last_focused_item point is not NULLed anymore, it will be overridden
anyways a few lines below, if the 'if' below is not going to be
executed, then we should not NULL out the field at all, since we want to
remember the item when we are restoring focus in
_elm_gengrid_efl_ui_focus_manager_setup_on_first_touch.

This resolved the latest comment in D7230

This also resolves T7391.

Differential Revision: https://phab.enlightenment.org/D7271
2018-11-20 20:50:42 +01:00
Marcel Hollerbach 9c1c35b9b8 elm_legacy: use the new api
with using the new api of efl.ui.focus.object we can resolve a bug that
was pointed out in P243.

Differential Revision: https://phab.enlightenment.org/D7267
2018-11-20 20:50:42 +01:00
Marcel Hollerbach 1524c94180 elm_gen****: correctly return the focus parent
this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.

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

Fixes T7438

Differential Revision: https://phab.enlightenment.org/D7263
2018-11-20 14:42:32 +01:00
Marcel Hollerbach f62a289cf4 elm_list: fix focus without items
Differential Revision: https://phab.enlightenment.org/D7232
2018-11-20 13:04:48 +01:00
Marcel Hollerbach edf1fbea20 elm_gen****: ensure that no focus item is handled correctly
This ensures that on first touch the root dummy element is focused
correctly.

fix T7203

Differential Revision: https://phab.enlightenment.org/D7231
2018-11-20 13:04:48 +01:00
Marcel Hollerbach c0e52526c6 efl_ui_focus_manager: make active getter work correctly
focus managers can be used via composition, in this case the normal
manager is NOT inheriting from the
EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition
parent is.

fix T7390

Differential Revision: https://phab.enlightenment.org/D7230
2018-11-20 13:04:47 +01:00
Woochanlee a1478261b5 efl_ui_format: remove supporting default TM format in interface.
Summary:
efl_ui_format printed ERR log in calendar use case.

calendar only accept format as "B,b,h,m,y,Y"

But it doesn't cover that and not supporting TM type.

If there is other widget which one using format interface, It also has own accpeted format.

So i think it should impelment on widget side.

Test Plan: elementary_test -> efl_ui_calendar.

Reviewers: Hermet, singh.amitesh, Jaehyun, zmike, segfaultxavi

Reviewed By: segfaultxavi

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

Tags: #efl

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

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

Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun

Reviewed By: Hermet, eagleeye

Subscribers: CHAN, bu5hm4n, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6985
2018-11-20 14:32:31 +09:00
Jaehyun Cho 4f9c8d524c efl_ui_theme: Introduce Efl.Ui.Theme class
Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.

This patch fixes T7357.

Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee

Reviewed By: segfaultxavi, SanghyeonLee

Subscribers: SanghyeonLee, herdsman, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7357

Differential Revision: https://phab.enlightenment.org/D7244
2018-11-20 13:56:37 +09:00
Jaehyun Cho 0611620301 efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class
Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.

Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.

Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7304
2018-11-20 10:24:05 +09:00
Daniel Hirt 2c0f094da5 Ui text: fix size evaluation on construction
In some cases, like the example provided in the referred ticket, the
text is set during the construction of the object.

This adds another call to evaluate the size of the object at the end of
the "finalize" stage, and also removes the line that has set the text to
"".

Fixes T7468
2018-11-18 12:33:30 +02:00
Alastair Poole be8b7e5210 elm_code: Allow widget to be focused.
Summary: This fixes a lost cursor with latest git.

Test Plan: elementary_test -> elm_code -> view a cursor

Reviewers: raster, ajwillia.ms

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7298
2018-11-17 13:05:02 +00:00
Jaehyun Cho d4526f44b8 elementary: rename Efl.Ui.Popup classes
Summary:
Efl.Ui.Popup classes are renamed intuitively from backward order to
forward order.

Efl.Ui.Popup_Alert        -> Efl.Ui.Alert_Popup
Efl.Ui.Popup_Alert_Scroll -> Efl.Ui.Scroll_Alert_Popup
Efl.Ui.Popup_Alert_Text   -> Efl.Ui.Text_Alert_Popup

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: herb, SanghyeonLee, woohyun, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7292
2018-11-16 11:26:57 +01:00
Jaehyun Cho 2d460e52e4 elementary: remove Efl.Ui.Layout namespace
Summary:
Efl.Ui.Layout namespace is removed to keep consistency with other
widgets.
Consequently, "Efl.Ui.Layout.Object" is renamed to "Efl.Ui.Layout" and
"Efl.Ui.Layout." is renamed to "Efl.Ui.Layout_".

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers, SanghyeonLee, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7291
2018-11-16 11:11:13 +01:00
Marcel Hollerbach 1c530d210d efl_ui_focus_manager: calculate new widgets undependend from dirty state
This fixes T7397

Differential Revision: https://phab.enlightenment.org/D7179
2018-11-15 13:55:37 +01:00