Commit Graph

3947 Commits

Author SHA1 Message Date
Mike Blumenkrantz 99c3d42efd efl.canvas.scene: clean up pointer_position property
this needed to take a seat param (to handle multiseat) and also have a
bool return to indicate whether a pointer device exists for the specified
seat

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7957
2019-02-21 20:24:34 +01:00
Mike Blumenkrantz 2df6e1103d efl.canvas.scene: add 'seat_default' property
there seems to be no other way to directly return the default seat object?

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7956
2019-02-21 20:24:33 +01:00
Mike Blumenkrantz e166486107 interfaces: move pointer_iterate method efl.canvas.scene -> efl.ui.win
this method should probably be merged into a gesture class somewhere,
but it's @beta anyway so shuffling it around to reduce spaghettification
of code is fine for now

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7955
2019-02-21 20:24:30 +01:00
Mike Blumenkrantz e4b98a243b api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
Summary:
this is consistent with other "changed" event naming

ref T7563

Depends on D7977

Reviewers: segfaultxavi, cedric, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7563

Differential Revision: https://phab.enlightenment.org/D7978
2019-02-21 18:46:36 +01:00
Mike Blumenkrantz f886941b11 api: efl.gfx.size_hints -> efl.gfx.hints
Summary:
these hints are not strictly size-related, so renaming them is more consistent
with their actual function

ref T7563

Depends on D7968

Reviewers: segfaultxavi, cedric, bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7563

Differential Revision: https://phab.enlightenment.org/D7977
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 94efabedf6 efl.gfx.stack: restack -> stack,changed
Summary:
ref T7560

Depends on D7967

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7560

Differential Revision: https://phab.enlightenment.org/D7968
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 831b746a92 efl.screen: screen_size -> screen_size_in_pixels
Summary:
also improve docs slightly

ref T7590

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7590

Differential Revision: https://phab.enlightenment.org/D7965
2019-02-21 18:43:12 +01:00
Xavi Artigas c4bb24020b Stop defining EFL_BETA_API_SUPPORT in Efl_Core.h and Efl_Ui.h
Summary:
Including these headers does no longer mean that you want to use BETA API.
More and more methods in these libs will come out of BETA and they will
be usable without requiring EFL_BETA_API_SUPPORT to be defined by the app.

This concludes this patchset. Now apps can chose to define EFL_BETA_API_SUPPORT
or not, and they will have access to the requested API subset, but both options
are available.

Depends on D7951
Fixes T7692

Reviewers: zmike, bu5hm4n, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7692

Differential Revision: https://phab.enlightenment.org/D7952
2019-02-14 17:53:46 +01:00
Xavi Artigas 333330a6e5 Mark BETA classes individually
Summary:
Instead of surrounding all the #include "*.eo.h" lines in Efl.h
with #ifdef EFL_BETA_API_SUPPORT, include these files unconditionally, but mark
all classes as @beta in the eo files.
This will allow taking them out of beta one by one as we deem them stable enough.
Otherwise, the current procedure involves moving the #include line out of the
ifdef block, which is cumbersome and messes include order.

Depends on D7950
Fixes T7692

Test Plan: Nothing changes

Reviewers: zmike, bu5hm4n, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7692

Differential Revision: https://phab.enlightenment.org/D7951
2019-02-14 17:46:50 +01:00
Xavi Artigas c2adefd7f2 Efl.Gfx.Stack: Rename raise and lower
Summary:
to move_to_top and move_to_bottom since the previous names seemed to indicate
that the object only moved one step instead of all the way through the top
or the bottom of the stack.

Ref T7560

Test Plan: make && make check && make examples work as before

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: kimcinoo, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7560

Differential Revision: https://phab.enlightenment.org/D7934
2019-02-14 08:57:22 -05:00
SangHyeon Jade Lee c270aabdc0 efl_ui : fix infinite loop in efl_ui_exact model
Summary:
the loop in infinite because of wrong condition.
need to loop while the count of list_index.

Reviewers: cedric, zmike

Subscribers: zmike, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7925
2019-02-14 08:51:19 -05:00
Jaeun Choi dea75d0f32 efl_page_transition_scroll: avoid explicit null dereference 2019-02-14 14:23:42 +09:00
Xavi Artigas 6b7346b7b2 Remove individual class BETA guards
Summary:
Eolian adds a per-class BETA guard (like EFL_UI_WIN_BETA) to any method tagged
as @beta. This means that any app (and the EFL code) wanting to use BETA features
has to enable them class by class, which is cumbersome.
This commit replaces the individual guards with the global EFL_BETA_API_SUPPORT
guard, so apps only need to define one symbol to access BETA features.

Any usage of the per-class guards has been removed from the EFL code and examples.
When building EFL the global guard is defined by configure, so all EFL methods
already have access to BETA API.
Efl_Core.h and Efl_Ui.h no longer define EFL_BETA_API_SUPPORT. Apps wanting to
use BETA API have to define this symbol before including any EFL header
(It has been added to the examples requiring it).

Test Plan:
make && make check && make examples still work, but there's a lot less #defines
in the code

Reviewers: zmike, bu5hm4n, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6788

Differential Revision: https://phab.enlightenment.org/D7924
2019-02-13 18:09:17 +01:00
Marcel Hollerbach 46885653bc eo: remove class functions from eo
As in the previous commit explained, we want to get rid of class
functions in eo, and make them just c functions right away.

This commit removes the class parameter from the eo_class_function_set
call, and adjusts the tests to not depend on class functions anymore.
Class functions are now not tested anymore, tests that used them as a
way to test *things* are adjusted to test them now with object
functions, tests that just tested the working of class functions are
dropped.

This fixes T7675.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7902
2019-02-13 16:59:59 +01:00
Marcel Hollerbach 37d2d378ec eolian: drop class function overriding
Until this commit eo did class functions as part of the vtable, which
enabled those functions to be overwritten in classes inheriting another
class. However in task T7675 we decided that this is not really good for
bindings, as most OOP languages do not support this sort of feature.

After this commit eolian realizes class function completly outside of
the vtable, the c-symbol that is the class funciton is now just directly
redirecting to a implementation, without the involvement of the vtable.

This also means a change to the syntax created by eo:

Calling before:
  class_function(CLASS_A);
Calling after:
   class_function();

Implementation before:
   class_function(const Eo *obj, void *pd) { ... }
Implementation after:
   class_function(void) { ... }

This fixes T7675.

Co-authored-by: lauromauro <lauromoura@expertisesolutions.com.br>

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7901
2019-02-13 16:59:58 +01:00
Marcel Hollerbach 3b2a5a429b efl_input: remove the API of efl_input_instance_get
there is basically no reason for this API. You can only use the API when
you know the class, when you know the class you can also just know the
function to call to get this API.
The reason this API needs to go is that we don't want to use
polymorphism on class-functions.

ref T7675

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7900
2019-02-13 16:59:57 +01: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
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
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
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 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
Xavi Artigas 04d1c54e1f docs: Minor Efl.Access.Window EO fixes 2019-02-05 13:29:48 +01: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
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
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
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 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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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 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
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 062bc5f25c efl_access: add free functions to efl_acces_object types
there are owned types in eolian, therefore a free function should be
defined on the types that are owned.

Reviewed-by: Lukasz Stanislawski <l.stanislaws@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7711
2019-01-22 14:02:40 +01:00
Lukasz Stanislawski 256367384a efl_access: add free function to Efl_Access_Text_Range struct
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7717
2019-01-22 14:02:39 +01:00
Marcel Hollerbach d326b3e6e1 efl_ui_list_view_types: add a free function to the struct type
this type is used with @owned, which means, it needs a free function.
So we can ensure everything that is owned also has a free function

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7640
2019-01-22 14:02:38 +01:00
Marcel Hollerbach 5c1fde2c57 efl: add free functions to owned types
this commit is a first step in order to add free functions to all the
types that are owned.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7627
2019-01-22 14:02:37 +01:00
Marcel Hollerbach 7f283f0ece elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215f the string was
converted to const(string) it was not const before.
So this is converting back to the old behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7626
2019-01-22 14:02:36 +01:00
Boris Faure e80918643d elm.hoversel: ensure sd is not NULL
Summary: elm.hoversel: ensure sd is not NULL

Reviewers: cedric, zmike, raster

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7706
2019-01-21 19:30:12 +01:00
Jaeun Choi dab4d8d8a4 elm_panel: show/hide panel according to hidden status
when panel becomes non-scrollable by elm_panel_scrollable_set() function,
the panel needs to be shown/hidden according to the hidden status.
this patch implements it.
2019-01-21 19:07:51 +09:00
Jaeun Choi 368ab45b26 elm_panel: reset layout theme when scrollable mode is changed
after a panel becomes scrollable, it has two layout objects internally
and only one of them is active. when elm_panel_orient_set() function
is called, only the active layout's theme is changed according to
the orientation. so if scrollable mode is changed after that, it shows
the old theme. this patch fixes it.
2019-01-21 15:01:05 +09:00
Derek Foreman d14c700e9d efl_ui_widget: Save some pointer indirection
We're getting the same widget data twice, as well as testing if the
object is a widget twice.  Let's do these things once.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7698
2019-01-18 13:59:32 -06:00
Derek Foreman 014705c740 elm_code: Pass widget data to _elm_code_widget_fill_line
We already have this looked up in all callers, and the lookup is mind
smashingly heavy.  Just use what we have.

ref T6209

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7694
2019-01-18 13:06:37 -06:00
Derek Foreman ec910c5bb9 elm_code: Don't update selection if it didn't change
Summary:
Mouse motion can cause multiple worthless selection updates with no
change to row or column.  Discard updates that don't really update.

ref T6209
Depends on D7692

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

Differential Revision: https://phab.enlightenment.org/D7693
2019-01-18 12:35:26 -05:00
Derek Foreman 965cb9d28d elm_code: Pass data to status_type_get
Summary:
Every single call path has already dearly paid the price of pointer
indirection so let's save a few million extra look-ups and just pass
it along.

ref T6209

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

Differential Revision: https://phab.enlightenment.org/D7692
2019-01-18 12:20:59 -05:00
Marcel Hollerbach 95160ab136 efl: convert all interfaces to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7687
2019-01-18 16:31:31 +01:00
Marcel Hollerbach 3b6a9152c1 efl: convert all abstracts to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7686
2019-01-18 16:31:30 +01:00
Marcel Hollerbach 4fc83c9cbb efl: convert all mixins to new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7685
2019-01-18 16:31:28 +01:00
Marcel Hollerbach 34efdfb1b1 efl: convert all classes to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7684
2019-01-18 16:31:26 +01:00
Jaeun Choi 4d0289bb9f elm_panel: fix a bug in elm_scrollable_mode_set() function
when panel becomes scrollable, the function blocked scrolling
assuming that the panel is hidden. this caused an issue case
when panel becomes scrollable while it is open.
this patch fixes the issue.
2019-01-18 16:26:44 +09:00
Marcel Hollerbach 203b841eb9 elementary: make elm.web abstract
Summary:
elm.web is never used directly only as abstract class that gets
implemented in elm.web.none. Thus making it abstract does make sense.
Depends on D7671

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7672
2019-01-17 17:17:40 +01:00
Daniel Kolesa c4f05a0306 elementary: remove leftover header include 2019-01-17 15:56:33 +01:00
Daniel Kolesa 0976e9adf3 elementary: internalize elm_combobox, expose legacy only
This is bad eo API, and won't remain like that, so completely
remove it from being managed by Eolian.
2019-01-17 15:54:24 +01:00
Christopher Michael c98288c20e efl_ui_focus_object: Don't pass NULL to child_focus_set
When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.

ref T7030

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7677
2019-01-17 14:45:15 +01:00
Marcel Hollerbach 9fefc35308 Revert "evas: make efl_canvas_group abstract"
This reverts commit ae65c64b8d.

It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7676
2019-01-17 13:58:08 +01:00
Yeongjong Lee d44c7713cc elm_panel: fix visibility when switching scrollable mode
Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.

This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.

Thanks to arosis for reporting and sample code.

Test Plan: P262

Reviewers: arosis, eunue, Jaehyun_Cho

Reviewed By: eunue

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7667
2019-01-17 17:40:37 +09:00
Mike Blumenkrantz 5ab4784bbd efl_app: add "standby" event
this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration

@feature
ref T5494

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7593
2019-01-16 15:58:27 -08:00
Mike Blumenkrantz bb09142477 elm_entry: make file loading succeed on 0-sized files
a file which has no data is still a valid file and should be correctly
opened

fix T6562
@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647
2019-01-16 15:57:54 -08:00
Jean-Philippe André f1f3607f8c ui/flip: fix efl_pack usage
Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367
2019-01-16 14:46:19 -08:00
Cedric BAIL 563f91eaf9 ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.
If you need data, use a efl_future_then as done in every case here to get the same feature.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
2019-01-16 14:33:26 -08:00
Cedric BAIL bd2ae0ae85 elementary: refactor selection manager to not use eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543
2019-01-16 14:33:10 -08:00
Christopher Michael a7cf1b4c3c efl_ui_focus_manager_root_focus: Remove extra blank lines
NB: No functional changes
2019-01-16 11:34:18 -05:00
Christopher Michael bc43982949 elm_config: Free data returned from eet_read
Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:

```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610==    at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610==    by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610==    by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610==    by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610==    by 0x5864775: eet_read (eet_lib.c:2022)
==11610==    by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610==    by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610==    by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610==    by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610==    by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610==    by 0x138143: main (test.c:1379)
```

@fix

Reviewers: raster, cedric, ManMower

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7646
2019-01-16 11:07:07 -05:00
Yeongjong Lee 78ae9c0ae0 gfx: Add size hint fill (EO)
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.

@feature

Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'

Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T3912

Differential Revision: https://phab.enlightenment.org/D7409
2019-01-16 16:47:51 +09:00
Carsten Haitzler c233d6523b elm config - add back i var to build again 2019-01-15 20:48:39 +00:00
Carsten Haitzler fe6ea2314c Revert "elm_config: remove profile name reading logic from data dir"
This reverts commit 6c4e49d970.

Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...
2019-01-15 20:43:18 +00:00
Derek Foreman 5f207d79e3 focus_manager: fix memory leaks
_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622
2019-01-15 13:47:21 -06:00
Marcel Hollerbach ae65c64b8d evas: make efl_canvas_group abstract
the efl_canvas_group should be abstract in order to support other
classes which are inheriting from it, which are abstract. This is done
in order to support only abstract parents from abstract classes.

ref T7240

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600
2019-01-15 17:37:40 +01:00
Carsten Haitzler f90c5b7376 elm - dnd - restore to working as drop targets
so drop taregts liek rage stopped working - something was wrong with
type handling and fetching selections at all and so on... i've kicked
it back into working again. it's not perfect but it's improved. at
least simple thgins like being a dnd target for dnd from a filemanager
work again which is probably the biggest use case.

@fix
2019-01-12 14:44:03 +00:00
Christopher Michael b4f8315e1a elementary: Add missing EINA_UNUSED for efl_ui_image_factory_connect
Eo *obj is unused in this function, so mark it as such
2019-01-11 09:27:53 -05:00
Michael Bouchaud (yoz) 61179964c3 elm_map: Add new overlay content to the list of smart members of wigdget
Summary: Without this a new overlay content aren't displayed into the map widget.

Reviewers: zmike, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7457
2019-01-11 09:21:19 -05:00
Christopher Michael f85c261509 elementary: Add missing EINA_UNUSED for efl_ui_layout_factory_connect
Eo *obj is unused in this function, so mark it as such
2019-01-11 09:20:07 -05:00
Marcel Hollerbach 3ddd577fb0 efl: refactor all mixins
Differential Revision: https://phab.enlightenment.org/D7585
2019-01-11 12:37:27 +01:00
Larry Lira 54287d67d4 Efl.Ui.List_View: precise layout async
Summary:
fixed precise layouter to work with create asynchronous
fixed example theme signal

Reviewers: cedric, felipealmeida, SanghyeonLee, lauromoura

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7476
2019-01-11 17:21:19 +09:00
Shinwoo Kim b447a37ed8 efl_ui_win: make win work for evas_norender
The evas_norender updates the canvas internal objects.
But efl_ui_win does not evaluate its internal objects, when evas_norender is
called before showing, after resizing as below.

   evas_object_resize(win, 300, 600);
   evas_norender(evas_object_evas_get(win));
   evas_object_show(win);

This problem could be verified by checking if a resize function of internal
object is called or not.

minw,h is 0 in _elm_win_resize_objects_eval but deferred_resize_job is TRUE.

   evas_norender -> _window_layout_stack ->  _elm_win_resize_objects_eval

So if _elm_win_resize_objects_eval does not return if deferred_resize_job is
TRUE even if minw,h is 0, and calls _elm_win_resize_job, then it will work.

   _elm_win_resize_objects_eval -> _elm_win_resize_job ->
   evas_object_geometry_set  -> _efl_canvas_group_group_need_recalculate_set ->
   _window_layout_stack -> evas_object_geometry_set -> resize function.

I have checked this behavior without elementary. It seems that evas_norender
works between resize and show in this case. Let me share examples.

   ecore_evas_resize(ee, 100, 100);
   evas_norender(evas);
   ecore_evas_show(ee);
Differential Revision: https://phab.enlightenment.org/D7425
2019-01-10 13:05:17 -06:00
Wonki Kim b73a5ed704 meson: add a option to config the base directory name for elm data
There is a option(--with-elementary-base-dir) on autotools
this patch provides the exactly same thing that autotools does on meson
Differential Revision: https://phab.enlightenment.org/D7580
2019-01-10 19:44:01 +01:00
Cedric BAIL f5172faebb efl: remove warning due to unused variable/parameters.
Reviewers: #committers, felipealmeida, zmike

Reviewed By: #committers, felipealmeida, zmike

Subscribers: zmike, YOhoho, Hermet, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7554
2019-01-09 14:54:54 -05:00
Cedric BAIL c21a39c88a elementary: enable caching for Efl.Ui.LayoutFactory.
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7445
2019-01-09 11:02:14 -08:00
Cedric BAIL 78ca66fb76 elementary: enable caching for Efl.Ui.ImageFactory.
Differential Revision: https://phab.enlightenment.org/D7444
2019-01-09 11:02:12 -08:00
Cedric BAIL 4fe4f76b8c elementary: add a factory that handle caching for you.
This factory handle caching of one type of object and automatically empty the cache
when the application goes into pause.

Creating object is costly and time consuming, keeping a few on hands for when you next will need them help a lot.
This is what this factory caching infrastructure provide. It will create the object from the class defined on it,
set the parent and the model as needed for all items a Factory create. The View has to release the Item using the
release function of the Factory interface for all of this to work properly.

This is copying what Elm_Genlist was doing for you in the background and bring Efl interface to parity.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7443
2019-01-09 11:02:11 -08:00
Carsten Haitzler ab6c0e9f2b elm dnd/selection - only query wl things if thje window is a wl one...
check at RUNTIME not just with ifdefs at compile time. less ERR noise
for sure.
2019-01-09 18:57:23 +00:00
Yeongjong Lee e3aca63428 efl_ui_text: remove duplicated empty string initialization
Summary:
string of text_obj is already initialized in evas_object_textblock_init.
also, this patch fixes text_set bug.

Test Plan:
```
efl_add(EFL_UI_TEXT_CLASS, parent,
        efl_text_set(efl_added, "string"));
```
 or

elementary_test -to 'efl.ui.slider'

Reviewers: herdsman, zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7561
2019-01-09 13:08:36 -05:00
Carsten Haitzler 1ff024c9bb elm win - we forgot to add gl_drm to possible elm win engines
this was forgotten it seems, so add it alongside drm engine etc. so we
can do accelerated gl in the "fb" via drm too for elm app windows.
2019-01-08 15:25:17 +00:00
Hermet Park 12d2a4ce00 elementary genlist: make it sure object type.
Summary:
elm has some cases that resize_obj is not the group object.
That case, efl_canvas_group_need_recalculate_get() prints
annoying type-check errors.

Reviewers: #committers, SanghyeonLee

Reviewed By: #committers, SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7557
2019-01-08 20:01:23 +09:00
Hermet Park 3a5acad50e elementary selection_manager: remove unused paramter warning. 2019-01-08 20:00:19 +09:00
Cedric BAIL 88dbd866e0 elementary: rename Efl.Ui.Translatable -> Efl.Ui.L10n
If we are to choose Efl.Ui.I18n for the internationalization support, the localization API
should be named accordingly L10n.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7507
2019-01-02 11:03:53 -08:00
Cedric BAIL 038612736c efl: rename Efl.Ui.Base -> Efl.Ui.I18n as that is really what it does.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7506
2019-01-02 11:03:51 -08:00
Cedric BAIL 327593e9b4 elementary: rename Efl.Selection -> Efl.Ui.Selection as it is only usable with User Interface related element.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7505
2019-01-02 11:03:49 -08:00
Hermet Park d2ec3ce170 efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Reviewed By: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
2018-12-28 12:20:15 +09:00
Carsten Haitzler 318d16846f Revert "Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.""
This reverts commit 42e886d8d6.
2018-12-26 17:50:09 +00:00
SangHyeon Jade Lee c3f37111ff efl_ui: activate widget focus on efl.ui.item.
Summary:
Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.

Test Plan:
tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.

scroll feature is not yet supported by efl_ui_scroll itself.

Reviewers: eagleeye, cedric, Hermet, felipealmeida, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7465
2018-12-26 21:08:10 +09:00
Marcel Hollerbach 42e886d8d6 Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."
This reverts commit 9b5155c9f1.

For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.

This fixes crashing terminology instances.
2018-12-26 12:31:08 +01:00
Hermet Park 0e278d1de8 Revert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"
This reverts commit 7c38c0c915.

Oops, didn't intend this patch.
2018-12-26 19:32:42 +09:00
Hermet Park 7c38c0c915 efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
2018-12-26 19:29:10 +09:00
Cedric BAIL 9b5155c9f1 ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
2018-12-20 12:42:34 -08:00
Cedric BAIL e74578c7d3 elementary: switch to the new efl_future_then syntax.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7448
2018-12-20 10:44:45 -08:00
Cedric BAIL 50d675d6c1 elementary: make all view generate an event when the item is created.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7447
2018-12-20 10:44:44 -08:00
Marcel Hollerbach 20ddd4c679 efl_app: introduce app_main for getting the app object
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.

fix T7509

Differential Revision: https://phab.enlightenment.org/D7480
2018-12-20 12:56:54 +01:00
Marcel Hollerbach 7031a8cd7e elm_widget: remove defines that are not implemented
Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7455
2018-12-20 19:55:20 +09:00
Woochanlee d9a222ecf5 Intruduce Efl.Ui.Panel (Create Efl Ui Widget from elm widget(elm_panel))
Summary: Create Efl Ui Widget from elm widget(elm_panel)

Test Plan: elementary_test -> efl_ui_panel

Reviewers: woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7238
2018-12-20 11:32:28 +09:00
Xavi Artigas 2e2c225093 doc: Remove misplaced blank line 2018-12-19 13:51:55 +01:00
Jérémy Zurcher 8a617fda97 silence most left over compiler warnings
Summary: silence -Wshadow -Wunused-variable -Wunused-parameter

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7473
2018-12-18 13:08:01 +01:00
Marcel Hollerbach 27e5e8fa75 elm_gengrid: improve genlist behaviour
the new behaviour is (as genlist in the previous commit):
- focus the first item when down is pressed
- focus the last item when up is pressed
- do not go into the widget with tab or ctrl+tab and just return
immidiantly

fixes T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7454
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 5e0a602ee8 elm_widget_item_static_focus: fix ERR prints
There is the case that the deletion of the adapter can cause another
registeration, which then calls another time prepare, which then deletes
the adapter, before the actaul deletion of the first efl_del happened,
which means it will throw an error. To avoid this we track if we are in
process of a unrealization, and if so, do not delete the item there.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7453
2018-12-17 09:12:22 +01:00
Marcel Hollerbach e779492a1c elm_genlist: behaviour fixes for genlist
This implements the behaviour in case no item is yet focused, but the
genlist is focused.

ref T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7452
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 6922761f3f elm_gen****: fix focus restoring on window focus changes
this ensures that if there is no focused item, that at least the
container is focused. This leads to the fact that the elm_genlist
/elm_gengrid is refocused when a window is unfocused and focused again.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7451
2018-12-17 09:12:22 +01:00
Marcel Hollerbach ef874d5b59 efl_ui_focus_manager: performance optimize order setting
setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager.  We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.

We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2df601d589 elm_focus: implement legacy targets for logical widgets
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.

fix T7389

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
2018-12-17 09:12:22 +01:00
Marcel Hollerbach dfc9cd8a67 elm_focus: implement elm_object_focus_next_item_set / get
you can use this now to let the focus move to the widget container of
the passed item.

I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.

fixes T6183.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2d4f25fb32 elm_config: fix valgrind warnings
buf is only initializied, if on_flush is true.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
2018-12-17 09:11:19 +01:00
Derek Foreman 0611dbc1e9 efl_ui_win: Don't allow the frame object to change size before first draw
This fixes a bug where calling:

evas_object_show(win);
evas_object_resize(win, 400, 400);
elm_run();

Would show a much smaller than 400,400 window on wayland, as the CSD
calcs would set the size smaller.

It also fixes some differences in startup size between X and wayland for
some trivial test clients.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7438
2018-12-14 13:42:14 -06:00
Leonardo Loch 55854e9582 elementery: fix mouse selection of items in efl.ui.list_view 2018-12-07 14:01:13 -02:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01:00