Commit Graph

14494 Commits

Author SHA1 Message Date
Marcel Hollerbach b48ef579e6 elm_dayselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5ca9853eda elm_toolbar: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 7cef664696 elm_slideshow: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 47b0afb315 elm_seperator: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach d2a37a7f40 elm_scroller: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5cac7531bd elm_prefs: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 9d88181510 elm_label: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 092b8b8039 elm_diskselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 027ffd65c8 elm_inwin: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach dd17fe8de0 elm_index: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach ff792bd3e8 elm_hover: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach cddd333b7d elm_flipselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 9d3559cd6b elm_fileselector_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach bd628bbfcc elm_fileselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 265a26f68e elm_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 233bd3cdca elm_bubble: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach e01486c2ca elm_actionslider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 7b6ef8910c efl_ui_video: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6bc769b317 efl_ui_text: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6f9beb01c5 efl_ui_slider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 1ef5ea660f efl_ui_progressbar: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach f918975bf0 efl_ui_panes: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach b9264b7d6c efl_ui_layout: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 4884793cf0 elm_naviframe: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 8019639b29 elm_multibuttonentry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach a637086531 efl_ui_frame: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6fe4d8a315 efl_ui_flip: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach e922d753b8 efl_ui_clock: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach a249b550e9 efl_ui_button: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 44f33f1e4c elm_table: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 21ff1ae349 elm_grid: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach faf664cc1d efl_ui_grid: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach aa6059abd5 elm_box: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach 7b11317159 efl_ui_box: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach 4cb080b31c elm_toolbar: we need to register the items in the submanager 2017-10-10 19:28:30 +02:00
Jean-Philippe Andre 4c0167916b focus: Avoid infinite loop in window
I kept the safety error message for easier debugging.
Test scenario:
  elementary_test -to "Window Inline"
  Click on an entry. Press Shift+Tab.

Ping @bu5hm4n
2017-10-10 19:32:50 +09:00
Jean-Philippe Andre f75d2e6be2 widget: Make focus_mouse_up_handle internal
I don't think this belongs to the public EO API.

Ref T5363
2017-10-10 18:53:43 +09:00
Jean-Philippe Andre 15f95c374e combobox: Mark as legacy only if legacy API is used
See bc2fe6bb77
2017-10-10 18:44:35 +09:00
Jean-Philippe Andre e021e25c85 evas: Override del() for evas objects
This makes EAPI evas_object_del() and EO API efl_del() work the same on
evas objects, i.e. a del() implies an immediate call to hide() and mark
the object as "delete_me".

If the refcount remains > 0 the object won't be actually deleted, thus
EFL_EVENT_DEL won't be triggered. I think it would probably be a good
idea to have a new event "del,request", to signal reference owners that
this object "wants" to die.

Ping @raster @zmike
2017-10-10 18:44:35 +09:00
Subodh Kumar a8e7cf74b1 evas: there is no effect of variable assignment while clean up.
Summary:
There is no effect of assingning a variable while clean up.
@fix

Reviewers: raster, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-09 16:41:23 -07:00
Subodh Kumar a91a4b4ca5 ephysic: comparing with same statement.
Summary:
There is no effect of comparing with same expression.
@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-09 16:40:17 -07:00
Subodh Kumar c5e3196731 emile: comparing less than zero with unsigned interger.
Summary:
Unsigned integer should not be compared to less than zero.
@fix

Reviewers: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-09 16:38:28 -07:00
Subodh Kumar f418d62af3 eina: comparing less than zero with unsigned long int
Summary:
Unsigned integer should not be compared to less than zero
@fix

Test Plan: NA

Reviewers: cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-09 16:37:50 -07:00
Marcel Hollerbach 837f83114a efl_ui_focus_manager_calc: we dont need the explicit root handling,
that is done later in line 1205
2017-10-09 16:29:28 +02:00
Marcel Hollerbach 282883ff9c efl_ui_focus_manager_calc: focus a child if a logical is focused
If you call focus_set(m, o) where o is a logical child, then the focus
will go to any none logical child of o, or if there is nothing in the
children of o, then the focus will remain on the now focused element.
2017-10-09 13:10:51 +02:00
Carsten Haitzler fdfc112f04 Revert "edje: moved from edje_multisense.c to Ecore_Audio.h for select the type of render."
This reverts commit c1c424a407.

revert edje multisense changes to match ecore audio revert
2017-10-07 19:26:10 +09:00
Carsten Haitzler 4457f8c9c8 Revert "ecore_audio: a minimal template for playing sound on WINDOWS is added"
This reverts commit 7a98f617e9.

this commit breaks compiling things against efl badly. i'm on holiday
and haver only a mini screen and keyboard wwith me so any serious wok
in hunting these issues isn't going to be fun or easy. as this causes
bad build brreaks this is worth a revert IMHO. please re-submit wwhen
you've tested against efl by building things against it. also our
public headers just should not have such ifdefs/if's that change api
presented based on how efl is cnfigured. we expose the same api and
macros and types regardless of internal config.
2017-10-07 19:09:53 +09:00
Subodh Kumar 8070051789 efreet: unsigned int cannot be compared to less than zero.
Summary:
Wrong camparision with less than zero for unsigned integer.
@fix

Test Plan: NA

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:53:17 -07:00
Subodh Kumar 8d880d7f41 evas: there is no effect of variable assignment outside the function.
Summary:
Variable assigned is not used anywhere else, making it unused.
@fix

Test Plan: Na

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:52:45 -07:00
Subodh Kumar e5a588b0bf eet: wrong comparision to less than zero with unsigned integer.
Summary:
Unsigned interger should not be compared to less than zero.
@fix

Test Plan: Na

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:51:19 -07:00
Subodh Kumar 321673fe59 elementary: passing NULL to variadic funtion can be undefined.
Summary:
Passing NULL to variadic funtion may lead to undefined behaviour.
@fix

Test Plan: NA

Reviewers: lukasz.stanislawski

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:50:22 -07:00
Godly T.Alias 10f26f143a evas: fix for sscanf use with save flags input.
Summary:
As 'flags' can be supplied by application, in case application is supplying
a big string(error case), it can cause crash in some version of glibc.

Setting maximum possible input (0x64) length as width specifier

Fix for static code analyzer warnings
- scanf without field width limits can crash with huge input data on some versions of libc

Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>

Test Plan: Run SonarQube

Reviewers: cedric, raster, Princekrdubey, rajeshps

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:49:03 -07:00
Yeongjong Lee bc2fe6bb77 elementary: fix unintentional visibility of elm_hover in combobox constructor
Summary:
since fd9cf1d3b6, All Eo canvas objects remain
visible by default.
but elm_hover doesn't want to be shown in combobox constructor.
showing elm_hover in constructor occurs unexpected behavior.
this fixes that bug.

Test Plan:
1. elementary_test - Combobox
2. Click the combobox to Expand the list.

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:46:24 -07:00
Cedric BAIL 1551f8b857 efl: properly initialize Eina_File.
CID 1381605.
2017-10-05 16:24:47 -07:00
Cedric BAIL 08deba98f8 evas: make sure we always open the file and look at its header before trying to load data. 2017-10-05 16:02:47 -07:00
Cedric BAIL ee3f4e0529 evas: remove unused function evas_cache_image_request. 2017-10-05 09:42:36 -07:00
Cedric BAIL 90e1ca7154 evas: remove unused function evas_cache_engine_image_request. 2017-10-05 09:41:41 -07:00
Cedric BAIL 7672d1050e evas: remove unused function evas_common_load_image_from_file. 2017-10-05 09:37:07 -07:00
Cedric BAIL 674a75ca8b eina: continue to check for magic. 2017-10-05 09:28:13 -07:00
Cedric Bail 867d826395 evas: remove image_load from the engine. 2017-10-04 21:48:26 -07:00
Cedric Bail a6dcaa0f9a evas: remove use of engine image_load from Evas.Canvas3D.Texture. 2017-10-04 21:32:22 -07:00
Cedric Bail c8c4572d70 evas: remove duplicated code and rely on Efl.File { get; set; }
We can almost remove image_load from the engine backend after this patch.
One little bit left in Evas_3D.
2017-10-04 21:01:35 -07:00
Cedric Bail ea4d27f1b2 edje: remove duplicated code and rely on Efl.File { set; get; } mixin. 2017-10-04 21:00:56 -07:00
Cedric Bail beb6bde166 efl: make Efl.File a mixin that implement file_set for everyone. 2017-10-04 20:58:06 -07:00
Cedric Bail 43b524eea2 eina: Eina_Prefix should never contain a NULL, no code expect it. 2017-10-04 20:57:08 -07:00
Cedric Bail 4ccc5d4f68 eina: allow eina_file_close(NULL) to simplify code using Eina_File. 2017-10-04 20:56:15 -07:00
Cedric Bail 699a97875a elementary: update code highlighting to follow eolian syntax change. 2017-10-04 11:32:09 -07:00
Bryce Harrington ccf3297a0d ector: minor grammar fixups
Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-03 11:36:54 -07:00
Ivan Furs c1c424a407 edje: moved from edje_multisense.c to Ecore_Audio.h for select the type of render.
Reviewers: NikaWhite, raster, cedric, vtorri, rimmed

Reviewed By: NikaWhite, vtorri

Subscribers: artem.popov, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-03 11:36:49 -07:00
Ivan Furs 7a98f617e9 ecore_audio: a minimal template for playing sound on WINDOWS is added
Summary:
Realization of audio data playback through WASAPI (Windows Audio Session API).(minimal)
WASAPI model:
1. Find  a playback device (in the default system)
2. Register the client on the playback device.
3. Create a playback format for audio data.
4. Initialize the client with the created format, and access mode,  ....
5. Take the object-rendering from the client for play the data stream.
6. Play data stream

ecore_audio model:
1. create a object for play the data stream(out object)
2. create a object to receive the data stream(in object)
3. register in the out-object the in-object
4. play data stream

Necessary:
Realize the ecore_audio object to play the data stream using the WASAPI model.

How implemented:
1. The object ecore_audio_out_wasapi is implemented
2. object ecore_audio_out_wasapi - the object constructor is find a playback device (in the default system)(WASAPI)
3. _ecore_audio_out_wasapi_ecore_audio_out_input_attach -  register in the out-object the in-object
   3.1 Register the client on the playback device.(WASAPI)
   3.2 Create a playback format for audio data.(WASAPI)
   3.3 Initialize the client with the created format, and access mode,  ....(WASAPI)
4. _write_cb - play data
   4.1  Take the object-rendering from the client for play the data stream.(WASAPI)
   4.2  Play data stream(WASAPI)

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

Reviewed By: vtorri, NikaWhite

Subscribers: artem.popov, cedric, jpeg

Tags: #windows

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-03 11:36:49 -07:00
Chris Michael fa2faff41b elput: Fix issue of pointer rotation not being set on startup
elput_input_pointer_rotation_set may be getting called before input
devices are actually added, so we need to be able to set pointer
rotation when a device actually gets added.

To fix this, we will store the requested input rotation value, and
apply it at the time of input device creation.

NB: The current case is that the wl_drm module will apply existing
output rotation before Input has completely initialized, thus any
calls to set the pointer rotation there will not succeed as input
devices have not been created yet.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-03 14:14:04 -04:00
Mike Blumenkrantz 11e92cdc86 ecore-file: do not emit events when an inotify watch is removed
???????????????????????????????????????????????????????????????????????????????

@fix
2017-10-03 13:34:22 -04:00
Chris Michael 31ef275388 elementary: Mark unused function parameter as unused
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-02 08:19:42 -04:00
Chris Michael ae49b6b6df ecore-con: Mark unused function paramater as unused
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-02 08:12:06 -04:00
Daniel Hirt eadf313702 Canvas layout: fix Efl.text (non-legacy) TEXT parts
Current implementation should also support TEXT parts (like button)
with usage of efl_text_set.

Follow-up to 0061a4bb34.
2017-10-02 11:05:32 +03:00
Vincent Torri 10ba064b65 Windows: remove XP support and forbid compilation and run on this platform
Test Plan: run on XP

Reviewers: jpeg, cedric, ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5245
2017-10-01 18:09:46 +01:00
Daniel Hirt 3462390b5c Ui layout: handle Efl.Text legacy code better
This should cover the cases without need to duplicate a lot of code.
Follow-up to deca3c947f.
2017-10-01 19:51:28 +03:00
Daniel Hirt 0061a4bb34 Canvas layout: improve legacy code paths for Efl.Text
Better handling of specific cases where you want to efl_text_set on
a TEXTBLOCK part.
Follow-up to af1595fd01.
2017-10-01 19:51:28 +03:00
Al Poole 9ab866f32c elm_code_widget: set appropriate background colour. 2017-10-01 11:10:28 +01:00
Daniel Hirt af1595fd01 Canvas layout: fix legacy text set
Keep the legacy code path when using edje_object_part_text_set.
Fixes e's notification that got broken after
3642b3ae67.

Also, limit new efl_text_markup set to TEXTBLOCK parts.
2017-10-01 12:00:56 +03:00
Carsten Haitzler a37e1e479d eina debug - add missing unlock in erite err case
fix CID 1381503
2017-10-01 16:04:35 +09:00
Marcel Hollerbach e6c8093d49 efl_ui_focus_object: also implement focus.get 2017-09-30 20:29:07 +02:00
Marcel Hollerbach 935722aac1 evas_focus: skip focus set if the focus state is the same 2017-09-30 20:29:07 +02:00
Cedric BAIL 871b6ac0ad ecore_con: simplify Efl.Net.Server.Ssl by inheriting from Efl.Net.Server.Tcp. 2017-09-29 16:01:02 -07:00
Cedric BAIL b7049e8c43 ecore_con: add an intermediate Efl.Net.Server.Ip 2017-09-29 14:12:03 -07:00
Marcel Hollerbach 1ad1d8010e efl_ui_focus_manager_calc: correctly specify owned where its needed 2017-09-29 11:28:15 +02:00
Marcel Hollerbach e5d1c1f195 Revert "elm focus manager - dont leak child lists when updating focus order"
This reverts commit bd6dcbb044.

This was not fixing the issue, just ducktaping over a bug in eolian, the
bug is now probebly fixed in eo / eolian.
2017-09-29 11:28:15 +02:00
Marcel Hollerbach 8e4d0d70e9 eo: introduce function definitions with fallback
there can be cases where the call to such a function is never going to
be directed to the actual implementation. In those cases the FallackCall
will be called.
2017-09-29 11:00:37 +02:00
Youngbok Shin d7a2993d47 edje entry: fill content info when text is deleted by imf event
Summary:
There was missing info when text is deleted by _edje_entry_imf_event_delete_surrounding_cb().
@fix

Test Plan: N/A

Reviewers: kimcinoo, raster, cedric, jpeg, herdsman

Differential Revision: https://phab.enlightenment.org/D5240
2017-09-29 15:29:32 +09:00
Youngbok Shin 26b58098bc evas font: check returned value of FcPatternGet function
Summary:
Evas should add font when only FcPatternGet function gives matched result.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg

Differential Revision: https://phab.enlightenment.org/D5236
2017-09-29 15:16:21 +09:00
Carsten Haitzler 66cd5cf2d5 efl ui textpath - remove more unused vars 2017-09-29 14:52:04 +09:00
Carsten Haitzler 522488eed9 efl ui textpath - remove unused vars due to dead code removal
fix warning
2017-09-29 12:32:10 +09:00
Carsten Haitzler 17e2783c6c elm atspi - fix checking return of eldbus_message_iter_arguments_get
fix coverity CID 1353590
2017-09-29 12:26:57 +09:00
Carsten Haitzler 6f9857ccab elm config - fix eina value setting to check get return
fix CID 1357139
2017-09-29 12:26:57 +09:00
Carsten Haitzler 05b26102cf eina debug - check write return values and complain on failure
coverity - fix CID 1377521
2017-09-29 12:26:57 +09:00
Carsten Haitzler b7d4372221 eina debug - check write return value and complain
makes coverity happy - CID 1377524
2017-09-29 12:26:57 +09:00
Carsten Haitzler 0889d5b76d efl model - fix checking return of eina_accessor_data_get
coverity - fixes CID 1380995
2017-09-29 12:26:57 +09:00
Cedric Bail c549f2c993 eio: do not copy memory for nothing. 2017-09-28 18:31:34 -07:00
Cedric Bail 961c860d65 eio: use TIMESTAMP when meaningful. 2017-09-28 18:31:34 -07:00
Cedric Bail 0fb9af0506 eio: migrate efl.io.manager.ls to use Eina_Future. 2017-09-28 18:31:34 -07:00
Cedric Bail ab1080bdd3 ecore: allow other thread to write local data on a thread to increase utility. 2017-09-28 18:31:34 -07:00
Carsten Haitzler 4a9d168ac3 elm widget - event legacy propagation - remove coverity warning
fix CID 1379920 - event_flags is actually never NULL or undefined in
the function logic. it's always set to point to the specific event
flags field depending on struct type or the function will return
before using the pointer.
2017-09-29 09:09:04 +09:00
Carsten Haitzler 6867158eb3 efl text markup - fix hex check to be or not and - found by coverity
fix CID 1381491
2017-09-29 09:03:04 +09:00
Carsten Haitzler 2ac1323fac efl ui focusable - remove pointless check of ptr already checked
coverity fix CID 1381492
2017-09-29 09:00:43 +09:00
Daniel Kolesa 7c7e5ec423 eolian: validate inner types of complex types
This makes sure the inner types are all correctly defined and
that freefuncs are actually correctly filled.
2017-09-28 23:22:05 +02:00
Felipe Magno de Almeida 96d3af10bf eolian-cxx: Add optional parameter to lambda for unnamed proxy instantiation 2017-09-28 17:50:14 -03:00
Daniel Hirt deca3c947f Ui layout: support markup for efl_part()
Also implement markup_set/get for:
  - Efl.Ui.Frame
  - Efl.Ui.Slider

Users may choose between text_set/get and markup_set/get, depending on
whether they want to escape their text or not.
2017-09-28 19:32:02 +03:00
Daniel Hirt 3642b3ae67 Canvas layout: support markup for efl_part
Users can now do either:
   efl_text_set(efl_part(obj, "part"), "text");
   efl_text_markup_set(efl_part(obj, "part"), "text");

Also have efl_text_get/markup_get.

Using markup_set will allow to choose whether to set a markup or a text
to the text part.
2017-09-28 19:32:02 +03:00
Daniel Hirt e34efbed96 Canvas text: use EINA_UNUSED for unused variables
Nothing special here. No need to for the "(void) eo_obj".
2017-09-28 19:32:02 +03:00
Daniel Hirt 69d0646b33 Efl text: add Efl.Text.Markup interface
Adds basic markup operations for text objects, and implements it in
Efl.Canvas.Text.

Also, this adds the Efl.Text.Markup_Util class.
This utility class allows basic text-markup conversions.

@feature
2017-09-28 19:32:02 +03:00
Shinwoo Kim 6f06979cdc elementary: atspi - fix dbus abort
This patch set fix following abort occured on dbus side.

(gdb) bt
0   __GI_raise (sig=sig@entry=6)
1   __GI_abort ()
2   _dbus_abort ()
3   _dbus_warn_check_failed
4   dbus_message_iter_append_basic
5   append_basic
6   eldbus_message_iter_basic_append
7   _bridge_signal_send
8   _text_text_removed_send
9   _bridge_accessible_event_dispatch
10  _elm_interface_atspi_accessible_event_emit
11  elm_interface_atspi_accessible_event_emit
12  _entry_changed_user_signal_cb

(gdb) f 12
(gdb) p *$1
$2 = {change = {insert = {content = 0x0, pos = 0, plain_length = 1},
                del = {content = 0x0, start = 0, end = 1}},
      insert = 0 '\000', merge = 0 '\000'}

The following patch set would fix the root cause of this problem.
https://phab.enlightenment.org/D5240
2017-09-28 20:29:33 +09:00
Jean-Philippe Andre 76ab8e3f54 efl: Remove @owned tag from pack/content APIs
Refer to the previous commits for more context.

When an evas object is given to a container, be it with a variant of
efl_pack() or efl_content_set(), its "ownership" is given to the new
parent container. But ownership here means that the new container may
delete the child when it sees fit (i.e. when the container itself dies,
for instance). This does not mean that a reference was passed from the
calling context to the container. The actual EO owner of the child is
always the canvas or another canvas object, even if it the object is
unpacked.

Note: This means that invalid calls to efl_pack or efl_content_set will
not automatically delete the child object. This is the same as legacy,
and results in floating objects. Just check the return value! :)

Hopefully this is correct for bindings.
2017-09-28 17:29:03 +09:00
Jean-Philippe Andre f7a7a29cc0 evas: Give a parent to duplicated event objects
This comes back to an earlier situation where the fake event objects
created by efl_input_dup() had a parent (it should be the evas or maybe
the window). But that led to issues as efl_unref() would print error
messages. Using efl_allow_parent_unref_set() we hide the error message,
because in this situation we want the caller to use efl_unref() and not
efl_del() (eg. think of bindings...).

See d3436af616
See 6bed255fc4
See 96d94e0076 <-- main commit
2017-09-28 16:45:45 +09:00
Jean-Philippe Andre d3436af616 eo: Add API to allow deletion by unref
This allows deleting an object by simply calling efl_unref() on it, even
if there is a parent. Normally the parent is in charge, and you can
request deletion by calling efl_del() or efl_parent_set(NULL).

But in some rare cases, you want to give ownership of an object (@owned)
and still give a parent to that object. efl_unref() should be used (and
would be used by bindings when going out of scope or on garbage
collection), which would then print an error message. This API allows
the specific behaviour.

@feature
2017-09-28 16:42:04 +09:00
Jean-Philippe Andre 662a172139 eo_debug: Allow disabling of backtraces
export EO_LIFECYCLE_BACKTRACE=0

This means that the lifecycle can be tracked but we don't care about the
backtraces. Related to some recent eo_debug patches.
2017-09-28 16:15:07 +09:00
Jean-Philippe Andre 008ec97d84 eo: Allow efl_reuse to be called with a parent
If an object still has a parent inside the del intercept, we shouldn't
reset the "parent_sunk" flag. This would indeed break logic as
parent_sunk == false implies that a parent was never set, which means
the parent must be null. Right now this case isn't used but it can be
imagined with caches of evas objects (they should remain parented to
their evas).

@fix
2017-09-28 16:10:53 +09:00
Carsten Haitzler 9ee741cf7f ecore wl2 - fix null checing of drag offer - coverity
fix CID 1378629
2017-09-28 15:28:00 +09:00
Carsten Haitzler dea4e5aa46 elm widget - fix possible null ptr access found by coverity
_propagate_event_legacy checked event_flags ptr for null then just
derefs it anyway... so check everywhere. fixes CID 1379920
2017-09-28 15:28:00 +09:00
Carsten Haitzler 1dcac1853d efl ui focus - fix coverity complaints about derfer before null check
indeed there was a child cnull check after dereferencing the child...
so check completely. fix CID 1379925
2017-09-28 15:28:00 +09:00
Carsten Haitzler 49df80aa6f efl ui win - quieten coverity complaint about dead code
the count ?: 1 check is pointless as count is already checked above.
make it clearer that it's > 0 and remove the ? check. silence for
coverity CID 1380542
2017-09-28 15:28:00 +09:00
Carsten Haitzler 35b65e0643 efl ui text - remove logically dead code
it is indeed pointless code. fix coverity CID 1380544
2017-09-28 15:28:00 +09:00
Carsten Haitzler 22466b991c edje - fix check return of _edje_fetch
fixes CID 1381326
2017-09-28 15:28:00 +09:00
Carsten Haitzler bee7bf5767 efl ui text - fix resource leak of strbuf and pointless buffer code
edje_object_part_text_style_user_push() doesnt need you to
stringshare_add a string... some other code did it because it "gets"
the string from an obj that might free/delete the string on push etc.
or before so it keeps a copy but then it stringshare_del's it
anyway... the _textpath_ellipsis_set() code creates a trsbuf that
wasn't freed if enabled was false and it never stringshare_del'd the
string is stringshare_added... all of this was pointless code anyway.
you could just pass the constant string directly.

fixes CID 1380543
2017-09-28 15:28:00 +09:00
Carsten Haitzler e095562ea1 evas font loading - fix possible divide by 0 when font size is 0
fix coverity CID 1381446
2017-09-28 15:28:00 +09:00
Jean-Philippe Andre 902938f626 eo: Fix unnecessary ERR logs with eo_debug
efl_data_scope_safe_get() is often used to assert that an object is of a
certain type, but assuming it may be NULL or not of the required type.
This means that encountering an invalid type is an error handled by the
caller (we return NULL), and shouldn't print out extra ERR() logs.

This fixes issues with E run under eo_debug. E's code was safe as it's
using evas_object_smart_data_get() and verifies whether the returned
value is NULL (which is expected for a rectangle, for instance).

@fix
2017-09-28 12:30:36 +09:00
Jean-Philippe Andre 96d94e0076 evas: Fix dangling references with input devices
This solves issues with efl_input_dup() which didn't properly give a
reference to the caller, resulting in dangling eo ids.

Note: This may trigger leaks (instead of invalid refs), but this now
actually reflects the meaning of @owned. This should work with bindings
and C API users should know to call efl_unref().

This patch is the reason for the previous improvements on eo_debug.

@fix
2017-09-28 12:30:36 +09:00
Jean-Philippe Andre 3dc140abfb eo_debug: Also print out the current backtrace
We can't use EINA_LOG_BACKTRACE=1 for that as eo_lifecycle itself prints
out ERR messages for its backtrace dump.
2017-09-28 12:30:36 +09:00
Jean-Philippe Andre 213821240b eo_debug: Enable logging of all ref/unref
This is done via the syntax (not documented yet):

  EO_LIFECYCLE_DEBUG=N:<class names>

Where N is:
 1. new/free
 2. new/free/ref/unref
 3. new/free/ref/unref/reuse

@feature
2017-09-28 12:30:36 +09:00
jiin.moon 98147ce097 evas : Improve the performance by reusing map surface
Summary:
If object just has update of map point without other changes included child,
the map surface can be reused.

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5181
2017-09-28 12:30:36 +09:00
Amitesh Singh 8ab7042149 intv slider: use scope_get instead in finalize() 2017-09-28 12:19:49 +09:00
Cedric BAIL 245ea06a65 eio: convert Efl.Io.Manager.stat() to return Eina_Future. 2017-09-27 16:32:58 -07:00
Cedric BAIL 3a3ae49afd eina: add an helper to setup Eina_Value structure description.
This is particularly useful on system like Windows who doesn't allow
setting pointer at compile time in static const structure.
2017-09-27 16:30:31 -07:00
jiin.moon d23aca3c8e emile: unmap the memory for image file after decode.
Summary:
In case of emile, unmap the memory of the image file when the image file is closing.
But closing of image file happen when the image is flushed from the cache, so the
mapped memory of image file remain for long period of time with no benefit (If it is
in cache, it won't get decoded again). So I think we don't need to keep the mapped
memory of image file.

Test Plan: self

Reviewers: cedric, jpeg, jypark

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-09-27 11:51:50 -07:00
Cedric BAIL 1ac4a03d4f elementary: avoid segfault when getting focus due to an infinite recursion.
This was two line switched and setting the callbacks on the wrong object.
2017-09-26 15:21:12 -07:00
Cedric BAIL 37d6bc03fd ecore: we can actually inherit from Efl.Object, just not in the first position. 2017-09-26 11:13:06 -07:00
Vincent Torri 9b416d2360 eina: remove EFL_HAVE_WIN32_THREADS define as it is unused since winpthread is used
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-09-26 10:17:04 -07:00
Cedric BAIL 0b37853f14 elementary: actually implement the terminate event. 2017-09-26 10:15:07 -07:00
Cedric BAIL 5c14be4ecf ecore: we need a different event for tracking the lifecycle of the main loop.
If the main loop is destroyed a lot of companion information might already
have been so relying on EFL_EVENT_DEL might be way to late in the shutdown
process. terminate will be triggered as soon as the process of shutting down
is started, so all the data are still valid and have not been destroyed yet.
2017-09-26 10:15:07 -07:00
Cedric BAIL 8e5a79f957 elementary: don't crash if API is called after shutdown. 2017-09-26 10:15:07 -07:00
Cedric BAIL 0b8e3e6fcf elementary: restore input propagation and destroy array properly. 2017-09-26 10:15:07 -07:00
Derek Foreman 0ad6c47ec2 efl_wl: Stop queuing buffer release events
This was an optimization that caused more pain than benefit in the
long term.  Weston no longer does it, so we're just following suit.
2017-09-26 11:39:19 -05:00
Jean-Philippe Andre 7cc23b1754 elm: win part EO files are public 2017-09-26 22:00:02 +09:00
Youngbok Shin 42ac2136b0 evas textblock: use main font's ascent/descent as minimum value
Summary:
The patch will adjust ascent/descent with considering main font's ascent/descent
as minimum value. Actually, this patch re-apply D5217 with resolving linegap issue
on the _layout_format_ascent_descent_adjust() function.
@fix

Test Plan: Put a text which will load smaller font. And put a text which will load primary font.

Reviewers: raster, cedric, herdsman, jpeg

Differential Revision: https://phab.enlightenment.org/D5227
2017-09-26 14:33:11 +03:00
Jean-Philippe Andre 56667a84b1 win: Remove invalid callbacks
Faulty commit (guess who?):
  596dba5fe5

See also d567faa778

Finally make check works again. That was... a painful lot of patches to
fix.
2017-09-26 18:15:45 +09:00
Jean-Philippe Andre e1df334caf Revert "Fix infinite recursion for legacy + efl ui win events"
This reverts commit d567faa778.

This is not trying to fix the root cause for the infinite loop.
2017-09-26 18:11:38 +09:00
Jean-Philippe Andre ba12712e0d elm: Fix shutdown of atspi (unregister handlers)
@fix
2017-09-26 18:11:16 +09:00
Jean-Philippe Andre 25520583a7 ecore: Reset do_quit when ecore shuts down
After ecore_shutdown the main loop is dead, so the flag do_quit can be
safely reset to 0. This will fix issues with cycles of
elm_init/shutdown. This fixes:
  CK_FORK=no tests/elementary/elm_suite elm_win

This patch relies on a few of the previous patches which ensure that
ecore is well shut down.

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre e401b223f8 elm: Delete atspi root object on shutdown
Ugly implementation but this will do.

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 0ae529ac19 eo: Fix crashes with call cache after init cycle
It's not enough to check the init generation count, if the cache data is
not reset properly.

This patch adds safety in two ways:
 1. Actually reset the op call cache when we detect a new generation
 2. Verify that we don't return NULL function pointer

The 1st point is absolutely necessary, 2nd is optional (extra cost of
one if()).

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre f839905184 ecore_ipc: Unregister log domain on shutdown
An old comment mentioned that this was explicitely not unregistered, but
I believe the comment isn't valid since ecore_event_type_flush() was
introduced.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5cea60d157 elm: Fix elm_shutdown
ecore could not shut down properly in an elm_init()/elm_shutdown()
cycle, with 7 remaining references, all because of a typo.

This should help @cedric as well
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5258a6d46f win: Avoid calling same function twice on shutdown
This avoids calling:
  ecore_evas_callback_delete_request_set
  ecore_evas_callback_resize_set
twice when deleting a window. Also adds safety over sd->ee.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 3d2551175d evas: Fix shutdown of async cmd cache
The incomplete reset (array to NULL but max not reset) triggers errors
in evas_thread_queue_append() where eina_inarray_grow() returns NULL.

This shows up in:
   CK_FORK=no elm_suite

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre f3c9d25c1f elm: Properly unregister providers on shutdown
This should fix some errors in make check with CK_FORK=no

Test:
  <efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre c2ae93089b win: Avoid safety ERR in efreet
This is an error happening in make check. Annoying but mostly harmless.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre d453579ddf elm: Fix module load with ELM_RUN_IN_TREE
Somehow I was seeing a ton of errors with "prefs_iface" not found in
make check. This code could not have worked since the merge of
elementary in EFL tree...

@fix
2017-09-26 17:58:07 +09:00
Sungtaek Hong ebff5e8639 elm_bg: rename elm_bg to Efl.Ui.Bg
Summary:
elm_bg was supposed to be used only in legacy,
but since we need a common object to be used as a background of widgets,
it is now renamed as efl_ui_bg and supports EO APIs.

Reviewers: cedric, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D5147
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 8557fe818f input: Move pointer props to Canvas
efl_input_pointer_position is defined by two classes... bad!

Fixes T6066
2017-09-26 17:58:07 +09:00
Lukasz Stanislawski b3ffd78237 elm: rename Elm.Interface.Atspi.Text => Efl.Access.Text
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5167
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre c9f51e450b widget: Fix translation of default text parts
Note: fileselector uses this translation API

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5f96c6fb4b widget: Remove domain_part_text_translatable from EO
This removes the last remaining legacy-style part API from Widget.
I think this is redundant with the property "translatable_text"
introduced in Efl.Ui.Translatable.

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre e9dfcb44ff widget: Implement translation API in layout
This moves the API entry points from Widget to Layout parts. I don't
think the other widgets support translation, but that is easy to fix.
The actual code implementation remains in elm_widget.c.

Legacy-only widgets are covered by Part_Legacy, while all EO widgets
that have text inherit from Layout (except Win but I don't think the
window title was translatable in legacy).

This removes 2/3 remaining part APIs from Widget.

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 839c4ed395 elm: Introduce interface Efl.Ui.Translatable
This will be used to replace the part translation API in Elm.Widget. It
should work for both parts and non-parts (ie. the main text of a button,
for instance).

For now I'm taking the following approach:
 - All efl_text_set/get strings are untranslatable, i.e. get() returns
   the visible string, set replaces and can not be translated.
 - translatable_text_set/get needs to be used to enable automatic
   translation, which in turns calls efl_text_set to modify the visible
   string. Thus, translatable applications will have to use
   efl_ui_translatable_text_set a lot more than efl_text_set, unless
   they translate strings application-side.

Note that some other frameworks take a simpler approach equivalent to
calling efl_text_set() with an already translated text. This prevents
runtime language changes of the application, unless the application
handles them specifically.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 2b7f9b6dfd widget: Add tiny doc for Efl.Ui.Widget.Part 2017-09-26 17:58:07 +09:00
Daniel Hirt bfa7d2a3b2 Evas textblock: fix ascent/descent calc
This is a follow-up to 4d4401f3a6.
The format line adjustment (e.g. linegap) should calculate the current
item's ascent/descent, and then update c->ascent/c->descent.
Otherwise we accumulate calculations like linegap values

ref D5217
2017-09-26 10:52:38 +03:00
Carsten Haitzler d567faa778 Fix infinite recursion for legacy + efl ui win events 2017-09-26 16:44:45 +09:00
Daniel Zaoui abc075aeb3 Fix crash when an application wants to get the popup item class
Since elm_popup_item.eo.h is only included in elc_popup.h, the EAPI is
not well defined, resulting in a crash when, in a simple C file, the
item class is tried to be accessed.
By including the H file in elc_popup_eo.h, we make it public (as the
other item classes) and solve the EAPI issue.

Thanks @jpeg for helping me to solve this issue.
2017-09-26 10:16:44 +03:00
Youngbok Shin 4d4401f3a6 evas textblock: use primary font's size as minimum size of a line
Summary:
Textblock uses ascent, descent from primary font when there is no text.
If a text is set which need other font, Textblock uses ascent, descent from
actually loaded font. If loaded font has smaller size, text cursor and text
looks jerky in elm_entry. At least, primary font's size should be respected
as minimum size of a line for avoiding this issue.
In addition, the patch will allow negative line gap values.
@fix

Test Plan:
Put your hamburger(🍔) in Ecrire. And put an english character.
(Put a text which will load smaller font. And put a text which will load primary font.)

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D5217
2017-09-26 11:31:31 +09:00
Youngbok Shin 1750410650 evas: Add scale feature for embedded bitmap fonts.
Summary:
When evas selects a strike of embedded bitmap font,
calculate ratio and use it for scaling embedded bitmap.
@feature

Reviewers: jpeg, tasn, woohyun, raster, herdsman

Reviewed By: raster

Subscribers: charlesmilette, Francesco149, cedric

Differential Revision: https://phab.enlightenment.org/D2713
2017-09-26 11:31:31 +09:00
Felipe Magno de Almeida bb887f9869 eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types 2017-09-25 21:57:25 -03:00
Cedric BAIL fdc92ca868 elementary: provide a new initialization macro that support lifecycle.
EFL_MAIN_EX require efl_main, efl_resume, efl_pause and efl_terminate
to be working. Quicklaunch support added too.
2017-09-25 15:51:19 -07:00
Cedric BAIL 596dba5fe5 elementary: provide and implement lifecycle event on the window.
pause event means that the window is not visible anymore to any user.
resume is triggered when the window became visible again or just
became visible again.
2017-09-25 15:48:53 -07:00
Cedric BAIL ec9869b933 ecore: start adding life cycle support to Efl.Loop.
pause event is triggered when no more windows are visible to any user.
resume event is triggered when a window make the application visible
for the first time to the user after a pause or when starting the application.
2017-09-25 15:47:00 -07:00
Daniel Hirt ad3199ffc8 Ui text: use proper Efl.Text API to set text
Fixes error message during initialization.
2017-09-25 12:51:49 +03:00
Daniel Hirt 4f77eca4e1 Canvas text: don't generate legacy for new api
This is part of the new Canvas.Text.
2017-09-25 12:51:49 +03:00
Daniel Hirt f5560cb511 Ui text: use eina_value_get and not eina_value_pget
CID 1381328
2017-09-25 12:51:49 +03:00
Daniel Hirt b7b5d08929 Canvas text: use eina_value_set and not eina_value_pset
CID 1381327
2017-09-25 12:51:49 +03:00
Carsten Haitzler 2dac4a4efe elm hoversel - fix alignment in ephoto
fixes T6078

@fix
2017-09-25 18:23:04 +09:00
Jean-Philippe Andre 64eef9b223 inwin: Fix oopsie in previous commit
Bad push! >_<
2017-09-25 14:02:43 +09:00
Jean-Philippe Andre 2e36535190 inwin: Fix inwin (default content set/get/unset)
Thanks @JackDanielZ for the report!
This makes efl_content_set/get/unset APIs work on the inwin, even though
this is a legacy-only widget (at least right now).
2017-09-25 11:30:28 +09:00
Jean-Philippe Andre f76569a8b1 layout: Remove default content implementation
Legacy API is supposed to resolve the default content part name before
calling the EO API. Efl.Ui.Layout itself doesn't handle default content.
2017-09-25 11:20:49 +09:00
Jeeyong Um c3709d2a5a docs: eina_value: fix a typo 2017-09-25 09:24:16 +09:00
Marcel Hollerbach a78ecf089c elm_hover: do not register itself
we are already registered as root in that manager
2017-09-23 22:34:08 +02:00
Marcel Hollerbach 884bf2d06b elm_widget: abort is probebly a bit too much 2017-09-23 22:34:08 +02:00
Carsten Haitzler d136961e3e ecore exe - add an "isolate io"f lag for sending io to /dev/null
this is useful for security to disallow child processes access to
stdio/err of the parent process.

@feature
2017-09-23 22:44:17 +09:00
Cedric Bail 17507bab43 ecore: force initialization of Efl.Io.Closer.Fd.
This will prevent closing magically fd 0 when the object is not
initialized yet.
2017-09-22 14:57:15 -07:00
Cedric Bail 6232fa2a9b ecore_evas: skip deleted Ecore_Evas while searching for a general animator source. 2017-09-22 14:57:15 -07:00
Daniel Kolesa e4cd67c7d6 eolian cxx: rename generic_value to any_value 2017-09-22 22:52:18 +02:00
Daniel Kolesa 5e788e3a5c elua: bind new eolian type builtin API 2017-09-22 21:03:23 +02:00
Daniel Kolesa c146d6f877 eolian: add a way to query the builtin type of a type 2017-09-22 21:01:12 +02:00
Daniel Kolesa 9009d3dae4 eolian: add any_value_ptr
Because pointer Eina_Values and value Eina_Values have slightly
different semantics (when it comes to resource management) it's
better to split them.
2017-09-22 20:25:31 +02:00
Daniel Kolesa 3d8081d085 eolian: rename generic_value to any_value 2017-09-22 20:16:06 +02:00
Daniel Kolesa a6e5caba10 eolian: remove leftover code 2017-09-22 18:08:36 +02:00
Daniel Kolesa 1577c576e6 eolian: remove static_array and terminated_array
These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...
2017-09-22 18:01:15 +02:00
Daniel Kolesa 4bae2a7385 eolian: merge REGULAR and COMPLEX types 2017-09-22 17:46:02 +02:00
Daniel Kolesa f36e5bd543 eolian: add mstring
This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.
2017-09-22 17:10:42 +02:00
Daniel Kolesa fdd27cadf8 eo: make more freefuncs implicit 2017-09-22 16:17:19 +02:00
Mike Blumenkrantz 72e9d604a3 ecore-x: reject successive MappingNotify events if they are identical
in some cases loading an xmodmap on enlightenment startup can trigger an infinite
number of identical events which hard locks the xserver for a very, very long time

@fix
2017-09-22 10:10:07 -04:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Andy Williams ad6a858aad elm_code: respect event hold for key_down 2017-09-21 12:24:51 +01:00
Jean-Philippe Andre 849813fb84 layout: Fix slider label using proper part type
This relies on the new edje API that gives us the exact type of a part.
This fixes the shortcomings of edje_edit_part_type_get() and returns a
proper Text part type for efl_part(slider, "elm.units.max").

See previous commits:
  "edje: Add part_type_get API"
  "elm: Split off text and content for efl_part"
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 419f3935c6 edje: Add part_type_get API
For now I made this EO-only but this definitely could be expose in
legacy API as well.

This simply gives exact information about the type of part, after doing
a recursive search. Edit Edit doesn't do a recursive search, only a
direct one, which can yield invalid results (eg. RECT or NONE instead of
TEXT in case of "elm.units.max" for a slider).

@feature
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 2dbd704dae hover: Fix hover parts usage
The string comparison was invalid for full part names. It worked with
the aliases, by chance, not by design.

This got broken by eee60abbcf but using full part names from the
application side was already broken before that.

@fix
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 282928465c elm: Resolve part alias in legacy APIs only
This fixes make check.
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 112edeeea8 elm: Remove range "span_size" API in EO
Reasons:
 - This API has been confused with the min size of the widget, resulting
   in badly laid out applications.
 - The EO API was not very nice (Range is about numbers, the Gfx size
   hint in a part is really ugly).

While I understand the value of this API and how it can be used in
scalable applications, it is in fact not absolutely necessary.
Alternatively to that span size, the widget min size can already be
defined from the application side, or the widget can simply be expanded
to fill in its parent.

This can obviously be reinstated later if the need arises for EO. For
now, keep this feature as legacy-only.
2017-09-21 12:27:34 +09:00
Jean-Philippe Andre 28b387821d elm: Split off text and content for efl_part
This is VERY tricky.
For legacy, just create an internal class that has both. It's easier
this way. For parts that are handled by Layout directly, we know from
Edje which type to return.

For EO objects we should know from the part name which kind of part we
are dealing with:
 - text (overridden by the widget)
 - content (overridden by the widget)
 - special (new efl_part based functions)
 - generic (handled by Layout)

Note: Efl.Ui.Slider was handling "span size" on ALL parts. That's bad...
This is now limited to "span" only.
2017-09-21 12:27:34 +09:00
Jean-Philippe Andre 0339ad7740 elm: Move base implementation for efl_part in widget
This means that ALL part handles inherit from the base part class
Efl.Ui.Widget.Part. Layout is the only exception where Efl.Part is
specially overridden.

This is a first step towards generic part APIs, including background in
all widgets.
2017-09-21 12:27:33 +09:00
Daniel Hirt 1a854d892f Ui text: add Efl.Ui.Text_Async object
Adds "Efl.Ui.Text_Async" object.
This new widget uses the "async_layout" functionality of the underlying
Efl.Canvas.Text object.

Currently, if "editable" mode is enabled, there is no asynchronous
layout, as interactive operations (e.g. typing) should get processed
immediately. Thus, only "non-editable" instructs the text object to do
asynchronous layout.

@feature
2017-09-20 14:50:09 +03:00
Daniel Hirt b63c3620df Canvas text async: add async layout functionality
This adds the 'async_layout' method.
The 'async layout' method is similar to 'size_formatted_get', but done
outside of the mainloop. When a call is made to this method, a thread
is created (after some preparation like updating the logical text
items), and the visual layout is offloaded to that thread. The result
is returned as Eina.Future.

The mainloop is blocked for operations that manipulate the object, if a
thread has already been created but hasn't complete its work.
Consecutive calls for async layout for the same object are not handled
simultaneously. Each time the threads has complete its work, the next
(if exists) layout will be dispatched.

@feature
2017-09-20 14:50:09 +03:00
Carsten Haitzler 2510f68ff3 efl ui layout - handle content unset properly and remove the unset item
the content unset in some cases - specifically terminology seems to
put the item back in and doesnt remove it... causing it later to be
deleted if unset to remove it and re-use it (which is rarely done).

@fix
2017-09-20 17:32:42 +09:00
Daniel Hirt acd1c409a0 Ui text: add null checks for anchor update
Add null checks in case item was not found.
Also use one more emoticon to test the provider.
2017-09-20 09:19:33 +03:00
Daniel Hirt d44131a3aa Edje: move selection-related part_text API to legacy 2017-09-20 09:19:33 +03:00
Daniel Hirt 380b3eb09a Edje: move IMF-related part_text API to legacy 2017-09-20 09:19:33 +03:00
Chris Michael bd2588e72f ecore-drm2: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-19 11:45:43 -04:00
Jean-Philippe Andre 706cf9c488 elm: Fix invalid uses of Efl.Orientation
I think this closes the orientation vs. direction problem.
RTL vs. AnyRTL is not fully handled yet but this becomes a
widget-per-widget issue (eg. should a box in a RTL locale be mirrored if
set to horizontal?).

Fixes T5870
2017-09-19 18:53:35 +09:00
Sungtaek Hong 40e23ca459 efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE
Summary:
Tile is common type which can be used eg: background.
This is added to scale type which can be set/get by
efl_ui_image_scale_type_set/get()
@feature

Test Plan:
Run elementary test
           Run Image Scale Type
           Check radio "Tile".

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5119
2017-09-19 18:18:07 +09:00
Marcel Hollerbach 525b6bb1d9 evas_object_main: fallback to other usage instead of returning NULL
Even if a object is on deleting or doesnt have a layer, it still can be
found in a higher hirachy.
2017-09-19 10:34:22 +02:00
Hosang Kim 425c98289d evas_events: add checking state of point
Summary:
When multi down or multi move occur, state of touch point changes to EVAS_TOUCH_POINT_STILL.
So I add condition, "state == EVAS_TOUCH_POINT_STILL"

Reviewers: jypark, woohyun, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5157
2017-09-19 17:22:48 +09:00
Jeonghyun Yun cc691776f3 els_tooltip: Fix to use some functions before tooltip_test_set or tooltip_content_cb_set
Summary:
If user call tooltip_orient_set or tooltip_style_set or tooltip_window_mode_set
before tooltip_test_set or tooltip_content_cb_set, those functions doesn't work.
Because elm_tooltip will be created when tooltip_content_cb_set is called.
I fixed logic to use some functions before tooltip_test_set or tooltip_content_cb_set.

Test Plan: elementary_test -> Popups -> Tooltip

Reviewers: jpeg, Jaehyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5183
2017-09-19 17:05:15 +09:00
jiin.moon 4f8fe4889f evas_event: Fix missing case when check the event area
Summary:
If the object is outside the parent geometry because of map,
this object would be ignored in determining object is in the event area.

Please refer to below case
1) There are some button in the box object
2) A button has map with 90 degree.
   It would be placed outside the box geometry
3) If you press the button part outside the box,
   the button event does not work.

Test Plan: sample code

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5180
2017-09-19 16:59:16 +09:00
Bryce Harrington d94a4d8d89 evas: Document Textgrid objects API
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5179
2017-09-19 16:55:47 +09:00
Bryce Harrington c955625c44 evas: Textgrid doxygen grammar/spelling cleanup
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5177
2017-09-19 16:55:37 +09:00
Bryce Harrington 007b0a6659 evas: Eo Textgrid doc grammar cleanup
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5178
2017-09-19 16:55:25 +09:00
Sungtaek Hong 40be6c9582 elm_map: keep overlays list when showing overlays
Summary:
In elm_map_overlay_show and elm_map_overlays_show,
it frees overlays list members. This lists are used
in elm_map_overlay functions, so should remain.

Test Plan:
1. Run elementary_test -> Geographic -> Map
2. Click group overlay (whose text is "3") -> bubble appears
3. Click "Show" button -> observe no more Eina Magic Check Failure appear.

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5191
2017-09-19 16:37:00 +09:00
Jean-Philippe Andre 5b2ffb6bde evas: Fix invalid call to intercept
This fixes scrolling in rage.

Lessons learnt:
 - Do not trust raster's bisecting skills ^^,
 - Do not blame GCC until you're 100% positive about the exact code
   triggering an issue,
 - va_arg is unsafe, and can lead to crazy issues like this one,
 - va_arg passes (int x, int y) differently from Eina_Size2D sz, and
   optimization flags may also affect how that's done, or at least what
   kind of garbage data is used.
2017-09-19 16:35:28 +09:00
Jean-Philippe Andre d7588da0ae edje: Ensure min size calc is always >= restricted
We're not 100% sure yet but there seems to be an issue with GCC and -O2
where rage scrolling doesn't work anymore, since the first patch below:

See 641a58f735
See f53fe993a6

This commit unfortunately doesn't solve the issue.
2017-09-19 16:35:28 +09:00
Carsten Haitzler 50487b4575 efl po files - fix LTR/RTL translation string to be correct for langs
also add the comment in the code for trsanslators

@fix
2017-09-19 16:09:21 +09:00
Bryce Harrington c88aadb42a efl interfaces: Fix typo in doc
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5209
2017-09-19 12:15:55 +09:00
Jean-Philippe Andre 1a3e8ee6d0 edje: Fix invalid storage of efl_part objects
Test scenario:
 - elementary_test -to "ExtProgressBar"
 - Then click on "... from C

Fixes T6032

@fix
2017-09-19 12:11:13 +09:00
Jean-Philippe Andre 1f447f3a87 evas: Remove remnants from EO 1 internal API 2017-09-19 11:59:10 +09:00
Lukasz Stanislawski fcbdea364e elm: rename Elm.Interface.Atspi_Action => Efl.Access.Action
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5166
2017-09-19 11:36:28 +09:00
Lukasz Stanislawski 3e6cc83369 elm: rename Elm.Interface.Atspi.Selection => Efl.Access.Selection
Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5165
2017-09-19 11:18:22 +09:00
Jean-Philippe Andre 1e0b005829 text: Remove unused EO structs
Bad copy & paste?
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 0a2282f7d7 polygon: Use Eina.Position2D for point_add 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 3617053547 win: Use Eina.Size2D for pointer position
Also rename the function for more consistency.
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 64ebdd9c7b photocam: Use Eina.Rect for image_region 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre e4517b28d6 efl: Use Eina.Size2D for screen size
This API isn't so great when considering Wayland...
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 8bf06f95fe evas: Use Eina.Rect for load_region 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre a3250f975a efl: Use Eina.Size2D for image load size 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 89a7d9ea8e efl: Use Eina.Size2D for image size 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 986e5e8827 efl: Add precise_position for input events
The previous commit removed useless delta
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre e28aba0542 efl: Use Eina.Position2D for input events 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre b19ee757e5 efl: Use Eina.Size2D in Gfx.View 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 2df8ad36b4 evas: Use Eina.Slice on the stack (gfx.buffer) 2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 1f242afdef evas: Use Eina.Size2D for gfx.buffer
For consistency.
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre 686366a03b evas: Use Eina.Rect for object list functions
- objects_at_xy_get
- object_top_at_xy_get
- objects_in_rectangle_get
- object_top_in_rectangle_get
2017-09-19 10:51:48 +09:00
Jean-Philippe Andre bfd9487b94 efl: Use Eina.Size2D for Efl.Canvas.max_image_size
Rarely use
2017-09-19 10:51:48 +09:00
Daniel Zaoui 9c74548e08 Multibuttonentry: set as clickable
The clicked event is registered internally so the widget should be
considered as a clickable interface.
2017-09-19 00:37:59 +03:00
Cedric BAIL 8400859213 ecore: make efl_loop_future_scheduler_get shouldn't be exposed in the object function.
Function declared in a .eo are something that we want to allow people to inherit from
or use in a binding. I can't think of a situation where that would be the case for
this function and it solves at the same time problem of needing a shared interface
for both loop and loop_user.
2017-09-18 13:33:34 -07:00
Bryce Harrington ea811a9174 efl interface: add Eo API documentation for path and shape interpolation
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-09-18 11:18:43 -07:00