Commit Graph

5041 Commits

Author SHA1 Message Date
Hermet Park e23729be71 backup progress 2019-12-23 10:38:18 +09:00
WooHyun Jung dfc9a3eef3 elm_slider: remove unused file
Summary:
Just removed elm_slider_eo.legacy.h which did not
have any dependency with other files

Test Plan:
1. sudo ninja install
2. elementary_test
3. Slider

Reviewers: segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10876
2019-12-16 10:36:11 +01:00
Hermet Park de06ddb3ed ui position_manager: fix doc typo. 2019-12-16 17:24:17 +09:00
SangHyeon Jade Lee 0887b48f9f efl_ui : stablized factory classes.
Summary:
for mvvm publizing,
caching factory and layout factory need to be out of beta.

Reviewers: cedric, bu5hm4n, segfaultxavi

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10855
2019-12-16 16:58:50 +09:00
Marcel Hollerbach 5892292ac8 efl_ui: docuement code
there was the request that this needs to be documented, here we are.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10874
2019-12-13 09:33:07 -08:00
Marcel Hollerbach 7d1463124a efl_ui_widget: do not execute up handler when on destruction
otherwise we would cause an error.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10846
2019-12-13 09:33:05 -08:00
Marcel Hollerbach 349df85679 efl_ui_spotlight_manager_*: do not keep ptr of dead pointer
when content is deleted, we should not keep a dangling pointer of it.
Setting it to NULL here is enough, as later on a swtich_to reuest will
be sent.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10844
2019-12-13 09:33:03 -08:00
Marcel Hollerbach 431800a529 efl_datetime_manager: how did that ever work?
seriously, it sometimes might be worth at least *reading* what code
does, this was initializating a private data struct on one single global
boolean flag. How was that ever intended to work ? How could that ever
slip through review ?

This is not the only madness in these widget arround time and date, you
cannot even select hours in 24h mode, you also cannot cannot select the
0 hour, which is kind of normal for the one or another region? the
datetimemanager (which is IMO a complete misconcept) is full of FIXMEs
and API calls that are defined and never called at all. Again what is
this ? And how did that ever get into the codebase ?!

With this commit the widget *finally* can be created more than once
without exploding and erroring one.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10843
2019-12-13 09:33:01 -08:00
Marcel Hollerbach eaf2a8d7ec efl_ui_collection: do not leak
this fixes leaking of membership to a pan object, additionally this also
fixes the leaking of the pan object. This code was written with the
thought that edje deletes its children, long story short: no it does
not. While fixing the leak of the pan object, the error was found that
the membership of the item to the pan object was leaked, which ended up
in the item beeing deleted, even if its not part of the object anymore.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10841
2019-12-13 09:32:58 -08:00
Marcel Hollerbach e81dc6a02b efl_ui_scroller: free pan object correctly
we need to free the object in the invalidate, not in the destructor.
Otherwise we might leak objects in bindings.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10840
2019-12-13 09:32:57 -08:00
Marcel Hollerbach 3a712e2497 collection_view: free pan object correctly
edje will not take over this part, edje will just reparent it to the ML
and go on.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10839
2019-12-13 09:32:54 -08:00
Marcel Hollerbach 7a72796920 efl_ui_pan: stop leaking content
pans implementation of Efl.Content is different to each other
implementation, setting the content to NULL is not really deleting the
obejct, since this is done at those widgets that are actaully using the
pan. This is weird and fine in the same way, as the pan is only
internal. However, when we are shutting down, we must free the content
here.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10838
2019-12-13 09:32:53 -08:00
WooHyun Jung 4efaebfc70 efl_ui_internal_text_interactive: prevent from freed memory accessing
If node_format_remove_pair frees node, then next for loop can lead
invalid memory accessing. This patch prevents from that case by keeping
the next node before freeing.
2019-12-13 10:33:00 +09:00
Yeongjong Lee 4c77ee6843 efl_ui: cleanup elm headers
since e2980cd981, `efl.ui.text` doesn't need
`elm_general.h`.

This partially reverts commit 96be3cd83d.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10849
2019-12-12 10:20:31 -08:00
Marcel Hollerbach 42f56d0a0a efl_ui_popup: do not leak the backwall part
freeing it in the destructor is not enough. This has to be done at the
invalidator stage, otherwise bindings might have a blocking element on
the screen for the time the object is not gargabe collected.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10837
2019-12-11 11:11:05 -08:00
Cedric BAIL 8331ea048c elementary: improve data layout for Efl.Ui.PositionManager*.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10688
2019-12-11 11:12:06 +01:00
Cedric BAIL 2b324779c9 elementary: reduce events triggered by Efl.Ui.PositionManager.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10687
2019-12-11 11:12:01 +01:00
Cedric BAIL d62e2585bb elementary: reduce event trigger during object creation stage in Efl.Ui.CollectionView.
Once the object are created, the CollectionView will do a few modifiction on them before
giving this object to the position manager to deal with. Reducing events should slightly
improve performance.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10686
2019-12-11 11:11:57 +01:00
Cedric BAIL b9e0d25a4c elementary: reduce event generation during object creation by Efl.Ui.WidgetFactory.
We can not freeze the canvas in all scenario as we are sometime building widget fully
asynchronously which prevent holding events on the canvas. Still it is better to do it
for the case we can.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10685
2019-12-11 11:11:52 +01:00
Ali Alzyod 3359e03500 efl.ui.text: rename to efl.ui.textbox
Summary:
This patch will rename efl.ui.text into efl.ui.textbox

Effected classes:
 - efl.ui.text_async   :  efl.ui.textbox_async
 - efl.ui.text_editable   :  efl.ui.textbox_editable **will be removed anyway**

Needs consider Classes:
- efl.ui.text_part
- efl.ui.text_factory.Emoticons
- efl.ui.text_factory.Fallback
- efl.ui.text_factory.Images

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, YOhoho

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10835
2019-12-11 09:47:50 +09:00
Ali Alzyod 33af599128 efl_ui_text_editable: remove class
Summary:
This class is the same as efl_ui_text, efl_ui_text is editable by default.
This class should be removed

Reviewers: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10831
2019-12-10 19:00:34 +09:00
Ali Alzyod 621d2cdecf Efl.Canvas.Text rename into Efl.Canvas.Textblock
Summary:
Efl.Canvas.Text                renamed into **Efl.Canvas.Textblock**
Efl.Canvas.Text_Factory  renamed into **Efl.Canvas.Textblock_Factory**

Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n, YOhoho

Reviewed By: segfaultxavi

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10808
2019-12-10 17:39:59 +09:00
Stefan Schmidt 4ff8fb140c elocation: remove beta library
This has never been fully finished or really used. The GeoClue project
dbus API moved on to a newer version as well. We still have it marked as
beta so we should take the chance and get rid of it to cleanup our tree
a little bit.

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10788
2019-12-09 15:31:00 +01:00
Xavi Artigas 39758346ef Efl.Ui.Internal_Text_Interactive: missed renames from previous commit 2019-12-09 11:04:56 +01:00
Ali Alzyod 9c67a71e00 efl_text_cursor: rename enums
Summary:
rename two movement enums

**paragraph_first**: to just **first**  this will move the cursor to the beginning of the text

**paragraph_last**: to just **last**  this will move the cursor to the end of the text

These two are not directly related to paragraph the will move the cursor depending on the whole content

or maybe **start** and **end**  what do you think ?

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10810
2019-12-09 10:54:48 +01:00
Ali Alzyod c00db387c3 Efl.Ui.Text : all related interfaces
Summary:
Change summary:

Removed :
- efl_ui_text_selectable.eo and add it functionality into efl_text_interactive.eo
- efl_ui_text_editable.eo because it is same as efl_ui_text.eo (just set one property by default)

Modifications:
- Move all Text Input enums and functionality from efl_ui_text class into its own interface,  this interface will be implemented at efl_ui_internal_text_interactive class.

- Rename selection_allowed property to selectable (same as other "editable" property) in efl_text_interactive

- Add select_all function into efl_text_interactive interface

- Add have_selection property into efl_text_interactive interface

- Move user_change , selection_start/change/clear   and undo/redo events into efl_text_interactive interface.

- Move methods and events of copy/paste/cut into efl_ui_text

- Fix password-related functionality

- Remove context menu clear and add_item methods.  (these should be added later with better design)

- Remove Validation event from EFL_UI_TEXT.  (these should be added later with better design)

Reviewers: woohyun, tasn, segfaultxavi, zmike, bu5hm4n

Subscribers: stefan_schmidt, a.srour, q66, zmike, segfaultxavi, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10711
2019-12-09 10:58:39 +09:00
Marcel Hollerbach c33aaf32a8 elm_code: set box align correctly
sometimes the resize size is not in line with the size of the outer
widget, in this case the box should align its children at the very top,
otherwise the cursor grid is falling out of sync with the text content.
2019-12-06 19:19:38 +01:00
Lauro Moura 4398ec7b3b elementary: Fix declaration of CV managers getters
This should convey better their intention of the setting taking
ownership of the passed value and the getter returning just a view to
them.

Fixes T8514

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10824
2019-12-06 16:55:09 +01:00
Wonki Kim 2c515628d3 focus: modify a formula to calculate focus region to show
if there was a spacer around elm.swallow.content of scroller,
position of pan object would be different with position of the scroller obj.

this patch modifies a fomular that calculates some points relative to scroller
to a fomular that calculates the points relative to pan obj.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10745
2019-12-06 15:35:50 +01:00
Wonki Kim 1aa5b0c2e8 collection_view: fix a potentional error
assign signed int value on bigger unsigned variable
can make information of the varaible lost.
this patch fix the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10723
2019-12-06 15:35:46 +01:00
Taehyub Kim 6358d5e927 efl_ui_alert_popup: remove beta for efl_ui_alert_popup_title
Summary: remove the title part beta tag for the efl ui alert popup

Reviewers: Jaehyun_Cho, zmike, bu5hm4n, segfaultxavi

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10820
2019-12-06 17:49:52 +09:00
junsu choi c86f77ff6e elm_label: Emit click signal on acivate action on label
Summary: In accessibility enabled case click signal of legacy label is not triggered.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10803
2019-12-06 10:30:34 +09:00
Mike Blumenkrantz d8fb0b049a elm/genlist: trigger pan recalcs in update_job and item del functions
in cases where the pan may change as a result of item size recalcs,
it's necessary to ensure that the pan object is recalculated

ref D10663

Differential Revision: https://phab.enlightenment.org/D10752
2019-12-04 12:21:28 -08:00
Stefan Schmidt d0f69cf2e2 exotic: remove left-overs from Exotic support
This seems to have been gone a long time ago and only references left
that have not been disturbing the build. Time to clean up!

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10793
2019-12-04 12:21:28 -08:00
Xavi Artigas b04a7ed4f4 code comments: annoying typos 2019-12-04 18:22:25 +01:00
Mike Blumenkrantz 22b005ea8a efl_ui/layout: unconditionally emit theme,changed event for legacy layouts
this will automatically be optimized by smart callback internals and fix
emission of this event

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10750
2019-12-04 16:48:01 +01:00
Mike Blumenkrantz 3f7a63149a efl_ui/layout: fix multiple emissions of theme,changed during construction
in the case where a layout object was created and had a theme manually set
with efl_ui_layout_theme_set() during construction, the layout would then
call theme_apply() a second time internally during finalize which, if the
theme has not changed (as can only be the case if this flag is unset),
results in a repeated theme_apply for the existing theme

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10738
2019-12-04 16:47:40 +01:00
Mike Blumenkrantz e9281cf124 efl_ui/layout: fix typo in theme,changed event checking and fix this event
this was a copy/paste error

ref 7ad8acc290

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10737
2019-12-04 16:47:37 +01:00
Marcel Hollerbach 20699d7f61 efl_ui_radio_box: declare stable
this was forgotten, the task for it (T8026) was even closed.

Differential Revision: https://phab.enlightenment.org/D10786
2019-12-04 16:47:33 +01:00
Marcel Hollerbach 655472d9c9 efl_ui_mutli_selectable: stabelize interfaces
these classes are after a long naming discussion stable.

fixes T7871
fixes T8265
fixes T7922

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D10734
2019-12-04 16:47:32 +01:00
Xavi Artigas 3b8648257b Efl.Ui.Spotlight_Container: update docs after push/pop changes
Differential Revision: https://phab.enlightenment.org/D10784
2019-12-03 14:38:29 +01:00
Marcel Hollerbach 290526da75 efl_ui_spotlight_manager_stack: fix positioning
we also need to reemit the position of current active element. Otherwise
the indicator will display a wrong value.

This is already done in any other spotlight manager.

fixes T8499

Differential Revision: https://phab.enlightenment.org/D10782
2019-12-03 14:38:28 +01: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
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 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
Marcel Hollerbach 7033816554 efl_ui_spotlight: do not inherit from layout anymore
before we inherited from layout, however the theme of the layout was
basically just the event part, and the holder part for the indicator.
The indicator part is going to be refactored into something else
anyways, since the indicator should be useable on other widgets as well.
Which means, only the event part is left, which is only used by the
scroller spotlight manager, (and now moved there).

With the move from this away we are saving round about 0.2KB of pure
edje accounting. Additionally, we are saving in perf 4% that is spend in
_efl_canvas_layout_efl_gfx_entity_size_set, which also makes this less
CPU intensive when resizing (Or even just starting is also enough).

ref T7991

Differential Revision: https://phab.enlightenment.org/D10765
2019-12-02 18:30:22 +01:00
Marcel Hollerbach acfd031e47 efl_ui_spotlight_indicator: make this undependend from the main widget
the main widget before presented a layout to hold the indicator,
however, for the causual case, this is not really needed. The indicator
itself is anyways going to be a more general prupose widget soon, where
the layout here can be taken as an starting point.

Additionally, this fixes general displaying of the indicator, before the
box padding refactor, a padding would have changed the minsize of the
mix, this is not the case anymore, which forces us to calculate the
minsize of the indicator theme.

Differential Revision: https://phab.enlightenment.org/D10764
2019-12-02 18:30:20 +01:00
Marcel Hollerbach d51bdf3c77 efl_ui_spotlight: move event rectangle
for now the eventrect was a swallow part, created by the container, set
to the edje layout. However, the only real user for this is the scroll
spotlight manager.
Which means, we have mostly unneeded element resized by edje, which is
quite an overhead. With this commit, this is moved to the scroll
manager, which makes the usage with stack and plain less memory heavy.

Differential Revision: https://phab.enlightenment.org/D10763
2019-12-02 18:30:19 +01:00
Marcel Hollerbach a66f1130af efl_ui_spotlight: ensure correct positioning
if something is just repositioned, but not resized, it would not have
been placed correctly. This fixes that.

Differential Revision: https://phab.enlightenment.org/D10762
2019-12-02 18:30:18 +01: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