Commit Graph

19520 Commits

Author SHA1 Message Date
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
Andy Williams 37aa0855e6 elm_code: Fix make check
The tests were using some code that became somewhat invalid, adjusting tests
2017-06-14 19:38:43 +01: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
Carsten Haitzler 205ef8a756 evas xpm loader - remove tabs and clean up formatting
just non-code changes here...
2017-06-14 17:15:49 +09:00
Carsten Haitzler 4a9f28a677 evas xpm loader - remove the rgb txt file db loading and compile in
so modern systems seem to have abandoned rgb.txt files. this leads to
us breaking the loading of xpm files tha use color names ... i added
the rgbt.txt from vim but that didn't seem to help... odd... so to just
stop adding path after path to load... ship our own. we could ship the
file... but then we'd still have to load and parse it... every time we
look up a color. so i munged the data with awk and now we compile it
in. it should consume the same space the rgb.txt does in the shared lib
binary. if not read it shouldn't be paged in. it should end up cheaper
than our floaing of the file and mmaping it when xpm module is
loaded/initted... so either way more efficient, uses a little less ram
(12306 bytes vs 17780 for the rgb.txt) ... and bonus - dont have
an extenral out-of-code data blob to find, manage install etc...

this means we should load xpms with colornames correctly again on
systems without an rgb.txt provided by x11 ... which seems to be the
common case now. :(

@fix
2017-06-14 17:04:43 +09:00
Carsten Haitzler e71e8bd30b test suite - evas - fix xpm ref image - it was badly broken...
since rgb.txt has seemingly disappeared from systems we didnt parse
colornames (missing the colorname db entirely) and the test image was
generated using a broken missing rgb.txt thus colors were wrong. a
recent fix made evas find colornames again...
2017-06-14 17:04:43 +09:00
Jean-Philippe Andre 4d68ec6e3d tests: Remove invalid call to elm_run
Nothing is supposed to happen here. Just exit after running
the checks. Don't wait for something to happen until eternity...
2017-06-14 16:54:15 +09:00
Jean-Philippe Andre 44b6eb3e55 tests: Fix eina_thread_queue test case 5 & 6
ecore_test_ecore_thread_eina_thread_queue_t6 failed often for me.
eina_thread_queue_wait() was returning NULL.

I believe this is because the test case ended abruptly without
waiting for the threads to finish. Indeed, both threads tried
hard to reach 10000 messages but it didn't make sense for them
both to reach this value, only one would end there.

This patch adds an exit message sent by thread 1 to the two other
threads, and all threads are waited upon using a single semaphore.

Note: This also renames some functions to match their test case
number.

@raster
2017-06-14 16:54:15 +09: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 522ee10b45 ecore-evas-wayland: Add support for setting auxiliary hints
This patch adds function pointers to the Wayland Interface that can be
used for supporting auxiliary hints on a given window

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-13 12:57:29 -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
Youngbok Shin f29dfe2789 evas textblock: fix evas test suite build errors
Summary:
Fix build errors caused by recent patches for Text cursor.
@fix

Test Plan: run "make check"

Reviewers: herdsman, jpeg, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4957
2017-06-12 16:31:04 +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
Amitesh Singh c6a0a69596 elm test:image.zoomable: fix the compilation warnings
this fixes below compile warnings.

"
 warning: format ‘%s’ expects argument of type ‘char *’,
 but argument 3 has type ‘void *’ [-Wformat=]
 printf("Successfully set the edje file: %s, group: %s\n",
        file, eina_list_nth(grps, 0));
"
2017-06-12 10:21:12 +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 bf66daf657 Gfx filters: set multiline to Ui.Text widget
By default, multiline is disabled, so needs to enable this.
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 6f48fcc03b Elementary: bring back disabled tests 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 b3ec2d2060 Ui text: fix test style applying after cursor port 2017-06-12 00:09:58 +03:00
Daniel Hirt 573be7b71a Ui text: fix test inserting object 2017-06-12 00:09:53 +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 cbf0ffe24a Revert "efl_debugd: don't compile this on macOS"
This reverts commit e9f727044b.

This is not needed anymore as efl_debugd is now portable.
2017-06-11 09:44:57 +03:00
Daniel Zaoui 8250b06d91 Revert "efl_debugd: only compile this on Linux."
This reverts commit eafe0c74e1.

It is not needed anymore as the daemon is now portable.
2017-06-11 09:44:57 +03:00
Daniel Zaoui ae50dec3e5 Eina Debug: rewrite efl_debugd for portability
The previous version of the daemon was using functions specific to
Linux, such as epoll...

The daemon communication part has been rewritten to use Ecore
functionalities.

Sorry for the inconvenience guys
2017-06-11 09:44:57 +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
Chris Michael 3ec0233a28 static_libs/libdrm: Update exynos header files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:53:16 -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 ca66a9fa0d static_libs/libdrm: Update static libdrm headers
This patch updates our static_libs/libdrm header files to version
2.4.81-1 (from arch).

NB: derek, I don't have the exynos headers here. Please update them
when you can.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:23:57 -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 53bfe00351 ecore-evas-drm: Remove borrowed fourcc_code from source file
As we will now use static_libs/libdrm for building ecore_evas_drm, we
no longer need to include this bit of borrowed four_cc code from libdrm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:47:47 -04:00
Chris Michael 3f47b8bbee ecore-evas: Add static_libs/libdrm to ecore_evas_drm source files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:47:09 -04:00
Chris Michael 2825a5b574 ecore-drm2: Add static_libs/libdrm to drm2 source files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:46:02 -04:00
Chris Michael 434bb09b17 static_libs: Add xf86drm headers to libdrm static_libs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:44:52 -04:00
Chris Michael cb94befb9d ecore-evas-wl: Add support for Window Manager rotations
This patch adds support to Ecore_Evas_Wayland for Window Manager
Rotations so that window managers which do support rotations are able
to rotate an EFL wayland application.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 12:30:42 -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
Amitesh Singh 5cac1baf1f elm-test: ui.image.zoomable: make anim example to work with zoom
mousewheel can be used to zoom in and zoom out.
2017-06-09 14:17:55 +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 7e552977a6 examples: Flesh out the evas-buffer-simple example
Summary:
This serves as an early example for new Evas programmers to introduce
the buffer engine as well as very basic canvas usage, so we're going
into a lot more detail for both of those than we'll do in subsequent
examples.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4950
2017-06-09 12:09:54 +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