Summary: since to control the rotation of application windows by WM, already added related feature in Ecore_Evas. Added related API for it.
Reviewers: raster, seoz
CC: gwanglim
Differential Revision: https://phab.enlightenment.org/D542
Summary:
Currently, elm_win was handling focus_highlight geometry of widgets.
Removed elm_win_focus_highlight_geometry_get() from elm_win and now elm_widget handles focus highlight geometry.
This is required to support the focus highlight on elm widget items.
Test Plan: elementary_test -> focus
Reviewers: seoz, raster, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D530
Summary: This new API will allow widget to have its own focus highlight style
Reviewers: seoz
CC: woohyun, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D501
Summary:
Currently, focus highlight comes on the widget's geometry. Elementary does not have option to provide the focus highlight on widget's part.
This patch provides the option to provide focus highlight on the widget's part.
e.g. data.item: "focus_part" "part";
The focus highlight would come on part's geometry instead of widget's geometry. This patch only works on widgets which uses
resize_obj.
Reviewers: seoz, woohyun
Differential Revision: https://phab.enlightenment.org/D499
click.
Summary:
Focus highlight was not visible on first click on a widget with focus_highlight enabled on the window.
This happens because on first click, the "elm,action,focus,show" signal was emitted before setting focus highlight edje object as theme object of elm window.
In this patch, moved the _elm_win_focus_highlight_visible_set() call after focus highlight edje object set as theme object of window.
This fixes T774.
Test Plan:
elementary_test->focus then click any widget. Focus won't appear for the first time.
Reviewers: seoz, raster, woohyun
Maniphest Tasks: T774
Differential Revision: https://phab.enlightenment.org/D462
ecore_animator_del, and ecore_job_del.
As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
There are elm_widget_theme/theme_set/theme_get functions.
In Eolian these functions will be described as "theme" method and
"theme" property. There is clash here.
So add suffix "_apply" to Eo API for "elm_widget_theme".
EE_ENGINE_COMPARE reduces typing little bit, but it makes redundant function calls
because almost callers call it more than once.
And, there is no way to check whether ecore_evas_engine_name_get is null.
This patch removed EE_ENGINE_COMPARE with small refactoring.
In addition, removed unnecessary check routines from _elm_ee_xwin_get.
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
inline with their X counterparts. Also, remove some EINA_UNUSED where
parameters were being used.
The previous code to get the Ecore_Wl_Window from an Ecore_Evas did
not check to make sure the Ecore_Evas Engine was a wayland engine, and
thus elm_tests like Window Inline would spew CRIT & ERR messages from
ecore_evas about the interface.
This fixes Phab Ticket T502
Signed-off-by: Chris Michael <cp.michael@samsung.com>
... will have to look into why it does not work here propertly tho..
Revert "Fix elm client applications to support maximize properly (ie: removing"
This reverts commit 28763963bb9e26ea25ca182acc294c0a02f03ba2.
When receiving a maximize event from the maximize button, do not force
sd->maximized. We must wait for a state change event, just like when a
window is maximized by the elm_win_maximized_set function. This will
ensure that a maximized smart event is sent.
Additionally, send a elm,state,maximized signal to the edje theme, so it
can update shadows and window decorations correctly.
ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.
Reproduce step is changing profile in elementary_config.
NB: On X11, this will return the Ecore_Window of the Elm Window. On
Wayland engines, this will return the surface id of the Elm Window.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
On a move start signal, set the mouse cursor to "move".
Add hook for "move stop" to unset cursor.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: Use a rectangle, swallowed into the frame object, to calculate
framespace values.
Thanks Raster !! :)
This also fixes zmike's Fat-Frame issue ;) (ie: frame size and
framespace will be adjusted now for different font sizes in the
titlebar)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
Before removing the framespace and frame object, set the window to
fullscreen, so its geometry will be saved taking into account the frame
size.
This is required because Ecore_Evas does not control the frame object
and frame size, it's all controlled by the application (Elementary, in
this case).
It is not a special object anymore, and does not need special handling.
Just move it to the correct position, since the canvas 0,0 point now has
an offset.
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
Elm devs should fix it beforehand.
So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
now if applying the orientation style is failed, it tries to apply the original style. if it fails again then default theme.
also it fixed a logic error when theme changed is happened.
It will try to apply the original style if the orientation style is invalid on theme changing.
SVN revision: 84082
Orientation Mode is used for widgets to change it's styles or to send signals
whenever it's window degree is changed. If the orientation mode is enabled
and the widget has different looks and styles for the window degree(0, 90,
180, 270), it will apply a style that is readied for the current degree,
otherwise, it will send signals to it's own edje to change it's any states if
the style doesn't be readied.
SVN revision: 83880
This patch replaces the ELM_EXTERNAL_MENU environment variable for
ELM_DISABLE_EXTERNAL_MENU, so that the main menu bar always attemps
connecting via D-Bus, if possible.
Patch by: Henrique Dante de Almeida <hdante@profusion.mobi>
SVN revision: 83099
With this patch, the main menu now keeps listening for the app menu
registrar all the time. Whenever it's available, it tries to register
itself. If the registrar exits, the menu switches back to local mode.
Patch by: Henrique Dante de Almeida <hdante@profusion.mobi>
SVN revision: 83098
The layout has two parts, one for placing a menu bar on the window and
the other for placing the actual window contents. The content part is
an Evas box with a custom layout that mimics the standard widget
placement rules inside the window (adapted from resize_objects_eval
and resize_job)
Note: a custom layout was written here, because it's not possible to
use a common stacking layout, since applications do not follow the
stacking rules (they don't use EVAS_HINT_FILL and
evas_object_size_hint_align_set). Maybe, with time, applications
could be changed to use them, so the custom layout may be removed.
Patch by: Henrique Dante de Almeida <hdante@profusion.mobi>
SVN revision: 82957
so new object would be highlighted if there is new object under the previous mouse(cursor) position.
to fix this issue, elm_access is using the mouse_event_enable flag. but it would cause a problem as
following case: 1. create input window in access module, 2. read something, 3. disable access module
this would be resolved by export api to set mouse_event_enable flag the other day.
SVN revision: 82933
Disabling frame calculation for now, because, in the code, a call
for getting the geometry might return the size with the frame
included, so adding it in the resize call would result in doubling
the frame size.
Patch by: Henrique Dante de Almeida <hdante@profusion.mobi>
SVN revision: 82643
need to run an engine compare before trying to get wayland specific
items (in this case, the ecore_evas window).
NB: Fixes ticket #1992
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81369
Subject: Re: Re: Re: [E-devel] [RFC] Virtual desktop window profile
I've attached 4th patch. May the 4th be with you.
ecore patch has been merged with efl and all files are based on r80123.
Thanks & Regards,
Gwanglim
------- Original Message -------
Sender : Daniel Juyung Seo<seojuyung2@gmail.com>
Date : 2012-12-04 01:55 (GMT+09:00)
Title : Re: Re: [E-devel] [RFC] Virtual desktop window profile
It looks ok to me.
Sorry but can you re-generate the patch according to the recent ecore
merge to efl single tree?
Daniel Juyung Seo (SeoZ)
On Thu, Nov 29, 2012 at 12:29 AM, Gwanglim Lee <gl77.lee@samsung.com>
wrote:
Dear Raster and Daniel Juyung Seo,
I've attached 3rd patches and test_config according to your reviews.
These are based on r79782.
[elementary & ecore]
1. "profile,set" -> "profile,changed" - done
2. spaces after EINA_LIST_FOREACH - done
3. variable type - keep
4. author - done
5. removing deprecated marking in patch - done
6. add elm_win_available_profiles_get to test_config for the debugging
purpose - done
7. check whether a given profile is present in an available profiles.
otherwise window profile will be one of the item
in available profiles. - newly added thing to the elm_win
8. merge with EO - done. :(
Any comments would be appreciated.
SVN revision: 80215
1. add access lines for ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ
2. add _elm_access_highlight_cycle(); becase there is a case that
highlight object would be different with focused object after
user moves finger to specific object which does not have focus
currently.
SVN revision: 79884
Elementary based programs composed of widgets and containers. This means
that every widget will be inside a container, or will be the base
container, usually set as a resize object of the window.
Taking advantage of this structure, we can leave the frame area
calculation be done by elementary, not relying anymore on the framespace
available from Evas.
This commit fixes the problems related to the wayland framespace on
Elementary, while the final implementation of the said framespace is not
done yet on Ecore and Evas. Later it can be easily changed to use the
available infrastructure.
SVN revision: 79491
Subject: [E-devel] [patch][elementary] access - activate widget
Subject: [E-devel] [Patch][elementary] scroller, slider - access
activate feature
the previous activate function just get object only. to activate scroller
or slider etc.. it needs more information. so the patch changed previous
activate(Evas_Object *obj) to activate(Evas_Object *obj, Elm_Activate act);
the Elm_Activate can be one of ELM_ACTIVATE_DEFAULT, UP, DOWN, RIGHT, and
LEFT.. you can add more if it is necessary.
I have attached two patches. one is for the slider and the other is for the
scoller.
this patch would support those who wants change value of slider or content
position of scroller on remote side.
this would be useful to the access side or voice control side also.
SVN revision: 76717
Subject: [E-devel] [patch] Add APIs for floating mode
I added APIs for supporting the floating mode -
elm_win_floating_mode_set, elm_win_floating_mode_get.
The floating mode will be used on mobile environment. For example, if
the video-player window set the floating mode, then e (enlightenment
window manager) changes it's geometry and handles it like a popup.
Please check these APIs and give an advice for me.
SVN revision: 76667
Subject: [E-devel] [patch][elementary] access - add activate callback
till now, accessibility has used ecore_x_mouse_*_send(). the patch has
activate callback which takes place of the ecore_x_mouse_*_send() stuff.
if the access module is enabled and 'double tap' is detected, elm_win
will
receive ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL message with
ECORE_X_ATOME_E_ILLUME_ACCESS_ACTION_ACTIVATE and call the activate
callback for the accessibility. that's it.
SVN revision: 75978
the wayland engines).
The focus handler which traps key events needs to listen for
ISO_Left_Tab also (which is what xkb reports for Shift+Tab).
SVN revision: 75618
Subject: [E-devel] [patch][elementary] * access *
Series of of pathes from kim shinwoo. looked good to me - so in they
go, finishing off some more access mode to be more complete.
SVN revision: 75415
the case of resetting the wayland cursor image. Fixes ticket #1293.
Increase the size of the event rects on the border theme to allow for
easier resizing.
SVN revision: 75313
Basically, we will remove the frame when going into fullscreen, and
readd when we leave fullscreen. When we remove the frame, then during
window redraw the appropriate fullscreen size will be calculated.
This allows proper fullscreening.
SVN revision: 75294
Delete requests where not being called when the frame close button was
pressed. I know this is not the 'ideal' fix (which is why I left
myself a FIXME here), HOWEVER the Ideal fix would mean breaking the
Feature Freeze (and potentially API), so I will wait until freeze is
over for that. For now, this fixes the 'bugger' in a non-instrusive way.
SVN revision: 74946
resizing.
Previously, we only changed the mouse cursor when the border frame was
actually clicked. Now we can change it when the mouse moves over the
border/frame areas (like in X11). This adds a callback from the edc to
know when and where the mouse moves (with respect to the frame border
only). (IE: When the user moves the mouse over the bottom portion of
the border, the edc will let us know and we can change pointer
accordingly).
SVN revision: 74925
Allows setting a trap in elm_win that intercepts calls to
ecore_evas. If there is a trap and the trap returns EINA_FALSE, then
the corresponding call is NOT issued. If it does not exist or returns
EINA_TRUE, then the call is executed.
Enlightenment window manager will set these traps and will call
e_border directly, allowing E17 to use Elementary! A major feature
given e_widgets painful usage.
This should also help integrating into Wayland or even debug.
SVN revision: 74156
Subject: [E-devel] [PATCH] Add frame size when calculating minimized
elm_win size
Hi,
I found frame size including width and height isn't counted in
_elm_win_resize_objects_eval() when calculating minimized elm_window
size.
It is OK for X engine because elementary only draw client area and X
provides widow frame. So both the width and height from
evas_output_framespace_get are 0.
But it cause bug for wayland engine because elementary need draw
window
frame by itself. So real client area size is smaller than window size.
If frame size isn't counted into minimized window size, there isn't
enough client area to layout widgets.
So it is bug for any engine in which elementary draws window frame by
itself. It is the reason of
http://trac.enlightenment.org/e/ticket/1064.
Could you please my attached patch for this issue?
Thanks.
SVN revision: 74049
ecore_evas_window_get with a replacement function that checks the
currently used engine first. This fixes a segfault when running elm
with the wayland engines.
SVN revision: 73568
Thanks to Daniel Willmann pointing them out to me. Actually I wonder
why we need all this define and undef for ENGINE_COMPARE. Will dig a
bit deeper into that and see if we may can go with a single one.
SVN revision: 72144
strncmp() really does not like that. So we should not be lazy and check for it. Say thanks to
scan-build which reported these to me.
SVN revision: 72142
* Move X related window items into their own substruct of
_Elm_Win_Smart_Data to allow grouping based on engine.
* Move X related cursor items into their own substruct of Elm_Cursor
to make supporting cursors on other platforms cleaner.
* Add support for setting the cursor under Wayland:
* Introduce a configure option and #define to as per other engines
* Add always-built API function to allow identification of running
under Wayland (like for X11)
* Call into Ecore to set the cursor when the mouse enters the desired
widget.
SVN revision: 71754
window representation.
The attached change to Elementary makes a small refactor to use
existing code that was already conditional on the Elm engine to
retrieve the underlying window - thus allowing elm_win_xwindow_get to
return 0 in the case when called on a Wayland based Elm window.
Patches have been tested against X11 and Wayland built together by
running elementary_test.
SVN revision: 71455
widget hierarchy.
Win inherits directly from Elm_Widget_Smart_Class, while inwin is now
an elm layout.
Note that elm_widget_sub_object_list_get(), which was an unecessary
hack only used on win, was killed.
SVN revision: 70717
using elm_widget_focus_direction_go function, focus will be moved from
the current focused object to the near object in one direction.
Direction can be set by degree(for easy usability). Degree changes
clockwise, i.e. 0 means UP, 90 means RIGHT, 180 means DOWN, and 270
means LEFT. You can select any direction by changing this degree.
SVN revision: 70681