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
Carsten Haitzler (Rasterman) [Wed, 24 Jul 2019 16:51:27 +0000 (17:51 +0100)]
examples - add efl_thread and efl_exe to them
Hermet Park [Wed, 24 Jul 2019 12:29:28 +0000 (21:29 +0900)]
Revert "elm/scrollable: avoid unnecessary edje recalcs"
This reverts commit
4279f75f0b0ba7a259badf2c33356201bf7869ba.
This totally breaks popup control in Tizen,
Need to consider necessity of this patch,
further potential side effects possibilities.
Hermet Park [Wed, 24 Jul 2019 12:28:49 +0000 (21:28 +0900)]
Revert "Revert "efl/scroll manager: stop clearing animators on every wheel event""
This reverts commit
a836c73ef61f5557746c5e4d944b01a77bc3a8de.
Sorry, I mistook the picking of commit id...
Xavi Artigas [Wed, 24 Jul 2019 12:14:13 +0000 (14:14 +0200)]
mono-docs: Filter out some more unwanted constructors
These should not be used by users, so take them out of the DocFX docs.
Hermet Park [Wed, 24 Jul 2019 11:47:20 +0000 (20:47 +0900)]
Revert "efl/scroll manager: stop clearing animators on every wheel event"
This reverts commit
e6393393ccafe59d4e434a78c79952601d93956a.
This totally break popup control in Tizen,
Please consider necessity of this patch,
further potential side effects possibilities.
Hermet Park [Wed, 24 Jul 2019 05:28:00 +0000 (14:28 +0900)]
textpath: + null handling.
Xavi Artigas [Tue, 23 Jul 2019 18:58:42 +0000 (20:58 +0200)]
mono-docs: Indicate when methods and properties are BETA
Summary:
Previous commit added a <remarks> section to BETA classes.
Methods (and properties) cannot have <remarks> section so a bit
of bold text is added instead to their summary.
Depends on D9380
Test Plan: Generate docs and observe beta methods and properties have a note regarding their betaness in the summary.
Reviewers: lauromoura, vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9382
Xavi Artigas [Tue, 23 Jul 2019 10:45:17 +0000 (12:45 +0200)]
mono-docs: Allow HTML codes in documentation
Summary:
All comments from EO files are HTML-escaped (i.e. "<" is turned into "<"), and this is good.
However all text added by the mono code generator is HTML-escaped too, and that is a pity.
Circumventing the escaping in the generator involves serious code changes so it is simpler to
allow "escaping" characters to avoid escaping...
"<" is turned into "<"
but
"\<" is turned into "<"
If you are giving these strings from C, remember that the backslash needs to be escaped too!
For example: "\\<b\\>Hello\\</b\\>"
This is intended for use in the generators, NOT in the EO docs.
Test Plan: Everything works as before, but now HTML codes can be added from the generators.
Reviewers: lauromoura, vitor.sousa, felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9380
Xavi Artigas [Tue, 23 Jul 2019 14:38:04 +0000 (16:38 +0200)]
mono-docs: Indicate when a class is BETA
Summary:
The mono generator adds a <remarks> section to all BETA classes with an explanatory text.
These tags are understood by DocFX and Monodevelop.
On top of this, this commit modifies the DocFX template to give the Remarks section a more
prominent place in the page.
Test Plan: Render docs, Beta classes should have a big blue box with a remark about the class being Beta and dangerous.
Reviewers: lauromoura, vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9381
Marcel Hollerbach [Mon, 22 Jul 2019 09:38:00 +0000 (11:38 +0200)]
eolian: start to express ownership transfere
before @owned was not even expressed in the api definitions of the
generated APIs, this adds support for it.
@owned is now expressed with EFL_TRANSFER_OWNERSHIP in a arguments. And
that preprocessor directive is documented.
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D9369
Vitor Sousa [Tue, 23 Jul 2019 12:09:23 +0000 (14:09 +0200)]
eolian_mono: parse `binbuf` and `event` keywords, also re-enable binbuf tests
Summary:
Parse `binbuf` and `event` type names and generate the proper binding type.
In
288f645e3cdb tests for `Eina.Binbuf` were disabled in order to avoid the
usage of deprecated notations in eolian.
Since the new `binbuf` keyword works as a substitute for the old notation
`ptr(Eina.Binbuf)`, tests were updated and re-enabled using the new notation.
Test Plan: `meson test`
Reviewers: felipealmeida, lauromoura, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9349
Subodh Kumar [Tue, 23 Jul 2019 07:37:09 +0000 (09:37 +0200)]
[elm] Add missing sizing eval hook at check
Summary:
check is not shown in our Tizen demo.
sizing eval missing.
@fix
Test Plan: NA
Reviewers: zmike, Hermet, cedric, bu5hm4n
Subscribers: bu5hm4n, #reviewers, #committers
Tags: #efl
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9378
Radoslaw Cybulski [Mon, 29 Jul 2019 12:40:18 +0000 (14:40 +0200)]
atspi: get_at_point and neighbor navigation unified
Get at point navigation used different object hierarchy, then neighbor
navigation, which could produced inconsistent results. This patch unifies
object hierarchy used by both methods.
@tizen_only
Change-Id: Ic598c053771134d8814d59968475e54cd95f2910
Radoslaw Cybulski [Tue, 9 Jul 2019 14:33:27 +0000 (16:33 +0200)]
atspi: add pause / resume reading functionality
@tizen_only
Change-Id: I00dd618dcbed153eb4cf7783f3da5ba6d6b8c0af
Radoslaw Cybulski [Wed, 3 Jul 2019 12:14:16 +0000 (14:14 +0200)]
atspi: add paused / resumed speaking notification handling
@tizen_only
Change-Id: I5110fffc7dc965cca0ca675aa1b30772bc98dd07
Radoslaw Cybulski [Wed, 3 Jul 2019 07:08:52 +0000 (09:08 +0200)]
atspi: fixed invalid do action condition, added check to highlight grab
Do gesture had invalid _is_object_permitted check, fixed.
Highlight grab is now governed by call to accept_object, thus limiting
objects, that might be highlighted to those, that might be tapped.
@tizen_only
Change-Id: I7ed979bba6178ad266daf9c93f681ec925936978