Commit Graph

19847 Commits

Author SHA1 Message Date
Marcel Hollerbach 389dbd2524 efl_ui_position_manager_list: support odd even styles
this was simply forgotten, but was part of the previous widget, so this
fixes the missing widget.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9846
2019-09-10 09:10:10 +02:00
Daniel Kolesa 267c57d0f1 eolian: remove second parameter for eolian_type_c_type_get
This has been replaced by newer APIs.
2019-09-09 18:26:49 +02:00
Lauro Moura 165921ec04 eolian_cxx: Add support for @by_ref
Summary:
It will coexist with `eolian_type_is_ptr` while we phase out the latter.

Fixes: T8211

Depends on D9866

Reviewers: q66, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9867
2019-09-09 18:10:02 +02:00
Mike Blumenkrantz 1148ab3393 docs: fix invalid $class reference to use @class
Summary: ref T7717

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_docs

Maniphest Tasks: T7717

Differential Revision: https://phab.enlightenment.org/D9876
2019-09-09 16:03:05 +02:00
Marcel Hollerbach 3d03d4031d build: fix disabling of audio
Summary: this supports disabling audio building in efl.

Reviewers: tasn, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9873
2019-09-09 09:17:30 -04:00
Daniel Kolesa 4ec5760771 evas_filter_parser: add a workaround for in-tree runs
Without this, the prefix would get pointed to something like
/path/to/efl/build/share/evas, which is not a valid path when
building. That would cause the docs build to fail.
2019-09-09 15:12:47 +02:00
Marcel Hollerbach e25a56077c efl_ui_position_manager_list: fix return on viewport changes
Summary:
we also need to return here when the position is not the same, or we are
going to place items in the wrong spot.

Reviewers: segfaultxavi, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9869
2019-09-09 09:03:33 -04:00
Jaehyun Cho 1ecaf6fa02 efl_ui_spotlight: fix warning of implicit conversion of floating point
The result of integral division is converted into floating point.
To fix the warning by assigning the result to integer variable, type
cast is done.
2019-09-09 14:43:32 +09:00
Lauro Moura f6747d6822 eolian_cxx: Remove last usage of type_is_owned
Reviewers: q66, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9866
2019-09-07 00:57:14 +02:00
Mike Blumenkrantz acd9eb2466 efl_ui/box: restore previous behavior for passing null reference objects
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9865
2019-09-06 12:43:32 -04:00
Daniel Kolesa 3b540fc9f9 eolian: remove @owned keyword 2019-09-06 17:07:01 +02:00
Daniel Kolesa 4f4b58bf4c efl: change all occurences of @owned to @move 2019-09-06 17:01:05 +02:00
Daniel Kolesa 67c2a4f5f1 eolian: disallow duplicate entries in requires/composite sections 2019-09-06 16:58:49 +02:00
Marcel Hollerbach a0bd73f2e0 efl_ui_tab_*: enhance documentation
Summary: just a commit bringing more information.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9864
2019-09-06 16:32:56 +02:00
Marcel Hollerbach c963239086 efl_ui_tab_bar: do not perform insertion if existing is not added
same as the previous commit, just for efl_ui_tab_bar.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9862
2019-09-06 16:20:36 +02:00
Marcel Hollerbach fcd3d82c10 efl_ui_spotlight: do not perform insertion if existing is not added
same as the previous commit, just for spotlight.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9861
2019-09-06 16:20:35 +02:00
Marcel Hollerbach 9284418bea efl_ui_box: do not perform insertion if existing is not added
this was brought up recently and it is true that this should be fixed.
If existing is not registered in the container, then we should not
perform the operation at all.

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

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

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

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

ref T7991

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9813
2019-09-06 16:10:40 +02:00
Daniel Kolesa eb25e92770 eolian: change composite syntax from block to inheritance section
This makes more sense as these are related to inheritance tree.
Therefore, change while we still can.

Fixes T8183
2019-09-06 15:14:20 +02:00
Hermet Park 690dd5d33a ector: code refactoring.
Current vector drawing requires several methods for compositing,
it's shouldnt have only masking but other blending functions
such as matte in lottie, porter&duff in android, etc.

Previously we didn't specify this method name,
just reserved the options and now we started to define the methods
with ector_renderer_composite_method() with Efl.Gfx.VG_Composite_Method
instead of mask_set().
2019-09-06 17:56:02 +09:00
Yeongjong Lee ae29408b86 efl_ui_table: respect col,row span in last_position calculation
Summary:
col,row spen is needed to get correct last_position.

Thanks to segfaultxavi for refporting.

ref T8182

Test Plan:
https://git.enlightenment.org/tools/examples.git/tree/reference/c/ui/src/ui_container.c

Check that long button and small button are not overlapped.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8182

Differential Revision: https://phab.enlightenment.org/D9854
2019-09-06 09:38:40 +02:00
Yeongjong Lee 0c801b0d12 efl_ui_table: update recalc boolean in child delete callback
Test Plan:
1. elementary_test -to 'efl.ui.table (linear api)'
2. Click `Append` button 3 times.
3. Click `appended 6` button to delete
4. Click `Append` button.
5. Check that `appended 7` button position (1,1).

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9856
2019-09-06 09:28:55 +02:00
junsu choi 65be14db24 eldbus_proxy: Prevent dangling pointer. 2019-09-06 11:25:22 +09:00
junsu choi 35f188239a edje_edit: Prevent dangling pointer. 2019-09-06 11:08:59 +09:00
Lauro Moura 1e85548214 eolian_cxx: Replace type_is_owned with is_move
Summary:
is_owned is being replaced with the is_move family of functions.

This commit changes only the libeolian usage inside libeolian_cxx,
keeping the has_own naming in the generators for a simpler patch
during this freeze period.

Fixes T8199

Reviewers: q66, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, brunobelo, #committers

Tags: #efl

Maniphest Tasks: T8199

Differential Revision: https://phab.enlightenment.org/D9843
2019-09-05 20:05:19 +02:00
Vincent Torri 2225e05f78 evil: add newline at end of meson.build
Reviewers: cedric, raster, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9848
2019-09-05 12:32:17 -04:00
Xavi Artigas 88948eeab4 docs: minor tweaks to efl_io_model
This file's docs are far from complete but this idea had to be
written down before it was forgotten.
Also, TABS.
2019-09-05 17:01:02 +02:00
Carsten Haitzler e6d9ea7539 fix more edje file set breaks
if group does change unloaidng first is bad because of the same
reasons - losing swallowed etc. content. so disable entirely.
2019-09-05 14:33:00 +01:00
Carsten Haitzler a70808fb96 fix a bunch of breaks that having a blind file unload has brought
We can't blindly unload here - this loses swallowed content (in swallows,
boxes, tables etc.) ... this here along with an actual implementation of file
unload broke the pager in E for starters as shading then unshading (double
click titlebar) a window would lose the mini preview image obj swallowed in.
also fullscreening would do it. this also broke gadget bar, the xkb gadget in
it too and more... so this is a particularly bad thing break.

@fix
2019-09-05 14:24:21 +01:00
Christopher Michael ee0023055f ecore-wl2: Update doxygen for various functions
Small patch to update some missing doxygen parameter information.

ref T8014
2019-09-05 08:22:56 -04:00
Christopher Michael 1e7c079048 ecore-wl2: Fix formatting and remove duplicate EAPI
Fix some doxygen formatting issues and remove a duplicated EAPI in
front of function.

NB: No functional changes
2019-09-05 07:57:41 -04:00
Vincent Torri 9736541957 Evil: remove installation of header and pc files, remove from git Evil.h
this patch finishes to remove Evil public headers

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9847
2019-09-05 13:20:36 +02:00
Ali Alzyod f293701891 evas_textblock: apply coding convention
Reviewed-by: Tom Hacohen <tom@stosb.com>
Differential Revision: https://phab.enlightenment.org/D9819
2019-09-05 11:21:09 +02:00
abdulleh Ghujeh dd440c9f68 efl_ui_text: EFL_UI_EVENT_SELECTION_CLEARED not called
-Add a callback to ui_text for event EFL_UI_EVENT_SELECTION_CLEARED
-Select any text in the ui_text
-Clear selection by clicking any area by mouse or pressing arrows in keyboard
-The selection get cleared but the callback will never be called.

Reviewed-by: Tom Hacohen <tom@stosb.com>
Differential Revision: https://phab.enlightenment.org/D9771
2019-09-05 11:17:06 +02:00
abdulleh Ghujeh ab2132f8de efl_ui_text : Clear selection after past on selected text
{F3752242}Select part of a text and past a smaller text on it the selection will still there.

Reviewed-by: Tom Hacohen <tom@stosb.com>
Differential Revision: https://phab.enlightenment.org/D9766
2019-09-05 11:17:05 +02:00
Marcel Hollerbach 605d04a302 efl_ui_collection: use the correct min size hint
there are not enough size hints, we should add more!
I mixed up which size hints i should have used here, after some back and
forth it turns out that i should use the combined. This fixes the list
example.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9779
2019-09-05 11:17:04 +02:00
Hermet Park 7915aafedd canvas 3d: remove potential dangling pointer. 2019-09-05 18:09:36 +09:00
Hermet Park c703fba143 ethumb: fixed a potential dangling pointer.
fixed by null handling.
2019-09-05 18:08:12 +09:00
Mike Blumenkrantz 05b7e2b730 efl/widget: un-@protected style property set
this is needed for some cases and there isn't a specific reason to keep
it proected

fix T8100

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9803
2019-09-05 10:53:13 +02:00
Ali Alzyod 155f2f98af evas_textblock: fix compilation without harfbuzz
Differential Revision: https://phab.enlightenment.org/D9845
2019-09-05 10:33:24 +02:00
Ali Alzyod 7a05d8d769 elm_entry: handle cursor delete/backspace with clusters consist of one or multible glyphs
Summary:
Cluster consist of one glyph, expected to be removed on backspace or delete key.
Cluster consist of multible glyph, expectd to remove part of on backspace or delete key.

This is behaviour founded in Android. (our current way of handling similar to Qt)

**New Behaviour**
{F3750386}

**Old Behaviour**
{F3750387}

Test Plan:
Auto Testing is challenging because there are no easy way to emulate keyboard down on elm_entry
```
#include <Elementary.h>

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

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("", "");
   elm_win_autodel_set(win, EINA_TRUE);

   box = elm_box_add(win);
   entry = elm_entry_add(box);

   evas_object_size_hint_weight_set(box,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(box,EVAS_HINT_FILL,EVAS_HINT_FILL);

   elm_entry_entry_set(entry,"<font=NotoColorEmoji wrap=mixed >🇧🇬อั🇧🇬อั&#x1F600;&#x1F600;&#x1F600;&#x1F600;&#x1F600;อั</font>");
   evas_object_size_hint_weight_set(entry,EVAS_HINT_EXPAND,0.9);
   evas_object_size_hint_align_set(entry,EVAS_HINT_FILL,EVAS_HINT_FILL);
   evas_object_show(entry);
   evas_object_show(box);

   elm_box_pack_end(box,entry);
   elm_win_resize_object_add(win,box);
   evas_object_resize(win,320,480);

   evas_object_size_hint_weight_set(entry,EVAS_HINT_EXPAND,0.1);
   evas_object_size_hint_align_set(entry,EVAS_HINT_FILL,EVAS_HINT_FILL);

   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()

```

Reviewers: tasn, woohyun, bowonryu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9628
2019-09-05 14:52:51 +09:00
Vincent Torri 8dcd638829 Efreet_Uri: fix URI decoding when a Windows path (letter followed by :) is passed to efreet_uri_decode()
Summary: uri decoding returned a wrong URI when a Windows path is given

Test Plan: rage, which is using efreet_uri  is now playing files on Windows

Reviewers: raster, cedric, zmike, stefan_schmidt

Reviewed By: raster

Subscribers: stefan_schmidt, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9839
2019-09-04 20:09:44 +01:00
Marcel Hollerbach d794a0d3d9 efl_io_model: remove custom counting logic
Summary:
this logic brings a few problems:

- When files are annonced here, without the monitor having the context
of the files, immidiat actions like deletion of the file are resulting
in no deletion event. Which is definitly a bug, so we need to wait here
for the monitor.

- When a new count is annonced before the files are there from the
monitor, we are heading towards the same issue - additionally, we might
already have files available, due to the custom counting that are not
annoncned through the monitor, which means, at a later pointer we are
annoncing a new file which is already available via the API.

Right now i do not see a way to continue with this code, it caused major
issues with our CI and the POLL backend, for now things do work again.
Depends on D9624

Reviewers: zmike, stefan_schmidt, cedric, felipealmeida

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9625
2019-09-04 13:39:43 -04:00
Daniel Kolesa 917b5feb27 eolian: make sure to include by_ref in validation of expressions 2019-09-04 18:26:13 +02:00
Daniel Kolesa 6751f011c1 eolian: remove the expression eval_type API
This is unnecessary because for all contexts where type is
relevant the validator already makes sure the type and expression
match correctly, so you don't ever need to re-validate it. If you
are doing a generic case and are not sure, just use MASK_ALL.
2019-09-04 18:02:47 +02:00
Vincent Torri 0021d1386d fix parsing module path on Windows
Summary: only '/' path separator is used while on Windows it can also be '\\'. Fix rage and emotion_test play of videos

Test Plan: emotion_test plays videos while it didn't before this patch

Reviewers: raster, cedric, zmike

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9837
2019-09-04 16:44:56 +01:00
SangHyeon Jade Lee 4e379f5db4 Efl_Ui: Move elementary and change namespace Ui for ui related models
Summary:
Select and View is ui characteristic features,
so Efl_Select_Model and Efl_View_Model move to elementary from ecore
seems more natural.

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

Test Plan: run the test while building it

Reviewers: cedric, felipealmeida, bu5hm4n, zmike, lauromoura

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9820
2019-09-04 11:07:37 -04:00
Daniel Kolesa d7397aca4d eolian: proper error message for @by_ref on pointer types 2019-09-04 16:27:54 +02:00
Daniel Kolesa 0275ef0f33 eolian: add APIs to get full C types of parameters/returns/fields
These are needed because the type itself does not carry all the
information it needs to carry (particularly by_ref).
2019-09-04 16:27:54 +02:00
Hermet Park c5b88ca745 ector: add FIXME for coming issues.
We have no any test resouce but it seems very weird code...
Leave a comment for future task.
2019-09-04 20:03:05 +09:00
Hermet Park f90c8b8910 ector: fix a wrong target buffer size.
the target buffer is allocated by backend engine,
The buffer size must be specified with the stride, not the width.
It's real dimension can be different with the our request.
2019-09-04 20:03:05 +09:00
WooHyun Jung d61cf9df73 efl_ui_timepicker: change a property name (ampm -> is_24hour)
Summary:
For better understanding of the property, "is_24hour" looks
better than "ampm".

@ref T7901

Reviewers: zmike, segfaultxavi, bu5hm4n, kimcinoo

Reviewed By: segfaultxavi, kimcinoo

Subscribers: kimcinoo, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7901

Differential Revision: https://phab.enlightenment.org/D9811
2019-09-04 14:06:23 +09:00
Xavi Artigas a2f846bffc docs: Update focus documentation
Lots of improvements to the focus-related classes.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9828
2019-09-03 18:41:34 +02:00
Marcel Hollerbach a26efaeb57 efl_ui_position_manager_grid: honor NULL objects
its sometimes possible that there is a NULL object returned by the batch
call. We should not just access the NULL element. Additionally, if NULL
was returned during visibility setting, we need to set visibility here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9827
2019-09-03 18:36:25 +02:00
Marcel Hollerbach 36eff7ed82 efl_ui_grid_position_manager: recalculate max min size correctly
we are walking all the items anyways, so we can recalc the minsize here
anyways. Additionally, this pm was never tested with code that just
passes a set of items at data-access init time, without calling
item_added for each item. (Which is perfectly fine). With this commit
this is now perfectly possible,

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9826
2019-09-03 18:36:24 +02:00
Marcel Hollerbach d73190a0bf efl_ui_position_manager_list: skip cache calculation for not finalized
if we are not finalized yet, there is no reason to calculate the caches,
as this will be redone later on anyways.

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

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9825
2019-09-03 18:36:23 +02:00
Marcel Hollerbach b3aba63616 efl_ui_positon_manager_list: skip viewport size setting if its the same
this can be skipped.

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

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9824
2019-09-03 18:36:22 +02:00
Marcel Hollerbach 018ae84bbe efl_ui_position_manager_list: require cache here
the cache need to be required here, as we are going to access it later
on.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9823
2019-09-03 18:36:21 +02:00
Marcel Hollerbach 1511470127 efl_ui_position_manager_list: set visibilitly more often
it is possible that the object returned by the batching call is NULL.
That is valid, however, if the batching call for the visibility is
getting the NULL element, but the placement is getting the none NULL
element, then the item on screen will not be visible. This commit
ensures that those items will be visible.

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

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9822
2019-09-03 18:36:20 +02:00
Marcel Hollerbach 4617e5dcfb efl_ui_position_manager_list: error when we detect that sizes are wrong
when sizes are different to the cached size, then the displayed items
are out of order, or do not fill the whole viewport. This should not
happen. In case that this is detected, print an error.

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

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9821
2019-09-03 18:36:19 +02:00
Daniel Kolesa 99754341e7 eolian: add support for function pointers in utility APIs 2019-09-03 16:51:58 +02:00
Daniel Kolesa d9551af6e1 eolian: fix typos in function_return_is_by_ref 2019-09-03 16:51:58 +02:00
Taehyub Kim 10a5d83e83 elm_popup: calculate the label min size of popup before the popup group calculation
Summary:
consider the label min width size before the popup group calculation
@fix

Test Plan: 1. run elementary_test popup

Reviewers: Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9818
2019-09-03 19:47:02 +09:00
Xavi Artigas d1dbb791e8 docs: Update focus documentation 2019-09-03 11:46:52 +02:00
Mike Blumenkrantz 98da00cfd2 efl_ui/scroll_manager: make scroll direction changes more responsive with wheel
Summary:
if the wheel event being processed is in a different direction than the
existing scroll animation, drop the previous animation and immediately
begin scrolling in the opposite direciton

fix T8052

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8052

Differential Revision: https://phab.enlightenment.org/D9806
2019-09-03 09:35:36 +02:00
Xavi Artigas 6771ef63a2 Whitespace 2019-09-03 09:17:43 +02:00
Mike Blumenkrantz 121a437c4d api: remove Efl.Ui.Scroll_Block
Summary:
this now uses layout orient enum everywhere

fix T7921

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7921

Differential Revision: https://phab.enlightenment.org/D9804
2019-09-03 09:15:31 +02:00
Xavi Artigas dc05cbbee8 docs: Fix typos and wrap EO files to 120 chars
As per our style guide:
https://www.enlightenment.org/contrib/docs/eo-guide.md
2019-09-02 16:24:26 +02:00
Daniel Kolesa 0b6e8f71f1 eolian: move all tests to use the new @move syntax and API 2019-09-02 15:24:14 +02:00
Yeongjong Lee 48851138d7 efl_canvas_animation_player: delete previous target event callback
Summary:
When target is changed, its event callback related `animation_player` should be
deleted.

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9814
2019-09-02 20:55:51 +09:00
Pankaj Kumar 333d5f081d evas_vg: fix alpha animation bug in case of partial update
Summary:
Prerequisite: Partial rendering ON + Evas VG content set in elm_layout + color/alpha animation of layout

It seems that expected clip rects were not merged when color change was taking place on vg object.

@fix
2019-09-02 19:38:48 +09:00
Xavi Artigas c7c535cee8 docs: Switch remaining #doxygen-style refs to @eo-style 2019-09-02 11:57:27 +02:00
Daniel Kolesa bf58531dba eolian: fix validation of ownability with hashes 2019-08-31 14:11:48 +02:00
Daniel Kolesa fdc85f895d eolian: properly handle non-beta restriction of __undefined_type 2019-08-31 14:02:20 +02:00
Daniel Kolesa 3e22ac3e1c eolian: always validate inner types of complex types for @move 2019-08-31 02:14:04 +02:00
Daniel Kolesa 242bad209b eolian: add API to check if an inner type of complex type is @move
This complements the equivalent APIs of parameters and so on.
It is not the same as the older type_is_owned API, which applied
to everything.
2019-08-31 02:13:59 +02:00
Daniel Kolesa 5e5bfc70e5 eolian: refactor ownability validation to accommodate new syntax
This refactors ownability checks so that they're only performed
in contexts where @move can be specified, which both helps
with performance and enables later removal of ownability info
from types themselves.
2019-08-31 01:58:19 +02:00
Daniel Kolesa b1d147abf4 eolian: validate @by_ref correctness
The @by_ref qualifier can only be used with value types, to
guarantee exactly one level of pointers.
2019-08-31 01:58:19 +02:00
Marcel Hollerbach 333a070915 efl_ui_collection: prevent the invalid insertion of items.
Summary:
the group hirachy that you can build up with group items is flattend
down in the collection, as a linear list. Based on that a user might be
able to insert items at invalid positions, like between groups, without
having set the proper group item, which ... is a problem.

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

Reviewers: stefan_schmidt, zmike, segfaultxavi, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9778
2019-08-30 14:50:32 -04:00
Mike Blumenkrantz 6f68e32737 efl_ui/pan: remove pan,viewport,changed event
Summary:
this is just a duplicate of entity geometry changed events, users of
pan should just use those instead

ref T7708
Depends on D9791

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9792
2019-08-30 14:48:14 -04:00
Mike Blumenkrantz 25a9a91eb2 efl_ui/pan: only emit size change event on pan content size change
Summary:
changing the size of the pan content does not require that the pan
position also changes, so let users of pan sort this out using the correct
events

ref T7708
Depends on D9790

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9791
2019-08-30 14:48:09 -04:00
Mike Blumenkrantz 7142acd19c efl_ui/pan: add position info to pan,content_position,changed event
Summary:
changed events should always send the related data when possible

ref T7708
Depends on D9789

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9790
2019-08-30 14:48:04 -04:00
Mike Blumenkrantz e50cf9b2a2 efl_ui/pan: add pan,content_size,changed event
Summary:
this is a shortcut so pan users don't have to manually hook the content
resize event
Depends on D9788

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9789
2019-08-30 14:47:58 -04:00
Mike Blumenkrantz ba0cd5d23d efl_ui/pan: rename pan,position,changed -> pan,content_position,changed
Summary:
the pan object is not changing its position, it's moving the content

ref T7708
Depends on D9787

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9788
2019-08-30 14:47:52 -04:00
Mike Blumenkrantz 23220764e2 efl_ui/pan: remove pan content,changed event
Summary:
this was being emitted as a catch-all for pan changes, where something else
should have been monitored/used instead

ref T7708

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9787
2019-08-30 14:47:46 -04:00
Shinwoo Kim 228bed4c8c evas_filter_parser: remove dereferenced NULL
Summary:
This is detected by static analysis tool.
The variable last could be NULL when it is dereferenced.

Reviewers: Hermet, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9796
2019-08-30 14:47:22 -04:00
Carsten Haitzler 41a9ce67a9 elm sel mgr - remove event handlers when no drop targets are left
case left over that this didnt handle right and this breaks e's dnd
once a file preview popup appears.

@fix
2019-08-30 18:19:15 +01:00
Mike Blumenkrantz 1ca07b72da efl_ui/popup: timeout -> closing_timeout
simple property rename

ref T7902

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9801
2019-08-30 19:15:10 +02:00
Xavi Artigas 2ce877d914 docs: Proper documentation for Collection and Item classes
Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl, #documentation

Differential Revision: https://phab.enlightenment.org/D9798
2019-08-30 18:39:06 +02:00
Daniel Kolesa 7dc7cbf076 eolian: add API to expose the new @move and @by_ref tags 2019-08-30 17:09:31 +02:00
Daniel Kolesa fbcad90fec eolian: add parsing for @move and @by_ref
The @by_ref qualifier is now allowed on parameters, returns and
struct fields in the usual qualifier section. It will mean that
this type is passed around by reference, and will only be allowed
on types that are not already pointer-like.

The @move qualifier will replace @owned as one with a clearer
meaning. It means "transfer of ownership". It has the same semantics
as the current @owned, i.e. on return values it transfers ownership
of the value to the caller, on parameters it transfers ownership
to the callee (the inverse is the default when not specified).
On struct fields, it means the field will transfer together with
the struct that contains it.
2019-08-30 16:22:20 +02:00
Bowon Ryu bbd213bcfb elm_entry: add null check logic on elm_entry_text_set API
Summary: If current_text is NULL, a segmentation fault is occured.

Test Plan: N/A

Reviewers: cedric, Hermet, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9780
2019-08-30 08:47:19 -04:00
Carsten Haitzler d6156d23d8 eio - don't call cb's after a cancel
i saw a segv in e/efm .. an eio call was called after it had been
canceled. this should never happen. ever. so ensure it does not once
an eio file has been canceled.

@fix
2019-08-30 12:43:24 +01:00
WooHyun Jung 0e82fa3f40 efl_ui_datetime: change min/max to date_min/date_max
Summary:
To keep consistency with other classes, change the property name
properly.

@ref T7869

Reviewers: zmike, segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7869

Differential Revision: https://phab.enlightenment.org/D9797
2019-08-30 12:10:44 +02:00
Hermet Park 9a4b6728d5 ector gradient: ++ optmization.
we know what size will be used for every span,
this graident buffer will be overwritten with new one,

So it doesn't need to clear every spans.
2019-08-30 17:15:06 +09:00
Hermet Park e4b9807ee3 ector: remove unnecessary blending processing.
gradient buffer in masking doesn't need to apply anti-aliasing
since it would be taken by masking buffer.

This also fixes memory overflow case if the tbuffer is lack of size.
2019-08-30 13:44:56 +09:00
Hermet Park 17320a1318 ector: code refactoring.
just renamed internal variables, no logical changes.
2019-08-30 13:44:56 +09:00
subhransu mohanty 5370c2e795 edje/optimization: refactor edje_color_class_set() api.
Summary:
During _elm_config_color_overlay_apply() application can call this api
100's of time depending on how many overlay it wants add . As each color_class
set triggers the global color class apply chain 3 times (for color , outline and shadow)
just club them once and emit single color_class,set event.

Reviewers: Hermet, ali.alzyod, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9784
2019-08-29 14:31:52 -04:00
subhransu mohanty 35e385a1ec edje/style: append file prefix to textblock_style api that affects on file level
Summary:
All those api's are working on the Edje_file level so by appending the file prefix
and changing the argument to Edje_File leads to easy maintainability.

Depends on D9776

Reviewers: Hermet, ali.alzyod, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9777
2019-08-29 13:21:11 -04:00
Marcel Hollerbach f442bdb3ee elm_systray: add back beta constructor
Summary:
1/2 year  ago we have removed the automatic generation of legacy
headers. In this go we also removed the installation of legacy eo beta
APIs, as they definitly should not be used. However, there is the legacy
systray API which does not depend directly on eo. Apps could use this
before due to specifying the BETA define, now they only can call the
API, but cannot construct the object they need. This adds this back
under the beta tag, so those apps can continue working.

I am not sure myself if i like the commit or not, its a beta thing, why
should we fix it. However, Its quite a easy thing to add such a
constructor method for us, and enables app to continue working.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: jf_simon, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9757
2019-08-29 13:21:11 -04:00
Carsten Haitzler decdec3a8f elm config - add config api's to set desktop style entry flag/mode 2019-08-29 17:35:02 +01:00
Mike Blumenkrantz 9e0a285eea efl: implement efl.file::unload for classes that implement load
unload is a crucial method for classes that implement load, as this is
the method which is called during e.g., efl_file_simple_load() when
a new file is specified in order to destroy the previous object data

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9786
2019-08-29 17:17:08 +02:00
Mike Blumenkrantz 0ef9228e5f efl_ui/alert_popup: always create button layout
this can be safely done in the constructor without issues now

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9785
2019-08-29 17:17:07 +02:00
Lauro Moura a14fb05395 mvvm: Fix Layout_Factory property bound event
We should keep the key alive at least until the `property,bound` event
is emmitted.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9759
2019-08-29 15:30:40 +02:00
Marcel Hollerbach c0847bb221 fix build: remove deleted header file
- sorry.
2019-08-29 15:30:39 +02:00
Daniel Kolesa 66b0555f59 eolian: disallow legacy keyword in enums in stable api
This also marks a bunch of users of that as beta, as they were
effectively beta.
2019-08-29 15:06:08 +02:00
Daniel Kolesa 54d9700566 eolian: reverse keywords '@transfer' and '@by_ref'
The '@transfer' keyword is a clearer replacement for '@owned'.
It will be specified on params/returns/... to specify that
ownership will be transferred between caller/callee.
2019-08-29 15:06:08 +02:00
Marcel Hollerbach 7f94410a90 efl_ui_tab_pager: make this compatible with Efl.Pack_Linear test suite
the testsuite now is happy with the behaviour in there. Additionally,
the internals are cleaned up, fields that are not used anymore are
deleted, and the logic maintaining them as well.

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9732
2019-08-29 14:42:46 +02:00
Marcel Hollerbach 3cc427234e efl_ui_tab_pager: remove the setter for tab_bar
the setter of the tab_bar here is quite useless. If you set it after
something else was set, the item situation is not clear anymore, there
is more in the spotlight than in the bar. You cannot use the widget
without tab bar. So the logical consequence for me was that the pager
create the tab bar by itself, and you can just access it via a getter.

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

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9730
2019-08-29 14:42:43 +02:00
Marcel Hollerbach 3c317618e5 efl_ui_tab_bar: implement efl.ui.single_selectable
this is for now the simples way IMO, the one or another implementation
thing in efl_ui_tab_pager is a little bit clumsy, but that should be
able to be improved once Efl.Pack_Linear is implemented.

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9729
2019-08-29 14:42:42 +02:00
Marcel Hollerbach f52a0b25f3 efl_ui_tab_page: remove part
I introduced the property for item a few patches earlier. I do not want
to use a part for this, as i would have to implement the class twice
(Once in the part, once as a selfstanding object).
It would also be kind of weird to have code like:
efl_content_set(efl_part(efl_part("item"), "tab"),bla).

The purpose of this part also got a little bit replaced when the item
was introduced, as this is the central point of data for the tab bar
icon. So need for an additional editition part.

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9728
2019-08-29 14:42:41 +02:00
Marcel Hollerbach 3c4a870910 efl_ui_tab_bar: remove update event
Summary:
before the previous commit this was used to update the tab_bar icon.
However, this is not needed anymore, as the item stuff can directly be
updated. So I do not see a reason for this event anymore.

Reviewers: zmike, segfaultxavi, cedric, woohyun, bowonryu

Reviewed By: woohyun

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9727
2019-08-29 21:31:24 +09:00
Marcel Hollerbach 784de4d471 efl_ui_*_default_item: improve docs
Summary:
ref T7717
Depends on D9782

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7717

Differential Revision: https://phab.enlightenment.org/D9783
2019-08-29 14:15:26 +02:00
Marcel Hollerbach 4a53f24dd8 efl_ui_grid/list: update single class doc
Summary:
its not much more, but a little bit. All other information about the
features in this widget can be found via the implemented interfaces.

ref T7881
ref T7870

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7881, T7870

Differential Revision: https://phab.enlightenment.org/D9782
2019-08-29 14:15:26 +02:00
Marcel Hollerbach ef3d88dfc9 introduce efl_ui_tab_bar_default_item
Summary:
Tab bar used a direct layout to implement all this functionality by its
own. However, it seems that we can reuse a lot of object functionality
that is already part of efl.ui.item. With this commit the features that
are not part of Efl.Ui.Item are moved to Efl.Ui.Tab_Bar_Default_Item.

The tab bar is changed in a way that you do not need to pass the icon
and label by hand anymore, you can rather just pass the tab_bar default
item. Additionally, the item for a tab_page can now directly be
generated from a page.

This is the first commit in order to cleanup efl_ui_tab_bar, tab_page &
tab_pager. The goal is also to implement our interfaces for inserting
elements on those objects. So our common test suites can also be used.

Reviewers: zmike, segfaultxavi, cedric, woohyun, bowonryu

Reviewed By: woohyun

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9726
2019-08-29 21:07:48 +09:00
Daniel Kolesa 9c018613ee eolian: drop @cref
In the end this was just a failed experiment that didn't turn
out to be practical. For now, revert back to ptr(const(T)) until
a proper replacement for pointer syntax is added.
2019-08-29 13:58:16 +02:00
Ali Alzyod f7cfd0f833 evas_textblock: allocator use same heap if it is large enough
Summary:
allocator use same heap if it is large enough

I am also think to move this struct/functionality into common place, I think we can use it in other parts too

Reviewers: smohanty, Hermet, bowonryu, SanghyeonLee

Reviewed By: smohanty, SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9770
2019-08-29 18:44:24 +09:00
Marcel Hollerbach d445e5240b efl_ui_radio_group: migrate to Efl.Ui.Single_Selectable
with this the whole thing is migrated to single_selectable. The group is
added to the spec test suite. The elm_test case of radio_group now also has
a fallback option to demonstrate the usage of it.

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

ref T8024

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9706
2019-08-29 08:29:58 +02:00
Marcel Hollerbach c6e338bb9a efl_ui_layout: remove efl.end
someone decided it should be named efl.extra, the previous commits are
ensuring that.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9773
2019-08-29 08:29:57 +02:00
Hermet Park d723adf1ee Edje: ease the warning level.
We already take care the case, it's not so serious as to error.
2019-08-29 14:34:43 +09:00
subhransu mohanty e2663ba8f3 edje/style/optimization: Enable lazy computaion of styles.
Summary:
As user request for the evas_textblock_style through _edje_textblock_style_get()
api and that api implements lazy computation of the styles. By just marking the
style dirty (stl->cache=false) will be enough. no need to calculate the style
computaion at that time.

Reviewers: Hermet, ali.alzyod, kimcinoo, woohyun

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9776
2019-08-29 14:32:28 +09:00
subhransu mohanty 5f70cacd92 edje/textblock: Added edje_textblock_style_get() api.
Summary:
Now all textblock_style functionality are wrapped under api
for easy of optimization. so going forward no one should directly
acess the styles from the File . the styles should be acesses by
the internal api's provided by edje_textblock_style.

Reviewers: Hermet, ali.alzyod, woohyun, kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9774
2019-08-29 11:35:24 +09:00
SangHyeon Jade Lee 14f9782a81 efl_ui : add efl.extra part as layout swallow part list.
Summary:
efl.extra part is extra part of the layout swallow,
which can be generally used on overall layout object.
To be supported layout part infrastructures,
add efl.extra on layout_swallow_part[] list.

Depends on D9233

Reviewers: cedric, bu5hm4n, zmike, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9316
2019-08-29 10:21:39 +09:00
WooHyun Jung cfc1d3d38b efl_object: set @beta to name_find
This property should not be used by application developers
with current status.
There is no way to trace child objects from parents, because
many codes are internally calling efl_parent_set.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9768
2019-08-28 18:08:32 +02:00
Xavi Artigas d98c2a5c3e Efl.Pack.Layout docs: remove refs to protected methods from public methods 2019-08-28 11:18:06 +02:00
Marcel Hollerbach f951ba5076 eolian_aux: this must be recursive
Summary:
in order to get all callables, this must be recursive, otherwise deeper
callables are forgotten.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9421
2019-08-28 10:20:49 +02:00
subhransu mohanty 4b511671de edje: refactor _edje_object_file_set_internal() part 2.
Summary:
- split functionality into smaller helper class
  _edje_process_colorclass() , _edje_process_sizeclass() and
 _edje_process_physics() for easy redability and maintenance.

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9764
2019-08-28 16:23:55 +09:00
junsu choi ce62dbc1c0 efl_canvas_vg_object/evas_object_vg: Change to legacy naming rule.
Summary:
   Enum and object decleared in efl_canvas_vg_object_eo.legacy.*
   use Efl_Canvas_Vg_* nameing rule.
   This skips the definition of type declared in Efl.Canvas.Vg.Object class.
   So change these to legacy names.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9718
2019-08-28 14:09:13 +09:00
subhransu mohanty d7d9ed856f edje/style: remove dead code.
Summary: leftover from last refactoring.

Reviewers: Hermet, ali.alzyod

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9763
2019-08-28 14:07:05 +09:00
subhransu mohanty 4b2403d80c edje: refactor _edje_object_file_set_internal() function
Summary:
move the file related function to edje_cache so that code
is easy to read and maintainable and we don't have to do unnecessary
stuff for each edje object creation.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9761
2019-08-28 13:18:42 +09:00
Marcel Hollerbach 53739890ce efl_ui_position_manager: refactor data access
before data access has been a property on
Efl.Ui.Position_Manager.Entity. However, we are not sure how stable all
this will be, and maybe we have the demand to change that in future, in
order to allow more high-performance item passing here.

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

ref T8179

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

@ref T7893

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9720
2019-08-27 15:35:01 +02:00
Shinwoo Kim cfc0d4866c efl_ui_widget: keep backward compatibility
It was possilbe to add an image with improper parent object before aa2d94f and
56752e0. This patch makes it possible. Sure there are error messages when user
adds an image object using non widget object as below but you can see image.

ERR<28822>:elementary ../src/lib/elementary/efl_ui_widget.c:4801 _efl_ui_widget_efl_object_constructor() You passed a wrong parent parameter (0x400000007ced (null)). Elementary widget's parent should be an elementary widget.
ERR<28822>:elementary ../src/lib/elementary/efl_ui_widget.c:4803 _efl_ui_widget_efl_object_constructor() No widget data for object 0x400000007ced ((null))
ERR<28822>:eina_safety ../src/lib/elementary/efl_ui_win.c:9450 efl_ui_win_shared_data_get() safety check failed: pd == NULL
ERR<28822>:eo ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in src/lib/elementary/efl_ui_widget.eo.c:256: func 'efl_ui_widget_sub_object_add' (698) could not be resolved for class 'Evas.Canvas'.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9747
2019-08-27 15:02:32 +02:00
subhransu mohanty 05ea1854a9 edje/load: pass Edje_File instead of Edje to _edje_extract_mo_files()
Summary:
Why :
1. The function operates on the Edje_File level not on Edje object
   level , so express it clearly in the function argument.
2. if its clear that this function works on file level then
   this should be called when the theme file loaded for the first time
   not on every Edje object creation.

Reviewers: Hermet, zmike, raster, cedric

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9753
2019-08-27 08:04:43 -04:00
Shinwoo Kim e22e7481b1 efl_ui_bg: make legacy bg use legacy image
Summary:
The legacy bg object has added a non-legacy image object internally.
The non-legacy image object caused an unexpected inconsistent behavior
and result in common widget logic because it is not true for the line
using elm_widget_is_legacy function in efl_ui_widget.

Reviewers: woohyun, Jaehyun_Cho, SanghyeonLee, YOhoho, Hermet, jsuya, devilhorns, zmike

Reviewed By: zmike

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9746
2019-08-27 07:49:18 -04:00
subhransu mohanty fcc235b329 edje/optimization: replace eina_list with eina_array.
Summary:
We were creating 3 eina_list and destroying inside a for loop.
replace that with creating a single eina_array at start and use
eina_array_clean() function ro reuse the array.

Reviewers: Hermet, zmike, cedric, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9745
2019-08-27 07:42:14 -04:00
Wonki Kim 979757c845 eina_vpath: add null checking logic on vpath_resolve api
Summary:
there is a patch that add vpath_resolve() call before eina_file_open()
because `path` arg could be NULL, the patch kills some applications.
this patch add null checking logic on vpath_resolve api

Reviewers: bu5hm4n, cedric, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9748
2019-08-27 20:25:02 +09:00
Wonki Kim 4c489d5a2e eina_list: fix to check a null argument
Summary:
data should be checked regardless of EINA_MAGIC define,
because it is dereferenced in the following logic.

Reviewers: cedric, bu5hm4n, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9750
2019-08-27 20:23:29 +09:00
Yeongjong Lee 9c52484caf efl_pack_table: rename table_position to cell_column, cell_row
Summary:
Rename ambiguous `table_position` property. it is actually related to child
column, row.

ref T7900

Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7900

Differential Revision: https://phab.enlightenment.org/D9611
2019-08-27 12:57:35 +02:00
Hermet Park 4d84794f1c evas events: fix corrupted mouse events behavior on mapped object.
Summary:
This fixes an issue that inproper mapped object in/out events triggering.
The previous mouse event logic didn't care the transformed cooridates
if a child object belongs to a mapped parents in its hierarchy.

When checking the object boundary for the child on mouse moving,
it must consider if the child were belonged to the mapped parent space.

Plus, this improves the coordiates to be transformed properly for the prev cooridates,
So that user could compare cur/prev cooridnates properly in the same space
in its events callbacks.

@fix

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9751
2019-08-27 19:49:42 +09:00
Xavi Artigas ce2fcda1e2 Efl.Gfx.Image docs: whitespace and wording. 2019-08-26 17:25:10 +02:00
Carsten Haitzler d4c123d360 efl loops/threads - by defaylt tasks (exe and threads) exit with parent
this also defers parent exit until all children exit and will wait
around looping until those children do report back with exited status
etc. - this meay mean some hangs for badly written/blocking apps that
have efl thrrads that refuse to exit. a slight policy change also
means that by default thread objects also get auto-deleted whent hey
report back exit codes etc. which leads to less code if you don't care
about this.
2019-08-26 14:19:30 +01:00
Marcel Hollerbach 634ebfeaf1 efl_ui_collection: honor desktop vs. touch setting of elm config
with this commit we do desktop-like selection on desktop systems:
- Multiselect with CTRL pressed
- Normal single selection if no CTRL is pressed
on touch devices this is simple on/off selection:
- click to add it to multiselect
- click to remote it from mutliselect

ref T8057

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9664
2019-08-26 14:42:54 +02:00
Marcel Hollerbach fea6dc6a55 efl_input_clickable: add a flag for showing user interaction
this flag can be used to indicate that a user activly interacted with
this widget.

ref T7893

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9663
2019-08-26 14:42:52 +02:00
Marcel Hollerbach 43edd17f41 efl_ui_single_selectable: add properties and events
this commit adds 2 new features, a new event and a new property

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

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

ref T8057

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

ref T8057

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9660
2019-08-26 14:42:48 +02:00
Marcel Hollerbach c467dc6e81 efl_ui_item: add keybindings for selecting changes
This started as a small commit, when pressing enter -> set the item as
selected.
However, it was a bit more complex, it seems that there was never config
update code to copy bindings into the user profile. Which lead to the
fact that you are missing a lot of keyboard related features if you
havnt wiped your config in the last 1-2 years. For me keybindings for
Efl.Ui.Scroller Tab_Bar Image_Zoomable (Item) have been missing and were
never inserted. WHich is a problem for a user just constantly updating.

For now i created a function that copies over the bindings from the
system config, and they are merged into the user config. Intentional
leaving our of keybinding structs for a user-config will result in them
beeing merged again on the next config update. If you want to get rid of
key bindings as a user you can just keep the empty struct, which is the
signal for "i know what i am doing, i do not want to have them". The
problem that the system config is partly invalidated (due to moving the
key bindings struct to the user config), is fixed due to the fact that
the config is reloaded after that.

This function should be called everytime someone updates the config in
regards of the keybindings.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9723
2019-08-26 14:42:47 +02:00
Marcel Hollerbach c947485bd0 efl_ui_item: only fetch multiselection state if this is relevant
there are cases where the container does only implement single
selection, when then just asume implicitly single mode here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9722
2019-08-26 14:42:46 +02:00
subhransu mohanty 02b63b8260 edje/cache: Refactor _edje_cache_file_coll_open()
Summary:
This function does lot of things
- can be called only to load the file (by passing coll as null)
- can be called to load both file and open the collection from the file.
- handles the file_cache logic
- handles fixing the collection after reading from file.

this patch is targeting to split the responsibility to
smaller function for easy maintenance and code readability.

future patch to follow for splitting the file opening and collection
opening to two different function.

Reviewers: Hermet, raster, cedric, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9715
2019-08-26 08:31:08 -04:00
sub.mohanty@samsung.com 5bd95c9850 eina/array: added eina_array_find() api to eina_array.
Summary: updated test suite for testing the api.

Reviewers: zmike, Hermet, cedric, segfaultxavi

Reviewed By: zmike, segfaultxavi

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9734
2019-08-26 08:31:08 -04:00
Hermet Park c6b52d4f09 canvas map: remove logically dead code.
the value was overflow, reduce its size.
2019-08-26 19:30:06 +09:00
Hermet Park 42a7aae58c canvas map: code refactoring.
remove dead code that unreachable looping.
2019-08-26 19:23:43 +09:00
Taehyub Kim d53e46d76f efl_ui_format: add null checking codes for eina_strftime in _do_format_string function
Summary: efl_ui_format: add null checking codes for eina_strftime in _do_format_string function

Reviewers: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9735
2019-08-26 14:52:28 +09:00
subhransu mohanty e742bf67e4 edje/style: optimize style_update function.
Summary:
If the style is readonly then we know for sure it dosen't have any text_class/color_class.
If a style has text_class tag then call update only once not for each text_class tag it has.

Reviewers: ali.alzyod, Hermet, cedric, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9641
2019-08-26 14:22:43 +09:00
Marcel Hollerbach de183719b3 efl_ui_spin_button: rename editable to direct_text_input
Summary: as suggested in T8097.

Reviewers: cedric, zmike, woohyun

Reviewed By: woohyun

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9707
2019-08-26 14:21:10 +09:00
Carsten Haitzler 2f534b0256 efreet - make efreet launch timeout configurable by env var
also report as an ERR explicitly if its a timeout.
2019-08-25 11:24:54 +01:00
Carsten Haitzler 9f9cfe65a6 evas - scalecache - be a bit paranoid about images being set to null
this may address a bug, but i'm not sure as i can't reproduce it.
suffice to say it smells like a possible leak.
2019-08-25 10:28:08 +01:00
Carsten Haitzler 443677c7f9 scalecache - handle possible use after free with sci still in list
the sci may still be in the list then we free it because sci->im is
NULL .. it may always have been null. this should guard against that
and fix it.

@fix
2019-08-24 15:21:42 +01:00
Lauro Moura e7510f6770 elm: Fix Scrollable_Content namespace
Summary:
Efl.Ui.Widget is already a class.

Required by the C# bindings.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9733
2019-08-23 15:03:31 -04:00
Yeongjong Lee 471032d69d efl_canvas_text: remove unused Text_Style eo struct
Summary: `Efl.Canvas.Text_Style` is not used in eo world.

Reviewers: zmike, tasn

Reviewed By: tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9565
2019-08-23 15:03:31 -04:00
Carsten Haitzler 8145d90ce7 edje signal matches - try number 3 to try plug all the holes
i found some more cases where the hash may change, so del and add from
the hash when this happens...

and... i found a nasty. _edje_signal_match_key_cmp compared pointers
like:

int return = ptr_a - ptr_b;

what happens if .... ptr_a and ptr_b are more than 2^31 (2gb) apart?
overflow (or underflow) and we return the wrong thing. i suspect this
is part of the problem and why my has remove/adds have not been
working because ... i suspect that maybe the hash dels have not been
finding things. i can't be sure right now, but it is an obvious
problem that i fixed by just doing if's and returning -1 or 1. also i
found a double-add or overwrite int he hash - when we shuffled with
_edje_signal_callback_move_last the matches CAN match exactly
something already in the hash thus adding it in will conflict with
what is already there as keys match. handle this cvase now and i have
seen segv's go away for now.

@fix
2019-08-23 19:36:42 +01:00
Carsten Haitzler a7273fc864 edje signal - let's not crash if something odd happens
better we dont just crash but err log it which can be set to abort
anyway.

@fix
2019-08-23 19:36:42 +01:00
Mike Blumenkrantz 42d10b84be elm/config: always use default profile with EFL_RUN_IN_TREE
Summary:
if this env var is set, we're probably running unit tests or something
and we should ignore ELM_PROFILE

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9701
2019-08-23 13:38:33 -04:00
Yeongjong Lee b60e949fb6 efl_ui_table: remove inlist items in EINA_INLIST_FREE macro
Summary:
Check the EINA_INLIST_FREE document
```
in eina_inlist.h

NOTE: it is the duty of the body loop to properly remove the item from the
inlist and free it. This function will turn into a infinite loop if you
don't remove all items from the list.
```

This will avoid infinite loop when Efl.Ui.Table is invalidated.

ref T8145

Test Plan: See the test file in T8145

Reviewers: brunobelo, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8145

Differential Revision: https://phab.enlightenment.org/D9699
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz e2b6e18577 efl_ui/scroll_util: block scroll calc tsunamis caused by repeat signal emits
Summary:
the 'efl,action,scroll' signal should only occur (at most) one time during
each signal process loop, so restrict it for this case

furthermore, the bar pos_changed and size_changed callbacks are always
triggered sequentially, so there's no need to emit the signal in both
callbacks

this fixes infinite edje embryo errors and massively improves scroll perf

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9681
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 42704eccc7 eio/poll: avoid ever dereferencing the backend's parent in a thread
Summary:
when a monitor is destroyed, it unconditionally and immediately deletes
the monitor struct. this means that as soon as the monitor is dead, the
backend must never access the parent pointer again if its lifetime exceeds
the lifetime of the monitor (such as in threads)

the only member of the monitor data used by the fallback monitor is the
monitor path, so we can just copy it to the fallback data to avoid ever
needing to dereference this pointer

fixes reliability issues with efl sentry unit tests

@fix

Depends on D9708

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9709
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 0b8605c35d efl/io: fix race condition with child model deletion
Summary:
if an event is emitted for a child that is added to the model during a
call to _efl_io_model_children_list(), it's possible that this child
will never be detected by the model's monitor/sentry if it is deleted
before the monitor can detect it, which means there will never be a
corresponding eio event emitted

in this case, ensure that we manually remove this child from the model
since we know we've just deleted it

this fixes reliability issues with efl io model monitor unit test

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9708
2019-08-23 13:38:32 -04:00
Yeongjong Lee 6b3d430f12 efl_ui_scrollbar_direction: replace with efl_ui_layout_orientation
Summary: ref T7924, T7884

Reviewers: segfaultxavi, bu5hm4n

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7924, T7884

Differential Revision: https://phab.enlightenment.org/D9612
2019-08-23 13:38:32 -04:00
Felipe Magno de Almeida 1aa05ab41b eolian-mono: Add support for multi-value properties with tuples
Summary: T8133

Reviewers: woohyun, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9577
2019-08-23 14:07:09 -03:00
Mike Blumenkrantz 4acb83c8d9 efl_ui/image: explicitly mark 'drop' event @beta
this should probably be removed altogether but until dnd exists ensure
that this doesn't accidentally get released

ref T7873

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9705
2019-08-23 07:33:59 +02:00
Mike Blumenkrantz e84ecd9552 efl_ui/image: scalable -> efl.gfx.image::can_up/downscale
this removes the property from the image class to use the properties
from the interface

ref T7873

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9704
2019-08-23 07:33:58 +02:00
Mike Blumenkrantz d50fdce4d3 efl/gfx.image: add can_upscale and can_downscale properties
these are more granular properties which allow blocking of image
upscaling and/or downscaling regardless of scale hint

ref T7875

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9703
2019-08-23 07:33:57 +02:00
Mike Blumenkrantz ad0c805545 efl/gfx: redo image scale_type enum
this is ideally a bit more clear and flexible than the previous enum names

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9691
2019-08-23 07:33:56 +02:00
Mike Blumenkrantz 81183e0423 efl_ui/image: implement efl.gfx.arrangement content_align to replace align prop
this is effectively the same thing. no uses of this functionality exist anywhere

ref T7873

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9688
2019-08-23 07:33:55 +02:00
Mike Blumenkrantz 7442ae7092 efl_ui/image: remove geometry from internal struct, clean up geometry methods
these methods exist only to trigger efl_canvas_group_change on geometry
change and apply image sizing policies, there's no need to duplicate existing
functionality as well

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9687
2019-08-23 07:33:54 +02:00
Mike Blumenkrantz 28fff16739 efl_ui/image: add group_calc implementation, use deferred calc for sizing
this changes image internals to use the more standardized group_calc method
of sizing and causes all previous operations on the image which would have
resulted in an immediate recalc to instead defer the calc until the
group_calc function is called

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9686
2019-08-23 07:33:53 +02:00
Mike Blumenkrantz 01fc7eae35 elm: fix macro for group_calc function naming
this should be efl_canvas_group_group_calculate to match eolian function
naming

no functional changes

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

tests have been adjusted for this

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9677
2019-08-23 07:33:51 +02:00
Mike Blumenkrantz 1d2d15bbf8 efl_ui/scrollable_content: add scrollable_text property
this creates a label with a scroller and manages sizing calcs

note that efl_ui_text cannot be used here because its sizing calc model
is incompatible with efl

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

tests have been adjusted for this

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9675
2019-08-23 07:33:49 +02:00
Mike Blumenkrantz 1a517b4c2d efl_ui: add scrollable_content mixin
this allows content to be set with a scroller that automatically handles
its own sizing calcs so that widgets/apps don't have to

@feature

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9674
2019-08-23 07:33:48 +02:00
Jaehyun Cho d4d1826b47 efl_ui_spotlight: add null check for manager stack data
Like other functions, null check for manager stack data is added before
referencing manager stack data.
2019-08-23 13:51:44 +09:00
subhransu mohanty 1e079a7568 edje/style: Enable lazy computaion of styles.
Summary:
Instead of updating all the styles in an Edje_File just mark them
dirty so that subsequent  call to style will recompute the new style before
returning the style.

Reviewers: ali.alzyod, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9697
2019-08-23 11:11:05 +09:00
subhransu mohanty 862a460e7f ecore_con/memleak: due to checking refcount using postfix decrement operator
Reviewers: Hermet, raster, cedric

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9716
2019-08-23 11:09:42 +09:00
Carsten Haitzler 239ebbbc2c emotion - webcam fix deletion of webcam still left in webcam list
we may destroy webcams but leave them in the list. this fixes that by
removing them from our global list when we do unref to 0.

@fix
2019-08-22 19:53:03 +01:00
Carsten Haitzler 456419f468 edje - signal callback matches/patterns try fix number 2
so i think there was also another bug as i saw this again now. this
should hopefully plug the signal/mtach memory bugs now by removing
and adding back to hash as the hash key relies on the memory addresses
of signal/src in the matches array which change on realloc. a bit
brute-forceey but... better than crashes.

@fix
2019-08-22 19:53:03 +01:00
WooHyun Jung ebb685aae1 efl_ui_slider_interval: cut off the dependency with efl_ui_slider
efl_ui_slider_interval is totally different widget from efl_ui_slider.
Now, it extends efl_ui_layout_base and implements all efl_ui_slider's
functionalities by its own.
This class needs to be marked to @beta till reviewing whole class
definitions again.

@ref T7893

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9696
2019-08-22 15:36:38 +02:00
subhransu mohanty 10b2f65e60 elm/config: avoid unnecessary elm cache flush
Summary:
in config_apply() we load the deafult theme and then
elm_recache() just throws it away.

so just move it before config_apply for time being.
We need to revisit to check if we really need that elm_recache() in that
function or not.

Reviewers: Hermet, raster, cedric, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9700
2019-08-22 08:14:14 -04:00
Yeongjong Lee e8a32d72c6 efl_ui_widget: correct the comparison parameter in scroll_freeze_pop
Summary:
It is copy/paste error.
See also, e7986cc646

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9695
2019-08-22 07:17:03 -04:00
subhransu mohanty cce73a2b4b edje/style: fix memory leak because of typo.
Summary:
We already have a escaped string for the font_source so
this code is unnecessary.

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9698
2019-08-22 14:22:23 +09:00
Hermet Park 31d0d1ffd3 efl shape: add missing interpolation of miterlimit property. 2019-08-22 13:12:19 +09:00
junsu choi 34dc52dbd2 efl_canvas_vg_shape/ector_software : Set and use stroke miterlimit
Summary:
efl_canvas_vg_shape is set to miterlimit with Efl.Gfx.Shape.stroke_miterlimit
and pass the value from rasterizer to freetype.

NOTE: The default value is 4. It only refers to the standard of web svg.
      https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit

Depends D9657

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9665
2019-08-22 13:00:01 +09:00
junsu choi fa8f20338d efl_gfx_shape: Add stroke_miterlimit property
Summary:
Sets limit on ratio of miter value of the stroke join.
If a miter join exists, it must be supported.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9657
2019-08-22 12:45:09 +09:00
junsu choi ca8df7067c ector_software_rasterizer: Change default value of stroke linejoin
Summary:
SW_FT_STROKER_LINEJOIN_MITER is same SW_FT_STROKER_LINEJOIN_MITER_VARIABLE
We pass miterlimit values in fixed-point type.
Therefore, change the default value to SW_FT_STROKER_LINEJOIN_MITER_FIXED.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9656
2019-08-22 12:38:57 +09:00
Woochanlee 711fffe923 gesture_manager: Avoid dereferencing null pointer.
Summary:
fix coverity report. dereference before null check

CID: 1065090

Reviewers: Jaehyun_Cho, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9694
2019-08-22 11:11:26 +09:00
subhransu mohanty 7c08d7b97c edje/style: Avoid unnecessary evas_textblock_style computation.
Summary:
If the style is not readonly we always compute the style again when
requested by edje. so this computation is unnecessary.
By avoiding the computation here we will avoid style computation of all the styles in the edje
that is not readonly hence saving memory.

Reviewers: ali.alzyod, Hermet, cedric, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9693
2019-08-22 10:53:36 +09:00
Carsten Haitzler be6555e754 fix e did again after crash from dnd fix 2019-08-22 00:47:10 +01:00
Carsten Haitzler aa21bd3c60 elm - efl ui - dont crash if parent is not an elm widget 2019-08-22 00:22:39 +01:00