summaryrefslogtreecommitdiff
path: root/src/lib/elementary (follow)
AgeCommit message (Collapse)Author
33 hoursMerge branch 'master' into devs/hermet/lottieHermet Park
35 hourselm_label: Emit click signal on acivate action on labelJunsuChoi
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
3 dayselm/genlist: trigger pan recalcs in update_job and item del functionsMike Blumenkrantz
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
3 daysexotic: remove left-overs from Exotic supportStefan Schmidt
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
3 dayscode comments: annoying typosXavi Artigas
3 daysefl_ui/layout: unconditionally emit theme,changed event for legacy layoutsMike Blumenkrantz
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
3 daysefl_ui/layout: fix multiple emissions of theme,changed during constructionMike Blumenkrantz
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
3 daysefl_ui/layout: fix typo in theme,changed event checking and fix this eventMike Blumenkrantz
this was a copy/paste error ref 7ad8acc290f078aa9d2bfd32ec15a4e5677ab01f Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10737
3 daysefl_ui_radio_box: declare stableMarcel Hollerbach
this was forgotten, the task for it (T8026) was even closed. Differential Revision: https://phab.enlightenment.org/D10786
3 daysefl_ui_mutli_selectable: stabelize interfacesMarcel Hollerbach
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
3 daysMerge branch 'master' into devs/hermet/lottieHermet Park
4 daysEfl.Ui.Spotlight_Container: update docs after push/pop changesXavi Artigas
Differential Revision: https://phab.enlightenment.org/D10784
4 daysefl_ui_spotlight_manager_stack: fix positioningMarcel Hollerbach
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
4 daysefl_ui_spotlight_container: reverse push and pop semanticsMarcel Hollerbach
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
5 daysintroduce efl_ui_{pager/scroller}Marcel Hollerbach
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
5 daysefl_ui_spotlight_container: bring in min / max handlingMarcel Hollerbach
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
5 daysefl_ui_spotlight: do not inherit from layout anymoreMarcel Hollerbach
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
5 daysefl_ui_spotlight_indicator: make this undependend from the main widgetMarcel Hollerbach
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
5 daysefl_ui_spotlight: move event rectangleMarcel Hollerbach
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
5 daysefl_ui_spotlight: ensure correct positioningMarcel Hollerbach
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
5 daysMerge branch 'master' into devs/hermet/lottieHermet Park
8 dayseo files: Avoid container<ptr(value_type)> usage.Lauro Moura
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
8 dayselementary: stabilize Efl.Ui.Relative_ContainerYeongjong Lee
Summary: ref T8380 Reviewers: segfaultxavi, woohyun, zmike, bu5hm4n, cedric Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8380 Differential Revision: https://phab.enlightenment.org/D10641
8 daysefl_ui_position_manager_grid: avoid zero division caseWooHyun Jung
This fixes the issue of zero division when columns is zero. Sometimes columns can be zero when "pd->viewport.w = 0". Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10768
8 daysMerge branch 'master' into devs/hermet/lottieHermet Park
9 daysPolish text interface methodsAli Alzyod
Summary: This patch is set to rename some properties of `Efl.Text_Font` & `Efl.Text_Format` interfaces. 1- efl_text_font_set/get become (efl_text_font_family_set/get, efl_text_font_size_set/get) 2- efl_text_valign/halign become efl_text_vertical/horizontal_align 3- efl_text_halign_auto_type become efl_text_horizontal_align_auto_type Reviewers: ali.alzyod, woohyun, segfaultxavi, bu5hm4n, zmike, cedric Reviewed By: woohyun Subscribers: zmike, #committers, #reviewers, cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D10716
9 daysMerge branch 'master' into devs/hermet/lottieHermet Park
10 daysremove unused code fileMarcel Hollerbach
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D10707
10 daystheme: rename pager to spotlightMarcel Hollerbach
that mirrors the name of the widget. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D10706
10 daysefl_ui_spotlight_manager_*: remove size and position eventsMarcel Hollerbach
there is no need to listen to them, they are already listent to by the container, and new sizes are told via the size property. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D10704
10 daysefl_ui_spotlight_manager: remove the group objectMarcel Hollerbach
i do not know why its there, it caused a bug in the past (in regards of clippers and visibility). Now we can get rid of it completly, the state of it is always compatible to the one of the widget itself, soooo ... Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D10702
10 daysefl_ui_spotligt: make it possible to freeze animationsMarcel Hollerbach
this new API makes it possible to stop animations beeing executed in the spotlight manager. (The logic in the spotlight managers itself are already implemented). The animation will also be frozen during construction time of the spotlight. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D10701
10 daysMerge branch 'master' into devs/hermet/lottieHermet Park
10 daysEfl.Text.Attribute_FactoryAli Alzyod
Summary: Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface. Currently, we have two public methods: ``` void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format) unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end); ``` Other methods will be internal methods, for the time being, we will redesign internal methods Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10646
11 dayseo: add missing move tagYeongjong Lee
`efl_access_action_actions_get` the list is created by `eina_list_append` `efl_ui_format_values_set` the accessor is freed in that function. `efl_ui_format_values_get` The accessor is created by `eina_inarray_accessor_new` `efl_core_command_line_command_access` The accessor is created by `eina_array_accessor_new` Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10720
11 dayseo: add move tag to iteratorYeongjong Lee
It is impossible to reuse iterator after `EINA_ITERATOR_FOREACH`(`eina_iterator_next`). E.g. ``` eina_init(); eina_file_dir_list("/home/", EINA_FALSE, _print_cb, NULL); it = eina_file_ls("/home/"); EINA_ITERATOR_FOREACH(it, f_name) { printf("%s\n", f_name); eina_stringshare_del(f_name); } EINA_ITERATOR_FOREACH(it, f_name) { printf("Again %s\n", f_name); eina_stringshare_del(f_name); } eina_iterator_free(it); ``` `Agian ...` is never printed. Therefore, iterator always need `@move` tag to avoid unexpected behavior without any error message. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10719
11 daysMerge branch 'master' into devs/hermet/lottieHermet Park
12 daysefl_ui_multi_selectable: clean this upMarcel Hollerbach
this commit merges common functions from efl_ui_multi_selectable and efl_ui_multi_selectable_async. Additionally, the two different aspects of accessing the elements in a multi_selectable widget (numerical or object based) are now abstracted into interfaces called range_numeric and range_object. numeric APIs are also prefixed with id's, so its possible for one widget to implement both (if there will ever be the demand to do that in future). The main reason for this split is: - there is no good common path between mvvm based multi_selectable and object based multi_Selectable, so there is no way that both sides would benefit, without the other one suffering. - If we find later on the demand to implement both on one widget, we now can fully do that - Common API is available for both types, so its less API and less confusion for the API user. ref T7871 ref T8265 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10675
12 daysMerge branch 'master' into devs/hermet/lottieHermet Park
2019-11-22efl_ui_internal_text_interactive: fix undefined symbol issueWooHyun Jung
Summary: This fixes an issue from d7352f4db41dc8975eaeb3f79dff326338a5a63c. Reviewers: segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10725
2019-11-22efl_ui_table: modify comparing logicWonki Kim
Summary: pad.h/v are integer varaibles, and also parameters h/v are too. so that it is not needed to compare them like they are floating pointer. Reviewers: bu5hm4n, segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10722
2019-11-22Efl.Text.CursorAli Alzyod
Summary: Implementation of new cursor text object. This Patch Contains : 1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor => there are some modifications on cursor methods 2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces 3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory 4- Add main cursor property into efl.text.interactive 5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface) There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement. ``` enum @beta Efl.Text.Cursor_Move_Type { [[Text cursor movement types]] char_next, [[Advances to the next character]] char_prev, [[Advances to the previous character]] cluster_next, [[Advances to the next grapheme cluster]] cluster_prev, [[Advances to the previous grapheme cluster]] paragraph_start, [[Advances to the first character in this paragraph]] paragraph_end, [[Advances to the last character in this paragraph]] word_start, [[Advance to current word start]] word_end, [[Advance to current word end]] line_start, [[Advance to current line first character]] line_end, [[Advance to current line last character]] paragraph_first, [[Advance to current paragraph first character]] paragraph_last, [[Advance to current paragraph last character]] paragraph_next, [[Advances to the start of the next text node]] paragraph_prev [[Advances to the end of the previous text node]] } move { [[Move the cursor]] params { @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]] } return: bool; [[True if actually moved]] } ``` or old way: ``` char_next { [[Advances to the next character]] // FIXME: Make the number of characters we moved by? Useful for all the other functions return: bool; [[True if actually moved]] } char_prev { [[Advances to the previous character]] return: bool; [[True if actually moved]] } char_delete { [[Deletes a single character from position pointed by given cursor.]] } cluster_next { [[Advances to the next grapheme cluster]] return: bool; [[True if actually moved]] } cluster_prev { [[Advances to the previous grapheme cluster]] return: bool; [[True if actually moved]] } // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character. paragraph_start { [[Advances to the first character in this paragraph]] return: bool; [[True if actually moved]] } paragraph_end { [[Advances to the last character in this paragraph]] return: bool; [[True if actually moved]] } word_start { [[Advance to current word start]] return: bool; [[True if actually moved]] } word_end { [[Advance to current word end]] return: bool; [[True if actually moved]] } line_start { [[Advance to current line first character]] return: bool; [[True if actually moved]] } line_end { [[Advance to current line last character]] return: bool; [[True if actually moved]] } paragraph_first { [[Advance to current paragraph first character]] return: bool; [[True if actually moved]] } paragraph_last { [[Advance to current paragraph last character]] return: bool; [[True if actually moved]] } paragraph_next { [[Advances to the start of the next text node]] return: bool; [[True if actually moved]] } paragraph_prev { [[Advances to the end of the previous text node]] return: bool; [[True if actually moved]] } ``` Reviewers: woohyun, tasn, segfaultxavi Reviewed By: woohyun Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22Merge branch 'master' into devs/hermet/lottieHermet Park
2019-11-21elm/hoversel: Recalculate items before box calculate.JunsuChoi
Summary: After the item is packed into the box, the min of the item can be initialized with content_set working. content_set calls parent_set and checks the theme when calling parent_set. At that time, if theme is changed in the parent of layout using hoversel, call theme_apply(efl_ui_layout) to make min value 0, 0. This patch can avoid it. Test Plan: N/A Reviewers: YOhoho, Hermet, woohyun, zmike, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10712
2019-11-21Merge branch 'master' into devs/hermet/lottieHermet Park
2019-11-20efl_ui_spotlight_manager stack: move away from player objectMarcel Hollerbach
with this commit we move from using the player object to using the mixin that was introduced a few commits before. The new mixin is way easier to use here, we safe a lot of code, we also only need 1 object instead of 4. (And overall, everything just gets sooooo much more easier). Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10637
2019-11-20Unify "animated" flagsXavi Artigas
There exist several flags to indicate whether an object should be animated, with inconsistent names: Efl.Canvas.Layout.animation: bool indicating if Edje animations should be played Efl.Ui.Spotlight_Manager.animation_enabled: bool indicating if page transitions should be animated Efl.Canvas.Animation_Player.animation: Efl.Canvas.Animation object This commit unifies all of them: "animated" is now a flag, and "animation" is an object. Note: Animation_Player is in the process of being replaced by an "animation" property in the Efl.Canvas.Object, hence the need for non-clashing animation flags. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10645
2019-11-20Merge branch 'master' into devs/hermet/lottieHermet Park
2019-11-19slider: fix behavior of slider when mirroredBowon Ryu
Summary: The vertical slider(!horizontal) should not be inverted when mirrored. This patch fixes and cleans up this. Test Plan: elementary_test -to slider elementary_test -to efl.ui.slider UI-Mirroring on/off and observe vertical slides. Reviewers: woohyun, cedric, bu5hm4n Reviewed By: woohyun Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10693
2019-11-19Merge branch 'master' into devs/hermet/lottieHermet Park