Commit Graph

427 Commits

Author SHA1 Message Date
Wonki Kim 8b0b9ed281 elm_config: fix elm_config_save not to wake idle processes up
there is a eio_monitor which is tracking on config directory.
and that is the reason why idle processes get waken up once some process call elm_config_save().
this patch fix the function not to wake idle processes up as it was before.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7354
2018-11-28 16:22:18 -08:00
Chris Michael f7a414db38 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Jaehyun Cho 4f9c8d524c efl_ui_theme: Introduce Efl.Ui.Theme class
Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.

This patch fixes T7357.

Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee

Reviewed By: segfaultxavi, SanghyeonLee

Subscribers: SanghyeonLee, herdsman, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7357

Differential Revision: https://phab.enlightenment.org/D7244
2018-11-20 13:56:37 +09:00
Jaehyun Cho 0611620301 efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class
Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.

Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.

Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7304
2018-11-20 10:24:05 +09:00
Jaehyun Cho a2c8330d8f efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win
Check efl_ui_bg_widget theme version instead of elm_bg for non-legacy
win if win must swallow bg manually or not.
2018-11-09 17:52:29 +09:00
junsu choi 93ee5f9d53 efl_ui_win: Move force resize code on first draw
Summary:
In D6165, there was a modification that forced resize_job
to be called using sd-> deferred_resize_job.
Even if we set true in sd-> deferred_resize_job,
it will be changed to false by calling other function to be called.
(sd->deferred_resize_job = EINA_TRUE; ->
  _elm_win_resize_objects_eval ->
  _elm_win_resize_job ->
   sd->deferred_resize_job = EINA_FALSE;)
Eventually _elm_win_frame_obj_update is not called.
There is a case where _elm_win_frame_obj_update can not called in tizen.
For this reason, make sure to call resize_job when first drawing based on D6165.

Test Plan: N/A

Reviewers: eagleeye, zmike, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7156
2018-10-11 20:28:13 +09:00
Yeongjong Lee 02d83ebcd4 docs: Fix typos in API reference doc and comments.
Reviewers: Hermet, segfaultxavi

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6948
2018-08-31 17:45:31 +09:00
Stefan Schmidt 9e7d0d03e4 Revert "elm/win: move trigger for "shot" to first pre-render callback"
Summary:
This reverts commit 93228108ef.

The original commit resulted in a hang during the use of the shot engine
in our make doc target. During the doc run we generate screenshots for
the documentation using the shot engine.

It is not a clean revert as other things changed since this got in, but
I verified that the screenshots for the documentation is generated
correctly again. This might leave open the original issue T6929 which
the now reverted commit tried to address.

Fixes T7166

Reviewers: zmike, JackDanielZ, xavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7166

Differential Revision: https://phab.enlightenment.org/D6873
2018-08-20 11:00:09 -04:00
Shinwoo Kim 1c0f878fa6 elm/win: check object class before using it
Summary:
elm_win_focus_get with non Efl.Ui.Win object could return incorrect value.
If an object implements Efl.Ui.Focus.Object.focus { get; } then the return
value of elm_win_focus_get with this object depends upon the object status.

Reviewers: Hermet, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6868
2018-08-20 16:37:40 +09:00
Derek Foreman 633d16aae7 ecore_evas: Fix elm warnings when building without wayland support
Summary:
efl_ui_win.c only includes private ecore_evas headers when building
for wayland, but wayland canvas creation functions are called even
in non-wayland builds.

Move the "hidden" wayland APIs to the public header so they don't
mess up non-wayland builds.

Reviewers: devilhorns, zmike

Reviewed By: devilhorns, zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6822
2018-08-16 10:17:23 -04:00
Mike Blumenkrantz 5ca78073b8 elm/win: skip frame updating if csd is not active
Summary:
this avoids extra recalcs and resizes when csd is not active, which has
the side benefit of not breaking the x11 engine's behavior--currently only
an issue because the ecore-evas x11 backend does not have an implementation
of ConfigureNotify event handling which is even remotely correct

these issues will be resolved in future patches

fix T7243
ref T7008

Reviewers: devilhorns, ManMower

Reviewed By: devilhorns, ManMower

Subscribers: ManMower, cedric, #reviewers, #committers

Tags: #efl_display_system

Maniphest Tasks: T7243, T7008

Differential Revision: https://phab.enlightenment.org/D6794
2018-08-14 17:11:53 -04:00
Derek Foreman e382bac1a0 wayland: Fix elementary setting window parents at creation time
Summary:
We need to pass the entire pointer, not just 32-bits of it.

Fixes a crash with enlightenment sandbox gadgets where
ecore_wl2_window_alpha_get() is called with an invalid pointer while
trying to display a pop-up.

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6775
2018-08-08 09:37:30 -04:00
Chris Michael 843b5177df elementary: Check for valid frame object
Summary:
Make sure we have a valid frame object before calling edje & evas
functions on it. This patch fixes an issue where NULL is being passed
to eo functions

ref T7030

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6637
2018-07-25 14:57:14 -04:00
Mike Blumenkrantz 9ff3b6124e efl_ui_win: reset first_draw flag if window is resized while hidden
Summary:
this indicates that the window's internal object sizes will have changed,
requiring a full window recalc. if the window is not visible, defer all
recalcs until pre-render to avoid unnecessary calcs and use the same
codepath as the initial window show

ref T7172
Depends on D6646

Reviewers: kimcinoo, eagleeye, ManMower

Reviewed By: ManMower

Subscribers: cedric, #committers

Tags: #efl_widgets

Maniphest Tasks: T7172

Differential Revision: https://phab.enlightenment.org/D6647
2018-07-24 09:18:53 -05:00
Mike Blumenkrantz 6fa9fd789e efl_ui_win: show internal objects again on show if first_draw flag is set
Summary:
in this case, a window is being shown again after being hidden, so it's safe
to immediately show these objects as the size will not have changed since
they were last visible

fix T7172
ref fa02f16a3f

Reviewers: kimcinoo, eagleeye

Reviewed By: kimcinoo

Subscribers: cedric, #committers

Tags: #efl_widgets

Maniphest Tasks: T7172

Differential Revision: https://phab.enlightenment.org/D6646
2018-07-24 09:18:50 -05:00
Alastair Poole 4924fc73ee macos: allow text to be selected.
Summary: This gives us basic clipboard handling for MacOS after the refactor was done.

Test Plan:
Open an entry test. select text with mouse or keyboard.
Text can be cut. Text can be copied. Text can be pasted.

Reviewers: ajwillia.ms, zmike, jayji

Reviewed By: zmike

Subscribers: jayji, herdsman, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6599
2018-07-23 15:48:29 -04:00
Mike Blumenkrantz 4951c8b1e6 elm/win: don't force opaque bg if alpha is set
Summary:
alpha prevents an opaque bg, so ensure that this is being correctly
detected

worth noting here is that the eo api for win calls through _elm_win_standard_init()
during finalize which ensures that need_bg_solid is set; the legacy api
does not call this during "normal" construction

fix T7129
Depends on D6568

Reviewers: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7129

Differential Revision: https://phab.enlightenment.org/D6569
2018-07-11 15:50:23 -04:00
Mike Blumenkrantz 0f4bbb7df6 elm/win: correctly track and set x11 shaped state
Summary:
when applying alpha in a non-composited environment, shaped should be
set. when removing alpha in a non-composited environment, shaped should
be unset if it has not previously been explicitly set

@fix

Reviewers: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6568
2018-07-11 15:50:09 -04:00
Xavi Artigas ee8d06c806 elementary: Avoid passing NULL in some win focus methods
Summary:
This one is rather harmless, as the NULL returned by this fuction is handled
correctly in all places, but this commit removes the runtime warning.

ref T7030

Test Plan: After this commit the warning disappears. Got the warning with win_example.

Reviewers: zmike, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: netstar, cedric, #committers

Tags: #efl

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6538
2018-07-09 13:32:58 -04:00
Derek Foreman 78f27a3eff ecore_wl2: Replace window ids with pointers
Summary:
There's no benefit to generating ids instead of just using the
Ecore_Wl2_Window pointer in events.

This has the added benefit of working around a really nasty hash collision
bug when multiple ecore_evas engines are used at once.

ref T7053
ref T6222

@beta_break
Depends on D6521

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #committers, zmike

Tags: #efl

Maniphest Tasks: T7053, T6222

Differential Revision: https://phab.enlightenment.org/D6522
2018-07-06 10:16:21 -04:00
Carsten Haitzler cc726c011e Revert "elm win - fix resizing on show. rage was broken last week. this fixes it"
This reverts commit 7bf845b24c.
2018-06-27 13:49:57 +09:00
Mike Blumenkrantz 93228108ef elm/win: move trigger for "shot" to first pre-render callback
Summary:
in the case where the first render took far longer then the specified
shot interval, this would end up recording garbage since there was nothing
drawn yet

@fix
fix T6929

Reviewers: bu5hm4n, JackDanielZ, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6929

Differential Revision: https://phab.enlightenment.org/D6426
2018-06-25 15:20:27 -04:00
Chris Michael 42d97d0420 efl_ui_win: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884

Depends on D6414

Reviewers: zmike, ManMower

Reviewed By: zmike

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6884

Differential Revision: https://phab.enlightenment.org/D6415
2018-06-25 11:36:51 -04:00
Carsten Haitzler 7bf845b24c elm win - fix resizing on show. rage was broken last week. this fixes it
rage window with no file passed ended up like 10x40 ... which is
wrong. it wasn't. rage code explicitly resizes the window before show
and this wsas being overriden. tested rage, terminology, em test in
both x and wl. all still work (for me) post commit.
2018-06-23 23:57:00 +09:00
Mike Blumenkrantz 13b702816e efl_ui_win: check frame_obj existence before operating on it in pre_render
Summary:
this object will not exist for fake win objects, e.g., in enlightenment

fix T7033
Depends on D6319

Reviewers: bu5hm4n, Hermet, woohyun, devilhorns

Reviewed By: bu5hm4n

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7033

Differential Revision: https://phab.enlightenment.org/D6320
2018-06-19 13:40:43 -04:00
Mike Blumenkrantz 865774bf81 efl_ui_win: do not attempt to focus a null object on focus-in
Summary:
ref T7033
Depends on D6318

Reviewers: bu5hm4n, Hermet, woohyun, devilhorns

Reviewed By: bu5hm4n

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7033

Differential Revision: https://phab.enlightenment.org/D6319
2018-06-19 13:40:27 -04:00
YeongJong Lee 61dc4899b5 elm_win: fix widget type name for backward compatibility
Summary:
It should use legacy class in elm_win_add.

this patch fixes T6898, T6899

Test Plan: make check

Reviewers: zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6899, T6898

Differential Revision: https://phab.enlightenment.org/D6233
2018-05-31 21:39:34 +09:00
Carsten Haitzler 060e62061d efl ui win - fix legacy theme support correctly
this fixes T6918. during development legacy theme support was b roken.
473e657120 broke it.
2018-05-27 19:48:48 +09:00
Mike Blumenkrantz a0db6b351a Revert "efl_ui_win: simplify checking theme version when adding frame"
Summary:
This reverts commit f37b96a1de.

as pointed out in D5957, this would break use of theme_set during the
efl_add constructor once this is implemented in the future

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: #committers

Tags: #efl

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:14:38 -07:00
WooHyun Jung 4d0bb5ec35 efl_ui_win: fix wrong comparison in icon_object_set
@fix
2018-05-25 16:42:52 +09:00
Cedric BAIL fe14abd929 evas: refactor efl_input_event and remove some of the lifecycle hack.
Differential Revision: https://phab.enlightenment.org/D6101
2018-05-24 16:02:18 -07:00
Cedric BAIL 8a513a522e efl: major rewrite of efl_part.
The interface efl_part_get should not be directly called from C, but the efl_part
wrapper should. It rely on efl_noref to properly destroy the object. Binding can
control the lifecycle of the reference the way they want by either calling the
wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set
doesn't need to be exposed outside of EFL anymore.

Differential Revision: https://phab.enlightenment.org/D6098
2018-05-24 16:02:18 -07:00
Mike Blumenkrantz efe5f92377 efl_ui_win: always force resize job on first pre-render
Summary:
ensure that a resize eval occurs after the frame edje has been thawed
so that sizing will be correct in engines which either still have
broken size handling (D6019) or have sub-optimal size handling (D6145)

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6165
2018-05-23 10:28:06 +02:00
Marcel Hollerbach 5de88592bc efl_ui_win: hand-ref-count the provider object
Summary: Depends on D6108

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6109
2018-05-16 13:30:33 -04:00
Marcel Hollerbach a218c883c7 Introduce efl_ui_widget_focus_manager
Summary:
The mixin encapsulates the correct
- creation
- composition attaching
- Lifecycle handling

of the focus managers that are assosiated with the object.

This fixes error messages on shutdown, and additionally lifetime issues
where the composite_attached object was deleted before the object was
deleted.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6108
2018-05-16 13:30:28 -04:00
Derek Foreman 4f720657d2 efl_ui_win: Pass seat info for wayland move/resize
Summary:
In wayland we need to know which seat initiated the CSD compositor move
request to properly handle input.
Depends on D6124

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6125
2018-05-08 13:26:35 -05:00
Derek Foreman 1729cbe33e efl_ui_win: Directly call ecore_wl2 move and resize functions
Summary:
These ecore_evas_wayland things seem like they shouldn't exist.  The
ecore_wl2 api is better and still in beta so it can be fixed when it's
shown to be broken/wrong as the ecore_evas_wayland ones are. :(

The move API is stuck with x, y co-ordinates that can never make sense,
and neither API is capable of passing seat info.
Depends on D6123

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6124
2018-05-08 13:26:30 -05:00
Derek Foreman 77f946a92c elm_win: Remove move stop callback
Summary:
This is only fired to trigger a cursor set under wayland, but that cursor
set should be done unconditionally on mouse in.

However, mouse in was being discarded because mouse out was being deferred
when the window was "grabbed" for moving.

If instead we just let the mouse out occur as it should, the cursor
is properly updated on mouse in.
Depends on D6118

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6119
2018-05-08 13:25:54 -05:00
Mike Blumenkrantz 78c2f1e659 efl_ui_win: ignore attempts to resize window to 0x0 during frame sizing
Summary:
in many cases, a 0x0 size is found here as a result of various quirks at
different states of window initialization. passing 0x0 will clamp the size
to 1x1 and, for some engines, create a race condition during initial
sizing which causes the window not to render

ref T6907

Reviewers: cedric, ManMower, vtorri

Reviewed By: vtorri

Subscribers: raster, stefan_schmidt

Tags: #efl

Maniphest Tasks: T6907

Differential Revision: https://phab.enlightenment.org/D6016
2018-05-02 15:57:21 -04:00
Chris Michael 25835c6c5c elementary: Remove unused variable 2018-05-01 13:49:01 -04:00
Marcel Hollerbach fdfcae968b elm_widget: Introduce elm_focus_legacy
Code located here is meant for a legacy tree and legacy widgets.
This is checked on the entry of the function
2018-04-30 19:24:47 +02:00
Jaehyun Cho 08a11dcbf9 efl theme: Replace legacy signal names with efl ui signal names
Replace legacy signal/source names with efl ui signal/source names.
e.g. From "elm,state,content,set" "elm" to "efl,state,content,set" "efl"
2018-04-26 22:45:59 +09:00
Taehyub Kim c83895b144 efl_ui_win: fix the wrong bracket
Summary: efl_ui_win: fix the wrong bracket

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, stefan

Differential Revision: https://phab.enlightenment.org/D6007
2018-04-26 21:00:35 +09:00
Taehyub Kim 6e49db0739 efl theme: remove the elm legacy name of efl ui theme
Summary: remove the elm legacy name of efl ui theme

Test Plan: run elementary_test and test efl ui widget cases

Reviewers: Jaehyun_Cho, woohyun, cedric, raster, jpeg

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5934
2018-04-26 19:41:03 +09:00
Mike Blumenkrantz 473e657120 efl_ui_win: remove references to removed functions
Reviewers: ManMower

Reviewed By: ManMower

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D6004
2018-04-25 12:22:40 -04:00
Mike Blumenkrantz f37b96a1de efl_ui_win: simplify checking theme version when adding frame
Summary:
the win has no theme set, so this would always return null
Depends on D5956

Reviewers: cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5957
2018-04-25 12:09:32 -04:00
Mike Blumenkrantz 7afd83569b elm_win: remove useless function
Summary: Depends on D5961

Reviewers: ManMower, cedric

Reviewed By: ManMower, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5945
2018-04-25 12:07:28 -04:00
Mike Blumenkrantz d033d747ff efl_ui_win: resolve race conditions with csd sizing on first show
there were some cases where frame geometry was being calculated/applied
strangely as a result of moving all of the layout calcs to pre-render.
enforcing a frame calc+resize resolves these issues

Differential Revision: https://phab.enlightenment.org/D5961
2018-04-25 12:07:28 -04:00
Mike Blumenkrantz fa02f16a3f efl_ui_win: remove show intercept function
this should just be handled in the pre-render callback where the rest
of the calc for the window is done

also removes an unnecessary smart calc

Differential Revision: https://phab.enlightenment.org/D5960
2018-04-25 12:06:33 -04:00
Mike Blumenkrantz 34be51e105 elm_win: freeze frame object edje until first pre-render
this avoids a substantial number of unnecessary recalcs and halves the calltime
for elm_win_add

ref T6884

Differential Revision: https://phab.enlightenment.org/D5944
2018-04-25 12:06:33 -04:00