Commit Graph

27775 Commits

Author SHA1 Message Date
Marcel Hollerbach fc12e7721f efl_ui_selectable: split this up
i dont know why, but something got badly mixed up, the selection APIs
for text and item ended up in the same interface, which seems ... weird
?
This commit splits that up into container_selectable and
text_selectable, there is no future plan on my list for text_selection.
The rest of this series is working towards removing
container_selectable, replacing it with a new interface. However, the
interface will stay until list_view is replaced.

The changes in the legacy code are removing the efl.ui.selection
interface from it, item emission is not depending on the inherited
interfaces, additionally, this interface does not provide any API, so
this should not be an issue.

ref T7766

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9498
2019-08-05 19:49:12 +02:00
WooHyun Jung 53649030db efl_ui_action_connector: rename clickable_util to action_connector
efl_ui_clickable_util was only for efl_input_clickable interface,
but there can be more cases which want to connect object event
to specific action interfaces (such as scrolling) in the future.
For that extension, efl_ui_action_connector seems better.

ref: T7847

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9486
2019-08-05 17:44:32 +02:00
Carsten Haitzler d9198f10a9 edje cc - fix coverity warning for uninit local var
fix CID 1382208
2019-08-05 15:20:49 +01:00
Lauro Moura 40def3eac9 efl-mono: Add Model manual implementation to C# and MVVM factories
Summary: Depends on D9273, D9270

Test Plan: Run added testcases.

Reviewers: cedric, bu5hm4n, zmike, SanghyeonLee, felipealmeida, segfaultxavi

Reviewed By: cedric

Subscribers: cedric

Tags: #expertise_solutions, #efl_language_bindings

Differential Revision: https://phab.enlightenment.org/D8080
2019-08-05 10:18:18 -04:00
Carsten Haitzler 7c72f10153 ethumb - fix error free of static string as stringshare
in one case we try stringshare_del a static string, not stringshared,
so fix by always making it a stringshare

fix CID 1402614
2019-08-05 15:02:45 +01:00
Carsten Haitzler 4664d02fe2 epp - fix tchnical leak for coverity
its technically a leak.. but epp will give up a nd error out anyway
here so... didn't matter.

fix CID 1402655
2019-08-05 15:00:29 +01:00
Carsten Haitzler b7bc6212bc ecore drm legacy - fix dbus leaks of reply handle
fix CID 1402664
2019-08-05 15:00:29 +01:00
Daniel Kolesa 4c6a9520ef eolian: fix use after free in eolian_database
'toscan' is actually a view to 'mpath' memory, so freeing it first
would result in use-after-free. This is obviously only in the error
branch so it usually does not happen, but fix anyway.

CID1403022
2019-08-05 15:43:39 +02:00
Daniel Kolesa 4f50a9728d eolian: fix false positive use-after-free in parser
The catch here is that check_match results in a long jump under
that condition. The static analyzer doesn't know this, so declare
intent.

CID1402703
2019-08-05 15:42:24 +02:00
Daniel Kolesa 3c7e1c9767 eolian: silence return checking in lexer
Coverity CID1396970.
2019-08-05 15:39:43 +02:00
Daniel Kolesa 80fb8727b5 eolian: refactor "dead" code
This has no functional change but should stop coverity from
complaining.

CID1382214
2019-08-05 15:37:13 +02:00
Daniel Kolesa ede2db5f1b eolian: attempt to silence coverity overlapping assignment errors
While the previous code was I believe correct, coverity still
complains about it. Split it into two statements also to declare
intent.

CID 1402603..1402724
2019-08-05 15:35:15 +02:00
Carsten Haitzler ce44122f61 elm theme - fix leak in error cse in elm theme mmap set
we don't free the eina file handle on error. coverity found it. fix

fix CID 1402680
2019-08-05 14:28:40 +01:00
Carsten Haitzler 970b620f5a ethumb - make coverity happy by including null char
doesnt cost us much to memcpy the nul byte too to keep coverity happy.

fix CID 1402690
2019-08-05 14:17:33 +01:00
Carsten Haitzler 9ea4bb8fc7 ecore evas drm - fix multi-dlopening of lib into symbol space
only load libglapi once... not multiple times by storing static ptr to
lib handle.

fix CID 1402692
2019-08-05 13:55:38 +01:00
Yeongjong Lee f2b1f312a9 efl_input_key: replace key property name with key_sym
Summary:
Sorry to touch stable eo classes. there is name conflict issue between class and
property when binding language is generated from eo. for example in C#, compiler
error occurs.

```
src/bindings/mono/efl_input_key.eo.cs(272,26): error CS0542:
`Efl.Input.Key.Key': member names cannot be the same as their enclosing type
```

This patch changes Efl.Input.Key.GetKey/SetKey method to
Efl.Input.Key.GetKeySym/SetKeySym and generates Efl.Input.Key.KeySym
property.

Note that CAPI is not changed.

ref T8093

Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: lauromoura, woohyun, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8093

Differential Revision: https://phab.enlightenment.org/D9483

zmike note: this class was not released at the point of this patch, the class
was only recently marked as stable
2019-08-05 08:51:22 -04:00
Vincent Torri fb023ee6d2 evil: add mprotect() and fix a bit mmap(). Elm_test is working
Test Plan: compilation aand elm_test working

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9493
2019-08-05 08:47:19 -04:00
Marcel Hollerbach 94b05f15e6 efl_ui_spin/button: move from elm_ to efl_ prefixed functions
Summary:
this moves a bunch of api calls from elm_ to efl_. Those calls that are
called on the entry object are still elm, as well as access APIs, they
will have to be moved once efl_ui_text is usable.
Depends on D9475

Reviewers: segfaultxavi, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9488
2019-08-05 08:47:00 -04:00
Carsten Haitzler 034ef0badc ecore drm - legacy - fix coverity leak complaint
is real - in error case. fix it to make coverity happy.
fix CID 1402696
2019-08-05 13:44:25 +01:00
Carsten Haitzler ea48df482c ephysics - fix stringshare double del
fix CID 1402707
2019-08-05 13:33:01 +01:00
Hermet Park 8650c7d09d vg json: update missing change in 16d806ff92. 2019-08-05 21:09:14 +09:00
Hermet Park 16d806ff92 vg json: up to date internal reference.
rlottie is not officially released, still it's unstable.
2019-08-05 20:42:26 +09:00
junsu choi 949cf2750b ector_software_rasterizer: Add default value for stroke's miter_limit
Summary:
Currently the default value of miter_limit is defined as 0.
miter_limit should be specified to a value other than 0. becuase it is affected by width.
See below for an explanation of this.
https://www.freetype.org/freetype2/docs/reference/ft2-glyph_stroker.html#ft_stroker_linejoin

There is no particular reason why the default value is 0x4.
It only refers to the standard of web svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit

Test Plan:
   setenv("ECTOR_BACKEND", "default", 1);
   elm_init(argc, argv);
   Evas_Object *win = elm_win_util_standard_add(NULL, "test");
   evas_object_smart_callback_add(win, "delete,request", win_del, 0);
   elm_win_autodel_set(win, 1);
   Evas_Object *bg = elm_bg_add(win);
   elm_bg_color_set(bg, 255,255,255);
   evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_show(bg);

   Evas *evas = evas_object_evas_get(win);

   Evas_Object *vg = evas_object_vg_add(evas);
   evas_object_show(vg);
   Evas_Object *container = evas_vg_container_add(vg);

   Evas_Object *shape = evas_vg_shape_add(container); //Default is EFL_GFX_JOIN_MITER
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 50, 150);

   shape = evas_vg_shape_add(container);
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_BEVEL);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 200, 150);

   shape = evas_vg_shape_add(container);
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_ROUND);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 350, 150);

   evas_object_vg_root_node_set(vg, container);
   elm_object_content_set(bg, vg);

   elm_win_resize_object_add(win, bg);
   evas_object_resize(win, WIDTH, HEIGHT);
   evas_object_show(win);
   elm_run();
   elm_shutdown();

Reviewers: smohanty, Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9492
2019-08-05 18:08:50 +09:00
Marcel Hollerbach 7869778d02 efl_ui_spin: move the step implementation to spin_button
having efl_ui_spin implementing efl.ui.range_interactive does not make
sense. Efl.Ui.Spin is a not interactive widget, so it should not
implement that interface.

ref T7897

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9475
2019-08-03 20:40:11 +02:00
Marcel Hollerbach 42bbe0e58f efl_ui_spin_button: fix initial displaying of formatting string
spin_button should also implement formatted_apply, the label has a
different part name then spin.

ref T8097

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9474
2019-08-03 20:40:10 +02:00
Marcel Hollerbach 7558620957 efl_ui_spin_button: stop calling only the parent
if the spin button is skipped the spin is called directly, the label
will display the wrong value.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9473
2019-08-03 20:40:09 +02:00
Carsten Haitzler db18d67af9 elm toolbar - fix toolbar item separators and refactor aling/fill of item
only set this is one place and thus get it consistent/right for
separators vs other items.

@fix
2019-08-02 17:17:48 +01:00
Carsten Haitzler efd45df1c4 elm toolbar - fix packing options at start to avoid visual layout bugs
i spoetted open moving around and shrinking when it shouldnt -
packging options (fill/align) not always set right. this fixes that.

@fix
2019-08-02 16:41:12 +01:00
Carsten Haitzler d9dbd2fbea ecore evas x and e sync rendering - disable as it's unused
this has been optional and unused by e for a very long time ot try
sync front-buffered software rendering with the wm/compositor. we may
as well remove the bloat that is here that is unused... it's been
inactive for many years anyway.
2019-08-02 16:41:12 +01:00
Xavi Artigas d13c59fb89 mono-docs: Add more event args link for event handlers
There were some events missing <value> tags (see f01b113401)
2019-08-02 17:29:27 +02:00
Xavi Artigas 6764535aae mono-docs: Escape the recently added docs
This is the second time I forget...
2019-08-02 16:15:20 +02:00
Xavi Artigas e4a2e7cb55 mono-docs: Add descriptions to event args
Event args structs had fields without description (missing <value> tag).
2019-08-02 14:03:26 +02:00
Xavi Artigas 3fd5542f6d mono-docs: Proper indentation for previous commit 2019-08-02 13:53:19 +02:00
Xavi Artigas f01b113401 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.
2019-08-02 13:49:20 +02:00
Hermet Park 03cb0212ac 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);
   }
2019-08-02 18:27:38 +09:00
Hermet Park 9395a4c33c evas rectangle: code refactoring.
Just removed white spaces, fixed indentation.

No logical changes.
2019-08-02 18:27:27 +09:00
Jaehyun Cho b1e697df1c 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
2019-08-02 10:50:02 +02:00
Mike Blumenkrantz ded6dc9017 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
2019-08-01 14:37:10 -07:00
Mike Blumenkrantz b89e7b3500 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
2019-08-01 14:37:07 -07:00
Mike Blumenkrantz fe849c9666 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
2019-08-01 14:37:05 -07:00
Vincent Torri 085de22d42 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
2019-08-01 14:37:02 -07:00
Marcel Hollerbach 4f45749b14 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
2019-08-01 14:36:59 -07:00
Marcel Hollerbach 1c916714f0 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
2019-08-01 14:36:56 -07:00
Marcel Hollerbach fd860eb6e8 efl_ui_spin_button: rename circulate to wraparound
ref T8097

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9461
2019-08-01 14:36:53 -07:00
Marcel Hollerbach bd8fcab8b2 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
2019-08-01 14:36:50 -07:00
Marcel Hollerbach 45b763a2dc 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
2019-08-01 14:36:48 -07:00
Marcel Hollerbach 010f813572 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
2019-08-01 14:36:45 -07:00
Lauro Moura ca813f41a6 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
2019-08-01 21:12:36 +02:00
Lauro Moura becef7aee4 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
2019-08-01 21:12:36 +02:00
Xavi Artigas 44e0027338 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
2019-08-01 21:12:36 +02:00