Xavi Artigas [Fri, 2 Aug 2019 15:29:27 +0000 (17:29 +0200)]
mono-docs: Add more event args link for event handlers
There were some events missing <value> tags (see
f01b1134012bafcc4d0c82588230796a7c9ef5bb)
Xavi Artigas [Fri, 2 Aug 2019 14:15:20 +0000 (16:15 +0200)]
mono-docs: Escape the recently added docs
This is the second time I forget...
Xavi Artigas [Fri, 2 Aug 2019 12:03:26 +0000 (14:03 +0200)]
mono-docs: Add descriptions to event args
Event args structs had fields without description (missing <value> tag).
Xavi Artigas [Fri, 2 Aug 2019 11:53:19 +0000 (13:53 +0200)]
mono-docs: Proper indentation for previous commit
Xavi Artigas [Fri, 2 Aug 2019 11:49:20 +0000 (13:49 +0200)]
mono-docs: Add event args link for event handlers
For some reason DocFX does not generate links for templated event handlers:
event EventHandler<Efl.Input.IInterfacePointerOutEvt_Args> PointerOutEvt;
After unsuccessfully trying to find out why, this patch adds the link to the
event arguments in a <value> tag, so at least it shows in the documentation
and the reader has somewhere to click to find out what arguments an event
is sending.
Hermet Park [Fri, 2 Aug 2019 09:17:40 +0000 (18:17 +0900)]
efl_canvas_rectangle: rendering optmization.
There was a weird profiling result that rectangles drawing is much much slower than images.
Checked reason, the computation rect clip area is the overload point.
I don't think it's necesary but we can simplely improve the performance here
by replacing native function.
I tested this by drawing 400 number of rectangles,
and this patch improved up abt 10 fps(sw), 20fps(gl).
@TEST CODE
MAX_SIZE = 400;
for(int i=0; i< MAX_SIZE; i++)
{
Evas_Object *rect = evas_object_rectangle_add(layout);
int x = rand() % WINDOW_WIDTH;
int y = rand() % WINDOW_HEIGHT;
evas_object_resize(rect, ELM_SCALE_SIZE(200), ELM_SCALE_SIZE(200));
evas_object_move(rect, x, y);
evas_object_color_set(rect, (rand() % 256), (rand() % 256), (rand() % 256), 255);
evas_object_show(rect);
Elm_Transit *transit = elm_transit_add();
elm_transit_object_add(transit, rect);
int dX = rand() % WINDOW_WIDTH;
int dY = rand() % WINDOW_HEIGHT;
elm_transit_effect_translation_add(transit, 0, 0, dX - x, dY - y);
elm_transit_repeat_times_set(transit, -1);
elm_transit_duration_set(transit, 1.0);
elm_transit_go(transit);
}
Hermet Park [Fri, 2 Aug 2019 09:13:14 +0000 (18:13 +0900)]
evas rectangle: code refactoring.
Just removed white spaces, fixed indentation.
No logical changes.
Jaehyun Cho [Fri, 2 Aug 2019 08:43:45 +0000 (10:43 +0200)]
efl_input_clickable: increase the time interval for repeated counter
Summary:
The repeated counter in Efl.Input.Clickable_Clicked can be used to
identify double click or triple click.
Previously, the repeated counter in Efl.Input.Clickable_Clicked was
calculated within the time interval 0.1 second.
Now, the time interval for the repeated counter is increased to 0.25
second. It seems that 0.25 second is more appropriate to identify if the
two consecutive clicks should be considered together.
(e.g. considered as double click or triple click)
Moreover, in ecore_event and edje, 0.25 second is already used as a time
interval for double click.
Test Plan:
1. Run Efl.Ui.Button in elementary_test
2. Do double click or triple click the buttons
Reviewers: segfaultxavi, bu5hm4n, YOhoho
Reviewed By: segfaultxavi, YOhoho
Subscribers: YOhoho, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9485
Mike Blumenkrantz [Thu, 1 Aug 2019 17:34:18 +0000 (13:34 -0400)]
efl_ui/tags: set entry to fill vertically
forgot this in previous patch
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9479
Mike Blumenkrantz [Thu, 1 Aug 2019 13:20:34 +0000 (09:20 -0400)]
efl_ui/tags: use user size hints for internal objects
restricted min size hint should only be set by an object's own group_calc
function. all other cases should use regular min size hint
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9477
Mike Blumenkrantz [Thu, 1 Aug 2019 17:31:58 +0000 (13:31 -0400)]
efl_ui/flow.box: fix item calc with mixed weights
if a box contains an entire row of items with weight(0), and the next
row contains items with weights set, the item count must be correctly
incremented so that the box uses the right items in its calculations
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9480
Vincent Torri [Thu, 1 Aug 2019 06:44:00 +0000 (06:44 +0000)]
examples: cast to uintptr_t instead of long
on Windows, long is a 32 bits type
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9470
Marcel Hollerbach [Wed, 31 Jul 2019 17:52:08 +0000 (19:52 +0200)]
efl_ui_position_manager: add event for updating the range
the new event can be used to message back the currently visible range
from the position to the collection / collection_view.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9462
Marcel Hollerbach [Thu, 1 Aug 2019 07:55:05 +0000 (09:55 +0200)]
spinner_example: migrate it to efl::ui::spin_button
we should do that more often, that shows issues.
Right now there seems to be an issue with accessors in cxx, something is
freeing the accessor twice. So this feature is disabled right now.
ref T8100
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9471
Marcel Hollerbach [Wed, 31 Jul 2019 16:06:43 +0000 (18:06 +0200)]
efl_ui_spin_button: rename circulate to wraparound
ref T8097
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9461
Marcel Hollerbach [Wed, 31 Jul 2019 13:19:32 +0000 (15:19 +0200)]
efl_ui_spec: add a test suite for the steady event
this checks that the steady event is correctly emitted after some time.
Right now this test does notthing for EFL_UI_SPIN_CLASS. Reason for this
is that Spin is not interactive, even if it implements the interface for
it. Maybe something we should resolve in future.
ref T7894
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9460
Marcel Hollerbach [Wed, 31 Jul 2019 15:49:44 +0000 (17:49 +0200)]
efl_ui_spin_button: use the newly emitted event from range_interactive
this event is not also in range_interactive, so better use this.
ref T8097
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9459
Marcel Hollerbach [Wed, 31 Jul 2019 12:38:13 +0000 (14:38 +0200)]
efl_ui_range_interactive: add a new event
the steady event from slider now moved here. A spec test suite and the
corresponding implementations will follow.
ref T7894
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9458
Lauro Moura [Thu, 1 Aug 2019 19:12:12 +0000 (21:12 +0200)]
csharp: Add a documentation_string generator
Summary:
Escapes a single string, without leading `///`
Depends on D9481
Reviewers: segfaultxavi, felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9482
Lauro Moura [Thu, 1 Aug 2019 19:12:10 +0000 (21:12 +0200)]
csharp: Avoid generating empty <value> tags
Depends on D9478
Reviewers: segfaultxavi, felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9481
Xavi Artigas [Thu, 1 Aug 2019 19:12:10 +0000 (21:12 +0200)]
mono-docs: Add misc struct docs
Summary:
Structs have a convenience constructor which was missing parameter documentation.
Struct fields need a <value> tag or there is a hole in the generated docs.
The documentation for the type of the field has been used, when available.
Test Plan: Build docs and look at generated pages for structs.
Reviewers: lauromoura, vitor.sousa, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9478
Daniel Kolesa [Thu, 1 Aug 2019 14:54:00 +0000 (16:54 +0200)]
eolian: remove __builtin_free_cb
This has long been unused. If we need to replace this eventually,
it should be done correctly.
Daniel Kolesa [Thu, 1 Aug 2019 14:47:52 +0000 (16:47 +0200)]
eolian: disallow ptr() in containers in stable API
Christopher Michael [Thu, 1 Aug 2019 13:04:09 +0000 (09:04 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_input_name_get
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:59:26 +0000 (08:59 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_input_keymap_get
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:56:42 +0000 (08:56 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_input_display_get function
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:53:45 +0000 (08:53 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_input_seat_id_get function
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:53:21 +0000 (08:53 -0400)]
tests/ecore_wl2: Fix assert tests for some window functions
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:41:07 +0000 (08:41 -0400)]
tests/ecore_wl2: Add start of Ecore_Wl2_Input API tests
ref T8016
Christopher Michael [Thu, 1 Aug 2019 12:32:42 +0000 (08:32 -0400)]
efl_ui_collection: Mark unused parameter
double align is actually unused in this function, so mark it as such
Xavi Artigas [Thu, 1 Aug 2019 11:27:51 +0000 (13:27 +0200)]
eolian_mono: Fix whitespace in generated cs files
Pet peeve of mine.
Marcel Hollerbach [Thu, 1 Aug 2019 09:40:05 +0000 (11:40 +0200)]
fix warning
Marcel Hollerbach [Thu, 27 Jun 2019 15:52:53 +0000 (17:52 +0200)]
elementary_test: add a test to show our frame widget
it does not work yet, but we at least have the chance of seeing it.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9194
WooHyun Jung [Thu, 1 Aug 2019 09:19:51 +0000 (09:19 +0000)]
efl_input_clickable: add longpress_abort
Now, a specific class which uses efl_input_clickable_util is able
to cancel ongoing longpress event by calling longpress_abort.
This commit shows how efl_ui_text uses longpress_abort to satisfy
its own longpress use case
ref T7847
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9455
WooHyun Jung [Thu, 1 Aug 2019 08:19:16 +0000 (17:19 +0900)]
efl_ui_clickable_util: remove efl_input_processed_set
Summary:
efl_input_processed_set needs to be used only when specific
event marks that it is monopolizing current user interaction.
(such as scrolling).
But, press event or unpress event looks not that proper.
Reviewers: bu5hm4n, Jaehyun_Cho
Reviewed By: bu5hm4n, Jaehyun_Cho
Subscribers: AbdullehGhujeh, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9454
Marcel Hollerbach [Tue, 30 Jul 2019 09:13:46 +0000 (11:13 +0200)]
efl_ui_position_manager: move from accessor to function callback
this commit enables access to the item structure of the collection via a
function callback. The function callback now enables batching for items,
which does not pay off right now. However, a few more optimizations can
be done in order to get the whole payoff.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9445
Felipe Magno de Almeida [Wed, 31 Jul 2019 21:26:34 +0000 (18:26 -0300)]
eolian-cxx: Add special type tags to make function_wrapper specializations unique
Reviewers: lauromoura, bu5hm4n, woohyun
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9469
Felipe Magno de Almeida [Wed, 31 Jul 2019 21:23:35 +0000 (18:23 -0300)]
eolian-cxx: Generate eot files
Summary:
Eolian Type files were not being generated, which made some template
specialization to not be defined, for example for function_wrappers.
Reviewers: bu5hm4n, woohyun, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9468
Mike Blumenkrantz [Wed, 31 Jul 2019 18:37:41 +0000 (14:37 -0400)]
efl_ui/win: use efl_ui_image internally for non-legacy widgets
switch to using a fully non-legacy widget when this is not being created
with elm_win_add
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9466
Mike Blumenkrantz [Wed, 31 Jul 2019 18:02:47 +0000 (14:02 -0400)]
efl_ui/tags: use flow box internally
the existing layout code here is basically just a flow box, so use that
instead to avoid mixing legacy widgets in unified ones
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9463
ali [Mon, 29 Jul 2019 20:18:37 +0000 (20:18 +0000)]
evas_textblock: change font-size/font-family only using EFL.Text.Font Interface
Currently:
User cannot change font size only, he needs to set both font and font size with (**efl_text_font_font_set**)
To change size only, you need to make two calls, one to get font (**efl_text_font_font_get**) , then pass it again with new size to (**efl_text_font_font_set**).
New Behaviour:
If user want to change size only, then he passes NULL as font argument to keep same font.
If user want to change font only, then he passes 0 as font-size argument, to keep same font-size.
Notes:
This is not best solution, but it better than current behaviour.
I think best solution to have separate function to set font size, but It might break current api or duplicate functions.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9158
Marcel Hollerbach [Wed, 31 Jul 2019 13:02:05 +0000 (09:02 -0400)]
efl_ui_check/radio: use clickable
Summary:
with this commit the state of the check / radio buttons are changes when
the Widget is clicked. The Widget is now using clickable and emits all
the events.
ref T7865
Reviewers: segfaultxavi, zmike, Jaehyun_Cho, woohyun
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7865
Differential Revision: https://phab.enlightenment.org/D9456
Carsten Haitzler (Rasterman) [Wed, 31 Jul 2019 13:05:06 +0000 (14:05 +0100)]
evas events - fix segv if pointer data is freed by cb
callback can free what is in context. avoid that problem
@fix
Xavi Artigas [Wed, 31 Jul 2019 12:24:53 +0000 (14:24 +0200)]
Efl.Composite_Model: Improve docs.
Woochanlee [Wed, 31 Jul 2019 11:34:56 +0000 (07:34 -0400)]
ecore_wl2: Changed log macro ERR->EINA_LOG_ERR.
Summary:
When the ecore_wl2_shutdown() calling without ecore_wl2_init().
It makes crash.
Reviewers: eagleeye, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9452
Xavi Artigas [Wed, 31 Jul 2019 10:53:48 +0000 (12:53 +0200)]
DocFX: Update README with Deployment instructions
The deployment process is currently manual so we better write it down.
Xavi Artigas [Wed, 31 Jul 2019 10:36:37 +0000 (10:36 +0000)]
Efl.Ui.Spin: Remove mouse wheel interaction
This widget is now meant as a base class for other widgets, with very limited
user interaction. Efl.Ui.Spin_Button already takes care of mouse wheel events.
Ref T7897
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9453
Jaehyun Cho [Wed, 31 Jul 2019 09:16:51 +0000 (09:16 +0000)]
efl_ui_spotlight: pop() unpacks content although there is one content
Previously, pop() does not unpack content if there is one content.
Now, pop() unpacks content without transition if there is one content.
Since there is no transition, NULL future is returned.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9450
Carsten Haitzler (Rasterman) [Wed, 31 Jul 2019 09:12:26 +0000 (10:12 +0100)]
Revert "edje/calc: clamp part calc size to 0"
This reverts commit
895ffd93cc5d9e183420bbedb86ec92f5c7e5369.
This commit broke E's widget toolbars that only had text - so many
config dialogs broke. too simple to fix - it's a wrong premise to
begin with it would seem.
Marcel Hollerbach [Wed, 31 Jul 2019 08:57:26 +0000 (10:57 +0200)]
slider_cxx: fix casting
this object now needs to be casted, in order to have the event
available.
Marcel Hollerbach [Tue, 30 Jul 2019 10:09:53 +0000 (12:09 +0200)]
efl_pan: improve docs
Summary: documentation now reflects what is happening in the functions
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8863
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