Commit Graph

18210 Commits

Author SHA1 Message Date
Christopher Michael 0fed1c77ae Revert this as it should not have been pushed yet
Revert "ecore_wl2: Make our wayland socket handling thread safe"

This reverts commit efa85f35f4.
2019-02-13 10:01:47 -05:00
Christopher Michael 4c587ef679 Revert this as it should not have been pushed yet
Revert "ecore_main: Add ECORE_FD_ALWAYS flag"

This reverts commit b5e90ebe0d.
2019-02-13 10:01:22 -05:00
Wonki Kim e355373e32 ecore_wl2: fix a non-thread safe call.
Summary:
this patch contains a change to
replace non-thread safe call 'strerror' with eina_error_msg_get.

Reviewers: cedric, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7921
2019-02-13 09:58:11 -05:00
Derek Foreman efa85f35f4 ecore_wl2: Make our wayland socket handling thread safe
Summary:
By using the prepare read code properly we can do wayland dispatch of
multiple queues in multiple threads.  I'm not advocating we ever do so,
but if a library (perhaps a gl implementation) wants to dispatch its own
queue, and that happens in a separate thread from our event loop, we
probably don't want the world to explode.
Depends on D7914

Reviewers: zmike, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7915
2019-02-13 09:58:06 -05:00
Derek Foreman b5e90ebe0d ecore_main: Add ECORE_FD_ALWAYS flag
Summary:
This allows an fd handler to be called after select exits unconditionally.

Our wayland client code needs this to be thread safe, as it needs to
call prepare_read before entering select, and then either read or
cancel_read after select.

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7914
2019-02-13 09:58:06 -05:00
Yeongjong Lee 27e101da4b ui.box: implement homogeneous mode
Summary:
On homogeneous mode, children are of the same weight and of the same min size
which is determined by maximum min size of children.

Depends on D7750

Reviewers: Jaehyun_Cho, zmike, jpeg

Reviewed By: zmike

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7889
2019-02-13 09:23:01 -05:00
Yeongjong Lee 846492ebd7 ui.box: refactor layout_update
Summary:
Current layout_update doesn't consider max hint priority. for example, if it
has hint_max, the size is hint_max value regardless of weight or fill.
moreover, if it has hint_aspect with hint_max, hint_min can be ignored.
(test that aspect(1,3) max(50,150), min(70, 70) then, size has (50, 150))
It seems that hint_max is considered as high priority. however, if hint_min
greater than hint_max, hint_max is ignored.

In order to resolve the hint priority conflict, this refactoring supports
following hint priority.
1) HintMin
2) HintMin + HintAspect
3) HintMargin
4) HintMax
5) HintAspect
6) HintWeight, HintFill
7) HintAlign

ref T5487

Specific unit test is D7463

Test Plan:
make check
elementary_test -to 'efl.ui.box'

Reviewers: jpeg, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5487

Differential Revision: https://phab.enlightenment.org/D7750
2019-02-13 09:23:01 -05:00
Jaeun Choi 0ab6c36404 efl_ui_pager: change data type 2019-02-13 20:47:04 +09:00
Marcel Hollerbach 9ad84605b6 Revert "elm_config: fix elm_config_save not to wake idle processes up"
This reverts commit 8b0b9ed281.

There have been issues with this commit, for further informations,
please see https://phab.enlightenment.org/D7354 for more details.
2019-02-13 12:30:00 +01:00
Jaeun Choi bad145f313 edje: add missing NULL checks 2019-02-13 19:41:29 +09:00
Jaeun Choi ce7914c67e edje: add missing NULL check 2019-02-13 19:02:46 +09:00
Jiyoun Park e8fe0c9c92 evas_image: fix pixels_dirty_set(False) makes wrong object-change-list.
Summary:
evas_object_image_pixels_dirty_set(img B, False) means
1. app want to mark image object's data is not dirty anymore
2. app don't want to be called get_pixels callback.

that does not mean image need to be redraw.

evas_object_image_pixels_dirty_set(img B, True) means
1. image object's data is dirty, so image object need to be redraw.
2. app want to be called get_pixels callback.

but pixels_dirty_set(img B, FALSE) function also set o->changed to true,
it cause problem related with rendering

Below case is the example of problem.

1. Smart object A
2. Child image object B
3. app call pixels_dirty_set(FALSE) inside pixels_get_callback
   pixels_get_callback is called inside the image object B's rendering.

enlightenment's e_comp_object_render do upper job.

After adding preload fetch,
evas_object_image_render_post can call evas_object_change.

https://phab.enlightenment.org/D7157

evas_render_updates_internal

0. enlightenment call evas_object_image_pixels_dirty_set(img B, TRUE)
   o->changed = 1;
   evas_object_change(img B)
1. smart obj A is in render_objects
2. evas_object_image_render_pre B, o->change=0
3. evas_render_mapped (Smart A)
     3-1. evas_render_mapped (img B)
         : enlightenment call evas_object_image_pixels_dirty_set(img B, False)
         : o->changed=1

     3-2. evas_object_change_reset(img B)
4. pending_change(img B)
     4-1. evas_object_image_render_post(img B)
          o->changed=1 (3-1 step) evas_object_change(img B)->evas_object_change(Smart A)

5. render_post_reset
   smart A is chaged(4-1 step), so, called   evas_object_change_reset(Smart A)
   ###smart A is reset(5 step), img B is changed(4-1 step). after this case,
    img B never get change to be redraw.

Reviewers: Hermet, cedric, zmike, ManMower

Reviewed By: Hermet

Subscribers: zmike, ManMower, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7821
2019-02-13 11:16:16 +09:00
Marcel Hollerbach 3b262340ba Revert "Revert command line array object because it's broken by design"
This reverts commit a57c7f7510.

I pretty much hate to just revert your revert, but you failed to read my
replies, and failed to understand what i was talking about.

And YES we talked at fosdem about the platform issue, and do you
remember my answer, that back in time this might be the case, today is
different freebsd suppoerts setenv, and for windows we have a setenv
implementation in evil. And yes, vtorri also created a issue how bad and
evil this commit is, however, i still fail to see the issue since setenv
unsetenv and clearenv usages are taken as needed. (T7693)

The ownership question is answered in
https://phab.enlightenment.org/D7516#137367.

Can we please get into a state of technical discussions, and not *oh
shit, i am going to revert this* this has been in review for a long
time, a lots of people have tested it, we discussed things on it, and
there was 3 weeks of no reply from you.

The issues that exist will be dealed with. Feel free to create tasks if
you want :)
2019-02-12 21:42:33 +01:00
Marcel Hollerbach 06160466e8 Revert "Revert the env object because it's broken portability - please redo"
This reverts commit d6294fa22b.
2019-02-12 21:34:27 +01:00
Carsten Haitzler d6294fa22b Revert the env object because it's broken portability - please redo
setenv and unsetenv are not portable. i explained to you at fosdem
there are issues and it's why i used putenv in the original
implementation and even though it's a pain (the string tou pass to
putenv is a pointer used literallt from there on in and you get it
from getenv, thus making ownership a pain -this is a libc issue we
can't readily solve). use putenv like the original code. then put it
back in. vtorri now has windows porting issues with the setenv use. i
knew there was a reason that still existed...

in addition your in_sync stuff is broken.  psuedocode:

// assuming BLAGH env is not set to anything here
c = efl_core_env_get(global_env, "BLAH");
...
putenv("BLAH=10");
...
c = efl_core_env_Get(global_env, "BLAH");

i will get NULL in both cases for c ... but i should get "10" for the
2nd in reality. reality is lots of code across application code and
libraries will at times mess with the environment. it has to work with
this. the prior implementation did work with this.

Revert "ecore: here comes a env object"
  This reverts commit 2373d5db5b.

Revert "efl_task: remove env from this object"
  This reverts commit c3d69f66a6.
2019-02-12 20:22:28 +00:00
Carsten Haitzler a57c7f7510 Revert command line array object because it's broken by design
Revert "ecore: get rid of commands in efl_task."
  This reverts commit 616381e9cf.
Revert "ecore: here comes a command line object"
  This reverts commit 48e5684b3c.

1. this is broken:

EOLIAN static const char*
_efl_core_command_line_command_get(const Eo *obj EINA_UNUSED, Efl_Core_Command_Line_Data *pd)
{
   return eina_strdup(pd->string_command);
}

it returns a const char * BUT it duplicates it on return. no. a big
fat honking NO. return a char * or don't duplicate. pick.

2. _efl_core_command_line_command_array_set() is broken by design. it
accepts an array of strings, but the strings are owned by the caller
who creates the array (requiring they free them up themselves after
this call) but the array becomes owned by the callee. the code here frees the
incoming array but doesn't care about the string content of it. it's
leak heaven waiting to happen (or bugs when someone wants to access
the array they create to walk it to free the strings they put into it
after it is set).

i brought this up and it was dismissed. now exactly he issue i brought
up is there with mixed ownership and the added complexity as well as
transfer of some ownership but not others.

go back and think about this so it isn't broken by design.
2019-02-12 19:54:35 +00:00
Marcel Hollerbach e908142da6 build: also build eo-tests with debug profile
this checks that eo-dbg is also working in the same manner as normal eo

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7911
2019-02-12 16:24:24 +01:00
Marcel Hollerbach fac3fa1c88 efl_ui_focus: delete elements on invalidate
this lead to ERR's. A element is invalidated while the composition
element is invalidated, which means, not yet deleted, but the Pointer
will fail a call to efl_isa.

Differential Revision: https://phab.enlightenment.org/D7623
2019-02-12 11:25:31 +01:00
Marcel Hollerbach 87373bf66c eo: efl_isa with a EFL_OVERRIDE_CLASS should return true
this is important, as basically every single class etc. can be a
EFL_OVERRIDE_CLASS. This makes efl_override work with eo_debug.

Differential Revision: https://phab.enlightenment.org/D7910
2019-02-12 11:20:21 +01:00
Marcel Hollerbach bbe0151670 eo: fix typo
this while loop is actaully iterating obj->xref, therefore we should not
take the pointer of data_xrefs.

Differential Revision: https://phab.enlightenment.org/D7908
2019-02-12 11:20:21 +01:00
Marcel Hollerbach 616381e9cf ecore: get rid of commands in efl_task.
Note that the usage in efl_thread.c should and could be removed.
the problem with its usage is that when the ARGUMENTS event is fired,
noone ever had the chance to subscribe to the loop of the thread yet. So
all in all this is unneccessary, since noone could ever touch that.

Differential Revision: https://phab.enlightenment.org/D7517
2019-02-12 11:19:28 +01:00
Marcel Hollerbach 48e5684b3c ecore: here comes a command line object
the mixin for now can carry a command, which can be setted as an string.
The string is then parsed again, this is done in order to make sure that
everything that needs escaping really is escaped or parsed correctly.

Differential Revision: https://phab.enlightenment.org/D7516
2019-02-12 11:19:28 +01:00
Marcel Hollerbach c3d69f66a6 efl_task: remove env from this object
the env operations are moved to the efl.core.env objects, which can be
used there.

Differential Revision: https://phab.enlightenment.org/D7514
2019-02-12 11:19:28 +01:00
Marcel Hollerbach 2373d5db5b ecore: here comes a env object
the env object can be used to alter and edit the content of environment
variables. Additionally, the class efl.core.env can be used to to setup
a not applied set of environment variables, which then can be applied
later (in the future) to set it directly to a spawned process for
example, or as a general key/data storage. A efl.core.env object can
also be forked off, which makes it easy to customize predefined objects.

ref T7514

Differential Revision: https://phab.enlightenment.org/D7510
2019-02-12 11:19:28 +01:00
Jaehyun Cho a7eb0695b8 efl_ui_format: fix to display %% and unknown format element
This fixes 2 things as follows.

1. Displays format string "%%" as "%".
   Like printf does, "%%" is displayed as "%".

2. Displays unknown format element as it is.
   In format string "(50%)", ")" is an unknown format element.
   Although format string has unknown format element, the format string
   is displayed like printf does.

The cause of the issue displaying "0%" which was mentioned on
a96933f964 is as follows.

The default format string of progressbar is set as "%.0f%%".
Therefore, if progressbar's format string is not set, then "%" postfix
is always displayed.

This commit reverts commit a96933f964.
This commit restores commit b4112b9735.
This commit restores commit be770d37fb.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7856
2019-02-11 15:41:07 -08:00
Mike Blumenkrantz 56dbd2bf86 edje: apply maps to textblock cursors and backgrounds
when a map is applied to an edje part, it is expected that all components of
the part respect the map attributes. this requires that, in the case of
textblock parts, all the sub-parts which are internal to the textblock
(entry) object also go through the map populate and apply codepaths

fix T4977
@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7648
2019-02-11 15:10:45 -08:00
Derek Foreman 4ff180ac6a evas_object_smart: Speed up some cache invalidation calls
Summary:
A large number of cache invalidation calls are doing pointer
indirection that is completely avoidable.
Depends on D7852

Reviewers: devilhorns, cedric

Reviewed By: devilhorns, cedric

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7853
2019-02-11 14:13:33 -05:00
SangHyeon Jade Lee 053146598c efl_ui : rename model connect and factory connect to bind property and factory.
As we discussed in T7469 with V40,

efl_ui_model_connect
efl_ui_factory_model_connect

need to be renamed to

efl_ui_bind_property
efl_ui_bind_factory

for this work,
Efl.Ui.Model.Connect interface is changed as Efl.Ui.Bind,
and bind_property and bind_factory both method is supported by this interface.

bind_factory need Efl.Ui.Factory,
and Efl.Ui.Factory inheritted Efl.Ui.Bind,
so I little bit concerned about circular referencing, but so far, it works well.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7529
2019-02-11 11:06:13 -08:00
Xavi Artigas 8985222f47 docs: Update efl_object lifecycle docs
Summary:
Explained the different phases, added method refs and removed outdated links.
Ref T7557

Reviewers: zmike, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7557

Differential Revision: https://phab.enlightenment.org/D7903
2019-02-11 14:16:48 +01:00
Mike Blumenkrantz 1b568327c4 efl_gfx_color_class: make this a mixin and move color_class_code here
Summary:
color_class_code seems to only have been added to efl_gfx_color in order to
share the hex conversion code, but this is trivial to do when it's in another
class and makes the api more sensible

ref T7559

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7559

Differential Revision: https://phab.enlightenment.org/D7898
2019-02-11 12:34:12 +01:00
Marcel Hollerbach 38612b5490 eo: lets drop efl_interfaces
its not required anymore, our wonderfull new syntax solves the original
problem it was trying to solve.

fixes T7565

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7893
2019-02-08 10:27:27 +01:00
Mike Blumenkrantz f1ad9d7467 efl_ui_text: s/ELM_SEL_FORMAT_IMAGE/EFL_UI_SELECTION_FORMAT_IMAGE/g
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D7894
2019-02-07 12:59:41 -05:00
Lauro Moura 9e3707f0b4 efl: Change non required constructors to @optional.
Summary:
These constructors aren't checked for in the finalize step of the
initialization and may be given the @optional tag.

For C# this means they can be ommitted from the constructor call.

This also adds `Efl.Ui.View.model` as a constructor of
`Efl.Composite_Model` as the finalizer checks for it.

Fixes T7673

Test Plan: make check

Reviewers: segfaultxavi, zmike, bu5hm4n, cedric, felipealmeida

Reviewed By: segfaultxavi, cedric

Tags: #efl, #do_not_merge

Maniphest Tasks: T7673

Differential Revision: https://phab.enlightenment.org/D7855
2019-02-07 18:05:00 +01:00
Marcel Hollerbach 0f32bb9047 eo: here comes reflection API
this adds support in eo to generate a reflection API. To get the actaul
reflection to the klass, the API efl_class_reflection_table_set needs to
be called, the table in the end can be generated by eolian. Reflection
API is inherited by the extended class. This means, if you have two
reflection tables, first, the most upperst is called, then the next
lower one is called.

For now this API accepts NULL setter or getter, and will ignore them
silently when they are called.

fix T7681

Differential Revision: https://phab.enlightenment.org/D7879
2019-02-07 14:43:25 +01:00
Marcel Hollerbach 0709bdea6f eo: change API call of efl_class_functions_set
The next commit will bring support for something like reflection. This
commit prepares the whole tree for getting another argument in
efl_class_functions_set.

ref T7681

Differential Revision: https://phab.enlightenment.org/D7882
2019-02-07 14:43:25 +01:00
Mike Blumenkrantz 4f9abba440 efl_ui_text: emit EFL_UI_TEXT_EVENT_CHANGED_USER from paste + drop operations
Summary:
this is a user-triggered change so it must emit the event

ref T6979
Depends on D7886

Reviewers: bu5hm4n, cedric, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T6979

Differential Revision: https://phab.enlightenment.org/D7887
2019-02-07 12:42:00 +01:00
Mike Blumenkrantz cd816eec01 efl_ui_text: forward EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED event
Summary:
this is emitted on the internal object and must be propagated

fix T6535
Depends on D7885

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T6535

Differential Revision: https://phab.enlightenment.org/D7886
2019-02-07 12:41:55 +01:00
Mike Blumenkrantz 4672bbae5a efl_ui_text: forward EFL_UI_TEXT_EVENT_CHANGED_USER events
Summary:
these are emitted on the internal object and need to be propagated

ref T7621
Depends on D7884

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7621

Differential Revision: https://phab.enlightenment.org/D7885
2019-02-07 12:41:54 +01:00
Mike Blumenkrantz 765fad936b efl_ui_text: emit EFL_UI_TEXT_EVENT_CHANGED events properly
Summary:
these should be emitted any time text is changed in the object

fix T7615, T7417, T6978, T6979
Depends on D7883

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7615, T7417, T6979, T6978

Differential Revision: https://phab.enlightenment.org/D7884
2019-02-07 12:41:52 +01:00
Mike Blumenkrantz d7d33b9fe4 efl_ui_text: use Efl_Ui_Selection_Format for cnp_mode struct member
Summary: fix T7068

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7068

Differential Revision: https://phab.enlightenment.org/D7883
2019-02-07 12:41:51 +01:00
Cedric BAIL f484ca0951 edje: migrate Eo API to use Eo callback instead of opaque type.
Summary: Depends on D7869

Reviewers: zmike, q66, segfaultxavi, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7671

Differential Revision: https://phab.enlightenment.org/D7870
2019-02-06 13:48:43 -05:00
Cedric BAIL 917e0aa0fe edje: make legacy edje call rely directly on edje internal.
Reviewers: zmike, q66, segfaultxavi, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7671

Differential Revision: https://phab.enlightenment.org/D7869
2019-02-06 13:08:19 -05:00
Christopher Michael c62bac00cb ecore-drm2: Minor formatting fixes.
NB: No functional changes
2019-02-06 10:07:20 -05:00
Christopher Michael 3999a97579 ecore-drm2: Reduce duplicated code
No need for this line to be there twice as it is going to be called in
either case.

NB: No functional changes
2019-02-06 10:03:02 -05:00
Christopher Michael 65bf9c6e0f ecore-drm2: Remove useless if check
_ecore_drm2_use_atomic is already checked just above this, so there is
no need for this if statement
2019-02-06 10:00:51 -05:00
Marcel Hollerbach 3009bee9ee eo: remove whitespaces
remove the whitespaces from this file. Every editor in this world
removes unneccessay whitespaces at the end of a line. So every time i am
touching this header, i need to get rid of them, which is super
annoying. I know we are used to *not* doing such patches, but this is
just a waste of time, getting them out of the header every and every
single time.

Differential Revision: https://phab.enlightenment.org/D7880
2019-02-06 10:01:02 +01:00
Marcel Hollerbach 609e24eb85 eo: repair EO_CLASS_POINTER macros
the function has changed, but the macro was not adjusted.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7878
2019-02-06 10:00:57 +01:00
Xavi Artigas 04d1c54e1f docs: Minor Efl.Access.Window EO fixes 2019-02-05 13:29:48 +01:00
Mike Blumenkrantz c946b1477d eo: implement class overriding (+unit tests)
this enables an app or a platform to add an override for a given class,
then return a different object when that class is created. the benefit is
that a class can be internally customized by the app without needing to
modify upstream versions of that class

@feature
fix T7516

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7702
2019-02-04 19:31:17 +01:00
Larry Lira 421b29dcb8 efl_interfaces: missing interfaces prefix
Summary: efl_ui_direction_readonly.c is missing "interfaces" prefix path in .eo.c include

Reviewers: lauromoura, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7848
2019-02-01 14:03:24 -05:00
Vincent Torri f7c560c311 replace hton and ntoh family functions with ones defined in eina
Summary: This fixes especially the execution of edje_cc on Windows

Test Plan: execution of edje_cc

Reviewers: cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7834
2019-02-01 14:25:35 +00:00
Marcel Hollerbach 32a2268f46 eo: fix efl_isa to work propertly with interfaces
mro only contains special interfaces, not in general all, in order to
have a working function, while NOT having a bad performance. In order to
achive that we just copy the code that is done on efl_isa for a object.
which is a linear walk of a list

ref D7857

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7860
2019-02-01 11:32:43 +01:00
Jihoon Kim 0f40a43e53 ecore_imf: fix wrong sample code
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2019-02-01 16:45:12 +09:00
Jaehyun Cho f23f3074da Revert "evas: make efl_canvas_animation abstract"
Efl.Canvas.Animation class can be used for custom animation with
Efl.Player class' event callbacks as follows.

Example code:

void _anim_running_cb(void *data, const Efl_Event *event)
{
   //Do custom animation
}
{
   Eo *anim = efl_add(EFL_CANVAS_ANIMATION_CLASS, win);
   Eo *player = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS,
                        efl_animation_player_animation_set(efl_added,
                                                           anim));
   efl_event_callback_add(player, EFL_ANIMATION_PLAYER_EVENT_RUNNING,
                          _anim_running_cb, NULL);
}

As a result, Efl.Canvas.Animation is required to be a regular class
instead of an abstract class.

This reverts commit ea9ff9f547.
2019-02-01 15:53:44 +09:00
WooHyun Jung bd949111be efl_ui_win_part: remove unused interface
Summary:
Efl.Gfx.Entity is not used in Efl.Ui.Win.Part.
The interface can be added when it is needed later.

ref T5719

Test Plan: make check

Reviewers: zmike, bu5hm4n, cedric, Jaehyun_Cho, Hermet

Reviewed By: Hermet

Subscribers: Hermet, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7844
2019-02-01 11:28:42 +09:00
Derek Foreman 03ca3c37e0 evas_private: Fix typo
Summary: Depends on D7853

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7854
2019-01-31 15:10:44 -05:00
Derek Foreman 94f5ea19bb evas_object_smart: Consistently use MY_CLASS
Summary:
While it may not be popular opinion that MY_CLASS is confusing and does
more harm than good, using it sometimes and not others in the same file
is pretty obviously not helpful to casual readers.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7852
2019-01-31 15:06:46 -05:00
Mike Blumenkrantz 2a218e28c3 efl_ui_win: add 'exit_on_close' property and unit test
Summary:
this property can enable the associated window to quit the main loop with
the passed exit code when the window is destroyed

@feature
fix T5494

Depends on D7594

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5494

Differential Revision: https://phab.enlightenment.org/D7595
2019-01-31 11:54:58 -05:00
Mike Blumenkrantz 9b129b5c7a efl_ui_win: add 'exit_on_all_windows_closed' class property and unit test
Summary:
this property causes the main loop to exit with the passed exit code
when the standby event is triggered

@feature
ref T5494

Reviewers: cedric, bu5hm4n, segfaultxavi

Reviewed By: cedric, bu5hm4n, segfaultxavi

Subscribers: segfaultxavi, bu5hm4n, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5494

Differential Revision: https://phab.enlightenment.org/D7594
2019-01-31 11:54:54 -05:00
Christopher Michael a6c3be1351 elput: Update doxygen parameters
NB: No functional changes
2019-01-31 08:45:42 -05:00
Michaël Bouchaud (yoz) 72f9a94188 ecore_drm2: Add API to allow settings tap-to-click on pointer device
Summary:
Add a way to configure pointer device with tap-to-click features.

@feature
Depends on D7843

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7847
2019-01-31 08:41:04 -05:00
Michaël Bouchaud (yoz) ebc84e82ac elput: Add API to allow settings tap-to-click on pointer device
Summary:
Add a way to configure pointer device with tap-to-click features.

@feature

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7843
2019-01-31 08:39:41 -05:00
Chris Michael 28a88bbfc8 elm_code: Fix formatting of error string
the ERR line here used %s for 'mode', but 'mode is an unsigned int
thus causing compiler warning. Fix it.
2019-01-31 08:28:34 -05:00
Chris Michael 3fcdada0fd ecore-evas-buffer: Fix formatting
NB: No functional changes
2019-01-31 08:11:54 -05:00
Bowon Ryu cc5a45101f efl_ui_tab_bar: fix tab sizing issue
Summary:
The default value of hint_align has changed.
So change the hint_align of tab(layout) to HINT_FILL.

* Recently, the size_hint_fill API has been added,
  but currently tab_bar is not available because it uses evas_object_box.
* I plan to change evas_object_box to efl.ui.box in the future.

Test Plan: elementary_test -to efl.ui.tab_pager

Reviewers: Jaehyun_Cho, YOhoho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7835
2019-01-31 18:56:26 +09:00
SangHyeon Jade Lee 5525c89a3d efl_model : rename all efl_model based classes.
Summary:
As the result of discussion in T7458,
we need to rename all efl_model based classes with efl_XXX_Model sequence.
I've run few vote for this, see V42, V43
few classes are totally renamed as our consideration of misnaming.

| Efl.Model_Loop | Efl.Loop_Model |
| Efl.Model_Item | Efl.Generic_Model |
| Efl.Model_Container | Efl.Container_Model |
| Efl.Model_Container_Item | Efl.Container_Model_Item |
| Efl.Model_Composite | Efl.Composite_Model |
| Efl.Model_Composite_Boolean | Efl.Boolean_Model |
| Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item |
| Efl.Model_Composite_Selection | Efl.Select_Model |
| Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item |
| Efl.Model_View | Efl.View_Model |
| Eio.Model | Efl.Io.Model |
| Efl.Ui.Model_State | Efl.Ui.State_Model |
| Efl.Ui.Model_Size | Efl.Ui.Size_Model |
| Efl.Ui.Model_Exact | Efl.Ui.Exact_Model |
| Efl.Ui.Model_Average | Efl.Ui.Average_Model |
| Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model |

I worried about Efl.Io.Model changes, cause it is widely used,
but as I tested, there is no issue found yet.

Eldbus.Model also may can changed Efl.Dbus.Model,
but I cannot found any class who using Efl.Dbus namespace,
so I left it future work.

Test Plan:
Run the Make Test,
it works well except Efl test about selection.
there are class inheritance problem exist in select_model,
I reported it and will fix it in another patch.

Reviewers: cedric, felipealmeida, woohyun, Hermet

Reviewed By: cedric

Subscribers: lauromoura

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D7533
2019-01-31 14:59:37 +09:00
Myoungwoon Roy, Kim f4e5948c0f elm: fix dereferencing issue and add error handling and remove unreachable codes.
Summary:
I had fixed dereferencing issue and added chmod error handling(elm_code_file)
I had removed unreachable codes which remains after changing arguments initiallization(efl_ui_win)

Test Plan: Run unit test cases

Reviewers: eagleeye, Jaehyun_Cho, Hermet, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7816
2019-01-30 15:53:12 -05:00
Cedric BAIL f30c7c6a1e elementary: add internal Efl_Ui_Model_Average.
This model enable View that require to compute the size of their item
to rely on its logic to store all items size independently. It has the
same interface as the Homogeneous and should be exchangeable for a View.
It provide an average total size at all time. It use Efl.Ui.Model_Exact
to do most of the work and is a good example on how to alter a Model
logic.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7661
2019-01-30 12:06:18 -08:00
Cedric BAIL 4aa6285a75 elementary: add internal Efl_Ui_Model_Exact.
This model enable View that require to compute the size of their item
to rely on its logic to store all items size independently. It has the
same interface as the Homogeneous and should be exchangeable for a View.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7660
2019-01-30 12:06:16 -08:00
Cedric BAIL 3b10089ff3 elementary: add internal Efl_Ui_Model_Homogeneous.
This model enable View that require to compute the size of their item
to rely on its logic to have all items of the same size. It is the
equivalent of the Homogeneous behavior of Genlist, except that now this
behavior can be customized outside of the View logic itself.

Differential Revision: https://phab.enlightenment.org/D7659
2019-01-30 12:06:14 -08:00
Cedric BAIL 0d5d832b87 elementary: add internal Efl_Ui_Model_Size.
This model enable View that require to compute the size of their items
to rely on an interface to provide the properties they need to get the object
size. This is the base class for all the sizing logic of the new List/Grid View.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7658
2019-01-30 12:06:13 -08:00
Cedric BAIL 1dadeac05e ecore: add an index property on Efl.Model_Composite and handle children_slice_get.
This will enable inheriting class to not have to implement as much code. This patch
fix also all class that use Efl.Model_Composite and its test.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7654
2019-01-30 12:06:11 -08:00
Cedric BAIL c910679917 elementary: update Efl.Ui.Caching_Factory to rely on Efl.Ui.Widget_Factory for Efl.Ui.Widget.
I am not sure we really need Efl.Ui.Caching_Factory after this, but in case we want a Caching_Factory
for non Efl.Ui.Widget, this is supported by this patch (And is the reason why most of the complexity).
The benefit from inheriting from Efl.Ui.Widget_Factory allow to get the style of an Efl.Ui.Widget
defined by an Efl.Model properly done at creation time.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Larry Lira <larry@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7705
2019-01-30 11:29:31 -08:00
Cedric BAIL aa0e89a590 elementary: add Efl.Ui.Widget_Factory.
The Widget_Factory is in charge of creating any object that inherit from Efl.Ui.Widget Class.
If the style property is connected to a model property, it will fetch it and build the widget
with that style. This factory is to be used with every View.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7704
2019-01-30 11:29:29 -08:00
Marcel Hollerbach a4ba9a351a efl_ui: mulibuttonentry is now tags
Summary:
further more it can be just included here, without this warning.
Depends on D7819

Reviewers: zmike, cedric, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7830
2019-01-30 13:44:45 -05:00
Mike Blumenkrantz aadd9af864 efl.file: move 'save' method into separate efl.file_save interface
the save method is implemented very rarely, and most objects which use efl.file
will not be able to use a save method

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7786
2019-01-30 18:16:46 +01:00
Xavi Artigas bd5d923c45 docs: Add links to Efl.Loop_Consumer 2019-01-30 16:16:37 +01:00
Jaehyun Cho 4eda1ea38e eo: check memory allocation of table data
Memory allocation is checked for the given domain's table data like
other cases for main and shared table data.
Differential Revision: https://phab.enlightenment.org/D7810
2019-01-30 13:33:49 +01:00
Woochanlee fe29a7a06d efl_ui_win: Load config values into gesture manager.
https://phab.enlightenment.org/T7544

The other config values will be added Later.
Differential Revision: https://phab.enlightenment.org/D7540
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 9aca866fd1 efl.text_markup: move cursor-related methods to efl.text_markup_interactive
many users of the markup property are not interactive text cases, so splitting
off the interactive methods resolves a number of unimplemented method issues

ref T5719

Differential Revision: https://phab.enlightenment.org/D7787
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz b8617843f7 efl_ui_scroll_manager: avoid some safety check errors on deletion
only remove callbacks if pan_obj is still alive

Differential Revision: https://phab.enlightenment.org/D7822
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 08875e5e42 efl_ui: add proto for efl_ui_focus_relation_free() into header
ref T7667

Differential Revision: https://phab.enlightenment.org/D7826
2019-01-30 13:32:04 +01:00
Xavi Artigas d4ec155399 docs: Improve Efl.Ui.Tags documentation 2019-01-30 12:49:31 +01:00
Jihoon Kim 2eccc52449 docs: introduce how to receive media content
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2019-01-30 18:55:44 +09:00
Mike Blumenkrantz 77b7646d56 efl_ui: include layout header in Efl_Ui.h
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7823
2019-01-30 10:11:38 +01:00
Myoungwoon Roy, Kim 9536204023 efl_ui_list_view: Handling failed memory allocation
Summary: Add a logic for handling failed memory allocation to prevent null pointer exception

Test Plan: Run unit test cases

Reviewers: eagleeye, Jaehyun_Cho, Hermet, zmike, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: SanghyeonLee, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7829
2019-01-30 09:47:26 +09:00
WooHyun Jung 7f2b26861f elm: prevent from accessing null pointer after memory allocation
Summary: Add null checking code just after allocating memory

Test Plan: make check

Reviewers: jypark, Jaehyun_Cho, zmike

Reviewed By: Jaehyun_Cho, zmike

Subscribers: devilhorns, zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7801
2019-01-29 09:23:44 -05:00
Christopher Michael c69b340f25 efl_ui_grid: Fix return value from macros
The function _grid_item_unpack_internal does not return a value, so
these macros should not be trying to return EINA_FALSE.
2019-01-29 08:43:57 -05:00
Wonki Kim 3bedc63315 ecore_wl2_input: update a timestamp whenever possible
Summary:
gettimeofday function returns a accumulated timestamp since around 1970 by the way,
a argument from server looks like a system uptime based timestamp
in some distribution such as tizen.

so that this patch appends a logic that updates a timestamp
inside Ecore_Wl2_Input* whenever possible to
prevent gettimeofday function from being called.

Reviewers: #reviewers, cedric, devilhorns

Reviewed By: #reviewers, devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7766
2019-01-29 07:06:33 -05:00
Amitesh Singh a016f8e592 eina modinfo: improve eina modinfo guide. 2019-01-29 16:59:45 +05:30
Hermet Park 2554a2940a efl gfx_frame_controller: improve doc. 2019-01-29 19:57:07 +09:00
Hosang Kim 58c9f56885 ecore: check fcntl return.
Summary: Found by svace

Reviewers: Jaehyun_Cho, woohyun, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7808
2019-01-29 19:30:45 +09:00
junsu choi 09ce84bbad efl_gfx_image_animation_controller: Rename '*.Image_Animation_*' to '*.Frame_*'
Summary:
Efl.Gfx.Image_Animation_Controller name refers to the control of an animatable image.
However, the method we use is closer to controlling the frame.
We can change the name to Efl.Gfx.Frame_Controller and enhance the functionality of the frame control.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, woohyun, #reviewers, Jaehyun_Cho, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7769
2019-01-29 19:16:34 +09:00
Hermet Park 391339332f efl_gfx_map: free alloc' memory at exception case. 2019-01-29 18:36:09 +09:00
SangHyeon Jade Lee 8d3187b82a efl_ui : fix minor defects from converity check.
Summary: This is first coverity defect after efl_ui_grid merged.

Test Plan: build test and check exmaples.

Reviewers: eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7812
2019-01-29 15:57:45 +09:00
Christopher Michael 9dedaddf2d ecore-drm2: Support multiple gpus during vblank
Summary:
When we try to calculate a drm vblank type, we should take into
account the output's pipe value which is used to determine if we are
using multiple gpus (if so, we need to use the high_crtc_mask.

Reviewers: ManMower

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7803
2019-01-28 14:45:23 -05:00
Mike Blumenkrantz 497acc6722 elm_prefs: remove efl.file usage
Summary:
this is a legacy-only api which does not need to drag in unimplemented methods
from interfaces

ref T5719

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7804
2019-01-28 13:08:56 -05:00
Marcel Hollerbach 6dd861fe32 efl_model_loop: make it abstract
Summary:
there is no user, additionally, there is undefined API on this object,
thus make it abstract. This resolves the missing APIs of efl_model_loop.

ref T5719
Depends on D7790

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7791
2019-01-28 13:08:51 -05:00
Xavi Artigas 37393dddce focus: do not allow focus to exit a popup
Summary:
Popup windows dim the background and do not allow the user
to click outside the popup. However, pressing TAB can take
you to widgets on the background. This didn't happen in
legacy.

Fixes T7432

Test Plan: Instructions in T7432

Reviewers: bu5hm4n, stephenmhouston, Jaehyun_Cho, herb, Blackmole, zmike

Reviewed By: zmike

Subscribers: zmike, felipealmeida, lauromoura, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7432

Differential Revision: https://phab.enlightenment.org/D7171
2019-01-28 12:36:30 -05:00
Marcel Hollerbach 73d3a63960 efl_net_server_udp: add empty functions
Summary:
these functions are never called from within this class, thus they are
empty here. They are not used because setting up the client does
require here more API than just a fd.

ref T5719
Depends on D7791

Reviewers: segfaultxavi, zmike

Reviewed By: segfaultxavi, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7802
2019-01-28 12:31:55 -05:00
Marcel Hollerbach 3278e82759 elm_map: convert paused to animation property
Summary:
this commit migrates the paused property over to the property defined by
efl.ui.zoom. This is done in order to implement all APIs in the elm_map
object.

ref T5719

Depends on D7783

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7784
2019-01-28 12:31:55 -05:00
Christopher Michael be76c3ca47 evas: Remove left over includes from cserve2 removal
NB: No functional changes. These were missed when cserve2 support was
removed
2019-01-28 11:59:47 -05:00
Christopher Michael 689d18a361 evas-clip: Remove unused variable
NB: No functional changes
2019-01-28 11:58:49 -05:00
Xavi Artigas c55299ca51 docs: Fix assorted typos in legacy documentation
Samsung reported a long list of typos in our legacy docs, this fixes them.
2019-01-28 13:14:20 +01:00
Taehyub Kim 4704fda84d efl_ui_dnd: fix the wrong parameter passing
Summary: fix the wrong parameter passing

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7797
2019-01-28 17:09:42 +09:00
Hermet Park da36a87bb3 evas vg: improve masking render logic.
Previous masking image is generated on vg rendering time,
though context is changed to main vg rendering to masking,
This had a issue that ector context switching which is not allowed
in software backend because of asynchronou method.

Now, this improvment brings the masking rendering move to
vg render pre step with synchronous rendering method,
then use the masking surface in the main vg rendering.
2019-01-28 16:57:56 +09:00
Lauro Moura c03f272bec eolian-cxx: Add constructor_def
Summary: To be used generating argument-aware constructors in C#.

Reviewers: felipealmeida, vitor.sousa

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7794
2019-01-28 16:23:07 +09:00
Lauro Moura 95e31dbc4a elementary: Declare style as a Widget constructor
Summary: Despite being required as a use case for C# constructors, style is not yet listed as a constructing property.

Reviewers: bu5hm4n, Jaehyun_Cho, segfaultxavi, zmike, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7793
2019-01-28 16:19:09 +09:00
Lauro Moura 5f1b448323 eo: Replace ptr(Eina.Strbuf) with plain strbuf.
Summary: Also fix CXX compilation after this change.

Reviewers: cedric, felipealmeida

Reviewed By: felipealmeida

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7792
2019-01-28 16:15:09 +09:00
Larry Lira f74f0e31a7 efl_ui_list_view_seg_array: remove seg_array from Elementary.h
Summary:
Change seg_array to private

This is a leftover of https://phab.enlightenment.org/D7724

Reviewers: felipealmeida, cedric, SanghyeonLee

Reviewed By: felipealmeida

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7780
2019-01-28 15:44:46 +09:00
Shinwoo Kim 70ae090254 evas_clip: do not set clip->changed to true
Summary:
[Issuse]
The issue solved by this commit occurs with 'export EVAS_GL_PARTIAL_DISABLE=0'.

The _efl_canvas_object_clip_set set clip->changed to true, but did not add the
clip object to e->pending_objects. So there is no chance to reset it to false.
(Please refer to evas_render_object_recalc.)

The clip->changed is always ture so its clipees cannot change its 'changed'
to true.  Because if 'changed' is true, evas_object_change returns before
calling evas_object_change for its clipees. (Please see evas_object_change.)
So 'changed' of clipees is false always, and clipees cannot call render_pre
in _evas_render_phase1_direct, and eglSwapBuffersWithDamage is not called.
This caused rendering issue.

This could be rare case. The _efl_canvas_object_clip_set is called when the
clipper and its clipees are out of view.

[Solution]
I would like to explain why removing line setting clip->changed to true makes
sense. First, the following commit added line setting clip->changed to true.

(1) committ 5e8d46e884
    Author: Carsten Haitzler <raster@rasterman.com>
    Date:   Wed Sep 22 04:37:51 2004 +0000

        clip bug fix :)

And following commit removed line calling evas_damage_rectangle_add which is
part of commit (1) above.

(2) commit 8767a80b0d
    Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
    Date:   Wed Apr 16 16:14:16 2014 +0900

        fix overdraw issue in evas when clips change

Between above two commits, another commit calling evas_object_change(clip) was
added. This commit sets clip->changed to ture, and adds clip object to
e->pending_objects by evas_object_change -> evas_render_object_recalc.

(3) commit 4aca7949f5
    Author: Carsten Haitzler <raster@rasterman.com>
    Date:   Wed Nov 2 04:03:55 2005 +0000

        fix excess overdraw bug

So we do not need the remains of commit (1). REMOVE!! :-]

Reviewers: raster, Hermet, jypark

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7767
2019-01-28 14:49:02 +09:00
Mike Blumenkrantz 25925f0264 elm_photo: implement remaining efl.file methods
ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7788
2019-01-26 12:21:58 +01:00
Mike Blumenkrantz d6992432c8 efl_ui_image: implement efl.file.mmap_get
this returns the current file, though the result is that the "current file"
could be changed asynchronously after this function is called

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7781
2019-01-26 12:21:57 +01:00
Xavi Artigas b42eeb4c95 Implement missing APIs in elm_photo
This widget does not seem to support dragging things on top of it, so implement
the missing property drag_target as a readonly EINA_FALSE.

Ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7779
2019-01-26 11:42:15 +01:00
Mike Blumenkrantz 956a66c748 evas_canvas3d_mesh: implement get methods for efl.file file and mmap props
also add unit tests for new methods

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7785
2019-01-26 11:42:14 +01:00
Marcel Hollerbach 015fbac20d ecore: make ecore_audio_out abstract
ecore_audio does define format and source, those are then used in some
leave classes, ecore_audio is only used in the tests, and should not be
used externally. Therefore make it abstract.
The other missing implementations are in the leave classes,
They are resolved with providing empty implementations, since no format
switching is supported.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7782
2019-01-26 11:42:12 +01:00
Marcel Hollerbach db13fbc494 evas_canvas3d_primitives: make unused functions empty
it appears that primiteves where not designed to redirect notify calls
etc. to its children elements (if there are any). Thus those can be
empty.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7778
2019-01-26 11:42:11 +01:00
Marcel Hollerbach b7cd3f4bfd efl_net_dialer_websocker: set cannot be called here
the state of eos is decided weather on internals, therefore calling set
on it does not work, and should never do anything.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7777
2019-01-26 11:42:11 +01:00
Marcel Hollerbach 5a37aebc32 efl_ui_tab_page: implement missing api
unset is now implemented, and is mirrored to the main object, just like
in the setter above.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7760
2019-01-26 11:42:09 +01:00
Marcel Hollerbach 37c115542c efl_ui_pan: implement content interface
the last two functions for the content interface have been missing.
Now the pan object can also unset and set new content

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7757
2019-01-26 11:42:08 +01:00
Marcel Hollerbach 2dacf8a69b efl_ui_scroller: support the complete efl.content API
content_get and content_unset was not added.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7756
2019-01-26 11:42:07 +01:00
Marcel Hollerbach 4c44c44e1a efl_ui_slider: this does not use anything from Efl.Content
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7783
2019-01-26 11:42:06 +01:00
Marcel Hollerbach 68d1579faa efl: introduce efl_ui_direction_readonly
the readonly mixin implement the efl_ui_direction interface and prints a
error in case it is written.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7755
2019-01-26 11:42:04 +01:00
Marcel Hollerbach c440ee442d elm_fileselector_entry: resolve missing interface api by composition
this patch will redirect every elm_interface_fileselector call to the
added fileselector button. This resolves the missing fileselector API on
the fileselector entry.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7754
2019-01-26 11:42:03 +01:00
Marcel Hollerbach 1c27529363 elm_fileselector_button: support the whole interface
this adds full support of the full elm_fileselector interface to
elm_fileselector_button.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7753
2019-01-26 11:42:02 +01:00
Marcel Hollerbach 67d9b49c1b elm_fileselector: improve documentation
lets safe up the time of the next one trying to figure out what
current_name is.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7752
2019-01-26 11:42:01 +01:00
Marcel Hollerbach 812543ad00 elm_code: remove the implementation of efl.access.text
its not implementing any of those functions, so better drop it

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7751
2019-01-26 11:42:00 +01:00
Marcel Hollerbach f00ae98a1d elm: add container api for the two objects
this resolves unimplemented API by just mirroring the calls to different
API calls.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7749
2019-01-26 11:41:59 +01:00
Marcel Hollerbach 1763afb391 edje: implement container api
the container api returns the number of added swallows.
the content iterator returns a iterator over all swallowed objects.

The reason this is only for swallows is that the interface explicitly
mentions UI elements at the count. Since i am believing the the result
of the count operation should mirror to the amount of elements in the
iterator, the iterator only returns swallowed objects.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7748
2019-01-26 11:41:58 +01:00
WooHyun Jung 0b0ff33f2f efl_task: remove efl.io.* interfaces
Remove efl.io.* interfaces from efl_task, and make other extended
classes properly.

ref T7657

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7747
2019-01-25 13:47:21 -06:00
Derek Foreman d47688ba27 gesture_manager: Filter events we add hooks for
Gesture manager doesn't care about focus manager events, animation events,
and various other things it's currently hooking.

We can save a lot of pointer indirection nonsense by only paying attention
to events it can actually do something with.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Derek Foreman 41a9e1c873 gesture_manager: Use private data getter to save some lookups
We frequently process an array of several events at once, so we can now
look up the gesture manager private data once for the entire array.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Derek Foreman 955c4bd4a0 gesture_manager: Add a call to get private data
We end up looking this up multiple times, having a getter will sometimes
allow us to get it and use it multiple times.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-25 13:00:43 -06:00
Daniel Kolesa ca82c27d18 eolian: clear the unimplemented implement set for each tree
We keep a hash tracking implements that were already errored on
so that we don't print some errors multiple times. The problem is
that it wasn't getting cleared when switching to a new inheritance
tree so errors from an interface implemented in multiple distinct
inheritance trees would only get printed once.
2019-01-25 14:13:16 +01:00
Xavi Artigas 213a842d52 docs: Fix Efl.Object Freeze and Thaw docs
Summary: Fixes T7641

Test Plan: Only docs affected.

Reviewers: zmike, cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7641

Differential Revision: https://phab.enlightenment.org/D7707
2019-01-25 13:36:44 +01:00
Jaeun Choi ee5a59a58d efl_ui_pager: remove unnecessary lines 2019-01-25 14:26:12 +09:00
Jaeun Choi cce9022de7 efl_page_indicator_icon: set size_hint_fill as 0 2019-01-25 14:26:12 +09:00
Jaeun Choi 26ed4c2776 efl_page_indicator_icon: fix update function
pd->adj is NULL if pos equals 0
2019-01-25 14:26:12 +09:00
Jaeun Choi 719b129dde efl_page_indicator_icon: refactor update function 2019-01-25 14:26:12 +09:00
Jaeun Choi 08fa28f341 efl_page_indicator_icon: mark selected item in pack function if necessary 2019-01-25 14:26:12 +09:00
Jaeun Choi c442c0972a efl_page_indicator_icon: refactor if-else statement 2019-01-25 14:26:12 +09:00
Jaeun Choi a91197537c efl_ui_pager: implement unpack function 2019-01-25 14:26:08 +09:00
Jaeun Choi bfce85d163 efl_page_indicator: add unpack function 2019-01-25 13:47:38 +09:00
Jaeun Choi 5fcb50ebb0 efl_page_indicator: add a variable 'curr_idx; in data 2019-01-25 13:47:37 +09:00
Jaeun Choi 92dbe39ba2 efl_page_indicator_icon: remove unnecessary function
invalidate function is not necessary since each item is deleted
when it's parent (box) is deleted.
2019-01-25 13:47:37 +09:00
Jaeun Choi 591f18f2af efl_page_transition_scroll: fix _efl_page_transition_scroll_update() function
% operator should not be used when loop is disabled
2019-01-25 13:47:37 +09:00
Jaeun Choi 4dc8712aba efl_page_transition_scroll: remove _content_show() function
_content_show() function was used in page_info_geometry_change() and
_efl_page_transition_scroll_loop_set() function since they need to
show/hide page info objects in common. but using a common function
made each function inefficient and buggy.
this patch removes _content_show() function.
2019-01-25 13:47:37 +09:00
Jaeun Choi 0b63181113 efl_page_transition_scroll: refactor calculation code for beffer readability 2019-01-25 13:47:37 +09:00
Jaeun Choi 90865582b5 efl_ui_pager: make loop set function to return boolean value
loop mode might not be available if the number of pages is
less than required to make a loop
2019-01-25 13:47:37 +09:00
Jaeun Choi 5aff25dc19 efl_page_transition_scroll: remove unnecessary line 2019-01-25 13:47:37 +09:00
Jaeun Choi 5d1017d104 efl_ui_pager: move page_box when page size is changed 2019-01-25 13:47:37 +09:00
Jaeun Choi d927668b64 efl_ui_pager: add missing cases in pack_at function 2019-01-25 13:47:37 +09:00
Jaeun Choi 716590db50 efl_ui_pager: set current page as -1 when pager is empty
it makes more sense that the current page number is -1 when pager is empty
since numbering starts from 0 when pager actually contains pages.
this patch also fixes a bug in pack_begin function, in which
the current page is increased by 1.
2019-01-25 13:47:37 +09:00
Jaeun Choi 933bc7f6e1 efl_ui_pager: use '++' instead of '+= 1' 2019-01-25 13:47:37 +09:00
Jaeun Choi 86de58676f efl_ui_pager: add missing conditions in pack before/after function
the functions should return if the 'existing' object is not in the content list
2019-01-25 13:47:37 +09:00
Jaeun Choi b2a0db1d1b efl_ui_pager: add missing condition in current page set function 2019-01-25 13:47:37 +09:00
Jaeun Choi bd5ac14411 efl_ui_pager: return some functions if pager is in the middle of animation
after this patch is applied,
if users try to pack a page object or bind a transition object
to a pager while it is in the middle of page changing animation,
related functions do nothing and just return.
2019-01-25 13:47:37 +09:00
Jaeun Choi 6d94eb1165 efl_ui_pager: removed unnecessary lines 2019-01-25 13:47:36 +09:00
Jaeun Choi 737ef183bb efl_ui_pager: add missing NULL checks 2019-01-25 13:47:36 +09:00
Jaeun Choi f2ce776413 efl_page_transition_scroll: removed unnecesary variable 2019-01-25 13:41:52 +09:00
Jaeun Choi 99a55142b5 efl_page_transition_scroll: code refactoring in curr_page_change function
- removed unnecesary codes
- moved codes for better cohesion
2019-01-25 13:41:52 +09:00
Jaeun Choi 1645be2d49 efl_page_transition_scroll: bug fix in curr_page_change function
mark when a page's content is unset so that it can be refilled when necessary
2019-01-25 13:41:52 +09:00
Jaeun Choi aeda5e697f efl_page_transition_scroll: code refactoring in update function 2019-01-25 13:41:52 +09:00
Jaeun Choi 690269e055 efl_page_transition_scroll: bug fix in update function
since page_infos are connected in a circular manner,
one node (head or tail) moves in the opposite direction when scrolled.
there was a bug in hiding such nodes and
this patch fixes it.
2019-01-25 13:41:52 +09:00
Cedric BAIL 549bf6e269 eo: improve efl_isa to be able to know if a class is part of the hierarchy of another class.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7703
2019-01-24 16:29:25 -08:00
Derek Foreman 87c5ffda58 evas: Defer object lookup until it's necessary
We frequently BAIL from this function before we actually need the
efl_data_scope_get() return, so we can save some pointer indirection by
deferring.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2019-01-24 14:29:51 -06:00
Cedric BAIL 745fb1cf3c eo: propagate knowledge of EFL_EVENT_NOREF callback registration to the event call generation.
This reduce the amount of time efl_event_callback_call(EFL_EVENT_NOREF) is triggered by a factor of 10.

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7744
2019-01-24 12:22:43 -08:00
Cedric BAIL 27b06dd4ad eo: remove EFL_EVENT_SPECIAL_SKIP.
EFL_EVENT_SPECIAL_SKIP has been defined to 1 for a long time and there
wasn't a way to disable it at all. There is no reason to not use it at
all, so here we go. This was default, now it is without useless code.

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7743
2019-01-24 11:54:22 -08:00
Cedric BAIL 4a25abccd6 eo: remove function efl_noref that duplicate EFL_EVENT_NOREF.
efl_noref is unused, but will still trigger the full eo call for nothing.
This was the most expensive NOOP. EFL_EVENT_NOREF does the same thing and
we can even filter generating that call as we know when someone is listening.
So removing the function.

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7742
2019-01-24 11:54:19 -08:00
Carsten Haitzler 9a0552f86b eet - fix eet compression to differentiate lx4 and lz4hc
so edje uses -fastcomp and -fastdecomp for lz4 and lz4hc .. before.
but the emile conversion nuked this difference and uses lz4hc no
matter what (EET_COMPRESSION_SUPERFAST vs EET_COMPRESSION_VERYFAST).
lz4hc is actuallly massively slower than lz4. this fixes -fastcomp to
be fast again... i tested a theme compile and it went from down from
81sec to 10sec.
2019-01-24 14:04:07 +00:00
Larry Lira 7e0a5a7cf2 efl_ui_list_view: Hide SegArray and PreciseLayouter
Summary:
Changed seg_array eolian class to struct
Changed PreciseLayouter and Relayout to private eolian
Removed relayout set/get in Efl.Ui.List.View

Reviewers: cedric, felipealmeida, SanghyeonLee

Reviewed By: cedric, felipealmeida, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7724
2019-01-24 22:29:57 +09:00
Xavi Artigas b735376ed5 docs: Update efl_ui_zoom documentation
Although, it would have been really great that using the getter paused the
animation and using the setter resumed it...
2019-01-24 13:57:50 +01:00
Marcel Hollerbach 993c843291 efl_ui_layout: use the correct object
the obejct used in D7740 have been false.
Here comes the fix + a few tests.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7746
2019-01-24 10:24:50 +01:00
Michael Bouchaud (yoz) eb10662030 elm_gesture_layer: Allow a negative zoom with scroll wheel
Summary:
In my point of view, we have no reasons to forbid a negative zoom here.
This make gesture_layer more user friendly as we have no more arbitrary
constaint. (A good example is elm_map)

Reviewers: tasn, zmike, raster, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7725
2019-01-24 10:05:35 +01:00
Mike Blumenkrantz d483302a13 efl_ui_image: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object if
the image is an edje object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7741
2019-01-24 08:24:33 +01:00
Mike Blumenkrantz 70827b4d7e efl_ui_layout: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7740
2019-01-24 08:24:32 +01:00
Cedric BAIL 445cfab193 ecore: fix memory leak when shutding down the application.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7653
2019-01-23 12:07:19 -08:00
Cedric BAIL 7889f71c7b eina: fix memory leak when a Eina_Value as promise is returned, but no dispatching Eina_Future is listening on it.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7652
2019-01-23 12:07:17 -08:00
Marcel Hollerbach 04c2d313d7 efl_ui_image: implement the last two APIs from edje
Summary:
this just takes the API and redirects it to the internal edje object if
there is any. If there is no edje object, then just default values are
returned.

ref T5719
Depends on D7738

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7739
2019-01-23 14:55:51 -05:00
Marcel Hollerbach 7c5c93eac0 elm: note down all composite sections for widgets
Summary:

A lot of new widgets are using the new Scrollmanager class, the instance of this class is then attached via composition to the widget. This is providing the implementation for Efl.Ui.Scrollbar & Efl.Ui.Scrollable_Interactive.

In the text widgets the same applies to the internal interactive text widgets.

The tags widget is using the text entry as composite, and thus provides efl.ui.text api.

The addition of those composite { } sections are removing the particular unimplemented APIs from the eolian errors.

ref T7652
Depends on D7737

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7738
2019-01-23 14:55:44 -05:00
Marcel Hollerbach 0c5e2594a8 efl_ui_widget_focus_manager: this uses composition to call focus manager
Summary:
ref T7652
Depends on D7735

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7737
2019-01-23 14:55:37 -05:00
Marcel Hollerbach 116ad5ac70 efl_ui_video: Efl.Player is used from the emotion object.
Summary:
ref T7652

Depends on D7734

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7735
2019-01-23 14:55:23 -05:00
Marcel Hollerbach 83b8862bc4 efl_ui_focus_object: provide empty on_focus_update function.
Summary:
there is no point in forcing users of this to implement on_focus_update.

ref T7652

Depends on D7733

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7734
2019-01-23 14:55:17 -05:00
Marcel Hollerbach 5289bd2e93 efl_ui_win: this object calls composite_attach for efl.config
Summary:
ref T7652

Depends on D7732

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7733
2019-01-23 14:55:10 -05:00
Marcel Hollerbach 5253229aa1 efl_input_focus: add event_flags
Summary:
It appears that it could be interesting to know if a focus event has
already been procecced or not. However, a focus event based on scrolling
activity is not possible, therefore, error about that.

ref T7652

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7732
2019-01-23 14:54:59 -05:00
Xavi Artigas a50edaf17b eina: refactor eina_value_*_new.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7701
2019-01-23 10:54:13 -08:00
Xavi Artigas 06604d5d25 eina: refactor eina_value_*_init.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7700
2019-01-23 10:54:11 -08:00
Xavi Artigas de608bb203 eina: refactor eina_value_*_get.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7699
2019-01-23 10:54:09 -08:00
Cedric BAIL 1150cce0bf eina: add Eina_Value helper that convert efficiently to a target native C type.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7650
2019-01-23 10:54:05 -08:00
Daniel Kolesa 7b2ef21b90 eolian: check old impl status before actually trying to extend it
Since _extend_impl always marks the impl at least IMPL_STATUS_NONE,
we need to retrieve the original status before calling into it,
or it will get overwritten and will inadvertently disable some
of the checks.
2019-01-23 19:28:25 +01:00
Daniel Kolesa d9dbf88621 eolian: get rid of false positives about unimplemented methods
We worked under the assumption that when inheriting callables
from a regular class, it's good enough to just set those as
fully implemented, because the underlying class is already
checked. This assumption is wrong, as the callables may contain
multiple implements pointing at the same function (consider when
a regular class implements just the get part of a property but
some underlying class implements it whole) - the old logic would
result in just the first reached implement (possibly incomplete)
being added into callables of the inheriting class, which results
in false positives.

Consider this example:

class A has a fully implemented property foo
class B inherits from A and partially implements foo
abstract C inherits from B
class D inherits from C

abstract C would go over B's implements, encounter the first
partial implementation of foo, adding it into its own callables
and marking it as fully implemented (because it came from an
already checked regular class B), which would result in the
other implement being skipped.

So make no assumptions and use the same logic for all class types.

Of course, this brings in another problem: some errors would now
get printed twice, because if you have a class A which has funcs
that are unimplemented and class B inheriting from it, errors would
get printed for A but also for B, which would include A's errors.

To battle that, introduce a "global" (well, local to the entry
point of the validator) hash tracking which implements have already
been errored on; and skip those appropriately.
2019-01-23 18:08:05 +01:00
Mike Blumenkrantz 09a83d2161 efl_ui_win: move base and step size hints here
these hints are not relevant to anything but window objects, so put them
onto the window object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7729
2019-01-23 16:43:05 +01:00
Marcel Hollerbach 5c36675f31 efl_net: make server_ip abstract
there is no code handling for client_add or client_reject.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7720
2019-01-23 16:43:03 +01:00
Marcel Hollerbach a2162b90ca efl: split efl_ui_range into display and interactive
display contains properties that are used to manipulate the display.
Range_step is a interactive property since it manipulates the way the
user interacts with this widget. This resolves a few unimplemented APIs.

ref T5719

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7715
2019-01-23 16:43:02 +01:00
Marcel Hollerbach dfb87fcff1 ecore_audio: implement not implemented APIs as empty
the empty handlers will always return 0 / NULL so never indicate
success.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7714
2019-01-23 16:43:01 +01:00
Daniel Kolesa 0cd3a3602e eolian: refactor validator error logging
It hasn't been necessary to keep these temporary buffers around
for quite a while, nobody just got around to remove them. Eolian
has a good formattable error logging system in its core now.

Also, use same erroring style on parts as on functions, i.e.
batch-print all the conflicts at once.
2019-01-23 16:23:59 +01:00
Daniel Kolesa 8a8188d310 eolian: inherit composite lists and allow in abstracts/mixins
There isn't any more logic necessary because checks are still only
done on regular classes; we just need to make sure that composite
lists from its inheritance tree are accounted for.
2019-01-23 16:01:24 +01:00
Marcel Hollerbach d6c207772f eolian: error out when owned type does not have a free function
if there is no free function, then there is no way that this value is
owned by the caller,

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7712
2019-01-23 14:13:32 +01:00
WooHyun Jung 3b35bacc80 efl_ui_widget: set a proper legacy name for widget_parent_set
Previously, legacy name of this property was "elm_widget_parent_set".
But, in efl_ui_widget.eo.legacy.h, it's current name is
"elm_widget_widget_parent_set" which is not matched well with
"elm_widget_parent_get" at all.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7666
2019-01-23 08:11:53 +01:00
Marcel Hollerbach dfb0a2a458 ector: remove unused function
done is not called, nor implemented in a single spot, lets remove it.
It can still be readded once its needed.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7713
2019-01-22 14:07:14 +01:00