Commit Graph

13576 Commits

Author SHA1 Message Date
Carsten Haitzler ea7dd2a9c2 evas mouse in/out/move event fix to remove "invalid move"
this should fix T5582 "properly" by emitting a move after an in only
if pointer x,y changed. this fixes rage and i hope still should handle
the original issue. let me know if it doesn't.

@fix
2017-07-12 15:45:47 +09:00
Jean-Philippe Andre 2ee389c54b Revert "colorselector: Avoid API call on NULL object"
This reverts commit b156f606e4.
The change should have been in EO itself. See the previous
patch.

Ref T5715
2017-07-12 11:20:59 +09:00
Jean-Philippe Andre 40029ce70a eo: Don't resolve function calls for NULL objects
eo_function(NULL) always leads to a no-operation. A this
point it is basically considered the normal operation
with EO to just silently ignore NULL errors.

If the API function "eo_function" belongs to a class that
has not been loaded yet (eg. no object of this type has
been created yet), then the op associated to the API func
may not be defined yet.

Fixes T5715
2017-07-12 11:20:59 +09:00
Jean-Philippe Andre b156f606e4 colorselector: Avoid API call on NULL object
Solves this error:
  ERR<2321>:eo ../src/lib/efl/interfaces/efl_pack_layout.eo.c:1
  efl_pack_layout_request() Unable to resolve op for api func
  0x7fffed16dba0 for obj=(nil) ((null))

Fixes T5715
2017-07-12 10:24:11 +09:00
Cedric BAIL 3c62a5fab8 ecore: properly cleanup callbacks of future/promise. 2017-07-11 11:02:47 -07:00
Jean-Philippe Andre 231ef8142b elm: Fix fileselector button "hidden files"
Fixes T5465

@fix
2017-07-11 19:00:02 +09:00
Romain Naour 0c21139b29 ecore_input: fix build without eeze
A dependency on HAVE_EEZE is missing in ecore_input_joystick_name_get():

lib/ecore_input/ecore_input_joystick.c: Dans la fonction « ecore_input_joystick_name_get »:
lib/ecore_input/ecore_input_joystick.c:632:4: erreur : unknown type name « Joystick_Info »
    Joystick_Info *ji;
    ^~~~~~~~~~~~~

Fixes T5665

Signed-off-by: Romain Naour <romain.naour@smile.fr>
2017-07-11 11:31:34 +02:00
Hosang Kim f41e276160 slider: Allow range limitations
Summary:
When user drags slider, slider value cannot be changed by API.
However the necessity of above behavior has emerged.
Because sometimes applications want limitation of slider value.

Test Plan: elementary_test -> slider -> Limited

Reviewers: woohyun, cedric, SanghyeonLee, singh.amitesh, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4883
2017-07-11 16:34:14 +09:00
Youngbok Shin 5e5e408e58 evas font: append global font path when Evas initializes Fontconfig
Summary:
If there are appended font pathes before initializing Fontconfig,
Evas must care the font pathes after initializing Fontconfig.
@fix

Test Plan:
1. Call evas_font_path_global_append() with a private font path
   before adding any Evas Object.
2. Add a Evas Textblock object which uses a font from the private font path.
3. See the font is not loaded properly without the patch.

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4867
2017-07-11 15:46:04 +09:00
JinYong Park 10d5f11a14 popup: fix sizing eval logic when scrollable set TRUE
Summary:
When scrollable set TRUE,
scroller must be calculated its size except using item.
If content is removed, scroller doesn't calculate its size, so it has previous size.
So there is a empty space in this case.

@fix

Test Plan:
1. elementary_test -to popup
2. open "popup-center-title + list content + 2 button (with delete content)"
3. click "Delete" button
4. compare between scrollable set true and false

Reviewers: herb, singh.amitesh, jpeg, cedric, conr2d

Differential Revision: https://phab.enlightenment.org/D5010
2017-07-11 15:45:27 +09:00
Amitesh Singh 7fa14e5cc6 genlist: fix multiple focus edje signal issue
We need focus edje signal when item is focused or the already
focused item realizes. its wrong to call focus signal on
_elm_genlist_item_state_update()

fixes T4969
2017-07-11 15:17:09 +09:00
Bryce Harrington 05344040ec evas: Improve the documentation for evas_init() and evas_shutdown()
Summary:
Rephrase the documentation to read a bit more clearly, and restructure
the inclusions of stanzas from evas-buffer-simple.c to reflect the
recent updates to that example.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5015
2017-07-11 12:22:11 +09:00
Bryce Harrington ae1d78c36a evas: Fix stray periods
Summary: "to the Evas. @b buffer engine"

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5014
2017-07-11 12:22:11 +09:00
Derek Foreman cae1927554 ecore_evas: Don't start backend ticking for manually rendered canvases
Shortcut the code that starts up a back-end ticker if we're manually
rendered.

ref T5462
2017-07-10 16:24:25 -05:00
Marcel Hollerbach 0fdc6a854a efl_ui_focus_manager: fix leaking safed_order 2017-07-10 20:32:07 +02:00
Marcel Hollerbach 23203c9e72 elementary: fix leaking manager objects
they are now automatically destroyed once the object is deleted.
2017-07-10 20:32:07 +02:00
Chris Michael 1b97abae49 elput: Update modifers for caps lock
Small patch to fix issue of not setting caps_lock modifier. As we
lookup this modifier index when creating keyboard info, we should be
testing for it and setting seat->modifiers accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 14:27:27 -04:00
Chris Michael 8fdb4e0d8d elput: Fix support for setting keyboard led(s)
Small patch to update keyboard led(s) when caps, numlock, etc are
pressed. This patch adds some fields to internal (non-API exposed)
structures inside our private header (of a BETA-API library) and thus
should still be ok during freeze.

Fixes T5655

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 14:14:06 -04:00
Chris Michael 4052923ed0 elput: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:13:59 -04:00
Chris Michael 1e694114d8 ecore-wl2: Formatting fixes
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:10:01 -04:00
Chris Michael 0c6aae1516 ecore-wl2: Add event handlers even if no data device manager exists
If we have no data device manager present, we would still like to
receive events when input devices get added or removed so these
handlers should be setup before we return from this function.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:02:43 -04:00
Chris Michael ff22abc4be ecore-wl2: Rename internal function
As we are in the Ecore_Wl2 library, lets use a function name that
reflects this.

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:02:02 -04:00
Jaehyun Cho 078f83f4bc Evas textblock: add null check in evas_textblock_cursor_free 2017-07-10 21:02:13 +09:00
Jean-Philippe Andre 7f724f6c5d evas: Fix mouse event info in global events
When using the legacy API (and in fact also with the EO API) to
listen to mouse events (move, in, out...) on a window instead
of an actual evas object, some information was missing:
 - buttons (bitmask of pressed buttons)
 - prev.x/y (previous position)

This is because Evas had not handled the event yet at this
point, it was coming directly from ecore_evas with incomplete
information. This patch involves evas a little bit earlier, and
also fixes evas_events_legacy.c to have consistent values for
cur/prev canvas/ouput coordinates. See also 890a91785 and
484dae76e6. Those commits were making the pointer coord
a seat-based property (instead of canvas-based) but the event
should already have those proper values before converting to
a legacy struct. This patch restores the meaning of the DUP
macros, as I observed 4 different coordinates from the app side
(instead of just 2: prev and cur).

Thanks to Andy for reporting the original issue on the ML!
2017-07-10 17:01:05 +09:00
Amitesh Singh 0d6cdd661c Efl.Ui.Image: fix crash on passing NULL file in file_set()
img was crashing on elm_image_file_set(image, NULL, NULL).

fixes T5697
2017-07-10 15:28:31 +09:00
Vincent Torri bdb62b6bbe Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
This fixes double mouse cursor in elm entries on Windows (for example)

@feature
@fix
2017-07-09 13:34:09 +02:00
Mike Blumenkrantz 804ce5f514 elm_cnp: fix selections for wl windows and FAKE wins
don't use hardcoded seat names and attempt to use wl protocol for
FAKE wins
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz f052a2c02f elm_cnp: use local cnp when elm_cnp owns the selection
no need to use protocol to send an app's own selection to itself
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz fe48334c59 elm_entry: don't use window_id to determine type of window
there's a real function for this...

ref a173efd0a9
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz 378ac8b6aa elm_entry: don't update PRIMARY selection under wayland
this doesn't exist yet, and elm_cnp forces PRIMARY updates to overwrite
CLIPBOARD which is not good

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 21276eac5b elput: don't leak event pointers 2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 5ffa2e7922 elm_cnp: mark x11 selection as lost when selection is lost in event
do not pretend that a widget maintains the selection when notified that
the selection has been lost

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 4be19d87f4 elm_win: remove engine checks from window_id_get()
if these exist then just return the id
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 0ea3d0daaa elm_win: remove engine checks from wl_window_get
if there's a win, return it, otherwise this returns null anyway
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 81adac88dc elm_win: manually create a wl2 window for FAKE wins under wayland
this enables elm_cnp to function using protocol
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 38d18e559d ecore-wl2: create surfaces once compositor global is bound
it's expected that surfaces are created when a window exists

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 03d2c43018 ecore-wl2: don't leak display event pointers 2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 9c639f6ec8 ecore-wl2: add display object refs for windows
ensure the display lifetime exceeds the window lifetime

@fix
2017-07-07 15:22:23 -04:00
Jean-Philippe Andre f8d8136b2c win: Avoid CRI message before finalized
Test case was Bg EO API in elm_test
2017-07-07 15:44:51 +09:00
JinYong Park d6652c1138 popup: fix wrong signal emit when remove all button
Summary:
In visuals_set function,
check action_area is NULL, and signal emit action_area,visible/hidden
So, before call visuals_set, action_area should be deleted.

Test Plan: Actually, action area has not min size, so it couldn't be observed.

Reviewers: herb, singh.amitesh, jpeg, cedric, conr2d

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D5007
2017-07-07 15:44:51 +09:00
Uma Devika d4ab6ff90a Evas and Eolian : Freed string buffer
Summary:
Summary : String buffer returned by eina_strbuf_new() is not freed in some cases

@Fix

Signed-off-by: Uma Devika <u.bodapati@samsung.com>

Reviewers: cedric, tasn, jpeg, raster, singh.amitesh

Subscribers: tanwar.umesh07, yashu21985, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5000
2017-07-07 13:22:53 +09:00
Al Poole 9aeaef55c4 eina_file: fix unmap of unmapped region when Eina_File has copied data and not a map;
Summary:
This was causing problems on non-Linux architectures as eina_file_real_close unmapped not mapped data. Added a "copied" flag to Eina_File which is set on eina_file_virtualize (on copied data), and tested for when eina_file_real_close does the unmap. I'm surprised Linux allowed this. Certainly all of the BSDs crashed with the previous behaviour.

@fix T5479

Test Plan: Example inlcude Rage and Enlightenment Thumb on BSD systems which use eina_file_virtualize with emotion to obtain album artwork.

Reviewers: raster, cedric, jpeg

Reviewed By: jpeg

Maniphest Tasks: T5479

Differential Revision: https://phab.enlightenment.org/D5006
2017-07-07 13:22:53 +09:00
Jean-Philippe Andre 242127a96b evas,edje,elm: Mark all legacy objects as such 2017-07-07 13:21:18 +09:00
Carsten Haitzler eeb1eb1b74 eina - fix eina_file_virtualize to copy data to an aligned addr
so we copy data to an UNALINED memory address (just after whatever
string we packed on the end of the eina file struct header). this is
bad. especially for non-intel architectures. this forces a 16 byte
alignment which should cover us.

@fix
2017-07-07 12:08:01 +09:00
Andy Williams ada147da71 elm_code: Fix number parsing to include legal separators
This also allows rust to use underscore!
@fix
2017-07-06 17:19:14 +01:00
Andy Williams 961c173f0f elm_code: Fix rust syntax to include types 2017-07-06 17:18:47 +01:00
Amitesh Singh 2faeffde71 efl.ui.image: fix the old align behaviour in img.
After ab23a53094, evas_object_size_hint_align_set()
has stopped working on elm img and that patch was perfectly right
to do so but we don't change the old behaviour.
This patch is an effort to make evas_object_size_hint_align_set()
to work with elm img again.
make sure not to mix both eo apis and legacy apis.

Thanks to dave for reporting and jpeg to show the right fix.

fixes T4635
2017-07-06 18:35:06 +09:00
Jean-Philippe Andre 5a922f4afa elm: Don't alias in efl_part()
Inside efl_part() we don't know whether we are dealing with a text
or content API, so we can't actually guess the proper alias.

The legacy API should have already dealt with aliasing at this point.
The EO API should not use those aliases.
2017-07-05 20:30:21 +09:00
Jean-Philippe Andre 9b667ed062 elm: Forbid calls to efl_part(obj, NULL)
This in theory should only affect the EO API usage. In EO
we don't want efl_part() to be used for NULL part. In other
words, there is no "default" part in EO objects. Instead, those
functions like text_set or content_set should simply be
implemented by the object themselves.

The legacy API on the other hand will make sure that the
"part" argument is set to a non-NULL value before reaching
this point.
2017-07-05 20:21:08 +09:00
Jean-Philippe Andre 075b4a7a0c elm: Remove EOLIAN tags in some files
Some functions were marked as EOLIAN when in fact they were
used by the ELM_PART override APIs.
2017-07-05 20:07:29 +09:00
Daniel Hirt 544fedaeba Elm layout: only allow legacy for using NULL text parts
This is a follow-up to a4b79fdbe1.

efl_part no longer supports NULL parts.
NULL text parts are now aliased in legacy code beforehand.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2017-07-05 20:07:29 +09:00
Jean-Philippe Andre 4f9cfc22bc edje: Fix some API issues (missing const) 2017-07-05 19:46:35 +09:00
Jean-Philippe Andre 68ad235f4e win: Try to fix some resizing issues with main menus
Omg this was a pain... The code is complete spaghetti and the
fact that the main menu is now in the framespace doesn't help
either. With this patch and the previous one (about ecore_evas_x)
Edi should be able to open correctly at the proper size and with
a visible menu.

This patch introduces a lot of changes so it'll need testing
before we accept it fully.

Fixes T5482
2017-07-05 18:46:38 +09:00
Jean-Philippe Andre 76a668f022 ecore_evas_x: Track changes in framespace size
If the framespace size has changed and by accident (or in fact, by
design) the evas size + framespace size is equal to the size sent
by the X server, ecore_evas_x was skipping the resize event. This
patch adds a tracking of the framespace size so that we redraw the
canvas if it changed.

This will fix issues with the main menu (since it's in the framespace,
23 pixels tall with the default theme & scale).

Note that all this is partly because the ecore evas size is the size
without the framespace, so weird calculations are made during resize...

Ref T5482
2017-07-05 17:43:59 +09:00
Jean-Philippe Andre 4488c51c5f win: Fix some sizing issues with main menu
This should fix issues when the main menu is wider than the
window content. This assumes that the menu is horizontal and
aligned with the client content.

The theme should probably handle this case better but right
now I am lost in the spaghetti resizes happening between
edje, elm, evas and X...

I am not very happy with this patch, and I think border.edc
needs some love in order to make it more robust and simpler
to read.

Ref T5482
2017-07-05 17:43:59 +09:00
Jean-Philippe Andre 722725dfc5 evas: Fix a crash in textblock
I could not reproduce it but the case should not happen,
so I'm adding a safety check rather than a silent return.

The private data should be NULL only after evas_object_free()
or before construction...

Fixes T5656
2017-07-05 17:43:59 +09:00
Jean-Philippe Andre 45c4f67b28 evas: Add internal type documentation (event grabber) 2017-07-05 17:43:59 +09:00
Carsten Haitzler 52fdb5e830 ecore-x - add ecore x dpms force api
add api that allows us to force dpms on or off. needed to fix e
support for non-suspend new systems that don't do S3 ...

@feature
2017-07-04 14:50:53 +09:00
Youngbok Shin 0735f6aa61 edje: support legacy Textblock calculation logic for 1.18 edje file
Summary:
From EFL 1.19, Edje Textblock calculation logic was fixed according to
Edje documents. But, it broke old edje files which ignored text.min
option for minimum width. Even if the old edje files were wrong,
we need to support them as discussed from T5548.

Also, this patch will change default efl_version to 1.18 from 1.19.
So, without efl_version property, edje file will run on the legacy logic.

Fixes T5548

Test Plan: Turn on/off presentation mode in Enlightenment.

Reviewers: herdsman, cedric, jpeg, zmike, raster

Subscribers: stefan_schmidt

Maniphest Tasks: T5548

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

Adjusted by @jpeg
2017-07-04 14:13:13 +09:00
Jean-Philippe Andre a4b79fdbe1 layout: Fix default content part
This fixes call to:
  elm_layout_content_set(ly, NULL, obj);

This only affect this legacy API, not the EO interface.

Thanks Dave for the report!

Ref 59081043a8
2017-07-04 11:49:31 +09:00
Andy Williams 8b8a43759c elm_code: Add rust syntax 2017-07-03 22:17:07 +01:00
Woochan Lee b7e51c7dc4 elm_spinner: Entry hide when inc/dec button pressed.
Summary:
The entry cursor does not disappear when the user pressed(long press value change case) inc/dec button.

@fix

Test Plan: elementary_test -> spinner.

Reviewers: cedric, jpeg, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4997
2017-07-03 16:57:22 +09:00
Jean-Philippe Andre daf87093f8 eina file: Fix rare crash in line iteration
I'm not sure about the rest of this code, so it's possible that
the index is increased even if it shouldn't. But I've observed
a crash at this line, apparently when reaching the end pointer.
2017-07-03 16:23:40 +09:00
Daniel Zaoui 8906867500 Filter: check nullity before accessing structure member
@fix
2017-07-02 15:53:20 +03:00
Mike Blumenkrantz 468107dfb8 evas: add @since for map_coords_get()
ref eaeaf8831c
2017-06-30 16:51:43 -04:00
Cedric BAIL eaeaf8831c evas: expose evas_map_coords_get. 2017-06-30 13:46:07 -07:00
Derek Foreman f45c0fcd67 evas image: Set load error on native image set failure
evas_object_image_native_surface_set() has no return, so without
setting load error we can't tell if it failed.

fix T5418
2017-06-30 14:10:50 -05:00
Mike Blumenkrantz c2fde93c9e efl_wl: a multiseat wayland compositor in an evas smart object
build when wayland support is enabled and provide two test/demo cases

beta api

@feature

Reviewed-By: Cedric BAIL <cedric@osg.samsung.com>
2017-06-30 14:59:55 -04:00
Derek Foreman 3775a9645d ecore_drm2: fix scanout_on callback firing too often
We need to increase the on scanout count for a buffer only when the
plane it's on makes its transition from pending to visible.

Previously it was firing for every refresh which would break refcounting
for any plane using surface that didn't change every frame.
2017-06-30 10:26:41 -05:00
Marcel Hollerbach 9600542547 elm_gengrid: remove duplicated code 2017-06-30 10:27:45 +02:00
Marcel Hollerbach f046394d0f elm_gengrid: refactor duplicated code
this brings the simple selection move into a single spot
2017-06-30 10:27:45 +02:00
Marcel Hollerbach 31c11925eb elm_gengrid: refactor single selection move 2017-06-30 10:27:45 +02:00
Marcel Hollerbach a7ca960025 elm_gengrid: refactor focus movement
This removes duplicated code and brings it into a smaller way more
readable function
2017-06-30 10:27:45 +02:00
Marcel Hollerbach 377311cd66 elm_gengrid: gengrid never sets the focus objects this is always NULL 2017-06-30 10:27:45 +02:00
Marcel Hollerbach 65feeb1b0b elm_gengrid: refactor reorder mode
Its breaking the logic down into 3 little functions that could be reused
later. Overall this reduces the code duplication
2017-06-30 10:27:45 +02:00
Marcel Hollerbach 452d109627 elm_fileselector: correct the focus chain 2017-06-30 10:26:25 +02:00
Jean-Philippe Andre 59081043a8 elm: Always pass valid part name inside part APIs
This affects the legacy content_set/get/unset part APIs. This
should avoid some unwanted ERR messages in case an elm_object_
API is used on an elm widget that doesn't implement said API.

What this does is request the widget for the name of the default
part if NULL was passed in. Since some widgets are not elm_layout,
they have to override the API themselves, which is why I made it
an internal EO API (rather than a series of efl_isa()).

In theory, part should never be NULL when reaching the internal
implementation code in the widgets, at least for content.

In EO, efl_part(obj, NULL) should be invalid.

Ref T5629
2017-06-30 14:37:54 +09:00
Sungtaek Hong 82a955be90 elm_entry: use layout text/content aliases when text_set/get content_set/get/unset
Summary:
- elm_entry has elm.guide text part and it can be set by "guide".
- However when using text_aliases_get, this cannot be found.
- Add elm_obj_elm_layout_part_aliasing_eval() internal APIs to make entry
  use proper aliases.

Test Plan:
1. Run elementary test
           2. Observe search entry has guide text with "guide" part.
           3. Run Entry 8.
           4. Observe "elm.guide" part also works.
           5. Observe "icon" and "end" part works.

Reviewers: id213sin, herdsman, jpeg

Reviewed By: jpeg

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4962
2017-06-30 14:37:54 +09:00
Jean-Philippe Andre 9452a4ac49 widget: Avoid ERR in elm_object_content_ APIs
If content_part_{set,get,unset} are called on a widget that
is not a layout (or flip, and a few others), then some ERR
messages would be printed out.

We hide these ERR messages as all elm_object APIs should be
callable on an object for which elm_object_widget_check()
returns true.

Ref T5629
2017-06-30 14:37:54 +09:00
Sungtaek Hong 1ae77d0925 Efl.Observable: Free an iterator after use in observers_update()
Summary:
- In _efl_observable_observers_update() iterator is allocated but not freed.
- This frees the iterator.

@fix

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4994
2017-06-30 13:32:23 +09:00
Amitesh Singh 0141417d5d genlist: move to next focusable/selectable item when looping
this fixes a bug in genlist when scrolling is enabled and
items at top and bottom are disabled. Focus behaviour is not normal
in case up arrow is pressed when focus is at the top enabled item
or down key is pressed when focus is at bottom enabled item.

fixes T5576
2017-06-30 12:21:20 +09:00
Daniel Hirt c0e4a218dd Elm layout: fix broken text part name resolving
This adds a few workaround to overcome the efl_part port.
Quite a few layouts got broken in some specific cases.
2017-06-30 00:20:10 +03:00
Daniel Hirt 4024857bf6 Evas textblock: fix legacy_newline in legacy API
Fixes 4fda417bc9 that disabled
legacy_newline for both legacy (textblock) and new (canvas text) api.
It should enable legacy_newline for legacy.
2017-06-29 16:37:20 +03:00
Daniel Hirt a10f726fc5 Evas textblock: re-apply paragraph position inference
For some reason, c39855a8ac also seems to
address an issue with height calculations (although not mentioned in
the commit message).

It already went in v1.19, so by applying
b8beb6834b I also reverted that behavior.
Seems like a correct one, so re-applying.

Fixes T5594
2017-06-29 15:26:48 +03:00
smohanty cf927cdb34 efl/interface: emit path change event when stroke width change.
Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4991
2017-06-29 17:39:09 +09:00
Jaehyun Cho ba91b00aa8 els_tooltip: Remove infinite job calls
Summary:
When tooltip or content size is 0, tooltip reconfigure job is called infinitely.
This patch removes the infinite job calls.

Test Plan:
See following patch, test case "Tooltip" -> "Tooltip with no min size"

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4982
2017-06-29 17:14:18 +09:00
Jean-Philippe Andre 505aca0e42 evas: Fix compilation warnings
See 7365c087c7
Shadow variable.
2017-06-29 16:02:36 +09:00
Jean-Philippe Andre 65644d074e elm_code: Fix a compilation warning
warning: expression result unused; should this cast be to 'void'?
[-Wunused-value]
2017-06-29 16:02:36 +09:00
Amitesh Singh 261d3319df spinner: don't allow dragging if widget is disabled
fixes T5569
2017-06-29 14:43:43 +09:00
Daniel Kolesa 352c044524 elua: use up to date lua API
luaL_reg is a 5.0 API which we don't support.
2017-06-28 11:51:29 +02:00
Jean-Philippe Andre e65e90a660 edje: Fix part reuse, fixes make check
An error was spotted when using an efl_part() handle for more
than one call (valid if you do efl_ref on the handle).

Thanks @stefan for the report!
2017-06-28 17:18:21 +09:00
Shinwoo Kim 921c692f86 elc_popup: atspi - make popup label accessible
The application could customize default behavior of popup label.
There was no way to get the popup label so far.
2017-06-28 09:25:08 +09:00
Jean Guyomarc'h 077791b7cc eina,ecore_cocoa: fix detection of the macOS SDK version
There was trouble with Homebrew's CI to build EFL on a macOS < 10.12
which uses a 10.12 SDK. See PR #13252 on github, Homebrew/homebrew-core
for details.

@fix
2017-06-27 23:14:31 +02:00
Andy Williams 77800dd9b4 elm_code: fix whitespace highlighting 2017-06-27 16:19:16 +01:00
Chris Michael 84788fdf6a ecore-wl2: Add more window types to Window Type enum
Small patch which adds more window types to the Window Type enum.
These window types may be used by various compositors in different
ways. This patch does not add or change any functionality, it just
extends the window type enum to include the ability to specify other
types of windows.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-27 11:14:26 -04:00
Chris Michael 2f7f232582 ecore-wl2: Add client-side event for Window Deactivate
This patch adds and sends a client-side event for when a window gets
deactivated.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-27 09:47:43 -04:00
Chris Michael 640caf1d9c ecore-wl2: Add client-side event for Window Activate
This patch adds and sends a client-side event when a window gets
activated.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-27 09:47:43 -04:00
Chris Michael b12b26d4c0 ecore-wl2: Add client-side event for Window Hide
Small patch to add and send a client-side event for when a window gets
hidden.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-27 09:47:43 -04:00
Chris Michael 873b917e9e ecore-wl2: Add client-side event for Window Show
Small patch to add and send a client-side event for when a window gets
shown.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-27 09:47:43 -04:00
Andy Williams a7830b9c42 elm_code: Add a matched token so we can highlight searches
Should make dense matches in a text editor clearer.
2017-06-26 22:17:07 +01:00
Mike Blumenkrantz 3e2d62d408 ecore-wl2: use first seat to start move/resize op when none specified
don't do lookups by name, the default seat is the first one added
2017-06-26 10:32:44 -04:00
Jihoon Kim 5b19dfafe7 Add since tag in elm_entry_prediction_hint_set 2017-06-26 17:53:04 +09:00
Jihoon Kim 1dcf2c814c elm_entry: Add prediction hint API
prediction hint can be used to provide an intelligent reply suggestion.

@feature
2017-06-26 13:44:58 +09:00
Andy Williams 06d2d04092 fix issue with patch D4981 2017-06-25 10:43:26 +01:00
Mike Blumenkrantz 881f91ef50 evas event grabber: add function to block stacking updates while visible
@feature
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 990a9d485d elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
this seems wrong since it's using smart object geometry to determine
event-based positioning within an edje object. considering it from a user pov,
it definitely is wrong because why would you deselect items based on mouse
movement?

ref D2622
ref da81eff897

@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 7b4e9f5d77 eina_log: make a log level of 0 disable the log domain
this has always been specified in the docs as the means by which a log domain
is disabled

@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 34ce5d648f elm_win: access wl seats in a more portable way
seat names are not guaranteed to be the same in every compositor so
this should not be hardcoded
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 8c8dae5720 evas: check object layer existence before deref to avoid crash
@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 3d098097bf ecore-wl2: do not send exit event on disconnect if servers exist
this kills the compositor.

@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz fb5cb4d5c3 elm_cursor: store and reapply non-elm cursors when setting an elm cursor
when using elm with non-elm objects, any custom cursors would previously be
destroyed by any elm_entry widget upon mouse-in

@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 05e74a030b elm_box: unpack objects from internal evas box before elm reparent
this ensures that smart_parent_get() will not return the evas box for
any widget which overrides parent apis
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 920c3a5d5e evas_box: add safety check for adding box children to multiple boxes
this is guaranteed to cause a crash or equally bad behavior, so ensure an
error is raised

@fix
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz b4057ef6cc gengrid: implement reusable content based on genlist implementation
@feature
2017-06-23 17:43:44 -04:00
Derek Foreman 7365c087c7 evas_render: Use hardware planes
This is a very simple proof of concept for using hardware planes for
evas image objects.

Right now only dmabuf objects will be dropped into planes, and they're
considered in the order they're in in the scene graph with no attention
paid to which objects will have the most benefit from being on a plane
at all.  There's nothing to prevent your mouse cursor from consuming the
only hardware plane capable of UHD video. :)

This is mostly just to help test the low level functionality in the
engines and ecore_drm2 that enable hardware planes.  Smarter plane usage
is coming.
2017-06-23 08:15:42 -05:00
Derek Foreman 6043e11586 evas_object_image: Add support for direct scanout
Add functions for assigning hardware planes to evas image objects.

The unfortunate asymmetry of the code is due to plane assignment being
only fully verifiable by doing a test commit through ecore_drm2, so it's
simpler to have the "test" function also do the "assignment", and call
the release on failure to clean up after a failed test.
2017-06-23 08:15:42 -05:00
Derek Foreman 3965a663cc evas_object_image: Track whether an image object supports direct scanout
If an evas object is a wayland dmabuf, uses native surface 5 or higher,
and has a scanout handler set, then it meets the basic requirements for
placing on a hardware plane.
2017-06-23 08:15:42 -05:00
Derek Foreman 7e2c8c1cbd software_generic: Add plane assign/release function pointers
Functions to assign a plane for a native surface, and release a plane
that's been assigned to a native surface.

These are empty for now as they'll need to be overridden in any backend
that can handle planes.
2017-06-23 08:15:42 -05:00
Derek Foreman 95bf3debd3 native surface: Add scanout handlers
When a native surface ends up on a hardware plane, the caller needs to
know about it so it can prevent the resource from being destroyed while
on scanout (which may cause an implicit page flip and a stall), and
so it knows that the content may have changed usage domains.

This adds stubs for dealing with this - only for wl dmabuf right now, but
it may be useful for other surface types later.
2017-06-23 08:15:42 -05:00
Derek Foreman 1552f85ede ecore_drm2: Add scanout status callbacks
This generates callbacks when a fb becomes scanned out on a hardware plane
or when it no longer is.
2017-06-23 08:15:41 -05:00
Derek Foreman 5f2d4e75ab ecore_drm2: Add callbacks for plane assign/release
E will need these to gate wayland buffer releases.
2017-06-23 08:15:41 -05:00
Derek Foreman c67da0c869 ecore_drm2: Add Fb deleted event 2017-06-23 08:15:41 -05:00
Derek Foreman 69181cc9e8 ecore_drm2: Track number of times an fb is on scanout
The same fb can be placed in multiple hardware planes, we need to keep
track of the number of planes it's on at any time so we can send events
to a compositor in a later commit.
2017-06-23 08:15:41 -05:00
Derek Foreman bc8b11bd78 ecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout 2017-06-23 08:15:41 -05:00
Derek Foreman a8c7b89cb7 ecore_drm2: Move fb from plane state struct to plane struct
The plane state struct needs the fb id for drm updates, and the plane
state can be updated even if it's pointed to by a dead plane.

Dead planes need to keep their fb so we can properly handle the fb
lifetime.
2017-06-23 08:15:41 -05:00
Derek Foreman be90b91ac1 ecore_drm2: Don't clear plane fb on release
We'll need this later for post-page flip bookkeeping, and nothing will
notice that it's not cleared now anyway.
2017-06-23 08:15:41 -05:00
Derek Foreman 74290490ad ecore_drm2: Remove obsolete per output fb callback api
It's all beta API so I can throw this away now that there are no in-tree
users anymore.
2017-06-23 08:15:40 -05:00
Derek Foreman 0d1082f947 ecore_drm2: Stop using the old per output release callbacks 2017-06-23 08:15:40 -05:00
Derek Foreman a97b1ac006 ecore_drm2: Update buffer release mechanism to send new status information
Begin moving internals over to the new per fb status updates.
2017-06-23 08:15:40 -05:00
Derek Foreman a3eed7865a ecore_drm2: Add ecore_drm2_fb_status_handler_set
The old per output release handler is no longer complicated enough.  In
the near future we'll need to be able to tell an engine that its fb has
been placed on scanout via hardware plane, or removed from a hardware
plane.

It's simpler to provide that information as well as release information
through a single callback.
2017-06-23 08:15:40 -05:00
Amitesh Singh 488e1c20e9 Efl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file. 2017-06-23 13:11:54 +09:00
Amitesh Singh 02e9af50a1 Efl.Ui.Image.Zoomable: rename data get macros 2017-06-23 09:15:21 +09:00
Amitesh Singh b7e55a288e Efl.Ui.Slider: implement slider internal part class 2017-06-22 18:50:02 +09:00
Jean-Philippe Andre 56a74238d1 edje: Improve error report with efl_part misuse
This improves a rare error message when a function is called on an
efl_part() that does not implement it. Example: calling a swallow
function on a non-swallow part.

This isn't entirely fool-proof but should already help quite a bit.

This also changes how the efl_part proxies are stored: the variable
is not reset to NULL every time we use it, instead we check it in
the del intercept.

Note: _part_reuse_error() can not be enabled inside
_internal_proxy_get because there are valid use cases such as:

  func1(efl_part(obj, part), func2(efl_part(obj, part), ...), ...)

Here we use two efl_part() at the same time, on the same object,
but we haven't entered "func1" yet when we are reaching the second
call to efl_part(). This is completely valid and there is pretty
much no way to detect this.

I think I will improve this later with a core function on
Efl.Object like "debug_string".

Ref T5584
2017-06-22 16:16:21 +09:00
Jean-Philippe Andre 5a98f78ce8 eo: Improve invalid EO ID error message
This focus on the domain and ID bits is very confusing. Let's
keep it at the end of the message, and also try to guess whether
the object may have been deleted or simply doesn't belong to the
current thread.
2017-06-22 13:19:23 +09:00
Jean-Philippe Andre eaf21eee14 evas: Lower log level for animator tick cbs
This doesn't deserve to be INF, it's really low-level debug
information.
2017-06-22 11:51:40 +09:00
Amitesh Singh 1775597671 Efl.Ui.Slider: move legacy APIs at the bottom of the file. 2017-06-22 11:14:24 +09:00
Daniel Hirt 070171c7bb Canvas text: set 'changed' on the object when text is inserted
This fixes missed updates with the "Ui.Text" when text was inserted.
2017-06-21 11:29:34 +03:00
Daniel Hirt f3fff0c687 Ui text: defer region show to job
This moves the region-show logic to the proper update job where
cursors are also updated.
2017-06-21 11:29:34 +03:00
Daniel Hirt ec02b5f3fb Ui text: fix cursor api call
This widget doesn't have a text part.
2017-06-21 11:29:34 +03:00
Daniel Hirt 40e97c6589 Canvas layout: fix part text cursor geometry port
Forgot to consider the edje object's offset when porting the code
to efl_part (see 98dad1a52b).
This fixes a few bugs, one of which is region_show for the scrollable
mode.
2017-06-21 10:50:09 +03:00
Jean-Philippe Andre 4ca83755ed slider: Fix slider legacy API
See 4e79dd0f02

That patch was absurd. Do not change the use of a legacy stable
API when you change an EO API. If you need to do that then there
is very clearly a problem in the patch.

This reverts the test case to use the legacy API (which in turn
calls the EO API anyway so both are tested).

Fixes T5587
2017-06-21 15:40:48 +09:00
Chris Michael 52f35fde0c ecore-wl2: Fix issue(s) of setting wrong event device
As we may have both a pointer and touch device on a given system, we
need to accurately set event->device when sending mouse move, wheel,
down, and up events. Previous code here would always try to find a
mouse device first which could potentially end up setting the wrong
event->device (if a touch device also existed).

This patch fixes the issue by comparing the window used for the event
to our focused windows (either mouse or touch) and setting the proper
event->device based on that.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-20 11:59:36 -04:00
Sanjeev BA 0e21b4d280 Documentation for elm_code_widget_selection.
Reviewers: jpeg, ajwillia.ms

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-19 14:08:54 -07:00
Youngbok Shin 12787d6665 evas: fix version info for evas_language_direction_get
Summary:
The patch was created for EFL 1.18. But, it was merged for EFL 1.20.
@fix

Test Plan: N/A

Reviewers: herdsman, jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-19 14:08:54 -07:00
Daniel Hirt 108bf99564 Efl text cursor: move around a few definitions
Need to handle this with special care as Efl.Text.Cursor is used in
some functions that are specific to Efl.Canvas.Text, was well as
functions in Efl.Text.Cursor interface.
2017-06-19 10:15:05 +03:00
Daniel Hirt d0da405620 Efl text format: change "halign" and "valign" to use enums
Value-based alignment (e.g. 0.5, 0.3 etc) isn't very practical.
Horizontal and vertical alignments will be assigned with enums
"left", "center", "right", "auto", "locale", for horizontal alignment,
and "top", "center" and "bottom" for vertical alignment.

This changes the previously added "halign" and "valign" properties.
2017-06-19 10:15:05 +03:00
Daniel Hirt 6033323e5c Canvas text: fix default format feature
Now that we can set the default parameters, there's no need to push
another one when having a style tag.

This fixes T5585.
2017-06-19 10:15:05 +03:00
Woochan Lee 3805544a32 multibuttonentry: Fix expand state changed callback called many times.
Summary:
The expand state changed callback has been called when layout property changed and other reason.
Even expand state is not changed.

So we need to check the current view state to call expand changed callback.
(We can't prevent calling the _shrink_mode_set() function. It needs to call the re-arrange internal items.)

Test Plan:
elemenatay_test - multibuttonentry.

Check the shrink, expand state.

Reviewers: jpeg, cedric, woohyun

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4970
2017-06-19 15:14:20 +09:00
Bryce Harrington 08f04b1496 ecore_evas: Document remaining new/get calls for misc. backends
Summary:
This completes the documentation for Ecore_Evas for all (non-deprecated)
APIs.

Note that ecore_evas_software_16_ddraw_new, ecore_evas_direct3d_new,
ecore_evas_gl_glew_new, and ecore_evas_sdl16_new are left undocumented
because while they're not declared as deprecated their implementations
are either missing or marked as obsolete or legacy.  I suspect a few of
the remaining routines are likely also obsolete but I added
documentation anyway.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4972
2017-06-19 15:14:20 +09:00
Felipe Magno de Almeida c40ecb6282 eolian-cxx: Add constructor with default argument
Fixes compilation error in clang. T5588
2017-06-18 20:02:10 -03:00
Andy Williams 800ac197f8 elementary: fix typos and warnings in my menu changes 2017-06-18 16:17:09 +01:00
Lauro Moura 1634c14169 eolian: function pointers
First steps toward explicit function pointer support in eolian.

To declare a function pointer type, use the following syntax, similar to
a regular eolian method declaration.

function FunctionName {
  params {
    ...
  }
  return: Return type
}
2017-06-18 12:09:22 -03:00
Felipe Magno de Almeida 0fcee227aa eolian-cxx: Fix C++ generation errors with handle opaque types 2017-06-18 11:31:43 -03:00
Andy Williams 81d01cfbd0 elementary: Balance menu operations with an open method 2017-06-17 18:00:34 +01:00
Andy Williams 53065309b8 elm_code: Fix select-all column calculations 2017-06-17 17:59:40 +01:00
Sanjeev BA ed201d7f30 Add support for select all with ctrl-a
Summary: Signed-off-by: Sanjeev BA <iamsanjeev@gmail.com>

Test Plan: Test with edi.

Reviewers: ajwillia.ms, jpeg, cedric

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4971
2017-06-17 17:42:18 +01:00
Mike Blumenkrantz 4bf13c5c0c evas: add null checks for textblock stuff
this prevents a crash when starting verne but should be reverted when
a more appropriate fix can be put in place

ref T5585
2017-06-16 15:01:42 -04:00
Jean-Philippe Andre dc9ebdd706 evas: Always send mouse,move after mouse,in to objects
Fixes T5582
2017-06-16 12:49:33 -04:00
Mike Blumenkrantz a3d0af0069 ecore-drm2: add ecore_drm2_output_subpixel_get()
@feature
2017-06-16 12:23:08 -04:00
Mike Blumenkrantz ad0aae8f8d elput: remove keymap mmap+event
this was originally intended to allow some code to be moved out of the
compositor, but the idea turned out to be unfeasible since multiple
display backends need to be supported and not all related components
will provide similar functionality
2017-06-16 12:23:08 -04:00
Mike Blumenkrantz cad9d8fb55 evas: store current pointer state to dummy seat data if seat detaches
ensure the pointer state is maintained when devices are removed and added
2017-06-16 12:23:08 -04:00
Mike Blumenkrantz e3126bd23f evas: create dummy seat data for wl/drm outputs, store some pointer data
with async device init, it's possible for mouse in/out/move events to be added
by an application before the pointer devices are created. these are independent
of devices, so store the state and apply when pointer devices are added

fix T5531
2017-06-16 12:23:08 -04:00
Mike Blumenkrantz 7ca2da0f5d evas: change _evas_pointer_data_add() to return created pointer data 2017-06-16 12:23:08 -04:00
Mike Blumenkrantz 8dd12d2cfa evas: redo Evas_Pointer_Data/Seat to be inlist-based
simplify many internal lookups of pointer data and make hierarchy reflect
logical device hierarchy
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz db06108f0d ecore-evas: block buffer canvas events during deletion
internal evas is destroyed before engine delete function is called,
so do not refeed events received during this time

@fix
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz b6b0b1b5b2 efreet: don't raise ERR on empty file in efreet_xml_new()
this is not an error, there is nothing to parse

@fix
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz abe4c8d772 evas: only feed canvas out/in when changing default pointer if pointer is in
ref 6775b23212
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz 43b6c2eeb1 ecore-evas: use pointer device with mouse move events instead of seat 2017-06-16 12:23:07 -04:00
Mike Blumenkrantz 4921d26fc8 evas: add seat-based focus interceptor
@feature
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz deb18460c4 evas: unify more complex conditional clauses in evas_events.c
no functional changes
2017-06-16 12:23:07 -04:00
Mike Blumenkrantz 6178b2a9d6 evas: unify complex repeated conditional clauses in evas_events.c
this code is unreadable

no functional changes
2017-06-16 12:23:07 -04:00
Amitesh Singh 0851d568a1 Efl.Ui.Progressbar: rename data get macros. 2017-06-16 16:32:46 +09:00
Amitesh Singh 5df92c2a52 Efl.Ui.Check: rename data get macros 2017-06-16 16:32:37 +09:00
Amitesh Singh 0cc52f423b Efl.Ui.Slider: rename data get macros 2017-06-16 16:32:29 +09:00
Chris Michael 632d6018d5 Revert "ecore-wl2: Add API to support setting window stack mode"
This commit reverts support for added API functions inside Ecore_Wl2
to support setting window stacking mode as per IRC discussion with
Cedric

This reverts commit 1359fc9e5f.
2017-06-15 13:09:34 -04:00
Chris Michael 1359fc9e5f ecore-wl2: Add API to support setting window stack mode
Small patch to add support for setting stack mode on a given window

"#divergence"

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-15 11:34:50 -04:00
Chris Michael e3abac30f1 ecore-wl2: Add API to get/set if a window is in floating mode
Small patch to add API functions which allow getting/setting if a
window is in floating mode

"#divergence"

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-15 11:07:48 -04:00
Chris Michael bdcf798dba ecore-wl2: Add API to set window role
Small patch to add support for setting a window role on a given window

"#divergence"

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-15 10:54:30 -04:00
Chris Michael 689d77daf6 ecore-wl2: Add API to get if a window should ignore focus events
Small patch to add an API function which can be used to find out if a
given window is set to skip focus events.

"#divergence"

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-15 10:35:45 -04:00
Chris Michael 9b76c284c9 ecore-wl2: Add API to set if a window should skip focus
Small patch to add an API function which can be called to set if a
window should skip focus.

"#divergence"

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-15 10:32:25 -04:00
Jaehyun Cho 1ea5135673 elm_panes: Refactoring of focus_next
To handle ELM_FOCUS_UP/DOWN/RIGHT/LEFT in focus_next, refactoring is
done.
2017-06-15 21:51:35 +09:00
Jean-Philippe Andre 1af62db8f8 evas: Fix mouse events in inlined windows
There is a mismatch between seat & pointer.
See @zmike's comments in T5515. Having both seat and pointer
devices as different devices leads to these kinds of issues.
Really annoying.

Ref T5515
2017-06-15 20:30:25 +09:00
Jean-Philippe Andre a1141d8378 evas: Fix compilation with DDD_DO
This enables some insane debugging for input events inside evas.
Also, declutter the code by always providing the "spaces" variable.
Obviously this is not enabled :)
2017-06-15 20:28:24 +09:00
Jihoon Kim 0f74d5ed99 ecore_imf: fix wrong doxygen 2017-06-15 19:07:34 +09:00
Jean-Philippe Andre 2834aee39e evas: Fix crash when window can not be created
Example, without any running wayland compositor:
   ELM_DISPLAY=wl runsomeapp

elm_win runs efl_constructor() during finalize() which is wrong
and leads to this kind of inconsistencies. Urgh.
2017-06-15 17:54:45 +09:00
Jean-Philippe Andre a173efd0a9 cnp: Fix copy & paste in inwin inside wayland
Scenario:
  ELM_DISPLAY=wl elementary_test -to "Window Inline"

Copy & paste some stuff between entries inside the inwins and
also in a standard window.
2017-06-15 17:35:44 +09:00
Jean-Philippe Andre e4d47ed3a5 cnp: Avoid CRI message about wayland in X
Test scenario:
  elementary_test -to "Window Inline"
  Click on an entry, select some text (maybe with the keyboard)

There was a CRI message inside _ecore_evas_interface_get because
ecore_evas_wayland2_window_get() was called on an X11 ecore_evas
(not wayland).

The function was supposed to return NULL here.
2017-06-15 17:35:44 +09:00
Jean-Philippe Andre 6bfbeff47e widget: Move mirrored_automatic to Efl.Ui.Base
This is, unlike what some of the documentation says, a public
API on elm_object. Let's place it along mirrored for consistency,
even if edje object will not implement it.

Ref T5363
2017-06-15 17:35:44 +09:00
Jean-Philippe Andre 8ba83b102f win: Implement Efl.Canvas device & seat get
By name or id
2017-06-15 17:35:44 +09:00
Vincent Torri c233274529 elm+evas - windows - fix alt+f4 to work without losing alt key
fixes  T5581
2017-06-15 16:00:38 +09:00
Youngbok Shin cbea6e4386 evas textblock: add align=locale option to respect locale's direction
Summary:
There are many requests to add a new feature for handling horizontal align
according to current locale. For example, in RTL locale setting,
users want to see right aligned text for every list's item.
Even if some of list's items only contain LTR characters!
It is useful for the needs.
@feature

Test Plan: N/A

Reviewers: herdsman, tasn, woohyun, raster, cedric

Reviewed By: herdsman, raster

Subscribers: z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D4664
2017-06-15 08:59:17 +03:00
Amitesh Singh 73651cef71 efl.ui.slider: rename data members related to interval apis
no change in functionality. It improves the code readbility.

ref T5361
2017-06-15 13:57:45 +09:00
Amitesh Singh a7b49f2129 intf: range: rename unit_format to range_unit_format
ref T5361
2017-06-15 13:57:45 +09:00
Amitesh Singh 4e79dd0f02 slider: remove range APIs
move this api into range intf and rename it
to interval

ref T5361
2017-06-15 13:57:45 +09:00
Amitesh Singh 0911375d51 intf: rename progress to range
This is more appropriate name especially on slider widget.

ref T5361
2017-06-15 13:57:45 +09:00
Bryce Harrington 79e8444c91 ecore_evas: Document the drm and gl drm window constructors
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4965
2017-06-15 10:09:30 +09:00
Jean-Philippe Andre 4eb13031ee evas: Disable calls to evas_device_class_set
After finalize, the type of an input device can not be changed.
So, deprecate the function and prevent anything from happening
unless we're inside efl_add().

Ref T5515
2017-06-15 09:58:40 +09:00
Jean-Philippe Andre ece89aaaa8 widget: Make cursor_add/del internal
This API is meant to be used internally to elm, not from outside.
The public API only exposes part_cursor_set on layout, and a series
of cursor EAPIs.
2017-06-15 09:48:33 +09:00
Bryce Harrington 19b704b700 ector: document ector_glsym_set
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-14 14:27:17 -07:00
Bryce Harrington 60e0e3d1d5 ecore_evas: document client leader routines
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-14 14:26:28 -07:00
Youngbok Shin 638ee888d9 edje: add efl_version property
Summary:
efl_version will be used to figure out which version of EFL lib
is used to develop a edje file.
If there is no property of efl_version, it will be 1.19 as default.
This feature is needed to fix T5548.

Example:
  efl_version: 1 20

@feature

Test Plan: N/A

Reviewers: cedric, jpeg, herdsman, zmike, raster

Reviewed By: cedric

Maniphest Tasks: T5548

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-14 14:24:08 -07:00
Cedric BAIL 8c11685b5e evas: forgotten unecessary initialization. 2017-06-14 14:17:18 -07:00
Cedric BAIL 0516cdc0f9 evas: use Eina_List instead of Eina_CList for event grabber.
Eina_Clist can actually change the pointer in the cell next bypassing
the CoW infrastructure leading to trouble. Considering the case here,
using the optimization of Eina_Clist is not necessary and if performance
issue arise, can be fixed by using a dichotomic search when removing
data. I don't think it is necessary to add this complexity without
a real life case.
2017-06-14 12:45:26 -07:00
Cedric BAIL b312729109 evas: allow list for _evas_event_object_list_in_get utility function. 2017-06-14 12:45:26 -07:00
Cedric BAIL 880500f966 evas: actually free the cow allocated memory. 2017-06-14 10:00:04 -07:00
Cedric BAIL cbfad5760d Revert "Revert "evas: put events related pointer into a cow to reduce evas_object fat.""
This reverts commit f9d3219c17.
2017-06-14 09:36:22 -07:00
Jean-Philippe Andre f54d891b2c win: Use efl_data_scope_safe_get instead of macros
This removes macros that don't make the code easier to read
and aren't actually as safe as this safe data_get.
2017-06-14 16:54:15 +09:00
Jean-Philippe Andre 1729930db0 evas: Use efl_data_scope_safe_get in evas events
This removes a few NULL + efl_isa safety checks.
2017-06-14 16:54:15 +09:00
Jean-Philippe Andre b96722cfb8 eo: Add API efl_data_scope_safe_get
This is a safe version of efl_data_scope_get, meaning that it will
return NULL if the object is not of the required type, or if there
is no data for that class, or if the given class was used as an
interface (and isn't a mixin).

@feature
2017-06-14 16:54:11 +09:00
Jeeyong Um 97c10e9346 scroller: Remove propagate_events to avoid name collision 2017-06-14 15:20:23 +09:00
Shilpa Singh efbd62c40a elm_radio, elc_multibuttonentry, elm_colorselector: "checked" signal sent
Summary:
Radio, MBE items, color selector items have ELM_ATSPI_ROLE_RADIO_BUTTON role, when one item
is selected the other items are automatically unselected, so a notification has to be sent in atspi mode
to read the status accordingly

Test Plan:
In ATSPI mode when radio, mbe item, color selector item is selected
status has to notified.

Reviewers: kimcinoo, cedric

Subscribers: govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D4960
2017-06-14 13:04:52 +09:00
Jean-Philippe Andre f5c4ec6cd9 evas: Fix resize & move intercepts
Thanks @zmike for the report.
This in therory should restore behaviour from 1.18,
where the intercept function is called even if the geometry
isn't changed.

Test scenario, in E:
 1. remove bryces, shelves on a screen, or mark all as autohide
 2. open chromium or any CSD application as unmaximized
 3. maximize the window
 4. make it fullscreen (eg. with chromium: F11)

See 8a9f0bd603.

Ref T4749
Fixes T5573

@fix
2017-06-14 11:18:32 +09:00
Jean-Philippe Andre ed41adf791 widget: Implement mirrored from Efl.Ui.Base
Ref T5363
2017-06-14 11:02:05 +09:00
Thiep Ha 5f2e4b9197 elm config: add more NULL check
Add NULL check when we cannot allocate memory.
2017-06-14 10:44:39 +09:00
Chris Michael b13a73ae87 ecore-wl2: Group window functions together in header file
This patch just moves window related functions together in the
Ecore_Wl2_Window_Group

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 13:23:54 -04:00
Chris Michael a5d93a4ece ecore-evas: Fix return value in ecore_evas_aux_hint_val_set function
Small patch to fix misleading return value when
ecore_evas_aux_hint_val_set fails. In the above code, we will return
EINA_TRUE already if the aux_hints_set works, so this return value at
the bottom of the function should be EINA_FALSE.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:29 -04:00
Chris Michael 0d5d157559 ecore-evas: Support auxiliary hints for ecore-evas-wayland
Small patch to support using Ecore_Evas_Interface_Wayland in order to
add support for setting auxiliary hints on a surface

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:29 -04:00
Chris Michael 1d453eece4 ecore-wl2: Free auxiliary window hints when we destroy a window
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:24 -04:00
Chris Michael b678382b8a ecore-wl2: Add API to support deleting auxiliary window hints
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Chris Michael 8b311aa27f ecore-wl2: Add API function to change auxiliary window hint
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Chris Michael daddaac7ec ecore-wl2: Add API to support adding auxiliary window hints
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Chris Michael e0454373f8 ecore-wl2: Add API function to get list of supported auxiliary hints
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Chris Michael 3e1ad4d45a ecore-wl2: Add event and structure for auxiliary hints
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Chris Michael 9de25efcff ecore-evas-wayland: Add aux_hint functions to Wayland Interface
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:17 -04:00
Daniel Hirt 8679805208 Canvas text cursor: add NULL checks for some functions
Passing a NULL cursor is permitted. Forgot to add to two functions
during port from EO.
Fixes some crashes.
2017-06-13 16:11:54 +03:00
Amitesh Singh b279387843 Efl.Ui.Slider: implement Efl.Ui.Progress.progress_min_max
and move elm_slider_min_max_set/get as legacy APIs

ref T5361
2017-06-13 18:05:06 +09:00
Amitesh Singh 34b6d6d267 intf: Efl.Ui.Progress: Add progress_min_max property
We need this for slider and progressbar widgets

ref T5361
2017-06-13 18:05:06 +09:00
Carsten Haitzler f9d3219c17 Revert "evas: put events related pointer into a cow to reduce evas_object fat."
This reverts commit f69686ba40.

this causes major crashes in e every time you move and resize a
window. i cant even debug it properly because i cant move or resize
windows to get terminals up to debug it... this is bad... so until a
fix is found better to go back to working...
2017-06-13 11:08:55 +09:00
Cedric Bail f69686ba40 evas: put events related pointer into a cow to reduce evas_object fat. 2017-06-12 11:41:25 -07:00
SangHyeon Lee d1a5df7055 elementary: fix recursive content group calculation in genlist
Summary:
There are several problem is left on recursize content calc.
previously genlist only calculate size of layout class,
but after recursive content group calculation patch,
layout couldn't get proper size because sizing eval is
not pre-processed.

Test Plan: elementary test working fine.

Reviewers: jpeg, cedric, raster, conr2d

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-06-12 10:13:05 -07:00
Cedric Bail 79f36418ef evas: cleanup use of Eina_Cow during orientation set. 2017-06-12 10:10:23 -07:00
Jaeyong Hwang 03adadcda8 evas: fix a stride value after calling evas_object_image_orient_set API
Summary: Before the value of stride is calculated, the weight and height of the rotated image should be set.

Test Plan: {F1409510}

Reviewers: jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-06-12 10:06:19 -07:00
Cedric Bail 764194a892 elementary: fix fallthrough warning. 2017-06-12 10:04:27 -07:00
Cedric Bail 589fa6f1b6 edje: fix unitialized warning. 2017-06-12 10:04:10 -07:00
Youngbok Shin e312a97ef3 edje text: add a missing return macro
Summary:
RETURN_* macro does unref before exiting functions.
Must be called after using PROXY_DATA_GET macro.
@fix

Test Plan:
1. Run terminology
2. Open Setting
3. Check error messages when you change something from Setting.

Reviewers: herdsman, raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4956
2017-06-12 16:33:00 +03:00
Mykyta Biliavskyi f5b1cb89a0 Text cursor: fix macOS build.
On macOS build failed with
lib/elementary/efl_ui_internal_text_interactive.c:801:50: error: too few
arguments to function call, expected 2, have 1
2017-06-12 13:46:48 +03:00
Jean-Philippe Andre 9b1e785f8e evas: Fix use of invalid EO object
During a window destruction, the input devices are deleted and
removed from the internal devices list. Since 83d18617b4
basic devices are children of a seat, which means that the seat
deletion was triggering the devices deletion as well. As a
consequence, we were walking an invalid list of devices.

I'm not sure we should have a list of children in the device
data and I'm also not sure we should have a list of devices in
evas, instead of just the list of seats. It's a bit messy right
now.

Ref T5540
2017-06-12 17:41:45 +09:00
Amitesh Singh e5922c0720 elm: rename elm slider to Efl.Ui.Slider
ref T5361
2017-06-12 16:45:47 +09:00
Amitesh Singh e95e0a29ff elm slider: indicator_visible_mode - move API document at one place. 2017-06-12 16:45:31 +09:00
Amitesh Singh dee99cf768 elm slider: remove *not* required set/get{} from eo file 2017-06-12 16:45:20 +09:00
Jeeyong Um 383bf1969e elm hoversel: Clean up sizing_eval function 2017-06-12 16:21:39 +09:00
Jeeyong Um 1270ddb3ed elm hoversel: Delay sizing_eval to prevent too frequent recalculations 2017-06-12 16:21:37 +09:00
Jean-Philippe Andre e8b69bed83 efl.canvas: Add "seat" (by id) and "device" (by name) properties
See d47197e65b

@feature
2017-06-12 15:21:57 +09:00
Jean-Philippe Andre e8f9f109a6 evas: Rename device Class to Type, remove Sub_Class
1. The word "class" is a pain point with many languages where
   it's a keyword. Type is a little better. Also, the property
   was already named "device_type" and not "device_class".

2. Remove Efl.Input.Device.Sub_Class
   It's not used inside EFL upstream codebase, and unlikely to
   be used anywhere else (even in Tizen).

Hopefully no one used the Efl_ enum types. So far only the Evas_
types should be in used.

Ref T5540
2017-06-12 15:21:55 +09:00
Jean-Philippe Andre 83d18617b4 evas: Remove device "parent", "name" and "description" properties
Those are now merged with Efl.Object parent, name and comment.
The reasoning is that only seats can be parent devices; And name
and description are not only name clashes but also not extremely
useful anyway.

Tested with VNC.

Fixes T5540
2017-06-12 15:17:50 +09:00
Bryce Harrington 67295ed747 ecore_evas: Document ecore_evas Wayland operations
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4954
2017-06-12 11:54:06 +09:00
Ivan Furs f3e9496cd1 evil: Fix edc scripts compilation on windows
Fixes T5410

Summary: should fix the error T5410

Reviewers: vtorri, t.naumenko, cedric, raster, an.kroitor, rimmed, NikaWhite, FurryMyad

Subscribers: artem.popov, cedric, jpeg

Maniphest Tasks: T5410

Differential Revision: https://phab.enlightenment.org/D4830
2017-06-12 11:52:30 +09:00
Jean-Philippe Andre 2dc29cfbfd edje: Remove bool return from scale_set
It was always returning true. There is little point in returning
a bool here, an invalid scale value (eg. <= 0) wouuld lead to a
state where scale_get() != scale_set() and that's about it.
2017-06-12 11:50:30 +09:00
Jean-Philippe Andre 06b14827b7 widget: Implement scale from Efl.Ui.Base 2017-06-12 11:50:30 +09:00
Jean-Philippe Andre 07a25fc88c edje: Move base_scale to Efl.Ui.Base
This API is used by elementary widgets like:
  edje_object_base_scale_get(elm_layout_edje_get(ly));

This means elm_layout in fact should also expose it directly.

Ref T5315
2017-06-12 11:50:30 +09:00
Carsten Haitzler 1b918594f2 elua - fix build for luajit2.1.0-beta3+
it seems luajit (and lua) broke api again... removed a #define from
their headers from 5.1->5.2 of lua (and seemingly luajit2.1 too). :(

this should fix T2728

@fix
2017-06-12 11:16:31 +09:00
Daniel Hirt 616a60f041 Efl text: shorten naming of methods
eo_prefix are set to "efl_text".
Also, "Efl.Text.Format" is shortened to now include the "_format"
prefix.
"Efl.Text.Font" keeps the "_font" prefix, for better readability.
2017-06-12 00:32:34 +03:00
Daniel Hirt 4fda417bc9 Canvas text: disable legacy_newline by default 2017-06-12 00:10:05 +03:00
Daniel Hirt ba45b93b1e Ui text: set some default font and size
This should later be setup through the theme.
One option will be to use global text classes.
Until the above is finalized, at least set this font and size to make
setup of the widget a bit easier.
2017-06-12 00:10:05 +03:00
Daniel Hirt 3edf4985a4 gfx_filter: add efl_style_gfx_filter
Also, rename the format string to 'gfx_filterstr' to match the other
strings.

Update the filter test to use this property.
2017-06-12 00:10:05 +03:00
Daniel Hirt 8f6415143c gfx_filter: null-out freed pointer 2017-06-12 00:10:05 +03:00
Daniel Hirt 6c76d799da Text: remove leftover printfs 2017-06-12 00:10:05 +03:00
Daniel Hirt 98dad1a52b Canvas layout: port 'part_text' to Efl.Text.*
The following API is now supported with efl_part:

  - Efl.Text.text { set; get; }
  - Efl.Text.Cursor.cursor { get; }
  - Efl.Text.Cursor.cursor_paragraph_first;
  - Efl.Text.Cursor.cursor_paragraph_last;
  - Efl.Text.Cursor.cursor_position { set; get; }
  - Efl.Text.Cursor.cursor_coord_set;
  - Efl.Text.Cursor.cursor_line_char_first;
  - Efl.Text.Cursor.cursor_line_char_last;
  - Efl.Text.Cursor.cursor_char_next;
  - Efl.Text.Cursor.cursor_char_prev;
  - Efl.Text.Cursor.cursor_line_jump_by;
  - Efl.Text.Cursor.cursor_copy;
  - Efl.Text.Cursor.cursor_content { get; }
  - Efl.Text.Cursor.cursor_geometry { get; }
  - Efl.Text.Cursor.cursor_text_insert;

Many of the 'part_text' functionality was moved to legacy, too.
See the edje_object.eo to see which ones are still supported.
2017-06-12 00:10:05 +03:00
Daniel Hirt 869da955ec Text: enhance cursor_get to ask for a "get type" 2017-06-12 00:10:05 +03:00
Daniel Hirt 6e1b5fdd10 Canvas layout: port part_text to efl_part
You now use the following:

  efl_text_set(efl_part(edje_obj, "part"), "text");
  const char *text = efl_text_get(efl_part(edje_obj, "part"));

The former method of edje_object_part_text_set/get is now legacy.

Also, adjusted 'tests/emotion/emotion_test_main-eo.c' with
this change.
2017-06-12 00:10:04 +03:00
Daniel Hirt 4a1b42aee8 Text: add annotate interface 2017-06-12 00:10:04 +03:00
Daniel Hirt bdf64946a9 Ui text: fix text initialization
It uses elm_layout's, where it shouldn't (it's legacy).
Also, it's not needed to to that there.
2017-06-11 23:58:52 +03:00
Daniel Hirt 30f74a759d Text cursor: add interface and implement in Canvas.Text 2017-06-11 23:58:52 +03:00
Daniel Hirt 97eda67737 Ui text: fix leak of selection on destruction 2017-06-11 23:58:52 +03:00
Daniel Hirt c45e957079 Ui text: initialize potentially unset variables 2017-06-11 23:58:52 +03:00
Daniel Hirt f23d08c56c Ui text: free iterator once done 2017-06-11 23:58:52 +03:00
Daniel Hirt 303d2e79cc Ui text: fix leak in decorations 2017-06-11 23:58:52 +03:00
Daniel Hirt 49b838c448 Canvas text cursor: move to Efl.Canvas.Text namespace
Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.

This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.

The usage was replaces from:
  efl_canvas_text_cursor_char_next(cur_obj)
to
  efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.

So, one less efl object to worry about now.
Hopefully, the port went smooth.
2017-06-11 23:58:52 +03:00
Daniel Zaoui 716cc6be5b Eina Debug: include Evil for realpath support 2017-06-11 10:03:53 +03:00
Daniel Zaoui 0e947166aa Eina Debug: fix a bug resulting in registering opcodes twice
The opcodes registration request is sent directly in case the connection
is already made. Otherwise, the request is waiting for the connection to
be made by the dedicated thread (not the main loop).
That's why the request can be sent by the two different threads at the
same time, leading to send it twice. It means a callback for an opcode
would be invoked twice everytime a request with this opcode is received.

This patch fixes it by checking if the request has already been sent.
2017-06-11 09:44:57 +03:00
Marcel Hollerbach afb0add345 elm_inwin: set the redirect manager on the correct object
otherwise the redirect is never set on the window which does not work
2017-06-10 18:03:08 +02:00
Marcel Hollerbach b7c434f6ef efl_ui_focus_manager: enhance documentation of the semantics of that
function
2017-06-10 18:03:08 +02:00
Marcel Hollerbach c5da8f65bf elm_naviframe: this is not handling focus
the widgets that are used to compose the naviframe are handling it, not
the naviframe itself.
2017-06-10 18:03:08 +02:00
Marcel Hollerbach 7a7a343199 efl_ui_focus_manager: use focus geometry for the shortest distance 2017-06-10 18:03:08 +02:00
Marcel Hollerbach a6c5ce4b32 elm_toolbar: do not focus a separator 2017-06-10 18:03:08 +02:00
Andy Williams 28311d4327 elm_code: Fix possible crash when deleting a selection
If there was a multiline selection that ended at the end of a line this could crash
@fix
2017-06-09 23:40:40 -07:00
Mike Blumenkrantz 84c79f6c49 Revert "Revert "Edje calc: Fix textblock size calculation logic""
This reverts commit 0392cd3c48.

oops this was supposed to just be local
2017-06-09 20:20:47 -04:00
Mike Blumenkrantz 4c431c8b9c edje: add set_pointer_mode() to embryo functions
this should probably be a description-level property
2017-06-09 20:06:48 -04:00
Mike Blumenkrantz 7fafbdee28 evas: add new event_grabber smart-ish object
adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.

an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:

normal:
	event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.

event_grabber:
	event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.

object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.

@feature
2017-06-09 20:06:19 -04:00
Mike Blumenkrantz dd42f8f291 evas: remove null check, passthrough list in _evas_event_object_list_in_get()
_evas_event_object_list_raw_in_get() already has a null check and uses the
last list member

no functional changes
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 9b9313882c evas: split _evas_event_object_list_raw_in_get() into two functions
slightly outdent code and prepare for pending features

no functional changes
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz f1bf1f3c77 evas: add some functions for determining if pointer coords are inside an object
@feature
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 0392cd3c48 Revert "Edje calc: Fix textblock size calculation logic"
This reverts commit a6fff5bc1e.
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 9572e9189d efl_input_device: add function for determining if a device has pointer caps
this is useful when attempting to manage devices

@feature
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 839e45e49b evas: handle focus setting with async input init
@fix
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz f2edb935a4 ecore-ipc: don't return dead clients in ecore_ipc_server_clients_get
@fix

fix T5383
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz a777fcb679 ecore-evas: make focus-setting work with async device init
@fix
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 7e3c108382 ecore-evas: safety -> normal null check in _ecore_evas_focus_device_set()
when unsetting focus, if the specified seat doesn't exist then there is no
focus to unset
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 9828981585 ecore-evas: safety -> normal null check in ecore_evas_cursor_device_unset
if there is already no cursor then this is not an error
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 5b39bb5a3d efl: add EFL_VERSION_1_20
indicate that features from this version can be used
2017-06-09 19:14:58 -04:00
Bryce Harrington 6a5695b465 elput: Document how keyboard events are processed
Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters.  While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4953
2017-06-09 14:35:51 -04:00
Chris Michael bbd18510d6 ecore-drm2: Remove #ifdef HAVE_ATOMIC_DRM
As we now use static_libs/libdrm for compiling ecore-drm2, we can
remove the atomic #ifdefs as we can run-time check this now.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:20:05 -04:00
Chris Michael a55eafd960 ecore-drm2: Fix drm_mode variables to work with static lib
As we now use static_libs/libdrm to build ecore_drm2, we need to
fix how our drm_mode variables are declared so we can use them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:50:22 -04:00
Chris Michael 6e37d13a1c ecore-drm2: Use static libdrm to build ecore-drm2
As we will now use static_libs/libdrm to build ecore_drm2, we no
longer need to include the copied code from the libdrm headers so
remove all of the copied code from our source files.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:48:55 -04:00
Chris Michael d47538dc0e ecore-wl2: Fix window rotation event structure and various typos
As these events will be raised to ecore_evas_wl and the handlers there
do not pass along the Ecore_Evas as 'data', we need to change the type
of variable passed along in the event struture so that
ecore_event_window_match can be called to find the Ecore_Evas.

This patch also fixes some typos discovered during compile

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael 498691d5a3 ecore-wl2: Add event type for window rotate events
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael b897780189 ecore-wl2: Add API and Event for window rotation change done
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael 1eaaab93b1 ecore-wl2: Add API and Event for window rotation change request
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael 3087f02ef2 ecore-wl2: Add API and Event for window rotation change prepare done
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael 92d214d8f9 ecore-wl2: Add API and event for window rotation change prepare
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -04:00
Chris Michael 9930929dbb ecore-wl2: Add API to return window available rotations
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:41 -04:00
Chris Michael b1584c9054 ecore-wl2: Add API to set window available rotations
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:41 -04:00
Chris Michael fa7f8d25b2 ecore-wl2: Add API to return a windows preferred rotation
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:41 -04:00
Chris Michael 8b685a4d54 ecore-wl2: Add API to set window preferred rotation
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:41 -04:00
Chris Michael 258c75e641 ecore-wl2: Add API to get if an application has set window rotation
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:41 -04:00
Chris Michael c23a0d080d ecore-wl2: Add API to set if an application has rotation a window
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:29:25 -04:00
Chris Michael e12077adfa ecore-wl2: Add API to get if window manager rotation is supported
This patch adds an API function which can be called to determine if
window manager rotation is supported.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:29:25 -04:00
Chris Michael 8f9163aaa1 ecore-wl2: Add API function to set if wm rotation is supported
Small patch to add an API function which can be called to set if
window manager rotation is supported.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:29:25 -04:00
Chris Michael 05f770a1ab ecore-drm2: Group API functions within their doxy group
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:29:25 -04:00
Chris Michael cd311db990 ecore-x: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:29:25 -04:00
Marcel Hollerbach d110e4e8c3 elm_fileselector_entry: this does not need focus
its composed by focusable widgets, no need to focus them by themself
2017-06-09 17:13:35 +02:00
Marcel Hollerbach a7985c1a86 elm_fileselector: this is not focusable
the widget is composed from focusable widgets the fileselector is not
focusable.
2017-06-09 16:50:42 +02:00
Daniel Kolesa 584e91d4f9 eolian: prepare to defer all dependency parses
Dependencies are now going to be parsed strictly after the main
file, to allow proper dependency cycle behavior in all places. For
now there is correct parsing of deferred deps but they're not
queued yet.
2017-06-09 15:57:44 +02:00
Amitesh Singh 7a7fca0bf2 Efl.Ui.Image.Zoomable: make zoomable to work with edj file
image.zoomable can load edj files now.

usage:
efl_file_set(zoomable, "../somefile.edj", "mygroupname");

test:
elm_test -> photocam
click "open" btn
select an edj file, it would show first group in selected edj file.

@feature
2017-06-09 20:22:42 +09:00
Marcel Hollerbach af858d1d93 elm_widget: add factory method to the widget
with this function you can trap the creation of the mangers, and change
the behaviour as you need it. For example returning a custom manager.
2017-06-09 10:16:19 +02:00
Jean-Philippe Andre 65e8bf7f9f map: Make sure efl_gfx_map_reset triggers a render
Thanks again Jaehyun for reporting this!
2017-06-09 15:09:12 +09:00
Jeeyong Um 02893c39ba Genlist: Calculate the min size of content before item realize
Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.

Test Plan: make and run attached sample

Reviewers: jpeg, SanghyeonLee, cedric

Differential Revision: https://phab.enlightenment.org/D4705
2017-06-09 15:09:12 +09:00
Jeeyong Um ebaffb3533 elm map: Fix broken link to openstreetmap.org
Generated link to openstreetmap.org is broken because of the comma in
the last of URL.
2017-06-09 14:31:33 +09:00
Youngbok Shin 22ed579430 elementary entry: update focus state when editable state is changed
Summary:
To recieve keyboard events, the entry_edje should have Evas focus.
But, if a non editable Entry widget takes focus, it can't recieve
keyboard events even if it becomes editable after taking focus.
So, elm_entry_editable_set() function should update Entry's focus state.
@fix

Test Plan:
The code of elementary_test - entry is modified to test this issue.
Please, check the issue with the following steps.

1. Run "elementary_test entry"
2. Click "Unfocus" button to make entry to "unfocused" state.
3. Click "Edit" button to make entry to non-editable mode.
4. Click "Focus" button to make entry to "focused" state.
5. Click "Edit" button to make entry to editable mode.
6. See a cursor is blinking in entry.
   => But, you can't edit text without this patch.

Reviewers: raster, herdsman, cedric, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4858
2017-06-09 14:28:40 +09:00
Jean-Philippe Andre 092866c058 map: Fix efl.gfx.map render
Internally the call to map_reset was setting the count to 0
rendering the map data invalid and useless.
2017-06-09 13:46:33 +09:00
Bryce Harrington bc644f0d9b ecore_evas: Document the X11 XShape input region APIs
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4951
2017-06-09 12:02:29 +09:00
Jean-Philippe Andre f2783b4332 elput: Fix compilation warning (GCC)
Use GCC sematic {} instead of {0} as the array members are structs,
thus {0} isn't valid either.
2017-06-09 11:53:47 +09:00
Thiep Ha b1d287bbf2 map: add more checking on input and memory allocation
More checking on input parameter and memory allocation
when set number of map points.
Thanks jp.
2017-06-09 10:18:50 +09:00
Larry Jr 824699036a Elementary: fix Elm.Layout Model Connect
Use "elm" has source to model_connect update
Disconnect part/property in model_connect
2017-06-08 19:12:13 -03:00
Larry Jr 891976ae1c Ecore: fix Efl.Model.Item
sent property_changed signal in property_set
2017-06-08 19:12:13 -03:00
Al Poole a7e8dff3e4 eina: fix implicit declaration of pthread_set_name_np in eina_debug.
Summary: Checks and includes necessary headers (FreeBSD et. al)

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-08 13:36:25 -07:00
Cedric BAIL 634715a2ca eina: as we use string.h function in this inline function, we better include it.
Reported by @netstar, thanks.
2017-06-08 11:41:39 -07:00
Chris Michael 0ecf044080 ecore-drm2: Fix potential SIGFPE when adding output mode
If we receive bad crtc info from libdrm, then we could end up with a
SIGFPE here due to division by zero if info h/v total are not set.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:34:29 -04:00
Chris Michael b7c7ce4ce0 ecore-drm2: Add API function to set pointer rotation
This patch adds a new API function which can be used to swap x & y
pointer axis and invert them according to rotation angle. Mouse input
events occur according to canvas coordinates so this can be used when
a canvas is rotated.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:03:36 -04:00
Chris Michael 26af19b543 elput: Add API function to swap dx & dy axis from pointer motion event
Small patch which adds an API function that can be called to swap x
and y axis and invert them according to rotation angle.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:03:36 -04:00
Chris Michael 75b5310781 elput: Minor formatting fixes
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:03:30 -04:00
Chris Michael 06b8a76954 elput: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:03:06 -04:00
Chris Michael d43bc13e76 elput: Get touch event slots using slot not seat_slot
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-08 10:01:52 -04:00
Jean-Philippe Andre 0d3fb8c2a5 widget: Remove unnecessary define
Looks like a copy & paste went wrong :)
Thanks @bu5hm4n
2017-06-08 18:49:56 +09:00
Carsten Haitzler c09f4180a1 edje - fix signal propagate crash
fixes segv when using boxes/tables and sub groups with signal
propagation working in _cb_signal_repeat() when name is NULL (not
found/there)

@fix
2017-06-08 18:45:15 +09:00
Amitesh Singh baf4cdc1c6 Efl.Ui.Image.Zoomable: inherit elm.widget as class
this fixes a mistake done in cb1d53c835
Thanks to jp for notifying it.

ref T5352
2017-06-08 17:39:45 +09:00
Amitesh Singh 66a79ece6b Efl.Ui.Image.Zoomable: implement efl.play.get/set
ref T5352
2017-06-08 17:39:45 +09:00
Amitesh Singh 835262f592 Efl.Ui.Image.Zoomable: implement efl.player.playable.get
ref T5352
2017-06-08 17:39:45 +09:00
Jihoon Kim 4519a8f923 edje: pass whole text to IMF in case of selection
Summary:
This patch partially reverts D2951.
_edje_entry_imf_retrieve_surrounding_cb() function has to pass
whole text nearby the entry's cursor. If IMF needs to ignore
selected text when the entry has selection, IMF can check
selected text by calling _edje_entry_imf_retrieve_selection_cb().
So, we don't need remove selected text before passing it to IMF.
@fix

Test Plan: N/A

Reviewers: woohyun, jihoon, subodh6129

Reviewed By: subodh6129

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4321
2017-06-08 17:02:35 +09:00
Thiep Ha 829b9aacde efl.gfx.map: support for map points as multiples of 4
This patch adds support for map with more than 4 points.
However, we only support points with multiples of 4.
This also adds efl_gfx_map_point_count_set/get APIs to
set number of points.

@feature
2017-06-08 16:53:45 +09:00
Thiep Ha 4f77bb2f5a evas_map: support map with number of points as multiples of 4
Currently, in evas map, we only support map with 4 points.
This patch adds support for map with number of points as
multiples of 4.

@feature
2017-06-08 16:53:45 +09:00
Sungtaek Hong 9dd997f389 elm_panel: set hidden property when panel is close/open
Summary:
 - elm_panel has a property named hidden which stores
   open/close status.
 - This is updated when:
    1. bring_in animation is done(anim_stop_cb).
    2. mouse_up on panel.
    3. API is called. (elm_panel_toggle, elm_panel_hidden_set)
 - In case 3, API changes hidden, and starts bring_in animation
   which will call anim_stop_cb() which will update hidden again.
 - If bring_in animation is canceled (eg: sizing_eval),
   anim_stop_cb will be called and calculate hidden status
   which will not guarantee updated hidden state by APIs.

Test Plan:
   1. Call any APIs which will call elm_layout_sizing_eval(panel)
      right after calling elm_panel_toggle()/elm_panel_hidden_set().
   2. Delete content of panel during "toggled" cb.

Reviewers: jpeg, eunue, cedric

Subscribers: conr2d, cedric, jpeg

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2017-06-08 16:15:35 +09:00
Carsten Haitzler b310e5892c evas - font dir fonts.alias - limit alias parse length
a rouge fonts.alias file in a font dir/path could contain long strings
that buffers dont have space for, so limit length of string.

@fix
2017-06-08 14:48:08 +09:00
Carsten Haitzler a772c54757 elm spinner - handle more digits for format string + handle invalid fmt
handles format strings like %0.234567f even tho before it was just %2f
- single digit after . ... not that it's useful handling more...

@fix
2017-06-08 14:34:50 +09:00
Chris Michael c7da93c1de ecore-wl2: Use output height when calculating dpi
When calculating output dpi, we should also be considering output
height in the calculation.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-07 11:21:19 -04:00
Chris Michael 5ee913426d ecore-wl2: Add API function to set surface buffer transform
Small patch to add an API function which can be called to set a buffer
transformation on a given window.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-07 11:09:58 -04:00
Chris Michael 5b84bf2c24 ecore-wl2: Add API function to return an output transformation
Small patch to add a new API function that can be used to retrieve the
current transform value for a given output.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-07 11:09:58 -04:00
Chris Michael b69060ab88 ecore-wl2: Add missing doxygen groups for documentation
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-07 11:09:58 -04:00
Chris Michael 70a345005b ecore-wl2: Add API function to find an output for given window
Small patch which adds an API function that can be used to find the
output where a given window resides.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-07 11:09:58 -04:00