Commit Graph

19128 Commits

Author SHA1 Message Date
Mike Blumenkrantz f1b29fbbe7 ecore-x: protect ecore_x_shutdown from creating a negative init count
Summary:
@fix
Depends on D8972

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8973
2019-05-29 12:29:04 -04:00
Mike Blumenkrantz 2cf3dc7a39 ecore-evas: check for internal evas presence before using it during free
Summary:
some engines do not have an evas

@fix
Depends on D8971

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8972
2019-05-29 12:29:04 -04:00
Mike Blumenkrantz f8c8f9c16c efl_ui/button: check icon swallow existence before getting its content
Summary:
some button styles do not have this part

@fix
Depends on D8970

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8971
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 695dfb650a elm/slider: check for interval/range state before using that functionality
Summary:
the part elm.dragable2.slider only exists when the slider is set to range
mode, so verify that this mode is active before attempting to use that part

@fix

Depends on D8968

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8969
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 1051a1ca46 elm/slider: avoid emitting double events when range slider value changes
Summary:
in range mode, there are two slider endpoints, but only one event should be
emitted if a change is detected during update

@fix
Depends on D8967

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8968
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz f0a136f999 elm/map: ignore zoom events during construction which cannot be handled
Summary:
sd->obj is null until after the object is finalized, so this codepath
cannot be processed until then

@fix
Depends on D8966

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8967
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz fb63dfae77 elm: fix value of datadir when running in tree
Summary:
this makes it possible to successfully run elm_test out of the tree
without installing

@fix
Depends on D8965

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8966
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 210ea6a808 elm: don't attempt to load clouseau when running in tree
Summary:
clouseau doesn't work anyway
Depends on D8964

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8965
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz bd5d957364 elm/hovers: don't trigger more errors when setting null hover parent
Summary:
null is not a valid subobject, do not attempt to add it

@fix
Depends on D8963

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8964
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 2e8f714979 elm/gengrid: handle focus events when no previous focus item was set
Summary:
this triggers fewer error messages

@fix
Depends on D8962

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8963
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz da877d9e63 elm/gengrid: more null checks for setting mirrored state during construction
Summary:
sd->obj is only non-null later in construction, so add even more checks for it
here

@fix
Depends on D8961

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8962
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 1ba2a99b9a elm/gengrid: handle cache item deletion without errors
Summary:
@fix
Depends on D8959

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8960
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz a9ef4ab348 elm/entry: use edje functions directly for interacting with edje objects
Summary:
this eliminates a number of errors triggered when processing class hierarchy
to reach the desired subobject with these edje functions

@fix
Depends on D8958

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8959
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 396f150fb4 elm/diskselector: trigger sizing eval during theme set only if finalized
Summary:
this can't be successfully completed until the object has been fully constructed

@fix
Depends on D8957

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8958
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 82697854b3 elm/diskselector: fix handling in theme data setup
Summary:
the previous code checked for the object which was required to execute
the remainder of the function, then returned if that object existed instead
of continuing with the function. hello?

@fix
Depends on D8956

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8957
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz b265bb0e2b elm/colorselector: return early from theme apply if object is not yet finalized
Summary:
the remainder of this function cannot be handled until objects are set up
later in construction

@fix
Depends on D8955

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8956
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz d09edd7242 elm/layout: do not trigger sizing eval at end of canvas_group_add
Summary:
this can never succeed as there will never be an object to successfully
size with at this point

@fix
Depends on D8954

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8955
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 75bdc620a1 elm/layout: do not trigger sizing eval on subobj deletion if no resize_obj set
Summary:
this has no effect since the resize_obj is what determines sizing

@fix
Depends on D8953

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8954
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 0dc166adbd efl_ui_focus_manager/calc: handle redirect setting if no previous redirect set
Summary:
use same pointer for conditional to improve readability, avoid passing null to
efl_ui_focus_manager_reset_history() which cannot be passed null

@fix

Depends on D8952

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8953
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 9c2547db0c eina/prefix: ignore magic files when running in tree
Summary:
this just can't work.

@fix
Depends on D8951

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8952
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 655c816539 eina/file: use INFO log level when eina_file_open fails
Summary:
this function is commonly used to detect the existence of files using
its return value. for this purpose, printing warnings any time the file
cannot be opened is spammy and not very helpful in the context of detecting
actual errors.
Depends on D8950

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8951
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 0f5cec8d51 efl_canvas_layout: permit part_type_get on invalid parts
Summary:
this is the only way to determine whether a part is invalid, so it should
be usable without triggering errors

@fix
Depends on D8948

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8949
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz a8fda441be edje/load: (more) correctly handle part updates after changing edje group
Summary:
if a part changes its type, verify that the new type is compatible AND
exists before attempting to re-set the previous state, otherwise take
action and print warning

@fix
Depends on D8947

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8948
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz bf7b030517 ecore/timer: fix handling of timer freeze during construction
Summary:
timer has no loop pointer until it is finalized

@fix
Depends on D8918

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8947
2019-05-29 12:29:03 -04:00
Mike Blumenkrantz 738241c0bd edje/calc: correctly handle swallow/group objects as clippers for state clips
Summary:
in the case where the clipper being set was an indirect object, it's necessary
to resolve the lookup for that part and use the actual part object to avoid
setting a placeholder rect as the clipper

@fix
Depends on D8850

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8851
2019-05-29 12:29:03 -04:00
Xavi Artigas f68e93be8d Efl.Ui.Flip: Silence warning
The Efl.Ui.Orientation enum is actually made of flags, which we can OR
together, and it includes bitmasks for easier manipulation.
gcc expects switch() statemenets to include all enum values and nothing
but the valid enum values, which is abit too restrictive for flags.
Casting to int removes the warning.
2019-05-29 15:13:32 +02:00
Yeongjong Lee 56ab05660e efl_ui_relative_layout: prevent infinite loop in chain calculation
Test Plan:
test code
```
EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Eo *win, *layout, *btn1, *btn2, *btn3;

   win =  efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get());
   layout = efl_add(EFL_UI_RELATIVE_LAYOUT_CLASS, win,
                    efl_content_set(win, efl_added));

   btn1 = efl_add(EFL_UI_BUTTON_CLASS, layout);
   btn2 = efl_add(EFL_UI_BUTTON_CLASS, layout);

   efl_ui_relative_layout_relation_right_set(layout, btn1, btn2, 0.0);
   efl_ui_relative_layout_relation_right_set(layout, btn2, btn1, 0.0);

   efl_ui_relative_layout_relation_left_set(layout, btn2, btn1, 1.0);
   efl_ui_relative_layout_relation_left_set(layout, btn1, btn2, 1.0);

   elm_run();
   return 0;
}
ELM_MAIN()
```

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9032
2019-05-29 17:24:30 +09:00
Yeongjong Lee e3a791c4b1 efl_ui_relative_layout: allow to respect the min size of its child
Summary: It will have the same policy as the Efl.Ui.Box, Table.

Test Plan: elementary_test -to 'efl.ui.relative_layout'

Reviewers: Jaehyun_Cho, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9029
2019-05-29 17:24:21 +09:00
Marcel Hollerbach 52b2701bc3 efl_ui_suite: fix errors in focus tests
Summary:
there have been a few cases where things were just wrong. Like missing
regular nodes in a focus manager that received focus, and stuff like
this. This now fixes all those cases.

Reviewers: zmike, cedric, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9021
2019-05-28 12:01:50 -04:00
Vincent Torri a21974367c Evil: fix infinite loop with setlocale
Summary: evil_setlocale was defined as setlocale in evil_private.h *before* evil_setlocale, hence evil_setlocale was calling itself. The solution was to not call evil_private.h in evil_locale.c

Test Plan: compialtion and elementary_test

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7985

Differential Revision: https://phab.enlightenment.org/D9030
2019-05-28 11:37:03 -04:00
Xavi Artigas 93909d89e5 eolian: allow parts named like methods
Summary:
The C# bindings turn parts into class properties, so part names cannot clash
with method names.
However, a "Part" prefix has been recently added, just like it was done for
events, and therefore this eolian restriction can be lifted.
With this patch part name clashes are only checked among parts, just like it
is done for events.

Relates to D8582

Test Plan: Everything still builds, because we have no part-method name clashes in the tree, but now they are possible.

Reviewers: q66, SanghyeonLee

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9031
2019-05-28 17:13:49 +02:00
Alastair Poole 7024b19ab1 build: Fix on OpenBSD.
This adds support for OpenBSD with meson build
system. Also use better paths. This resolves
further issues when building EFL.`

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9028
2019-05-28 12:02:48 +02:00
Jaehyun Cho 48c53841a4 efl_ui_stack: fix not to keep final state of push/pop animations
It is just required to show pushed content and hide popped content after
the push/pop animations.
Therefore, it is not required to keep the final state of the push/pop
animations after finishing the push/pop animations.
2019-05-27 19:50:33 +09:00
Vincent Torri 0732606118 Evas gesture: do not use abs when dealing with double, use fabs instead
Summary: clang reports a warning here. We compare the result of abs (casting to an int, returning an int) to a double value. Hence we should use fabs instead

Test Plan: compilation

Reviewers: Jaehyun, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9024
2019-05-27 15:56:41 +09:00
Hermet Park 7eef03a041 efl_ui_textpath: redraw text properly.
It needs redraw since text draw depends on the obj' size.
2019-05-27 14:36:44 +09:00
Daniel Kolesa 223c0a0fdc eolian: add runtime API to get file format version
This is useful for FFI based bindings (like the Lua or Python ones)
and so on.
2019-05-26 18:35:48 +02:00
Daniel Kolesa 21790b055b eolian: prevent parsing when eo file version is too new 2019-05-26 18:30:02 +02:00
Daniel Kolesa 7dcbdef56d eolian: add API to query unit version 2019-05-26 18:19:20 +02:00
Daniel Kolesa db1b637fae eolian: initial versioning implementation
This implements initial support for specifying unit versions.
The default version is 1, specifying the basic feature level.

If you want to specify another version, you need to specify
something like `#version 2` at the beginning of the .eo or
.eot file; the version number must be higher than 0 and lower
than USHRT_MAX (typically 65536).

The beginning of the file is now called the "header section";
other things may be added into the header section later.
Version cannot be specified twice, and it cannot be specified
once other contents (like types or class definition) appear.
Comments do not count as other contents, so those are fine
to appear before #version.

@feature
2019-05-26 18:16:01 +02:00
Daniel Kolesa 13ddc5dbc1 eolian: rename @warn_unused and its associated API
@warn_unused in syntax is now called @no_unused - this is because
"warning about unused" is a C thing (or rather, an extension to C)
and various languages might want to use stricter behavior for this.

Its associated API does the reverse now - it lets you query whether
being unused is allowed at all. This is to match future behavior
of Eolian (once it supports versioning) that will likely reverse it.

@feature
2019-05-26 17:41:22 +02:00
Daniel Kolesa d0fed247bb eolian: remove param @nonull
This has been deprecated for a while and is not strictly necessary
- as a part of an effort to stabilize Eolian, remove this. Eolian
will eventually gain support for versioning and use a reversed
behavior (i.e. no NULL by default), but the API it wlll use for
that will be very different. Features can always be added, it's
much harder to drop them.

@feature
2019-05-26 17:25:15 +02:00
Xavi Artigas 38d7d33354 Rename Efl.Ui.Direction -> Efl.Ui.Layout_Orientation
Summary:
This clarifies a bit the whole Orientation vs. Direction confusion, at the
expense of longer names (Image_Orientation vs. Layout_Orientation).
Also, the interfaces are now adjectives (Orientable) and the enums have long
names (*_Orientation).

Pretty big patch, but no functional changes.

Relates to T7863

Test Plan:
Everything builds and passes tests.
Elementary_tests show same behavior, including the "inverted" widgets, which
are the only parts which received a bit of code changes.
Proof:
https://travis-ci.org/Enlightenment/efl/builds/536277282

Reviewers: zmike, bu5hm4n, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8946
2019-05-24 12:30:32 -04:00
Xavi Artigas 00851ea53b Fix last missing reference to old efl_orientation headers
This is now efl_gfx_orientable.
We are not building the C++ examples, so I did not pick this up sooner.
Travis does not build C++ bidings at all.
2019-05-24 11:28:09 +02:00
Mike Blumenkrantz 029b20fa82 efl/gesture: include .h file in private header, not .c file
Summary:
a generated eolian c file cannot be included multiple times or else it will
create multiple definitions of symbols defined in that file and break the build

ref 54175998d5
fix T7960

Reviewers: devilhorns, vtorri

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl_build

Maniphest Tasks: T7960

Differential Revision: https://phab.enlightenment.org/D8945
2019-05-23 13:55:50 -04:00
Mike Blumenkrantz f012eb6d57 elm_widget_item_static_focus: mark param as used
Summary: Depends on D8935

Reviewers: bu5hm4n, devilhorns

Reviewed By: bu5hm4n, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8936
2019-05-23 09:32:11 -04:00
Mike Blumenkrantz 28ac4d08cc efl_ui_focus_manager_sub: handle manager change when tree is set to unfocusable
Summary:
in this case, the event is emitted and no manager exists because the objects
are not focusable

@fix

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8935
2019-05-23 09:32:00 -04:00
Mike Blumenkrantz 0d8856b24a elm_color_class: use legacy event for genlist selection
Summary:
this fixes the selection callback and makes the widget work again

@fix

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D8913
2019-05-23 09:31:50 -04:00
Mike Blumenkrantz bca846d846 evas/render: fix proxy clipping when source_clip is disabled
Summary:
when source_clip is disabled, the clipper used should be the one used by
the proxy object. previously this would never be the case, meaning that
disabling source_clip had no effect

@fix
Depends on D8879

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8880
2019-05-23 09:31:42 -04:00
Shinwoo Kim 451959973d Efl.Ui.Textpath: fix a size problem
Summary:
Textpath set its hint_size using its position and calulated path information.
The path information is calculated using center postion, radius & start angle.
For example, if textpath position is 0,0 and center positon of path is 100,100
and radius 50, then text will be located on the rigth side of textpath object.

Moreover there is another problem.

[Step to reproduce]
1. Launch elementary_test
2. open Efl.Ui.Textpath
3. see circle is not center aligned.
4. click Clockwise 1 ~ 2 times center position is changed repeatedly.

This occurs because textpath size is calculated by position_set.
It does not make sense that changing postion defines its size.

So this patch is setting textpath hint_size using only given center position.
The text will position on the middle of textpath object always.

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8930
2019-05-23 20:11:44 +09:00
Xavi Artigas 12cab54b9c Rename Efl.Gfx.Orientation -> Efl.Gfx.Image_Orientation
Summary:
This will help disambiguate later on when we rename Efl.Ui.Direction
to Efl.Ui.Layout_Orientation.

Relates to T7919

Test Plan: Everything still builds and passes tests.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8934
2019-05-22 14:16:16 -04:00
Hosang Kim 020a59b0f2 ecore_ipc: close dialer io closer when dialer is deleted.
Summary:
dialer uses copier class, so dialer's close on invalidate flag is EINA_FALSE.
Therefore dialer io closer is not closed automatically.

Reviewers: barbieri, raster, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8922
2019-05-22 08:01:58 -04:00
Vincent Torri 8db978aa4c include evil_private.h in last files, and disable symbolic links on Windows in a couple of files
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8933
2019-05-22 07:59:05 -04:00
Christopher Michael ead88ff2ad ecore-drm2: Add API to check if vblank is supported
This patch adds a small API that we can use to check if the current
video driver supports the usage of drmWaitVBlank. This check is
required for certain drivers (like vbox) which do not support
drmWaitVBlank and thus are causing our animators in ecore_evas to
freeze. We can now use this API from within Ecore_Evas to disable
vsync'd animators and fall back to timer based ones.

@feature
2019-05-22 07:44:00 -04:00
Xavi Artigas 3081d9b8ea evas/scale_sample: even more code deduplication
Summary:
how many times was this block of code copied around???

no functional changes
Depends on D8848

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8849
2019-05-21 20:27:15 +02:00
Mike Blumenkrantz 7c78938689 evas/scale_sample: remove unnecessary clamping to mask geometry
Summary:
this is now handled entirely in the masking helper function

no functional changes
Depends on D8847

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8848
2019-05-21 20:27:05 +02:00
Mike Blumenkrantz 6d0233afb8 evas/scale_sample: further deduplicate masking code
Summary:
by adding a couple extra params to existing functions, we can reuse
existing code instead of copying it around and adding more bugs

no functional changes

Depends on D8846

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8847
2019-05-21 20:26:57 +02:00
Mike Blumenkrantz 4542cfcbea evas/scale_sample: deduplicate masking code
Summary:
these functions provide identical functionality to the inline blocks

no functional changes
Depends on D8841

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: Hermet, cedric, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8846
2019-05-21 20:26:45 +02:00
Vincent Torri 03fffc3bdc Eio: avoid symbolic link on Windows
Summary: On Windows, symbolic links do not exist

Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8931
2019-05-21 13:35:01 -04:00
Marcel Hollerbach 1f0ae2e349 eina: move builtin detection to eina_config.h
Summary: this means we don't need to handle this in the buildtool at all.

Reviewers: vtorri, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8553
2019-05-21 12:28:47 -04:00
Daniel Kolesa 5ea0195661 eolian: remove @nullable keyword
This was an experiment that never properly took off and was never
used by any generator. Its use was highly variable, so it could
not be relied upon. We will still want to reverse the current
behavior eventually (no null by default), but that will be
done with eo file versioning in the future.

@feature
2019-05-21 16:04:35 +02:00
Bowon Ryu b5a7ee2ae4 elm_entry: prevents invalid cursor position updates
Summary:
sd->cursor_pos is updated in _entry_cursor_changed_signal_cb.
Generally, there is no problem.
But in some cases, before the _entry_cursor_changed_signal_cb is called
there is a situation in which cursor_pos is updated through _elm_entry_efl_ui_widget_theme_apply.

In this case,
before _entry_cursor_changed_signal_cb is called,
in _elm_entry_efl_ui_widget_theme_apply ()
cursor_pos = sd->cursor_pos; The wrong cursor_pos is set here.
Because it is the value before sd->cursor_pos is updated.
This causes an invalid cursor position when entering a key into the entry.

This patch prevents sd->cursor_pos from being updated with invalid values.

Reviewers: zmike, woohyun

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8923
2019-05-21 09:30:04 -04:00
Shinwoo Kim 205e5a5fe8 Efl.Ui.Textpath: support center align for each direction
Summary:
The textpath draws text from the start_angle. User needs to set correct
start_angle to center the text. This start_angle could be changed according to
each parameters of circle_set such as x, y, radius, direction and text itself.

So this patch is introducing direction EFL_UI_TEXTPATH_DIRECTION_CC(W)_CENTER.
The center of textpath will be located at the start_angle with this direction.

Test Plan: I will add example if this patch is acceptable.

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8892
2019-05-21 14:31:12 +09:00
Shinwoo Kim eaa2e12542 Efl.Ui.Textpath: draw text immediately in the position.set
Summary:
Efl.Ui.Textpath was drawing its text on the job. Because of this, textpath was
slower than other objects which are scrolling on the same scroller.
So this patch makes textpath not use job in the position.set.

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8924
2019-05-21 10:47:58 +09:00
Xavi Artigas e9eb1c825a Rename Efl.Orient -> Efl.Gfx.Orientation
Summary:
And the Efl.Orientation interface -> Efl.Gfx.Orientable
(with proper c_prefix so it is not too cumbersome to use from C).
Also, turned the theme_rotation_apply() parameter into an int to avoid confusion.

Fixes T7919
Depends on D8912

Test Plan: Everything continues to build and pass tests

Reviewers: zmike, bu5hm4n, cedric, Hermet, Jaehyun_Cho

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7919

Differential Revision: https://phab.enlightenment.org/D8926
2019-05-20 11:52:10 -04:00
Xavi Artigas b24fde6787 Merge Efl.Orient and Efl.Flip into the same enum
Summary:
This is similar to how it is in Evas, and simplifies the Efl.Orientation
interface, which only needs one property now.

Relates to T7919

Test Plan: Everything builds and tests pass. There's only one example of efl_orientation_set() so there's not much to test yet.

Reviewers: zmike, bu5hm4n, cedric, Hermet, Jaehyun_Cho

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7919

Differential Revision: https://phab.enlightenment.org/D8912
2019-05-20 11:51:56 -04:00
Vincent Torri a5267d3d9c remove Evil.h when not necessary, include evil_private.h when necessary
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8925
2019-05-20 09:10:00 -04:00
Marcel Hollerbach ee7a6c9a40 meson: fix installed .eo files and fix cross compile
Summary:
if things are a array in a array, then flattening only seems to work
when the first element is a target object. But not when the first
element is then also an string, then the string in the array gets
concatted and added to root array. This is a meson bug, investigation
going on. Additionally, this fixes installed .eo files, as we might want
to installed gesture files when we require them in other objects.

Reviewers: Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8910
2019-05-20 08:49:40 -04:00
Vincent Torri 24e4881efb Evas: remove Evil.h when not needed and use evil_private when needed
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8921
2019-05-20 08:46:02 -04:00
Xavi Artigas 41866a8855 Efl.Pack_Table: remove table_direction
Summary:
The only implementation of this interface, `Efl.Ui.Table`, only supports two fill
directions (horizontal or vertical), therefore the table_direction property which
supports primary and secondary directions is unnecessarily complicated. Remove it
and use only `Efl.Ui.Direction.direction` to select the fill direction.
Also, expanded the documentation.

Fixes T7962

Test Plan:
Everything builds and tests pass. Efl.Ui.Table elementary_test still work.
Examples need to be adjusted to stop using table_direction.

Reviewers: zmike, YOhoho, bu5hm4n, SanghyeonLee, Jaehyun_Cho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7962

Differential Revision: https://phab.enlightenment.org/D8902
2019-05-20 13:24:16 +02:00
Vincent Torri 092114ecc8 bin/eet and ecore_con: remove Evil.h when not necessary and include evil_private.h when necessary
Test Plan: compilation

Reviewers: raster, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8911
2019-05-17 13:51:50 -04:00
Vincent Torri 40e2f9ba8e Eet: remove useless inclusion of Evil.h
Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8909
2019-05-17 11:53:35 +01:00
Vincent Torri 839f22870b bin/efl and ecore: include evil_private.h when appropriate
Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8908
2019-05-17 11:53:35 +01:00
Jaehyun Cho 099eb2c315 evas_gesture: fix meson.build to build and install correctly 2019-05-17 19:48:05 +09:00
junsu choi 4e574867e8 evas_vg_node: Move change flag value setting
Summary:
_node_change function is only executed
when the flag is none to prevent duplicate calls.
If CHANGE_MATRIX_FLAG is added to the flag in advance,
_node_change function does not operate normally.

Test Plan:
cd ./src/examples/evas
gcc -o evas_vg_simple evas-vg-simple.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl` -lm
./evas_vg_simple

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8895
2019-05-17 10:44:41 +09:00
Vincent Torri 8b21255bba Evil: remove fall through warning
Summary: gcc and clang support the usage of "fall through" comment to suppress this warning

Test Plan: compilation

Reviewers: raster, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8904
2019-05-16 13:49:39 -04:00
Vincent Torri ce9cad3a3b Eina: replace Evil.h with evil_private.h and remove Evil.h when not necessary
Test Plan: compilation

Reviewers: raster, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8903
2019-05-16 13:48:59 -04:00
Daniel Kolesa e5c9f5e76f eolian: rename eolian_event_c_name_get
This is for consistency with the new eolian_class_c_macro_get
as well as for better clarity, as c_name_get is already provided
by Object and refers to something else.
2019-05-16 15:57:39 +02:00
Daniel Kolesa b3a870c7bb eolian: rename eolian_typedecl_enum_field_c_name_get
This is to allow for better object oriented APIs, as the `c_name`
field would be inherited from Object. This also makes it more
clear in C.
2019-05-16 15:52:46 +02:00
Daniel Kolesa 4ab1f2388e eolian: add API to retrieve the C name of an object
This is to prepare for type/class renaming support. This adds
the necessary API to retrieve C-specific names. Other refactoring
is necessary elsewhere for now.

This also renames the old API eolian_class_c_name_get to
eolian_class_c_macro_get to avoid conflict as well as clarify
the intention.
2019-05-16 15:43:52 +02:00
Vincent Torri 7f45f94af0 Eo: replace Evil.h with evil_private.h
Test Plan: compilation

Reviewers: q66, raster, zmike

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8905
2019-05-16 14:36:12 +02:00
Jaehyun Cho 6da6bd536e efl_canvas_text: fix to set halign correctly
Previously, halign_auto was AUTO_NORMAL when halign was set so the given
halign value could not be applied correctly.

Now, halign_auto is modified to AUTO_NONE before halign is set so the
given halign value is applied correctly.
2019-05-16 13:30:54 +09:00
Marcel Hollerbach 81d8d8ee55 efl_ui_frame: migrate to efl.ui.clickable
Summary:
frame now uses efl.ui.clickable, which ensures correct click emittion.
The click event is not needed in the event anymore. However, now
efl,action,press / efl,action,unpress is needed.

Depends on D8825

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8826
2019-05-15 09:09:04 -04:00
Vincent Torri d8cb3e7f71 Evil: move the inclusion of all headers in evil_private.h
Summary: first step for making Evil private. evil_private.h will be included in the EFL source code instead of Evil.h

Test Plan: compilation

Reviewers: raster, cedric, zmike

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8893
2019-05-15 12:27:37 +01:00
Jaehyun Cho 6fd7c3f727 efl_ui: fix to use Efl.Ui.Widget's "background" and "shadow" part class
To use Efl.Ui.Widget's "background" and "shadow" part class, each widget
inheriting from Efl.Ui.Widget should not use their Part class for
"background" and "shadow" parts.
2019-05-15 19:06:50 +09:00
junsu choi 10062fd957 ector_software_rasterizer: Improved masking calculation.
Summary:
The memory allocation for the buffer size is improved to
allocate only the width size.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, smohanty, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8873
2019-05-15 11:22:45 +09:00
Marcel Hollerbach 6a5a5a4303 efl_ui: remove Efl.Ui.Clickable from containers
Summary:
these widgets here are containers, means: they contain items that can be
clicked, but the container itself cannot be clicked. Later on, we should
introduce a new interface which contains events that reflect the clicked
event of theire items.

Depends on D8827

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8828
2019-05-14 15:51:12 -04:00
Marcel Hollerbach 930f481eee efl_ui_tab_bar: remove Efl.Ui.Clickable
Summary:
nothing here uses this directly, and nothing emits events. For now the
implementation is removed. If this is required later on, it can be
readded.

Depends on D8826

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8827
2019-05-14 15:51:06 -04:00
Marcel Hollerbach 282b76e2bd efl_ui_panes: migrate to efl_ui_clickable
Summary:
the implementation of efl_ui_clickable is now used to tricker the
events. efl,action,click and efl,action,click,double is not needed
anymore from the theme.

Depends on D8824

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8825
2019-05-14 15:50:53 -04:00
Marcel Hollerbach 59dab13bfa efl_ui_text: migrate to efl_ui_clickable
Summary:
This now uses the efl_ui_clickable mixin. It is impossible right now to
test this in the test suite, as every single configuration of the
efl.ui.text object is ending up in an error. Which is not allowed in the
test suite. Additionally, simulating clicks on the objects gets it into
some sort of inifinite recursion when asking for cursor positions.

Depends on D8823

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8824
2019-05-14 15:50:47 -04:00
Marcel Hollerbach 8429ffba9c efl_ui_image: migrate to efl.ui.clickable
Summary:
the mixin is now used to emit the events of the mixins. This is verified
by the testsuite. The testsuite needs a special treatment for the
object, because a missing image-file of the object would result in a 0x0
image size.

Depends on D8822

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8823
2019-05-14 15:50:39 -04:00
Marcel Hollerbach bb1388798b efl_ui_button: port to efl.ui.clickable
Summary: Depends on D8820

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8821
2019-05-14 15:50:25 -04:00
Marcel Hollerbach 64923b8db1 efl_ui: move clickable from efl to efl_ui
Summary:
efl_ui_clickable is now a mixin. The mixin now brings two APIs the press
and unpress API can be used to tell the implementation the state of the
presses. Within the implementation the calls to press / unpress are then
converted to longpress / clicked events.

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8820
2019-05-14 15:50:15 -04:00
Xavi Artigas 7f907ecd9d efl-mono: Use Efl.Ui.Win API instead of Elm.Policy
Summary:
This removes another bit of legacy API from the C# bindings.
This also reverts "elm: Put back Policy and Policy_Quit in EO files"
(a9132a9a66) so that these two Elm enums are
definitely out of the EO files.

Test Plan:
Everything, including mono bindings, continue to build.
At runtime, C# apps still exit when all windows are closed.

Reviewers: lauromoura, vitor.sousa, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8890
2019-05-14 14:33:21 +02:00
Woochanlee 54175998d5 Gesture Manager: Add gestures and fix gesture managing, recognizer logic.
Summary:
https://phab.enlightenment.org/T7544

Provides a way for a user to get a gesture manager, recognizer instance.

Supports different recognizer properties for each target(Eo).

Gesture, Touch Class Life-cycle re-implementation. for supporting multiple touches.

Add below gestures.
efl_canvas_gesture_tap
efl_canvas_gesture_double_tap
efl_canvas_gesture_triple_tap
efl_canvas_gesture_long_tap
efl_canvas_gesture_momentum
efl_canvas_gesture_zoom
efl_canvas_gesture_flick

Test Plan:
Simple test -> test_gesture_framework.c
More test cases will upload.

Reviewers: woohyun, smohanty, segfaultxavi, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun_Cho, segfaultxavi, cedric

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D7579
2019-05-14 16:37:20 +09:00
Marcel Hollerbach b3d7e9128b elc_fileselector: make a few events again legacy
Summary:
the events changed here should not be used. They should use legacy
events.

Depends on D8816

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8819
2019-05-13 15:14:20 -04:00
Marcel Hollerbach 41e1dadbf1 elementary: do not emit new events in legacy
Summary:
This commits prepares the tree in order to mess with the events in the
Efl.Ui.Clickable event. Events which have been emitted in a none legacy
widget, are now emitted either with evas, when the widget is legacy due
to inheritance. Or via the normal event and normal event functions.

In case the widget is a legacy only widget (not used at all in the new
api), then the events are for now emitted with
evas_object_smart_callback_call.

Cases where event handlers have been added to legacy widgets, smart
events are now used, and not the eo one anymore.

ref T7844

Depends on D8813

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7844

Differential Revision: https://phab.enlightenment.org/D8816
2019-05-13 15:14:13 -04:00
Marcel Hollerbach d29edceade efl_ui_clickable: move repeat event
Summary:
the repeat event is only emitted by the implementations of
efl_ui_autorepeat. Additionally, the event should only be used by those
who implement this interface.

Depends on D8832

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike, segfaultxavi

Subscribers: jpeg, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8813
2019-05-13 15:14:03 -04:00
Marcel Hollerbach 4a7dc32f61 elm_panel: do not use the unfocusable state here
Summary:
the widget itself is a focus_layer which means, the tree is orphaned and
cannot be accessed until the panel is visible. There is not need for us
to manually track this state.

fix T7908
Depends on D8831

Reviewers: marcellus, zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7908

Differential Revision: https://phab.enlightenment.org/D8832
2019-05-13 15:13:54 -04:00
Mike Blumenkrantz 787c270223 evas/image: fix broken auto_fill mechanism when manually changing fill
Summary:
if auto_fill is set (which is the default for image objects), manually setting
the fill for the image would previously only persist until the image was resized,
at which point the auto_fill would activate and re-set the image's fill to be
the same as the image's object geometry

this fixes the auto_fill behavior to stop modifying the image's fill geometry
if the fill is manually changed by the user, which fixes using fill on most
image objects

@fix

Reviewers: cedric, Hermet

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8879
2019-05-13 11:45:13 -04:00
Mike Blumenkrantz 01ce5a1249 evas/scale_sample: call alloca for the scanline buffer after clamping width
Summary:
this is already a risky call for larger scanlines, so use the clamped value
to further reduce the chance of blowing out the stack

Depends on D8839

Reviewers: cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8840
2019-05-13 11:44:27 -04:00
Mike Blumenkrantz 20cefc8db2 evas/scale_sample: fix mask geometry clamping in scale thread
Summary:
the 'y' parameter is not relevant here. this clamping exists solely
to avoid reading outside the bounds of the mask, and 'y' is the scanline
at which to begin the masking

subtracting the mask size here does not make sense: we are attempting to clamp
to the size of the mask in order to avoid buffer over-read, so this means that
we are mapping the maximum y coordinate of the mask (mask_y + mask_h) to be
relative to the clipped y coordinate (dst_clip_y)

Depends on D8838

Reviewers: cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8839
2019-05-13 11:44:18 -04:00
Mike Blumenkrantz fa983e9ff1 evas/scale_sample: slightly refactor some mask geometry clamping
Summary:
this was a bit confusing to read since the comparators are not ordered
as expected

no functional changes

Depends on D8837

Reviewers: cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8838
2019-05-13 11:44:11 -04:00
Mike Blumenkrantz 15693d3b37 evas_render: deduplicate mapped mask render code
Summary:
this code block was repeated multiple times throughout the function

no functional changes

Reviewers: cedric, kimcinoo

Reviewed By: kimcinoo

Subscribers: kimcinoo, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8837
2019-05-13 11:44:02 -04:00
Carsten Haitzler 96c3edd701 ecore drm2 - fix warnigns in DBG eina logs for long types
on 32bit longs are 32bit so cast appropriately to not have warnings.
2019-05-13 14:27:00 +01:00
Xavi Artigas a9132a9a66 elm: Put back Policy and Policy_Quit in EO files
In e027ad2626 these enums were moved to header files, which is correct,
since they are legacy and should not be present in EO files.
However, the C# bindings are still using them.
Until nobody is using these two enums, adding them back to EO fixes the build.
2019-05-13 11:27:40 +02:00
Shinwoo Kim 4e6539725e Efl.Ui.Textpath: enhance to support legacy API
Summary:
The legacy API is available after https://phab.enlightenment.org/D7033 but
internal function does not care of it. This change makes textpath work with
the legacy style file(./data/elementary/themes/edc/elm/textpath.edc).

Reviewers: Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8875
2019-05-13 13:09:24 +09:00
Myoungwoon Roy, Kim fe56c04b59 docs: Fix a wrong ingroup name of textpath.
Summary:
This patch fixes the wrong ingroup name of elm_textpath APIs.
Elm_Textpath had been defined in elm_textpath.h
enum values had been included into Efl_Ui group
So I had modified all APIs and enum values to be inclused in Elm_Textpath_Group.

Test Plan: run unit test cases

Reviewers: segfaultxavi, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8885
2019-05-13 13:06:54 +09:00
Marcel Hollerbach 09a4731813 efl_canvas_animation: reply on the correct API
the animation itself does not implement the player interface, and
nothing forces it to do so. Additionally, we should ask the reference
object for the current progress. Not the animation object.

This fixes pos_set / pos_get.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8783
2019-05-12 11:56:05 +02:00
Vincent Torri 59f8516ec5 eina vpath: fix warning on Windows, as well as the public path
Differential Revision: https://phab.enlightenment.org/D8866
2019-05-12 11:56:04 +02:00
Cedric BAIL 370917751f eina: update vpath to also support a more classic syntax for variable.
This enable vpath to recognize also ${} as a variable. It does mimic
what Efl.ViewModel provide with Efl.ViewModel.PropertyText and various
other language.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8883
2019-05-11 08:52:07 -07:00
Cedric BAIL 9c992c05d5 eina: refactor and simplify vpath.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8882
2019-05-11 08:52:05 -07:00
Cedric BAIL 5fa78a44d8 elementary: move Fileselector to rely on Efl.FilterModel for filtering instead of custom logic.
This simply a bit the logic of things, but more refactoring would be nice for this widget.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8799
2019-05-10 11:00:35 -07:00
Cedric BAIL fd35f6c193 ecore: add Efl.Filter_Model
This model provide facility to filter the content of composited model.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8797
2019-05-10 11:00:31 -07:00
Vincent Torri 7b44b02e10 elementary genlist: fix potential uninitialized variable.
Test Plan: compilation

Reviewers: raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8874
2019-05-10 10:01:59 -04:00
Vincent Torri 84e6fabbb3 Ecore_Exe: fix warning on Windows
Summary: ExitProcess() has not the signature expected by CreateRemoteThread()

Test Plan: compilation

Reviewers: raster, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8870
2019-05-09 14:09:08 -04:00
Cedric BAIL dac867bb24 ecore: refactor Efl.CompositeModel to provide child allocation to other internal Model.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8796
2019-05-09 09:33:31 -07:00
Cedric BAIL 7b7ad5380a ecore: property handle allocation error in Efl.CompositeModel.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8795
2019-05-09 09:33:29 -07:00
Cedric BAIL eb1d47349b eina: always initialize all the field of Eina_Value used by Eina_Promise.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8794
2019-05-09 09:33:27 -07:00
Cedric BAIL c559bdf809 eio: correctly set reference count of cached child object.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8793
2019-05-09 09:33:25 -07:00
Daniel Kolesa 6312cafe20 eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
Daniel Kolesa 49209553f6 edje_types: (re)move legacy types to header
These are not used anywhere in eo files, so no point in keeping
them around in their legacy form.
2019-05-09 15:19:13 +02:00
Daniel Kolesa e027ad2626 elm: (re)move some legacy types/enums back to header
These are legacy-only and not used anywhere in .eo files, so
move them where they belong. They are still used within impls
around the place. The others can't be moved as they are still
used in .eo files in places, that has to be dealt with separately.
2019-05-09 15:03:00 +02:00
Carsten Haitzler 22081ada26 much better fix to invalid uv coords with new map render code
this fixes the d81d1337b0 fix to do it
in the inner loop so uu and vv stay valid. still not a great fix but
better than chashes.
2019-05-09 12:30:17 +01:00
junsu choi c10dfc3bca ector_software_rasterizer : Move duplicate alloca
Summary: Move the alloca() outside of the loop.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, smohanty, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8869
2019-05-09 19:30:37 +09:00
Vincent Torri 594d5077cd Evil: fix warning on 64 bits
Summary: int is 32 bits, HANDLE is void *, so cast to uintptr_t in between

Test Plan: compilation

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8865
2019-05-08 12:19:00 -04:00
Vincent Torri a41c5f7a06 Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined
Summary:
localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined

edit: also only define _POSIX_C_SOURCE (correctly) on windows

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8859
2019-05-08 10:14:45 -04:00
Carsten Haitzler 20b38ad447 Revert "Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined"
This reverts commit a4c44e5e74.

this breaks on osx it seems... :(
2019-05-08 14:01:02 +01:00
Vincent Torri b141c42e3f Evil: remove wrapper around getcwd()
Summary: getcwd() is declared in direct.h

Test Plan: compilation

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8858
2019-05-08 08:39:36 -04:00
Vincent Torri a4c44e5e74 Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined
Summary: localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined

Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7907

Differential Revision: https://phab.enlightenment.org/D8854
2019-05-08 12:39:54 +01:00
junsu choi 4473062dd4 ector_software_rasterizer: Support gradient mask blending
Summary: This patch supports mask blending of gradient shapes.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, smohanty, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8855
2019-05-08 16:57:19 +09:00
Vincent Torri 770cede2bf eina_file: speed up listing of directories on Windows
Summary:
forbid the creation of short name (legacy of DOS)

Without optimisation

1. using only Win32 API, just iterating over directories (in micro seconds) :
  10 files : 47
  1000 files : 270
  100000 files : 73227
2. using eina_file_dir_list() with a callback which does nothing :
  10 files : 53
  1000 files : 265
  100000 files : 69624

usually there is a small overhead for eina API, which is normal

With optimisation

1. using only Win32 API, just iterating over directories (in micro seconds) :
  10 files : 51
  1000 files : 256
  100000 files : 33345
2. using eina_file_dir_list() with a callback which does nothing :
  10 files : 53
  1000 files : 251
  100000 files : 33832

speed up with 1000 files and more. Twice faster with 100000 files

Test Plan: benchmark program

Reviewers: raster, cedric, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8842
2019-05-07 11:15:54 +01:00
Hermet Park 6d78454142 efl_ui_textpath: remove err log in none error case. 2019-05-07 17:35:06 +09:00
Ali Alzyod 9d5456cfbe efl_ui_text: clear selection after cut
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, "Hello World.<ps>This is an <b>Efl.Ui</b> application!"),
           efl_text_interactive_selection_allowed_set(efl_added, EINA_TRUE),
           efl_text_multiline_set(efl_added,EINA_TRUE),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.9),
           efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
           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

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8833
2019-05-07 10:30:46 +02:00
Carsten Haitzler d81d1337b0 evas - map render - quick fix for segv in new map renderer
u or v go below 0... sometimes. right now i don't know the full path
to there, bute crashes with flat theme when the busy spinner shows
over an ibar icon when you launch... this at least stops that.

this needs hunting in more detail than i'm going to do on my laptop
on the couch...
2019-05-06 21:31:01 +01:00
Ali Alzyod bfaec01987 elm_entry: speed up setting text (check if same text is already set), fix setting same text pointer
This patch deal with two cases:

1- Setting text in Entry (elm_entry_entry_set) , as the one get using (elm_entry_entry_get), caused the entry to become empty.
     * becase entry string was free inside the elm_entry_entry_set function, without checking new passed string.

Now we check if same string was passed to the function, then nothing need to be changed.

```
// Old Behaviour : Entry will become empty
// New Behaviour : Entry will Skip setting same text
elm_entry_entry_set(app->entry, elm_entry_entry_get(app->entry));
```

2- Setting text in Entry (elm_entry_entry_set) , with same content string.
     * internally entry will set empty string then set passed string, which will case recalculation and re-render the entry element.

Now we check if same string data that is passed to the function is the same of the entry content, then nothing need to be changed.

```
// This will be skiped internally since same text is set
elm_entry_entry_set(app->entry, "aaaaa");
elm_entry_entry_set(app->entry, "aaaaa");  //skipped
```

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8572
2019-05-06 17:07:29 +02:00
Daniel Kolesa aa1db12c00 eolian: fail on scan file conflict
If two files of the same name are found in the include paths,
the scan should fail.
2019-05-06 17:05:22 +02:00
Mike Blumenkrantz 41c57721a5 meson: add versioning to and install the evil dll
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8730
2019-05-06 17:00:53 +02:00
Mike Blumenkrantz 434a8484d5 evil: explicitly define HAVE_DL$FUNC for dl functions
these would normally be set by the build system when detecting the
system's libdl functions, but since we are providing them then we must
advertise the functionality to ensure that the right codepaths will
be used

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8729
2019-05-06 17:00:52 +02:00
Mike Blumenkrantz 1ad1ea84fd meson: set HAVE_ELEMENTARY_WIN32 on windows
this enables windows engine selections and other functionality

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8728
2019-05-06 17:00:51 +02:00
Mike Blumenkrantz f254cff545 eina: explicitly include Evil.h in eina_inline_slice.x
this file is included by itself (without Eina.h) so it must also include
its dependency headers

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8727
2019-05-06 17:00:50 +02:00
Mike Blumenkrantz 253fa7e09f meson: support ecore-win32
thx @vtorri

fix T7786

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8722
2019-05-06 17:00:45 +02:00
Daniel Kolesa 653fddfc1e eolian: add support for marking and checking parts as beta
Fixes T7837.
2019-05-05 17:07:26 +02:00
Marcel Hollerbach 1f7cb3e7c8 efl_ui_navigation_bar: remove Efl.Content implemention
Efl.Content implementation is here quite useless. The default part is
not in the theme, the setting will just error out. And from my POV, a
default content would not make sense.

ref T7817

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8807
2019-05-03 17:16:40 +02:00
Marcel Hollerbach 55506f1428 efl_ui_autorepeat: fix documentations
eo_prefix is not required here. And the class documentation is improved.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8806
2019-05-03 17:16:39 +02:00
Marcel Hollerbach 1baf3ba772 efl_ui_autorepeat: get rid of supported property
the property should not exist. if something is not supported then do not
inherit from this interface. If something wants to use the button
theme, then this can be easily used via API.

In legacy we already have the situation that things inherit from the
button class. To solve this, the enabled call is disabled on those
widgets, and disable every time it is called.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8805
2019-05-03 17:16:38 +02:00
Daniel Kolesa db57523e78 eolian: refactor parsing API and path handling
This splits the eolian_file_parse API into two, one for parsing
files already present in the database (always by filename) and
one for parsing paths.

It fixes several bugs/leaks on the way (incorrect use of
stringshare etc.) as well as adds checking for whether there
are no conflicting filenames at scan time, for free. That means
it is now no longer possible to scan two paths which have an eo
or eot file of the same name in them.

It should also be faster now.

It also fixes T7820.

@fix
2019-05-03 17:06:49 +02:00
Lauro Moura ce2e2c7ce0 model: Add some missing docs bits.
Reviewers: cedric, segfaultxavi

Reviewed By: cedric, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8810
2019-05-03 15:32:58 +02:00
Vincent Torri 7db4714db6 replace strndup with eina_strndup, remove strndup definition in evil and elm_test_dnd
Test Plan: compilation

Reviewers: cedric, zmike, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8814
2019-05-03 13:13:57 +01:00
Yeongjong Lee 2426656fd6 ui.relative_layout: implement Efl.Pack
Now, efl_content_iterate, efl_content_count, efl_pack, efl_pack_unpack,
efl_pack_unpack_all and efl_pack_clear are available for relative_layout.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8631
2019-05-03 11:53:54 +02:00
Lauro Moura c06486ca49 cxx: Fix missing bits from header rename
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8811
2019-05-03 08:47:14 +02:00
Myoungwoon Roy, Kim dbf8a44d71 evas doc: Add a comment for Efl_Canvas_Object type. 2019-05-03 13:22:06 +09:00
Lauro Moura e38fc2264c cxx: Rename Elementary.hh into Efl_Ui.hh
Also include Efl_Ui.h alongside Elementary.h (the latter is still needed
by some widgets).
2019-05-02 21:00:57 +02:00
Woochanlee fdfb781e22 evas_object_textblock: Fix binary search fail.
D8610 Makes API Testcase fault.

"&lt" is never searching.

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8803
2019-05-02 18:14:43 +02:00
Radoslaw Cybulski a69392e838 Fix for invalid ATSPI role on naviframe page element
ATSPI role page_tab was set on invalid object and thus ignored.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8789
2019-05-02 18:14:42 +02:00
Xavi Artigas c90d8eb1a5 efl-mono: Add markup support to Efl.Ui.Text
Summary:
Markup support is added to Efl.Ui.Text through runtime composition, but the C#
bindings do not know about it unless Efl.Text_Markup appears in the hierarchy.

Test Plan: The Markup property is available now for Efl.Ui.Text, it can be used and renders the expected results.

Reviewers: lauromoura, bu5hm4n, zmike

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8758
2019-05-02 18:13:13 +02:00
Shinwoo Kim c3c9fed7d9 evas_object_image: save EVAS_IMAGE_CONTENT_HINT_DYNAMIC image
Summary:
evas_gl_common_image_content_hint_set makes RGBA_Image NULL if content hint
is EVAS_IMAGE_CONTENT_HINT_DYNAMIC with 'sec_tbm_surface' and 'egl_tbm_ext'.

efl_file_save(_efl_canvas_image_internal_efl_file_save_save) does not work
in this case because ENFN->image_data_direct_get returns FALSE.

This patch makes ENFN->image_data_direct_get work but you need to free its
returned data after using it.

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8516
2019-05-02 20:50:24 +09:00
Hermet Park 53455d8352 edje doc: fix corrupted grouping.
there were some corrupted pair of group scopes,
Edje class size, text were under the both Edje Object and Edje Part
Edje Communication Interface Message, Edje Perspective were wrongly same.
Swallow, Box, Tabe were under the Edje Text Part.

This fixes all of them.
2019-05-02 18:37:38 +09:00
Vincent Torri e2634eec67 Eina: add eina_strndup() API as inlined function
this add strndup implementation that does not seg fault when string is NULL.
This also implements strndup on Windows.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8790
2019-05-01 17:57:36 -07:00
Marcel Hollerbach 6fc04bf6b5 efl_ui_pager: track lifetime of children
when a child is deleted (externally), the widget should be forgotten
internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8751
2019-04-30 20:45:53 +02:00
Marcel Hollerbach 3fd16508a6 efl_ui_pager: error when you try to delete something which unavailable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8750
2019-04-30 20:45:52 +02:00
Marcel Hollerbach 79bc6ed244 efl_ui_pager: redirect deleted objects to the top
otherwise we would not give up ownership of the widget

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8749
2019-04-30 20:45:51 +02:00
Marcel Hollerbach 8049d8a255 efl_ui_pager: implement rollover behavior
this behavior is implemented in efl_pack, so this should be in this
implementation.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8748
2019-04-30 20:45:50 +02:00
Marcel Hollerbach ea4b840539 efl_ui_widget: error on NULL passing
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8747
2019-04-30 20:45:49 +02:00
Marcel Hollerbach 7965e2e10f efl_ui_pager: refactor object addition
this reduces LOC and keeps functionality.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8746
2019-04-30 20:45:48 +02:00
Marcel Hollerbach cf05507bee efl_ui_pager: ensure that only valid objects are removed
everything else will just print errors

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8745
2019-04-30 20:45:47 +02:00
Marcel Hollerbach 50a5d6e250 efl_ui_pager: implement content iterator
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8744
2019-04-30 20:45:46 +02:00
Marcel Hollerbach 92b5d969bc efl_ui_pager: ensure deletion behavior
when a object is unpacked, we should ensure that only elements are
deleted from the box when they are added.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742
2019-04-30 20:45:46 +02:00
Marcel Hollerbach c52dcdac91 efl_ui_pager: ensure objects are added and deduplicated
everything else will make things fall apart

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8741
2019-04-30 20:45:45 +02:00
Marcel Hollerbach 67e4f21c88 efl_ui_pager: refactor registering function for pager
this is a starting point for further function additions. this is esp.
usefull since a few functions need to be executed to every added object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8740
2019-04-30 20:45:44 +02:00
Marcel Hollerbach 1b6ac14b3f efl_ui_pager: provide a pack( implementation
this is needed in order to make efl_ui_pager complete.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8739
2019-04-30 20:45:43 +02:00
Marcel Hollerbach 14a65b4f67 efl_ui_pager: lets stop returning false when in animation
i don't know why this is here. But undependend from if the widget is in
animation or not. We should ensure that the added content to the pager
is displayed and added. Having this failing is super unexpected to the
user, and basically undebuggable.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8738
2019-04-30 20:45:42 +02:00
Marcel Hollerbach 6acb4585b4 efl_ui_pager: mark box internal
otherwise they will adjust the parent property, and we do not want to
have that.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737
2019-04-30 20:45:41 +02:00
Marcel Hollerbach 4f0ce2c58c efl_ui: add a internal flag to mark widgets internal
when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736
2019-04-30 20:45:40 +02:00
Wonki Kim b376391078 wl2_input: fix a problem that occurs in case of using both pointer/touch input devices
Summary:
if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(410c1f9587) has written for.

however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.

I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.

this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8787
2019-04-30 11:27:25 -04:00
Carsten Haitzler 703ca74d67 ecore drm2 - fix timeout in case case called from thread
so sw rendering make call ecore drm2 calls from a thread - i didnt
know that. so this makes my fix for gl hangs add hangs in sw as a
result. this fixes that. not perfect but better. do need refcoutnts on
outputs to be perfect...

also sometimes the commits fail so retry a few times...

this still leaves us wth another hang that is a separate issue.

@fix
2019-04-30 11:51:06 +01:00
Vincent Torri 93070e4f0f eina_unicode: return NULL if allocation fails
Reviewers: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8785
2019-04-30 09:24:48 +01:00
Jaehyun Cho 74135dcc33 Revert "efl.ui.widget: disable parts{} block for now"
This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a.

The original commit is reverted after release.
2019-04-30 11:25:09 +09:00
Christopher Michael e053c6e458 ecore-wl2: Minor formatting fixes
NB: No functional changes
2019-04-29 09:59:17 -04:00
Christopher Michael 049521557a ecore-wl2: Minor formatting fixes
NB: No functional changes
2019-04-29 09:58:05 -04:00
Xavi Artigas 8872867788 docs: Minor adjustments to Efl.Ui.Progressbar 2019-04-29 13:17:02 +02:00
Shilpa Singh 49f22b60e5 elm_scroller: make loop_set/get as generic API
elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686
2019-04-29 09:10:02 +02:00
Christopher Michael 264f15400f elc_hoversel: Fix crash when no sd->last_location
As we cannot pass NULL to strcmp (crashes when we do), we should check
for a valid sd->last_location here in order to avoid crashing. This
was detected in Enlightenment Screen Settings dialog by selecting a
monitor in the hoversel drop down.

@fix
2019-04-27 14:23:44 -04:00
Marcel Hollerbach 60af618098 eina_vpath do not pass things through snprintf when not expected.
lets assume a user passes in a string like "blabla%dehydra" then %d will
be resolved by snprintf. Which is probebly not what we want. This
resolves this case and ensures that eina_vpath_resolve does not get
piped through snprintf

Reviewed-by: Dave Andreoli <dave@gurumeditation.it>
Differential Revision: https://phab.enlightenment.org/D8753
2019-04-27 12:31:39 +02:00
Cedric BAIL 78563a395e ecore: properly handle CHILD_ADDED and CHILD_REMOVED from source for Efl.CompositeModel
Before this patch we were directly sending this event on the Efl.CompositeModel, but they
actually might contain an Efl.Model in the event child field. That Efl.Model wouldn't have
been converted before to an Efl.CompositeModel exposing incoherence from the user of
the object point of view. This patch fix that behavior.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8661
2019-04-26 11:32:55 -07:00
Cedric BAIL 13b230029d ecore: use new infrastructure for Efl.CompositeModel to only have one Model object represent its data at any point in time.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8660
2019-04-26 11:32:52 -07:00
Cedric BAIL eb8511ce7b ecore: protect efl_model_properties_get from accesing NULL pointer when Model parent is not a Efl.BooleanModel.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8659
2019-04-26 11:32:50 -07:00
Cedric BAIL 8872e48458 ecore: fix efl_model_property_ready_get to actually return the right future when the data is not ready.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8658
2019-04-26 11:32:48 -07:00
Cedric BAIL fcd5eb755b ecore: allow multiple Efl.ViewModel of the same source thanks to new infrastructure.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8657
2019-04-26 11:32:46 -07:00
Cedric BAIL d9d5846db6 ecore: add infrastructure to create children Model once and avoid duplicated view of the same data.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8656
2019-04-26 11:32:43 -07:00
Cedric BAIL 805128dbf3 eina: allow copy of EINA_VALUE_EMPTY type.
This is usefule to allow timeout future to be propagated through eina_future_all
or eina_future_race for example.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8655
2019-04-26 11:32:40 -07:00
Xavi Artigas fb82b51d6a docs: Reword Efl.Container and family
Summary:
Avoid using "Item" since this is used by Grid and List items, or "Child" since
this is what Efl.Object uses.
Also clarify what each container does.

Test Plan: Only changes in docs. Everything still builds and passes tests.

Reviewers: bu5hm4n, cedric, zmike

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8720
2019-04-26 14:24:00 +02:00
Marcel Hollerbach 874e07550d efl_ui_grid: do not delete a item that is not part of this container
otherwise we start to delete callbacks etc. on a widget that we do not
have.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8706
2019-04-26 12:06:08 +02:00
Marcel Hollerbach 080342d82e efl_ui_grid: reparent deleted children
if a child is removed from grid, the parent should not be grid anymore.
Additionally, group members should also be removed, or random deletions
of widgets could happen.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8705
2019-04-26 12:06:07 +02:00
Marcel Hollerbach 91cacb5357 efl_ui_grid: add an error to grid
grid only accepts grid items, not general widgets. If a wrong type is
passed in, a error should be printed.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8704
2019-04-26 12:06:06 +02:00
Marcel Hollerbach df089ac5ff efl_ui_grid: implement index behaviour of efl_pack
efl_pack defines behaviour for indexes greater and smaller than 0 and
the actaul size of items. With this commit the defined lange -count <->
count -1 now works as expected.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8703
2019-04-26 12:06:05 +02:00
Marcel Hollerbach 404dcc290b efl_ui_grid: fixup pack APIs
the APIs in pack should only allow a single registeration of a item.
And when this item is registered, the parent should be set accordingly.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8702
2019-04-26 12:06:04 +02:00
Marcel Hollerbach 7aa9ea071a efl_pack: split algin and padding property
the pack interface is a general interface for how we pack things into a
container. the align and padding property has less to nothing to do with
this. Hence this commit splits the two properties into theire own
interface.

fix T7825

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8699
2019-04-26 12:06:02 +02:00
Jaehyun Cho f3b9f7f0d8 efl_ui: fix not to call _on_child_del() after container is deleted
If efl_ref() is called to child, then child may not be deleted when
container is deleted.
This causes _on_child_del() is called after container is deleted and it
causes crash if container data is accessed in _on_child_del().

To resolve the above issue, all callbacks of child are deleted not to
call _on_child_del() after container is deleted.
2019-04-26 18:25:50 +09:00
Yeongjong Lee 0921e4770e edje_calc: replace eina_stringshare_ref with eina_stringshare_add
Summary:
When there is circular dependency in edc, a bunch of CRI log is printed.
This patch fixes it.
```
ERR<10159>:edje lib/edje/edje_calc.c:3919 _edje_part_recalc() Circular dependency in the group 'test' : longpartname -> longpartname -> longpartname2
ERR<10159>:edje lib/edje/edje_calc.c:3896 _edje_part_recalc() Circular dependency when calculating part "longpartname". Already calculating XY [03] axes. Need to calculate Y [02] axes
CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ebf60 !!!
    Input handle is wrong type.
    Expected: 98761254 - Eina Stringshare Node
    Supplied: 2f736e6f - (unknown)

CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ec5d1 !!!
    Input handle is wrong type.
    Expected: 98761254 - Eina Stringshare Node
    Supplied: 5f747261 - (unknown)
```
If string is already stored, `eina_stringshare_add` increase its reference count.

Test Plan:
test.c
```
//edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags elementary`
#include <Elementary.h>

int main(int argc, char **argv)
{
   elm_init(argc, argv);

   Evas_Object *win = elm_win_util_standard_add("test", "test");

   Evas_Object *layout = elm_layout_add(win);
   elm_layout_file_set(layout, "./test.edj", "test");
   elm_win_resize_object_add(win, layout);
   evas_object_show(layout);
   evas_object_resize(win, 200, 200);
   evas_object_show(win);

   elm_run();

   elm_shutdown();

   return 0;
}
```

test.edc
```
collections {
   group { name: "test";
      parts {
         rect { name: "longpartname";
            desc { "default";
                rel1.to: "longpartname2";
            }
         }
         rect { name: "longpartname2";
            type: RECT;
            desc { "default";
                rel2.to: "longpartname";
            }
         }
      }
   }
}
```

Reviewers: SanghyeonLee, zmike

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8717
2019-04-26 15:33:33 +09:00
Hosang Kim c006589607 evas_events: fix grab count does not become 0 with proxy object.
Summary:
1. src_event_in should not be initialized when grabbed object exists.

2. when object of pointer grab is deleted and if object has proxy,
   proxy object of pointer grab should be deleted together.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8698
2019-04-26 13:24:01 +09:00
Woochanlee 3cc9fc481c elm_theme: Check the ref count to delete or unref.
Summary:
In case of the ref count bigger than 1.
That means the eo_theme ref count is 2.

In that case we need to call efl_unref when theme freed.
other case we can delete eo_theme.

@fix

Reviewers: Jaehyun_Cho, woohyun, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8714
2019-04-25 21:24:42 +09:00
Ali Alzyod 555ac0a452 evas: change way of searching for Escape strings/values in textblock
Instead of using old way for linear search for Escape Strings or Escape values, we will sort these values and string in compile time then binary search them.

In simple words:
Instead of having one array with pair of {escapeChar,escapeValue} and linear search it.
We will have two arrays with pair of {escapeChar,escapeValue}, one with escapeChar Sorted, and one with escapeValue sorted.
and we will use one of the array to binary search escape chars, and use the other to binary search escape values,

1- This will increase the speed for the search a lot for both Escape characters and Escape values.
2- Make code more easy to understand and trace
3- This will also fix bug for

```
int value;
const char * value = evas_textblock_string_escape_get("",&value)
//because of some unhanded case in previous code, this will return "&qout;" , which is first element in predefined escape character array
```

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8610
2019-04-25 14:04:05 +02:00
Hermet Park b37e6a4df6 elementry win: support msaa, stencil and depth bits for wayland. 2019-04-25 17:25:52 +09:00
Hermet Park 815535eebe ecore_evas: generalize option defines.
There some engine option defines could be generalized from the window system
since those options could be used through wayland, x11 both, and probably so on.
2019-04-25 17:08:37 +09:00
Hermet Park 53599a8d39 ecore wayland: expand internal interface to pass engine option list.
This is a prepartion patch to support msaa in wayland.
ui window needs to deliver engine options (stencil, depth, msaa bits)
to evas engine side, ecore_evas_wayland_egl should have the argument to pass.
2019-04-25 16:56:40 +09:00
Yeongjong Lee 5b2b75a7f2 ui.relative_layout: fix incorrect type casting
Summary: `temph` can be double type.

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8695
2019-04-24 21:09:54 +09:00
Yeongjong Lee 8c0ab0db42 ui.relative_layout: enhance relation_xxx_set,get apis
Summary:
I forgot `efl_pack_layout_request` after relation_xxx is changed.
Unnecessary register function in `relation_xxx_get` will return unexpected result.
if a object is not child of relative_layout, `relation_xxx_get` should return
`target = NULL` and `relative = 0.0` with error message.

Test Plan: make check

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8627
2019-04-24 20:33:21 +09:00
Yeongjong Lee 9b87eaee08 ui.relative_layout: add callbacks to update layout
Summary:
If the size or hints of a child changes, relative_layout need to update layout.
And, if a child is deleted, it should be unregisterd from relative_layout.

Depends on D8625

Test Plan: elementary_test -to 'efl.ui.relative_layout'

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8626
2019-04-24 20:32:45 +09:00
Yeongjong Lee 336500469a ui.relative_layout: add internal clipper
Summary: If there is no clipper of container, color_set and clipper_set api won't work.

Test Plan:
1. elementary_test -to 'efl.ui.relative_layout'
2. Click button1
3. check that buttons color are changed.

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8625
2019-04-24 20:23:52 +09:00
Taehyub Kim b57fd8eb47 eo_parser: fix unreachable code
Summary: fix unreachable code for kw_enum case in parse_unit function

Reviewers: q66, Jaehyun_Cho, woohyun

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8696
2019-04-24 11:56:32 +02:00
Jaehyun Cho 1bdb278f5c efl_canvas_animation_player: fix to apply animation when player starts
Previously, animation was not applied immediately when player starts
animation because elapsed time is 0.
This caused flickering object if animation begins with alpha 0 because
the alpha 0 animation is not applied immediately.

Now, animation is applied immediately when player start animation.
2019-04-24 14:44:50 +09:00
Jaehyun Cho cf4854effb efl_ui_stack: handle memory allocation fail
check if memory allocation succeeds and handle memory allocation fail.
2019-04-24 14:44:19 +09:00
Hermet Park 79183150c7 eolian: remove unreachable code. 2019-04-24 13:21:05 +09:00
Cedric BAIL 1ec4ad1556 ecore: rely on event instead of creating one Eo object per future that need resolving.
This was a terrible oversight, but the point of having a small native type for future was
for making them efficient. Still we were using one Eo object for dispatching per future
to dispatch new value. I could have gathered all the dispatch with just one object, but
at the end we do have one object that notify us of the loop iteration... the loop object!
And we have event on that object that we can rely to trigger the dispatching of future
without requiring any additional object. So let's do that instead.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8567
2019-04-23 12:40:55 -07:00
Marcel Hollerbach afd4e6bd5b efl_ui_scroller: fix Efl.Content implementation
this commit ensures the following:
- Delete content when new content is set
- Content set input validation
- Correct parent setting

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8682
2019-04-23 12:40:53 -07:00
Marcel Hollerbach 7ee0a3e055 efl_ui_tab_page: implement content_set / unset correctly
This patchset ensures that the following features are supported:
- content-widget deletion on set content
- content-widget validation on set calls
- invalid cases return false
- event emission

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8681
2019-04-23 12:40:51 -07:00
Marcel Hollerbach f9143ec634 efl_ui_popup: fix widget_parent inheritance
when you inherit from widget_parent, you MUST call the super function.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8680
2019-04-23 12:40:49 -07:00
Christopher Michael 22edf6f4b7 efl_core_command_line: Fix resource leak
Coverity reports that we leak the return from _escape(command) here,
so since we have to free the return from _escape, place it in it's own
variable that we can call free() on after we are done with it.

Fixes CID1399105

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8688
2019-04-23 21:08:46 +02:00
Christopher Michael 6e48257b79 elput: Remove useless call to eldbus_message_unref
If we are returning here due to a failure to create the eldbus
message, then there is no point in trying to free it as it is already
null.

@fix
2019-04-23 09:14:52 -04:00
Christopher Michael 281e90cda5 elm_atspi_bridget: Fix resource leak
Coverity reports and 'req' leaks here so we need to unref the eldbus
message object if we are exiting this function.

Fixes CID1399424

@fix
2019-04-23 09:14:27 -04:00
Taehyub Kim f8377ed549 elc_hoversel: fix selected event compatibility issue
Fix selected event compatibility issue.
When item of hoversel is selected,
item selected callback does not call in hoversel sample of elementary_test.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8683
2019-04-23 08:59:14 +02:00
Cedric BAIL 75f43ca971 ecore: add an helper for Efl.Boolean_Model to get all the index with a requested value.
Differential Revision: https://phab.enlightenment.org/D8569
2019-04-22 19:50:18 -07:00
Wonki Kim 410c1f9587 ecore_wl2_input: fix a way it works when it has multiple input devices
Summary:
if there are multiple input devices, especially touch and mouse type devices simultaneous.
a logic can't recognize the current input device in _ecore_wl2_input_mouse_move_send function.
because focus.touch would not be cleared even touch actions from user has finished.

This patch clears input->focus.touch if users release their finger from touch device.

Reviewers: raster, eagleeye, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8673
2019-04-22 07:06:58 -04:00
Marcel Hollerbach 3d44b9bdb8 efl_ui_widget: remove unused function
Reviewers: zmike, cedric, segfaultxavi, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8672
2019-04-22 07:06:40 -04:00
Yeongjong Lee 3e49501043 ui.table: remove leagcy evas_table from Efl.Ui.Table
Remove evas_table.
This expect to improve performance by removing internal function call related
evas_table.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8615
2019-04-21 12:13:13 +02:00
Yeongjong Lee ef3281c924 ui.relative_layout: replace evas_object_event_callback_xxx with efl_event_callback_xxx
remove legacy function

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8630
2019-04-21 12:13:12 +02:00
Cedric BAIL c9e62e957b elementary: fix another instances of no parent for Efl.Io.Model.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8539
2019-04-21 11:36:51 +02:00
Cedric BAIL b2db95947a elementary: fix elm_fileselector_entry model_get to be properly build with a parent and synchronously.
This fix the following warning:
ERR<12924>:eo ../src/lib/eo/eo.c:880 _efl_add_internal_start() Creation of 'Efl.Io.Model' object at line 443 in '../src/lib/elementary/elc_fileselector_entry.c' is done without parent. This should use efl_add_ref.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8536
2019-04-21 11:36:50 +02:00
Cedric BAIL 856a453dd8 elementary: add a queue to postpone object destruction when necessary.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8540
2019-04-21 11:36:48 +02:00
Cedric BAIL 44fb906c4f elementary: enforce Efl.IoModel as a base type for fileselector.
On the long run, we might just want to have an Efl.Model dedicated to
be used by fileselector and inherit Efl.IoModel from it. At the moment,
we don't, but I think it is still best to rely on this assumption to
make the fileselector code simpler.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8654
2019-04-21 11:36:47 +02:00
Cedric BAIL 3b0261d552 eio: rely on inheritance and reflection for Efl.IoModel path property.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8653
2019-04-21 11:36:46 +02:00
Cedric BAIL ef4dde48a0 ecore: implement reflection for Efl.LoopModel properties.
This enable relying on Eo reflection capabilities to expose Efl.Model properties.
Should make API nicer to maintain.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8652
2019-04-21 11:36:45 +02:00
Marcel Hollerbach 02ce09fbb4 elm_part_helper: emit changed events when content is changed
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8639
2019-04-21 10:51:45 +02:00
Marcel Hollerbach 6c9b020a0f efl_ui_win: do not error when NULL is setted as content
NULL is valid, and the sub_object code does refuse to allow NULL, hence
we need this check here.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8638
2019-04-21 10:51:44 +02:00
Marcel Hollerbach e9a7da0549 efl_ui_layout: only delete and unparent objects here when alive
something else might cause the object to get magically revived. Once the
object is invalidated, some things are able to set a parent again, which
causes the widget to continue with refcount 1 and a parent.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8637
2019-04-21 10:51:43 +02:00
Marcel Hollerbach 4ce2a29c93 efl_ui_panel: redo content handling
before the events where not emitted correctly. Additionally input values
like 0x1 have been accepted as valid.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8636
2019-04-21 10:51:42 +02:00
Marcel Hollerbach bb6c7c6782 meson: make it possible to link our engines against evas
Summary:
it FINALLY happend! With this python bindings should be able to work
again with a meson build, you can also enable b_lundef right now. And it
appears to work, with this we can also get another step closer to a
windows build.
Depends on D8669

Reviewers: zmike, stefan_schmidt, cedric, vtorri

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8670
2019-04-19 14:39:31 -04:00
Marcel Hollerbach c8c374ef48 meson: move build definitions of software_generic to libevas
Summary:
with this we don't have any static module anymore in the engine
directory. This means either *all* modules in the enignes directory are
static OR shared. There is no mixture anymore. This is a requirement for
the directory to be build whenever we want it to be build.
Depends on D8667

Reviewers: zmike, stefan_schmidt, cedric, vtorri

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8668
2019-04-19 14:39:22 -04:00
Shinwoo Kim e9b2e3c6c3 Revert "edje_calc: make INTP use TO_INT_ROUND"
Summary:
This reverts commit be00af9bc3 which has
incorrect calculation. For more information please refer to:

https://phab.enlightenment.org/D8665

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8666
2019-04-19 17:25:13 +09:00
Cedric BAIL 3715faf965 elementary: ensure that the parent model is still alive when resolving future for fileselector.
This future where relying on the parent model being alive to work (efl_parent_get). For
that reason we should have been using efl_future_then with the parent Model as a measure
to make sure this is always the case.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8500
2019-04-18 16:19:47 -07:00
Cedric BAIL 3730447f0c ecore: move property string definition to shared headers for Efl.Composite_Model.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8568
2019-04-18 15:26:39 -07:00
Vincent Torri ecce595b24 Windows: remove fnmatch and regex in Evil and use the ones in regex DLL installed by ewpi
Test Plan: compilation with autotools and meson (at least as far as it can go)

Reviewers: zmike, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8646
2019-04-18 12:30:22 -04:00
Vincent Torri e65c49b422 ecore_sdl: fix detection of sdl with meson build
Summary: SDL 2.* pkconfig file is sdl2, not sdl

Test Plan: meson configuration

Reviewers: zmike, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8647
2019-04-18 12:30:22 -04:00
Daniel Kolesa c0acf619ae meson: remove usage of eolian_gen .eo.legacy.h generation 2019-04-18 17:50:42 +02:00
Daniel Kolesa b4e85c954f elm_scroller_legacy: remove generated legacy include
Instead replace with the type definitions in this place. It is
not included from anywhere else, so it's fine.
2019-04-18 17:09:30 +02:00
Mike Blumenkrantz 8135b4698c evas: implement Efl.File.unload for evas image classes
this fixes unloading images using the evas_object_image_file_set legacy
api

ref D8616

Differential Revision: https://phab.enlightenment.org/D8618
2019-04-18 16:04:14 +02:00
Daniel Kolesa ed0c813417 evas_legacy: remove unused generated legacy includes
These define types never used in Evas_Legacy.h.
2019-04-18 15:53:46 +02:00
Daniel Kolesa 1cd30eec90 efl_ui_layout, elm_layout_legacy: add missing/remove unused include
The efl_ui_layout.eo.h header was incorrectly not included in
Elementary.h, which resulted in build failures after the legacy
and otherwise unused efl_ui_layout.eo.legacy.h include was removed.
2019-04-18 15:35:49 +02:00
Daniel Kolesa 98ef86aa14 elm_progressbar_legacy: remove unused include
This does not define anything useful.
2019-04-18 15:32:15 +02:00
Daniel Kolesa 6c63fbbdb4 efl_ui_slider: remove unused legacy header include
This does not define anything useful.
2019-04-18 15:32:15 +02:00