Marcel Hollerbach [Wed, 31 Jul 2019 08:18:02 +0000 (10:18 +0200)]
efl_ui_spec: add test suite for range_display events
Summary:
this test case ensures the correct emittation of the newly added events.
ref T7895
Depends on D9372
Reviewers: segfaultxavi, zmike, woohyun, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7895
Differential Revision: https://phab.enlightenment.org/D9373
Marcel Hollerbach [Mon, 22 Jul 2019 11:09:03 +0000 (13:09 +0200)]
efl_ui_*: add the new events to the widgets
previous commit introduced new events to range_display. This commit
ensures correct emittation of those events.
ref T7895
Differential Revision: https://phab.enlightenment.org/D9372
Marcel Hollerbach [Mon, 22 Jul 2019 10:27:20 +0000 (12:27 +0200)]
efl_ui_range_display: move events from spin
we concluded min,reached and max,reached should be on every widget that
implements range_display. This here is the start of that work, the
events are moved, next commit fixes all widgets, the last commits
enables tests in the spec unit test.
ref T7897
ref T7895
Differential Revision: https://phab.enlightenment.org/D9371
Marcel Hollerbach [Sun, 28 Jul 2019 15:21:37 +0000 (17:21 +0200)]
efl_ui_item: remove sizing eval code
i do not know why this code is there. But the same code is called in
layout itself, additionally this results in way less calls for
calculating the minsize (Not sure why).
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9425
Jaehyun Cho [Tue, 30 Jul 2019 07:05:02 +0000 (07:05 +0000)]
efl_ui_spotlight: add scroll_block to Manager_Scroll
To support blocking of scrolling movement, @property scroll_block has
been added to Manager_Scroll.
If scroll_block is set to be true, then scrolling movement by mouse
input is blocked.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9444
Hermet Park [Tue, 30 Jul 2019 07:58:02 +0000 (16:58 +0900)]
vg json: --log level
Vector needs to try load a lottie file in a brutal force way,
If the input source is not identified.
Lauro Moura [Tue, 30 Jul 2019 20:36:52 +0000 (17:36 -0300)]
csharp: Add EFL_BETA guards around new test
Summary:
The test method is not generated when beta is disabled as
`Eina.Value_Type` is marked @beta and eolian complains if we try to use
it.
Other `Eina.Value` methods work despite `Eina.Value` also being beta due
to its usage as stable through the keyword `any_value[_ptr]`.
Reviewers: vitor.sousa, bu5hm4n, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9449
Lauro Moura [Tue, 30 Jul 2019 19:22:03 +0000 (15:22 -0400)]
ecore: Fix download test.
Summary:
After ecore_main_loop_quit() changes, calling it from outside the main
loop does not make the next iteration of the main loop quit, causing the
original version of the test to deadlock.
Also update the function documentation about it.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, felipealmeida, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9448
Mike Blumenkrantz [Tue, 30 Jul 2019 17:12:14 +0000 (13:12 -0400)]
efl_ui/layout: use MAX macro for min size clamping in group calc
Summary: Depends on D9442
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9447
Mike Blumenkrantz [Tue, 30 Jul 2019 17:12:07 +0000 (13:12 -0400)]
efl_ui: always set restricted_min size hints internally
Summary:
regular min size hint is for users, internal calcs should use restricted
@fix
Depends on D9441
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9442
Mike Blumenkrantz [Tue, 30 Jul 2019 17:12:00 +0000 (13:12 -0400)]
elm_layout: move elm_layout_sizing_restricted_eval to layout mixin
Summary:
this function should never need to be called on new widgets
Depends on D9440
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9441
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:54 +0000 (13:11 -0400)]
elm_layout: create a mixin to provide elm_layout_sizing_eval
Summary:
this removes elm_layout_sizing_eval entirely from the implementation
hierarchy of any efl_ui-based widgets, ensuring that future code will
correctly use efl_canvas_group functionality
Depends on D9439
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9440
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:41 +0000 (13:11 -0400)]
efl_ui/layout_base: add subobjs_calc internal functionality
Summary:
this functionality forces group_calc on a layout's subobjects during
layout group_calc so that the layout's own group_calc will yield consistent
and correct results
currently this is only used in panel widgets
Depends on D9437
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9438
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:35 +0000 (13:11 -0400)]
efl_ui/layout_base: add "finger_size_multiplier" property
Summary:
this feature is set on objects which inherit from layout_base in order to
allow automatically application of variable finger sizes based on a
widget's needs
an example of this would be a calendar, which is 7:8 fingers
this functionality is disabled by passing 0,0 as the property
@feature
Depends on D9436
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9437
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:30 +0000 (13:11 -0400)]
efl_ui/layout: implement group_calc, add finger size for inherited layouts
Summary:
this adds a group_calc implementation for the layout object (not layout_base)
to allow differentiation between inherited layout calcs and layout object
calcs
by using this, we can automatically apply finger size to inherited layout
calcs if the implementation ever reaches this point
Depends on D9435
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9436
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:24 +0000 (13:11 -0400)]
efl_ui/layout: use min size hints when calculating layout size
Summary:
for legacy layouts, all min size hints should be considered when performing
size calculations
for non-legacy layouts, only "user" min size hints should be considered, as we
are calculating the restricted min size hint in this function
Depends on D9434
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9435
Mike Blumenkrantz [Tue, 30 Jul 2019 17:11:19 +0000 (13:11 -0400)]
efl_ui: change calls to elm_layout_sizing_eval to efl_canvas_group_change
Summary:
elm_layout_sizing_eval is a legacy function which should not need to be called
on new widgets
Reviewers: segfaultxavi, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8059
Differential Revision: https://phab.enlightenment.org/D9434
Marcel Hollerbach [Tue, 30 Jul 2019 17:09:12 +0000 (19:09 +0200)]
Revert "evas_object_textblock: add support for variation sequences"
This reverts commit
f7ce771e3243e19f8a12672ea2be752dedccbcf6.
Lauro Moura [Tue, 30 Jul 2019 14:05:26 +0000 (11:05 -0300)]
csharp: Add marshal support for Eina.ValueType
Summary:
It uses a custom marshaler and a helper boxing class to convert between
the managed enum values and the native Eina_Value_Type pointers.
To be used by future MVVM machinery.
Reviewers: vitor.sousa, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9443
Daniel Kolesa [Tue, 30 Jul 2019 13:54:23 +0000 (15:54 +0200)]
eolian_gen: generate freefuncs for strbuf/binbuf
Daniel Kolesa [Tue, 30 Jul 2019 13:53:21 +0000 (15:53 +0200)]
eolian: make strbuf ownable
Xavi Artigas [Tue, 30 Jul 2019 13:36:32 +0000 (15:36 +0200)]
Fix typo in Efl prefix
This annoyed me far far far more than it should.
Mike Blumenkrantz [Mon, 29 Jul 2019 14:58:07 +0000 (10:58 -0400)]
edje/calc: clamp part calc size to 0
this could previously have been negative
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9431
Mike Blumenkrantz [Mon, 29 Jul 2019 16:41:59 +0000 (12:41 -0400)]
elm/config: fix config usage with EFL_RUN_IN_TREE set
when running in tree, elm_config should not attempt to access files
outside the tree, nor should it attempt to overwrite any existing config
files
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9433
Mike Blumenkrantz [Mon, 29 Jul 2019 14:59:27 +0000 (10:59 -0400)]
elm/config: monitor MODIFIED events on config files
eio/inotify now receives these events when the config file is modified,
even though the file is copied onto that location. this fixes config
updating at runtime
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9432
Marcel Hollerbach [Thu, 25 Jul 2019 18:54:49 +0000 (20:54 +0200)]
efl_ui_pan: emit position changed when content is resized
even if the position is not really changed here, the min / max relation
has changed. If we do not emit this event here, every user (that
calculates a relative position) would have to monitor the pan position
and the size of the content. This simplifies the given usecase, and
fixes the scroller position when new items are added to the collection.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9411
Marcel Hollerbach [Mon, 29 Jul 2019 13:00:32 +0000 (15:00 +0200)]
elm_test: add a example that shows efl_ui_item instances
this is just a little showcase to show the possible items
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9430
Mike Blumenkrantz [Wed, 24 Jul 2019 20:19:26 +0000 (16:19 -0400)]
elm_test: add option for running all tests on startup
this is useful for doing quick testing when making invasive changes that
affect a large number of widgets, such as rewriting all sizing calc code
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9407
Mike Blumenkrantz [Fri, 26 Jul 2019 17:22:44 +0000 (13:22 -0400)]
efl_ui/popup: unset callbacks on win object when parent is removed
these callbacks must be removed if there is no parent, otherwise they
may trigger once the widget is deleted and trigger invalid object access
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9429
Ali Alzyod [Thu, 18 Jul 2019 08:51:28 +0000 (08:51 +0000)]
evas_object_textblock: add support for variation sequences
update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9053
Lauro Moura [Mon, 29 Jul 2019 14:24:26 +0000 (11:24 -0300)]
pyolian: Fix tests
Summary: Update tests after some legacy cleanup from last release.
Reviewers: bu5hm4n, DaveMDS, segfaultxavi
Reviewed By: DaveMDS
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8817
Marcel Hollerbach [Mon, 29 Jul 2019 13:56:27 +0000 (13:56 +0000)]
efl_ui_item: try to improve docs
its everything but perfect, but a start ...
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9424
Marcel Hollerbach [Sun, 28 Jul 2019 15:11:40 +0000 (17:11 +0200)]
efl_ui_item: migrate to Efl.Ui.Clickable
this adds the mixin to the item. With this commit every class inheriting
from Efl.Ui.Item will automatically emit all the clickable events.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8830
Mike Blumenkrantz [Fri, 26 Jul 2019 16:54:41 +0000 (12:54 -0400)]
efl_ui/popup: implement efl.file.unload for popup backwall part
this fixes unsetting images for popup backwall
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9415
Mike Blumenkrantz [Fri, 26 Jul 2019 16:56:10 +0000 (12:56 -0400)]
efl_ui/popup: use correct class when setting popup backwall file
MY_CLASS failure strikes again
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9416
Xavi Artigas [Mon, 29 Jul 2019 14:15:55 +0000 (16:15 +0200)]
docfx: Missing template file
Otherwise, <remarks> section DIV at the namespace level is always
shown, even if empty. And we do not want that now that the DIV has
a background color.
Marcel Hollerbach [Mon, 29 Jul 2019 14:07:25 +0000 (16:07 +0200)]
efl_ui_item: remove self field
Summary:
there is no reason to have this field, pd of a item is always passed
with the object.
Reviewers: segfaultxavi, zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9423
Mike Blumenkrantz [Wed, 24 Jul 2019 17:16:58 +0000 (13:16 -0400)]
elm_test: add keybinds to rapidly flip between tests
when not using --test-win-only, allow opening new tests forward and
backward with alt+. and alt+,
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9406
Mike Blumenkrantz [Wed, 24 Jul 2019 16:44:31 +0000 (12:44 -0400)]
elm_test: replace bespoke arg handling with a for loop
this fixes handling of --help regardless of its position in the arg array
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9405
Mike Blumenkrantz [Wed, 24 Jul 2019 17:59:03 +0000 (13:59 -0400)]
efl_ui/widget: check legacy type on correct object for scroll_hold push/pop
too much copy/paste
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9399
Mike Blumenkrantz [Thu, 25 Jul 2019 14:38:12 +0000 (10:38 -0400)]
elm/ctxpopup: check list existence before trying to delete list items
this is kinda gross, but if the list is already deleted then the list
items are also gone and this is an invalid object access
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9402
Mike Blumenkrantz [Mon, 22 Jul 2019 17:00:45 +0000 (13:00 -0400)]
tests/elm: move efl_config tests to efl_ui_suite
these invoke non-legacy codepaths which should never be triggered during
legacy unit tests
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9403
Mike Blumenkrantz [Thu, 25 Jul 2019 15:49:55 +0000 (11:49 -0400)]
tests/elm: add test for ctxpopup sizing
verify that size hints of content are being respected
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9404
Mike Blumenkrantz [Mon, 29 Jul 2019 13:17:20 +0000 (09:17 -0400)]
elm_test/modal_win: handle case where test is not passed the main window
Summary:
this test is not runnable when it is not triggered directly from pressing
a button in the main window
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, bu5hm4n, cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9401
Ali Alzyod [Mon, 29 Jul 2019 12:00:04 +0000 (14:00 +0200)]
evas_textblock: markup: handle invalid/missing escape characters
Summary:
T8088
if escape character sequence not found for example **&123;** :
* (Old Behaviour) : Draw nothing
* (New Behaviour) : Draw Text like it plain text
I think this is the right behaviour since:
1- We print output as it is, so user can detect what was the problem.
For example user write &gf; (by mistake, he wanted to write >)
== if we nothing is printed he would not know exactly where is the real problem.
it can be font file, textblock is not visible, he may think bug in efl
== if we printed &gf; as it is, it will direclty show that this is not valid escape char.
2- If user made mistake in text, it is better to show it instead of hide it, maybe there are new sequences that we do not know about.
This behaviour was checked on multible systems:
1- Web Browsers like chrome
2- Qt
3- Android
They all have same as our new behaviour
Example :
markup text = ">&gf;
Old : >
New : >&gf;
Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>
static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
efl_exit(0);
}
static void
_gui_setup()
{
Eo *win, *box;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Hello World"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
// when the user clicks "close" on a window there is a request to delete
efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);
box = efl_add(EFL_UI_BOX_CLASS, win,
efl_content_set(win, efl_added),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));
efl_add(EFL_UI_TEXT_CLASS, box,
efl_text_markup_set(efl_added,
">&gf;"),
efl_text_interactive_selection_allowed_set(efl_added, EINA_FALSE),
efl_gfx_hint_weight_set(efl_added, 1.0, 0.9),
efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
efl_text_multiline_set(efl_added,EINA_FALSE),
efl_pack(box, efl_added));
efl_add(EFL_UI_BUTTON_CLASS, box,
efl_text_set(efl_added, "Quit"),
efl_gfx_hint_weight_set(efl_added, 1.0, 0.1),
efl_pack(box, efl_added),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
_gui_quit_cb, efl_added));
}
EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
_gui_setup();
}
EFL_MAIN()
```
Reviewers: woohyun, bowonryu, segfaultxavi, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9428
Mike Blumenkrantz [Mon, 29 Jul 2019 10:16:55 +0000 (12:16 +0200)]
elm_test: fix anchor popup test
Summary:
this group name was wrongly changed by sed
ref
d4526f44b8c20010061c42a87ac0496796311afb
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9419
Xavi Artigas [Mon, 29 Jul 2019 10:23:18 +0000 (12:23 +0200)]
Fix build break
Caused by
1c0a459293981ef9691b9bb5acd468ba84e502b4
I should have been more careful before approving, my bad.
Ali Alzyod [Mon, 29 Jul 2019 10:10:18 +0000 (12:10 +0200)]
efl_gfx_color: fix color_code_set
Summary:
There are two parts for this patch:
1- Fix sigmentation fault when using (efl_gfx_color_color_code_set). // It try to modify const variable
2- Remove unnecessary code. // why would user pass slash or back slash as color code format.
Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>
static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
efl_exit(0);
}
static void
_gui_setup()
{
Eo *win, *rect;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Hello World"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
// when the user clicks "close" on a window there is a request to delete
efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);
rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS,win);
const char *color = "#
FF0000FF";
efl_gfx_color_code_set(rect,color);
evas_object_resize(rect,250,250);
evas_object_resize(win,250,250);
evas_object_move(rect,0,0);
evas_object_show(rect);
evas_object_show(win);
}
EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
_gui_setup();
}
EFL_MAIN()
```
Reviewers: zmike, cedric, segfaultxavi, woohyun
Reviewed By: segfaultxavi
Subscribers: singh.amitesh, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9422
WooHyun Jung [Mon, 29 Jul 2019 09:42:34 +0000 (11:42 +0200)]
efl_input_clickable: rename efl_ui_clickable to efl_input_clickable
Summary:
Renamed all efl_ui_clickable_XXX to efl_input_clickable_XXX based on
the discussion in T7847
ref T7847 T7976
Reviewers: zmike, bu5hm4n, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7976, T7847
Differential Revision: https://phab.enlightenment.org/D9427
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 10:51:15 +0000 (11:51 +0100)]
eina file - stat generation inexactness support
this is a performance optimization. it brings in a "stat generation".
for now it's disabled by default so we retain previous behavior. this
stops eina file from opening and stating a file every time you open
... it only does it if stat generation is off, or, if the generation
changed since the last time it opened that file. this makes cache hits
not have a 3 syscall cost (open+fstat+close). this optimizes that
lower end of things path. but .. it comes at a cost. if the file
changes before generation ticks over (which this forces to tick over
every time the loop exits idle by default).
now here is something to ask.
1. should we have this on by default and accept the "inexactness"
since you can eina_file_statgen_next() before any call that would do
i/o to force it to look at the real file stat info...
2. should we tick over every idle enter OR every N idle enters or
every frame we render instead? ... i want to avoid getting a timestamp
or having a timer interrupt often... so what should we do?
at least this introduces the idea, some api's and an env var to turn
this on. it definitely cuts down syscalls during things like creation
of widdgets or objects in large batches etc.
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 10:40:18 +0000 (11:40 +0100)]
elm test - set var to null to avoid warning
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 10:37:23 +0000 (11:37 +0100)]
warning - move break in switch to handle properly and addess warning
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 10:17:51 +0000 (11:17 +0100)]
examples - use putenv, not setenv for porting reasons
putenv is more portable than setenv, so usethat instead. this nukes
warnings on windows as evil is meant to go private and you thus have no
setenv anymore.
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 09:33:07 +0000 (10:33 +0100)]
filesel example - add locale.h include since we use setlocale
Carsten Haitzler (Rasterman) [Sun, 28 Jul 2019 09:29:52 +0000 (10:29 +0100)]
ecore win32 - disable #warning because all it does is fill build logs
we see it 100's of times during build. disabling this. the comments
etc. are still there, but more value in commenting out than keeping it
so we can see the forest from the trees.
Vincent Torri [Sun, 28 Jul 2019 08:38:26 +0000 (09:38 +0100)]
Eio: enable eio_file_chown if chown is available on the platform
Test Plan: compilation on Windows
Reviewers: zmike, raster, cedric
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9393
Vincent Torri [Sun, 28 Jul 2019 08:27:27 +0000 (09:27 +0100)]
Evil: remove pwd code in Evil and fix compilation failures after the removal
Summary: remove pwd code in Evil
Test Plan: compilation
Reviewers: zmike, cedric, raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9420
Vincent Torri [Sun, 28 Jul 2019 08:21:47 +0000 (09:21 +0100)]
Eina: define EINA_HAVE_DEBUG_THREADS only if backtrace() in execinfo.h is available
Summary: fix compilation on systems where backtrace() in execinfo.h is not available
Test Plan: compilation on Windows
Reviewers: zmike, cedric, raster
Reviewed By: cedric, raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9392
Xavi Artigas [Fri, 26 Jul 2019 20:35:40 +0000 (22:35 +0200)]
Rename Efl.Gfx.Image.Stretch_Region -> Efl.Gfx.Image_Stretch_Region
Otherwise we have a symbol <-> namespace clash. Again.
Yeongjong Lee [Fri, 26 Jul 2019 13:00:17 +0000 (15:00 +0200)]
efl_mono: update docs of CreateWrapperFor
Reviewers: lauromoura, felipealmeida, segfaultxavi, vitor.sousa
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9084
Vitor Sousa [Fri, 26 Jul 2019 17:40:38 +0000 (14:40 -0300)]
csharp: fix EFL# by updating it to reflect the newest changes in Eolian
Summary:
`Efl.Event` became a builtin type that is no longer declared in `efl_object.eo`,
and therefore it is no longer automatically generated in EFL#.
Given that, we define a struct manually to reflect the memory layout of the
native struct.
Containers of value types are now allowed in eolian, so tests that were disabled
because of the restriction on `ptr` were re-enabled using the plain type.
But since these containers have just arrived, handling of ownership for value
types is currently undefined in bindings.
Hence, tests that used `ptr(int) @owned` as elements were left disable.
This will be solved in a future patch.
`void_pr` is now deprecated, so we remove it from tests also.
Reviewers: q66, segfaultxavi, lauromoura, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9417
Mike Blumenkrantz [Fri, 26 Jul 2019 14:55:48 +0000 (16:55 +0200)]
efl_ui/datepicker: adjust datepicker minimum limits
Summary:
this whole thing seems pretty busted but at least now it won't error and
break elm_test
t.tm_mday is 0 when the function in the macro returns, so this value needs
to be clamped like the others
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9398
Felipe Magno de Almeida [Fri, 26 Jul 2019 12:59:17 +0000 (14:59 +0200)]
efl-js: Remove private keys for Twitter API from example
Summary: For security concerns we removed the secret keys which could be used improperly by the wrong people.
Reviewers: woohyun, cedric, lauromoura
Reviewed By: lauromoura
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9377
Daniel Kolesa [Fri, 26 Jul 2019 12:39:38 +0000 (14:39 +0200)]
eolian: fix tests after latest restrictions
Daniel Kolesa [Fri, 26 Jul 2019 12:13:22 +0000 (14:13 +0200)]
eolian: allow value types in owning containers (list/array/etc)
Carsten Haitzler (Rasterman) [Fri, 26 Jul 2019 11:51:58 +0000 (12:51 +0100)]
meson - for crossbuild move run check to just compile check
not as accurate but will do for cross build i guess for O_CLOEXEC
Daniel Kolesa [Fri, 26 Jul 2019 11:38:01 +0000 (13:38 +0200)]
eolian: also ban underscore prefixed builtins in stable API
Daniel Kolesa [Fri, 26 Jul 2019 11:35:27 +0000 (13:35 +0200)]
eolian: ban void_ptr in stable APIs
This required some refactoring in eldbus and tests but otherwise
seems good to go.
Daniel Kolesa [Fri, 26 Jul 2019 11:02:00 +0000 (13:02 +0200)]
eo: remove Efl_Event definition (replace with builtin)
Felipe Magno de Almeida [Fri, 26 Jul 2019 11:02:21 +0000 (13:02 +0200)]
eolian-cxx: Add binbuf and event keywords handling
n
Summary:
Add support in Eolian-Cxx for binbuf and event keywords and tests. It
will generate the C type while the manual binding in C++ for the types
do not exist.
Reviewers: q66, lauromoura
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9412
Carsten Haitzler (Rasterman) [Fri, 26 Jul 2019 09:15:47 +0000 (10:15 +0100)]
reduce syscalls on opening files - roll CLOEXEC into open
on linux open supports() O_CLOEXEC. add test case for this in meson
build and ifdef. this rolls 3 syscalls into 1 as we were doing open,
then fnctl to get and fcntl to set flags.
less syscalls is a good thing as syscalls are not cheap on some
architectures or systems. I've seen a syscall on 1 system take 2-3x
as long as another and another syscall in the same 2 system
comparison take 10x as long. depending on the syscall you may only
have a budget of something like 5000 syscalls "per frame" (60fps)
before you spend all of your frame time just in syscalls not
doing any processing, so we should keep these down if possible
and that is what this does.
Xavi Artigas [Thu, 7 Feb 2019 17:01:56 +0000 (18:01 +0100)]
Efl.Ui.Text: Minor tweaks on the documentation.
Taehyub Kim [Fri, 26 Jul 2019 07:02:01 +0000 (09:02 +0200)]
Efl.Gfx.Hint_Align: add define values for Efl.Gfx.Hint_Align
Summary:
Add define values for Efl.Gfx.Hint_Align
- Efl.Gfx.Hint_Align_Left
- Efl.Gfx.Hint_Align_Right
- Efl.Gfx.Hint_Align_Top
- Efl.Gfx.Hint_Align_Bottom
- Efl.Gfx.Hint_Align_Center
Reviewers: bu5hm4n, Jaehyun_Cho, woohyun, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9413
JunsuChoi [Fri, 26 Jul 2019 04:12:48 +0000 (13:12 +0900)]
ector: Prevent access to NULL buffer in software rasterizer
Summary:
Prevents a crash caused by a null pointer exception
when ector surface buffer is NULL.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9390
Cedric BAIL [Wed, 24 Jul 2019 22:48:30 +0000 (15:48 -0700)]
elementary: use data:null to remove unecessary structure declaration.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9389
Mike Blumenkrantz [Thu, 25 Jul 2019 18:46:34 +0000 (14:46 -0400)]
elm_test/plug: fix error handling
Summary:
if plug connection fails, a notification can't always be created because
there may be no object passed to this function to create a notify object on
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9400
Mike Blumenkrantz [Thu, 25 Jul 2019 18:46:12 +0000 (14:46 -0400)]
elm/glview: fix glview to (again) return null if context creation fails
Summary:
engine internals have changed, so it's necessary to actually check whether
the glview api is available now to determine whether the glview is viable
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9397
Mike Blumenkrantz [Thu, 25 Jul 2019 18:45:48 +0000 (14:45 -0400)]
efl_ui/timepicker: fix range clamping on 12 hour timepickers
Summary: this errors all the time otherwise
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9396
Marcel Hollerbach [Fri, 12 Jul 2019 18:04:06 +0000 (20:04 +0200)]
efl_ui_spotlight_manager_*: cleanup canvas state on invalidate
this is needed so we can support a empty object which is not freed.
Sounds useless, but required by bindings, this fixes the issue described
in D9300.
Differential Revision: https://phab.enlightenment.org/D9306
Marcel Hollerbach [Fri, 12 Jul 2019 17:33:31 +0000 (19:33 +0200)]
efl_ui_spotlight_container: mirror the behavior of view_manager
setting the parent here is usefull, as we can forgot about this object
then, and do not have to free the object by hand.
Differential Revision: https://phab.enlightenment.org/D9305
Marcel Hollerbach [Fri, 12 Jul 2019 16:39:07 +0000 (18:39 +0200)]
efl_ui_spotlight_container: fix ownership behavior of view_manager
view_manager is a property that takes ownership of the view_manager
object. We are setting the parent in the setter which means, we should
actaully have one ref to the parent, and one from the caller, so we need
to unref one.
Differential Revision: https://phab.enlightenment.org/D9304
SangHyeon Jade Lee [Mon, 22 Jul 2019 11:12:30 +0000 (11:12 +0000)]
efl_ui : apply item part visible signal properly.
efl_layout_signal is being overrided by efl_ui_layout,
so do not call the signal emit on resize object directly,
call the signal emit on the item widget.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9233
Marcel Hollerbach [Thu, 25 Jul 2019 17:35:15 +0000 (19:35 +0200)]
rename Item_Container -> Collection
this is the last bit of renaming
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9410
Marcel Hollerbach [Thu, 25 Jul 2019 17:24:58 +0000 (19:24 +0200)]
efl_ui_spec_suite: simplify this
when i initially added item_container to the spec test suite, there was
no plan to make Efl.Ui.List / Efl.Ui.Grid like it is now. However, now
we can simply use Efl.Ui.List and Grid instead of this helper class.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9409
Marcel Hollerbach [Wed, 24 Jul 2019 15:57:01 +0000 (17:57 +0200)]
rename efl_ui_item_container -> efl_ui_collection
this is the first rename of the main widget, the renames of the test
suites will follow
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9408
Marcel Hollerbach [Wed, 24 Jul 2019 14:36:17 +0000 (16:36 +0200)]
efl_ui_grid_item: remove this
this is not needed anymore, the grid items can also just inherit
directly from the items.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9395
Marcel Hollerbach [Wed, 24 Jul 2019 13:59:24 +0000 (15:59 +0200)]
efl_ui_list_item: remove this
this has nothing usefull in it. Additionally, future commits will brings
up another design where there is a central default item style, which can
be hinted.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9394
Marcel Hollerbach [Wed, 24 Jul 2019 18:49:38 +0000 (20:49 +0200)]
efl_ui_item_container: speed up item lookup
the problem with accessor is that the normal eina accessor is only for
immutable lists, by the time you change the list, the accessor has a
problem and might crash. This would mean we have to recreate the
accessors after every change to the internal list representation, which
would invalidate the cache all the time.
The usage of grid and list here is also very performant in cache using,
all the usages normally iterate forward or backward, which makes this
cache really helpfull.
With this commit the lookup of sizes is improved a lot, because
eina_list_nth is not used anymore. (Cuts of ~90ms in creation time)
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9387
Mike Blumenkrantz [Thu, 25 Jul 2019 17:35:41 +0000 (13:35 -0400)]
tests/ecore: verify that quit() -> begin() does not pre-cancel main loop
Summary: ref
17f433c57bfa11319a22fde1aedb21e99a3a1268
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9375
Xavi Artigas [Thu, 25 Jul 2019 15:30:44 +0000 (17:30 +0200)]
mono-docs: Clearer docs for ConstructingHandle
Only *slightly* clearer.
Xavi Artigas [Thu, 25 Jul 2019 14:38:52 +0000 (16:38 +0200)]
mono-docs: More tweaks to the docs blacklist
SubhransuSekhar Mohanty [Thu, 25 Jul 2019 06:17:05 +0000 (15:17 +0900)]
efl_canvas_vg svg: free the svg tree returned by eet_data_read()
The eet_data_read() api creates the structure by referencing the wwt data structure
and reading from eet file. So the structure should be deleted by the user of the function.
As eet_data_read() api documentation dosen't specify about the ownership I guess
we need to free this structure to avoid memory leak.
Shinwoo Kim [Thu, 25 Jul 2019 06:02:02 +0000 (15:02 +0900)]
evas image: apply filter at runtime
Summary:
If you call efl_gfx_filter_program_set in a mouse event callback,
it does not work. Because render_pre removes area uisng evas_render_update_del.
Reviewers: Hermet, jpeg, jsuya, cedric
Reviewed By: Hermet, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9301
Marcel Hollerbach [Wed, 24 Jul 2019 20:06:07 +0000 (22:06 +0200)]
efl_ui_grid/list: fix build
wrong header file + wrong class define. That was forgotten to be pushed
with the commits before, sorry.
Cedric BAIL [Wed, 24 Jul 2019 18:51:54 +0000 (11:51 -0700)]
elementary: make Efl.Ui.Position_Manager a namespace.
This does the following rename as per T8058:
Efl.Ui.Item_Position_Manager -> Efl.Ui.Position_Manager.Entity
Efl.Ui.Grid_Position_Manager -> Efl.Ui.Position_Manager.Grid
Efl.Ui.List_Position_Manager -> Efl.Ui.Position_Manager.List
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9388
Marcel Hollerbach [Wed, 24 Jul 2019 13:06:09 +0000 (15:06 +0200)]
efl_ui_list: make it work with item_container
This also refactors the example a little bit.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9385
Marcel Hollerbach [Wed, 24 Jul 2019 12:43:45 +0000 (14:43 +0200)]
efl_ui_grid: make it work with item_container
this also reformats the example, removes
comments that are misleading, removes UI elements that have no purpose.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9384
Carsten Haitzler (Rasterman) [Wed, 24 Jul 2019 18:26:09 +0000 (19:26 +0100)]
warnings remove in efl thread/exe examples
Marcel Hollerbach [Sat, 29 Jun 2019 14:19:08 +0000 (16:19 +0200)]
Introduce Efl.Ui.Item_Container
this is a new widget which aims to replace Efl.Ui.Grid / Efl.Ui.List.
The widget is split up in a widget and a interface for item placement.
Efl_Ui_Item_Position_Manager: The interface contains API which is used
by the Item_Container to place the items, there is also a set of common
tests which tests for the casual tripping wires, and ensures that the
events are emitted in the correct moments (the later part still can be
improved)
Efl_Ui_Item_Container: The widget itself, it contains the API for the
enduser to add Items to the widget, it handles the different modes for
selection type and emits the events for selection changes. The pack API
is conform with the spec unit test. An additional set of tests is
defined which should be able to be run on every widget with a specific
position_manager beeing set.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9285
Carsten Haitzler (Rasterman) [Wed, 24 Jul 2019 16:52:31 +0000 (17:52 +0100)]
build - cmake files - remove old seemingly unused cmake files