path: root/src/lib/elementary/efl_ui_win.c (unfollow)
AgeCommit message (Collapse)Author
2017-11-07elm win - note need for other display system code...Carsten Haitzler (Rasterman)
2017-11-07elm: Create legacy widgets with elm_legacy_addJean-Philippe Andre
This will be used to solve issues around style_set: if the widget is legacy or pure eo we may need to select a different style. So in the constructor we need to know whether we are legacy or eo. Note that calling style_set in finalize only is too late as we would lose information such as efl_text_set() called inside efl_add().
2017-11-07efl ui win - make win centering work with multiple screensCarsten Haitzler (Rasterman)
this should fix T6323 @fix
2017-11-01evas: Move evas_canvas.eo to legacy-onlyJean-Philippe Andre
This isn't meant to be installed. The canvas API in EO is based around the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is not EO (eg: ecore_evas, evas, ...) Note: evas_canvas3d is the last remaining thing that is installed along EO files, but those are all beta APIs.
2017-11-01evas: Add seat argument to 'pointer_inside' (EO)Jean-Philippe Andre
This merges pointer_inside and pointer_inside_by_device. Affects only EO.
2017-10-25wayland: add support for efl weight hint propagation from elm_win to efl_wlMike Blumenkrantz
2017-10-25wayland: fix window stack implementationMike Blumenkrantz
ref T5350
2017-10-24elm: Use auto_unref for partsJean-Philippe Andre
This avoids leaks.
2017-10-24widget: Rename EO APIs to efl_ui_widget_xxxJean-Philippe Andre
This only changes the eo_prefix for APIs. Ref T5363
2017-10-19elm: rename Elm_Interface_Atspi_Accessible interfaceLukasz Stanislawski
Subscribers: cedric, jpeg Differential Revision:
2017-10-18win: Do not forward all key events on win (legacy)Jean-Philippe Andre
OMG... I do not like this patch. See T6148, two key down events are received when a key grab is installed on a Win object. This is because all input events are propagated from ecore all the way up to win and can be listened on. Unfortunately this breaks existing applications that use the key grab API properly to listen to key events. Another side effect is that ALL key events are received by the window, which means it's not limited to what the application expected (from its list of grabs). Solution (ugly): block propagation of key down/up events if the window is a legacy window. This means that no key grab is required for EO windows, but key grabs are still required for legacy windows. Fixes T6148 @fix
2017-10-17frame: Implement content set/get/unsetJean-Philippe Andre
Not a huge fan of my macro as it uses efl_part() where a direct call could be possible, depending on the widget (win can, frame can't). See D5241
2017-10-17elm: Rename Elm.Activate to Efl.Ui.ActivateJean-Philippe Andre
Note: This is an EO-only beta API. Ref T5329
2017-10-13efl_ui_focus: add parent_providerMarcel Hollerbach
thats just a little helper, where the logic to find and fetch the provider is bound to the position in the widget tree, this means that for example gengrid could change the way the logical parent is evalulated. (For example to map the logical parent to a item)
2017-10-13eo: Simplify debug_name_overrideJean-Philippe Andre
Simply pass in the strbuf and don't expect the callee to own it. This makes things simpler and safer (it'll crash only if the callee frees said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming release, EFL 1.21. Realised this after talking with Amitesh. Thanks. See 999dbd9764426890c0e11841358f9219082b89b2 And c4769ff8989bab2b745017b843f073e5737e91e0
2017-10-10elm: move the focus direction definition to generalMarcel Hollerbach
and remove the old definition
2017-10-10efl_ui_win: port to new focus api!Marcel Hollerbach
2017-10-10focus: Avoid infinite loop in windowJean-Philippe Andre
I kept the safety error message for easier debugging. Test scenario: elementary_test -to "Window Inline" Click on an entry. Press Shift+Tab. Ping @bu5hm4n
2017-09-28efl ui win - quieten coverity complaint about dead codeCarsten Haitzler (Rasterman)
the count ?: 1 check is pointless as count is already checked above. make it clearer that it's > 0 and remove the ? check. silence for coverity CID 1380542
2017-09-26elementary: avoid segfault when getting focus due to an infinite recursion.Cedric BAIL
This was two line switched and setting the callbacks on the wrong object.
2017-09-26elementary: restore input propagation and destroy array properly.Cedric BAIL
2017-09-26win: Remove invalid callbacksJean-Philippe Andre
Faulty commit (guess who?): 596dba5fe5fa8b4101f50bbed66c29c791a2572f See also d567faa7787afb3d478f1c857cb28ab4fa0e5fc3 Finally make check works again. That was... a painful lot of patches to fix.
2017-09-26Revert "Fix infinite recursion for legacy + efl ui win events"Jean-Philippe Andre
This reverts commit d567faa7787afb3d478f1c857cb28ab4fa0e5fc3. This is not trying to fix the root cause for the infinite loop.
2017-09-26win: Avoid calling same function twice on shutdownJean-Philippe Andre
This avoids calling: ecore_evas_callback_delete_request_set ecore_evas_callback_resize_set twice when deleting a window. Also adds safety over sd->ee.
2017-09-26win: Avoid safety ERR in efreetJean-Philippe Andre
This is an error happening in make check. Annoying but mostly harmless.
2017-09-26elm_bg: rename elm_bg to Efl.Ui.BgSungtaek Hong
Summary: elm_bg was supposed to be used only in legacy, but since we need a common object to be used as a background of widgets, it is now renamed as efl_ui_bg and supports EO APIs. Reviewers: cedric, jpeg, woohyun Differential Revision:
2017-09-26input: Move pointer props to CanvasJean-Philippe Andre
efl_input_pointer_position is defined by two classes... bad! Fixes T6066
2017-09-26widget: Implement translation API in layoutJean-Philippe Andre
This moves the API entry points from Widget to Layout parts. I don't think the other widgets support translation, but that is easy to fix. The actual code implementation remains in elm_widget.c. Legacy-only widgets are covered by Part_Legacy, while all EO widgets that have text inherit from Layout (except Win but I don't think the window title was translatable in legacy). This removes 2/3 remaining part APIs from Widget. Ref T5363
2017-09-26elm: Introduce interface Efl.Ui.TranslatableJean-Philippe Andre
This will be used to replace the part translation API in Elm.Widget. It should work for both parts and non-parts (ie. the main text of a button, for instance). For now I'm taking the following approach: - All efl_text_set/get strings are untranslatable, i.e. get() returns the visible string, set replaces and can not be translated. - translatable_text_set/get needs to be used to enable automatic translation, which in turns calls efl_text_set to modify the visible string. Thus, translatable applications will have to use efl_ui_translatable_text_set a lot more than efl_text_set, unless they translate strings application-side. Note that some other frameworks take a simpler approach equivalent to calling efl_text_set() with an already translated text. This prevents runtime language changes of the application, unless the application handles them specifically.
2017-09-26Fix infinite recursion for legacy + efl ui win eventsCarsten Haitzler (Rasterman)
2017-09-25elementary: provide and implement lifecycle event on the window.Cedric BAIL
pause event means that the window is not visible anymore to any user. resume is triggered when the window became visible again or just became visible again.
2017-09-21elm: Move base implementation for efl_part in widgetJean-Philippe Andre
This means that ALL part handles inherit from the base part class Efl.Ui.Widget.Part. Layout is the only exception where Efl.Part is specially overridden. This is a first step towards generic part APIs, including background in all widgets.
2017-09-19win: Use Eina.Size2D for pointer positionJean-Philippe Andre
Also rename the function for more consistency.
2017-09-19efl: Use Eina.Size2D for screen sizeJean-Philippe Andre
This API isn't so great when considering Wayland...
2017-09-19evas: Use Eina.Slice on the stack (gfx.buffer)Jean-Philippe Andre
2017-09-19evas: Use Eina.Size2D for gfx.bufferJean-Philippe Andre
For consistency.
2017-09-19evas: Use Eina.Rect for object list functionsJean-Philippe Andre
- objects_at_xy_get - object_top_at_xy_get - objects_in_rectangle_get - object_top_in_rectangle_get
2017-09-19efl: Use Eina.Size2D for Efl.Canvas.max_image_sizeJean-Philippe Andre
Rarely use
2017-09-18efl: Use Eina.Size2D for size hint aspectJean-Philippe Andre
2017-09-18efl: Use Eina.Size2D for size hints base & stepJean-Philippe Andre
2017-09-18efl: Use Eina.Size2D for size hint combined minJean-Philippe Andre
For this patch I decided to add a pseudo legacy wrapper as the function is called in a very large number of places. Fixing all those calls to use the size2d form is a lot of work and a greater risk of b0rking something.
2017-09-18efl: Use Eina.Size2D for size hint restricted minJean-Philippe Andre
This is the "internal" or "intrinsic" minimum size, to be set by EFL and not by applications.
2017-09-18efl: Use Eina.Size2D for size hint maxJean-Philippe Andre
2017-09-18efl: Use Eina.Size2D for Efl.Gfx.sizeJean-Philippe Andre
Big patch as a lot of things call or reimplement size_set. Hopefully I got it right... fingers crossed.
2017-09-18efl: Use Eina.Position2D for Efl.Gfx.positionJean-Philippe Andre
Note: This is a little bit more cumbersome in some places but in most it's more convenient than (x,y).
2017-09-18efl: Introduce Eina.Rect and switch EO APIs to itJean-Philippe Andre
It's a complex struct but defined in EO as a simple struct. ABI-wise it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle also work on Eina_Rect out of the box, most of the code dealing with x,y,w,h will require no modifications either. But Eina_Rect provides direct access to a size or position 2d component, as well as the usual x,y,w,h. The field "rect" is provided as a convenience for code dealing with both Eina_Rectangle and Eina_Rect. We may or may not require it. Note: Size2D could use unsigned values but I have spotted a few places in the code that actually use -1 to indicate invalid size (as opposed to 0x0). @feature
2017-09-13efl_access: Use Eina.Rectangle (EO)Jean-Philippe Andre
2017-09-13efl_gfx: Use Eina.Rectangle for geometry (EO)Jean-Philippe Andre
This saves a few lines already (without even having the proper helpers for stack rectangles).
2017-09-13edje/elm: Rename _internal_ to _part_ (EO)Jean-Philippe Andre
In Edje and Elementary, we have part objects, which are what is returned by the interface efl_part(). Those objects can't be of an opaque type as this doesn't work nicely with strongly typed languages such as C++ or C#. In JS, Lua, C the types are weak and mostly runtime-based so it doesn't matter much. As a consequence, the documentation and the types need to look nice in this EO API. Thus, we remove the abusive term "internal" and explicitly call all those classes "part" something. Eventually we want the types to be declared in the EO file so bindings (C#, C++, ...) can generate the proper access methods, returning the best possible types. Note that right now a few of those part types are used in the legacy API but don't actually need to be exposed externally. This is kind of a mega commit that does all the renaming at once, but it's really just a big sed operation. The power of good IDEs :) Ref T5315 Ref T5306
2017-09-13widget: Rename focus_manager_factory to createJean-Philippe Andre
factory is not a verb :) Ref T5363