Commit Graph

54034 Commits

Author SHA1 Message Date
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 2ba847f4c2 theme: add signal to e border theme to set NOGRAB on titlebar part
for compatibility reasons this can only be changed in a signal callback
in the default theme.

all themes should now use NOGRAB for parts which can be used to trigger
window_move signal bindings

ref T5552
2017-06-09 20:12:55 -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