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
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: 70640
Current Issue:
Currently when we add a widget to window as a sub-object, e.g.
elm_notify_add(win) which internally calls elm_widget_sub_object_add
then the focus chain using <TAB> includes only
the first focusable subitem of the widget, not all.
Whereas with elm_win_resize_object_add, it works fine and cycles to
all focusable sub-items of the widget.
Reason:
The reason is that we are appending sub-object to the list in
elm_win which is used for focus chain, only in case of
elm_win_resize_object_add.
Change Description:
Added a new API: EAPI Eina_List
*elm_widget_sub_object_list_get(const Evas_Object *obj);
This API returns the list of sub-objects of an elementary widget
(sd->subobjs) where sd is Smart_Data pointer obtainted using
elm_widget_smart_data_get(obj).
We have used this API in elm_win for focus_next_hook implementation.
Signed-Off-By: RAJEEV RANJAN<rajeev.r>@samsumg.com>
SVN revision: 69943
Subject: [E-devel] [Patch] Ecore, Elementary: Supporting indicator
opacity mode
This is Myoungwoon Roy Kim.
This patches are for supporting the indicator's opacity mode and made by
Jeonhoon Park(jh1979.park@samsung.com) who is responsible for Indicator
application.
Requirements:
- In mobile device, Indicator area should be displayed as Opacity,
Transparency, or sometimes Translucency according to the UX
requirements.
This requirement can be applied in case of fullscreen based menu and
fullscreen applications like video player etc.
Functional requirements:
1. User can set indicator's opacity mode as opacity, transparency, and
translucency
2. User can get the current indicator's opacity mode.
Currently there are no APIs for supporting the upper functional
requirements.
Thus, he added support for indicator's opacity mode.
It is designed for EFL developers easily to set the indicator's opacity
like the existing indicator's mode.
He added a Elm_Win_Indicator_Opacity_Mode structure variable into
Elm_Win
structure.
Meanwhile, new two APIs are implemented independently from the existing
source code.
Anybody please review this and apply it to upstream code.
SVN revision: 68959
Subject: [E-devel] [Patch][elm_win] elm_win_title_set(); can make a
crash with NULL
Have ever try to call elm_win_title_set(win, NULL)? Then try... :-] It
makes "Segmentation Fault".
Yeah, we can add patch in the Ecore side, but we can prevent the
segmentation fault before go inside.
Please check the patch and give any feedbacks. Thanks a lot.
SVN revision: 68154
application can use ecore extn socket easyily
by using elm_window_add with ELM_WIN_SOCKET_IMAGE style.
And new widget Elm plug is similar with Elm image.
it can show socket's image using connect API.
I add test code also(test_win_socket/plug).
SVN revision: 67245
Wayland Engine. Give elm window some 'framespace' and borders for
wayland_shm.
NB: This means that you can now build & run elm apps for Wayland :)
SVN revision: 66767
win_resize_object_add(win, subobj);
object_content_set(otherobj, subobj);
object_del(win);
ERR<21326>:elm-externals elm_widget.c:978 elm_widget_sub_object_del() removing sub object 0xdeadbeef (some_stupid_widget) from parent 0xRRRRRRRR (win), but elm-parent is different 0xFUCKTHIS (NOT EVEN A WIDGET)!
SVN revision: 65884
elm_win.c: In function ‘elm_win_focus_get’:
elm_win.c:2182:4: warning: ‘return’ with no value, in function returning non-void
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 65527
This reverts commit 64549.
I gotta adimt, your commit looks correct to me, but hey, it breaks
elementary_test's "Window Inline" test... Please investigate it further
and make re-apply your commit afetr your solve these issues.
SVN revision: 64605
currently, only X window system undergo async problem,
but other windowing system meet same problem if it have asyncmode.
so I dont have to handle per-display specifics higher up above ecore-evas.
(use ecore_evas_request_XXX instead of ecore_evas_x11_request_XXX)
not only async windowing system but also situation wm refuse resizing request,
make request size != current size.
so I'll implement ee->req value to other windowing system.
--under this line, and those below, will be ignored--
M elm_win.c
SVN revision: 64549
First things first, I'm not sure I'm setting the right variable on
the setlocale() call, so someone more knowledgeable can look at it and fix it.
How this works, you say? Just like elm_object_text_part_set(), except now it
will pass the string given through dgettext() with the given domain (NULL
means it uses whatever the app set with textdomain()), and when changing
language with elm_language_set(), it will re-set the strings with a new
translation.
SVN revision: 64179
This contains a very simple and stupid window manager to be used in
FB, PS3 or similar single-window engines. Everybody is welcome to
improve it, particularly:
* Edje: better border decoration theme
* Edje: nice background
* C + Edje: taskbar with minimized items.
* C + Edje: find a better protocol to determine window size,
accounting border decoration without account shadow! Right now I'm
taking everything :-P
* C: window management keys (Alt+F4 and like)
How to use: export ELM_ENGINE=ews
How to configure backing store: export ECORE_EVAS_EWS=engine❌y:w:h:options
Example:
{{{
export ECORE_EVAS_EWS=software_x11:0:0:1024:768
export ELM_ENGINE=ews
elementary_test
}}}
Bugs: maybe many, but so far seems it wouldn't take mouse events for
secondary windows. Will check it later.
SVN revision: 63849
Hi All,
If ecore_evas_[not_software_x11]_new(); returns NULL while elm_win_add(); is
called,
then ecore_evas_software_x11_new(); is used instead of other engines.
(FALLBACK_TRY)
But the configuration value for engine is not changed. This makes improper
result.
After FALLBACK_TRY, the elm_win works with different configuration value.
In this case, win->xwin (_elm_win_xwindow_get()) gives NULL.
and elm_win_xsinodow_get() returns 0 also.
Please refer to attached patch. Thanks a lot
Sincerely,
Shinwoo Kim.
SVN revision: 61894
This engine just creates a buffer and renders everything to that buffer.
It's really useful for creating emulations of input/output and taking
window captures from them.
SVN revision: 61688
Subject: [E-devel] [patch] elm_win - add continuous capturing screen
I've made a patch about elm_win.
Adding repeat option to support continuous capturing the screen.
Repeat range is can set from 1 to 999.
Filename is set like "filename001.png"
SVN revision: 61034
a special elm_engine var - great way to auto-generate screenies from
apps and change config/theme and everything automatically (via scripts
etc.)
SVN revision: 59185
Elementary was missing window types for dropdown_menu, popup_menu,
tooltip, notification, combo, and dnd. This patch adds the missing
types into the enum and elm_win code.
SVN revision: 57992
Setters can't receive const pointers.
All setter need corresponding getter.
In this patch, i adjust getter in: Bg, Box, Icon, Image, Win and Main.
SVN revision: 53917
In Window show, the focus is given to first focusable object, or to
window if no exist focusable object. So, suggest create the widgets
before show the window.
If pager is focused, it give the focus to top page in each promote.
SVN revision: 53733
Revised the parent, icon, end and content setter and getters of
elementary objects.
Review to smart objects and widgets items will be the next steps.
SVN revision: 53425
Added set, get, unset, prepend and append (relative or not).
Set - overwrite the custom chain
Unset - Delete the custom chain
Get- Return the custom chain
Append - append after the relative object or in the end
Prepend - prepend before the relative object or in the start
SVN revision: 53115
Before, the focus_cycle try pass the focus to next, and try again if
need loop the objects. Now, the focus cycle return possible next
object and if is necessary loop or not to focus this returned object.
SVN revision: 53111
There's still work to do here, particularly in the theme, but it has
something nice and fun to see the code working.
The idea behind this:
Window tracks focused object and sends the highlight object(s) to it. These
are simple edje objects, one on top, one below the focused widget for nice
effects. Widgets can choose to ignore the highlight and this will be sent to
the parent object, if it doesn't ignore it as well.
About the bottom object, it doesn't work now. For the most part, focused
widget will always be a member of some smart object, so stacking won't work
and the desired effect is nowhere to be seen. This will be worked out later.
To be done now:
- Let the theme for a widget define its own highlight, disabling if needed
the standard one for those objects.
- Needed base in code to allow animations when switching focus. All in theme.
- Properly test all widgets and fix some things that will most likely work
in weird ways, given the nature of Evas/Edje and how Elementary makes use
of them.
- Forgot the rest, stay tuned, test, report, give ideas, plant a tree.
Work started by glima, continued with some refactors by me when he
decided he needed vacations.
SVN revision: 52524
Calling resize_object_del() when a resize_object died calls
elm_widget_sub_object_del(), which sets the parent of the (now dead)
widget to NULL. The problem is that this breaks some of the
stuff done in the smart_del() method in the smart class for widgets,
like reverting focus to whoever held it previously.
SVN revision: 52387
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
elm_<widget>_icon_set was changed to the better form and the signals
was passed to hidden icons when one icon is changed/removed.
Moreover, when changed by {icon,content}_set the old {icon,content}
will be deleted.
By: Fabiano Fidencio <fidencio@profusion.mobi>
SVN revision: 49706
I am attaching another patches for transparent window.
1. Use RGB Visual.
2. Set destination_alpha in ecore_evas for alpha composite in evas.
3. add Function
- Ecore_Evas_Engine_Func->fn_transparent_set
- ecore_evas_transparent_set , ecore_evas_transparent_get
- elm_win_transparent_set, elm_win_transparent_get
SVN revision: 46106