Commit Graph

55878 Commits

Author SHA1 Message Date
Carsten Haitzler 63a97dc8b4 licensing - remove dates as they aren't strictly needed under common law
common law copyright establishes copyright at point of creation anyway
and there isn't a need to keep dates there. saves having to update them.
2017-10-18 13:29:35 +09:00
Jean-Philippe Andre d4d7a783ed widget: Add FIXME note and cleanup whitespaces 2017-10-18 11:22:34 +09:00
Jean-Philippe Andre 79a1fd94ee edje: Use EO's beta auto_unref API for parts
This simplifies code and avoids unwanted leaks.
2017-10-18 11:02:16 +09:00
Jean-Philippe Andre df304d0155 eo: Add beta API for auto_unref after a call
Before screaming in horror (C++...) here's why we may need this:
Efl.Part.part API returns an object that is by definition valid for a
single function call only. Enforcing this in practice is actually quite
hard as all implementation functions must manually take care of the
life-cycle. This is a lot of code in many places and a lot of
opportunities to forget to properly handle that life-cycle. Also, this
means any invalid function call on a part will leak an object.

This API absolutely must remain either "internal" or "beta" and
definitely not become abused by applications. On top of that such an API
can cause great trouble for bindings like C++. As a consequence, only
specially crafted APIs like efl_part() should return an object marked as
auto_unref.

Alternatively this API could be defined in Eo.h or some other
Eo_Internal.h. I placed it in efl_object.eo because it's much more
convenient :) (read: I'm lazy)

****

Performance notes:

Tested with clang & gcc (with -O2), I had a look at the output of perf
top, in particular the asm view. I used eo_bench in a loop. My
conclusions are:

- EINA_LIKELY/UNLIKELY actually works. The jump statement varies
  according to the expectation. I highly doubt all those ugly goto in
  eo.c / Eo.h are even useful.

- The impact of auto_unref on a call_resolve is so small it doesn't even
  appear in the trace. It is significant inside call_end, though
  (obviously, that function is just a few lines long). That function
  accounts for ~1% to ~4% of all CPU time. The impact of auto_unref in
  call_end is ~4% of the function time. This means ~0.16% of all CPU
  time (worst measured case). _efl_object_op_api_id_get simply doesn't
  show up because of caching, so the extra check there is negligible.

PS: I also tested EINA_LIKELY/UNLIKELY by compiling with -O2 and looking
at the output with objdump. The flag is well respected, and the jump
instructions are what you would expect (no jump for LIKELY and jump for
UNLIKELY). Conclusion: The goto's in eo.c only make the code harder to
read...
2017-10-18 11:02:16 +09:00
Jean-Philippe Andre a1a04629e4 benchmarks: Fix titles in gnuplot
Just replace _ with \_ as _ means subscript.
2017-10-18 11:02:16 +09:00
Thiep Ha 6597b89f53 edje: correct the usage of EINA_SIZE2D
The usage of EINA_SIZE2D macro as left hand side variable
does not save the size value. The Eina_Size2D should be used.
2017-10-18 10:51:49 +09:00
Thiep Ha 65a87eb575 textpath: get the right size of text object
Recent change to use EINA_SIZE2D made the size be gotten incorrectly.
This corrects it.
2017-10-18 10:51:04 +09:00
Cedric Bail 6e64a104a6 eina: use a stringshare to store the filename internally.
T6164
2017-10-17 16:15:19 -07:00
Cedric Bail e0807ce797 eina: fix eina_hash_stringshared_new to actually compute the hash on the pointer.
Before this patch, the key would always be zero and the hash would solely
rely on the rbtree to be efficient. This improve the situation by using the pointer
as the key during hash computation.
2017-10-17 16:15:18 -07:00
Cedric Bail 29c6c3b95b eina: refactor eina hash computation of key length and hash value. 2017-10-17 16:15:18 -07:00
Prince Kumar Dubey 28ce98c411 elementary: fix double assignment
Summary: local variable "bp" assigned twice unnecessarily. The duplicate assignment is removed.

Reviewers: raster, cedric, jpeg

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 11:03:24 -07:00
Bowon Ryu a5323998c7 eina: add missing documentation for quad.
Summary: This adds missing doxgen documentation for eina_quad.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 11:00:53 -07:00
Bowon Ryu 47f70a43d1 eina: add missing documentation for rectangle.
Summary: This adds missing doxgen documentation for eina_rectangle.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 10:56:23 -07:00
Bowon Ryu a0bcf57bef eina: fix doxygen typo for eina_thread.
Summary: fix typo.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 10:54:24 -07:00
Cedric Bail 5a8181b3ee elementary: generic_value is to be replaced by any_value. 2017-10-17 10:51:05 -07:00
Cedric Bail 6998134669 elementary: add an exit_code to efl_exit as originally planned.
T6228
2017-10-17 10:39:05 -07:00
Marcel Hollerbach 0fb1d6e1fa elm_interface_scrollable: fix bringing in of a focused item
you also need to calculate in the object position
2017-10-17 17:49:48 +02:00
Marcel Hollerbach 0376092c78 elm_widget: print a error if there is no provider 2017-10-17 17:31:23 +02:00
Marcel Hollerbach e2975a1fcb elm_widget: also do not register if the top widget is not a win
this is currently quite a performance break, since that call is quite
heavy, lets see if we can optimize it later
2017-10-17 17:31:23 +02:00
Marcel Hollerbach 881815ec57 elm_widget: only register if you have to
first step into the direction of making that more secure
2017-10-17 17:31:23 +02:00
Marcel Hollerbach aa4c3c9eb7 elm_widget: move evaluation for registeration of widget
this is now earlier done, so we can reacted based on that
2017-10-17 17:31:23 +02:00
Shinwoo Kim 34f11c0a06 elementary: remove documentation error 2017-10-17 19:05:47 +09:00
Lauro Moura b7ab2ac1ed eo: Use any_value in eina_types.eot
Reviewers: q66, jpeg

Subscribers: jenkins, cedric

Differential Revision: https://phab.enlightenment.org/D5328
2017-10-17 17:31:38 +09:00
Prince Kumar Dubey 2866358a5d example: print format correction to avoid warning.
Reviewers: raster, cedric, jpeg

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5312
2017-10-17 17:31:38 +09:00
Jean-Philippe Andre b5c241ca08 frame: Implement content set/get/unset
Not a huge fan of my macro as it uses efl_part() where a direct call
could be possible, depending on the widget (win can, frame can't).

See D5241
2017-10-17 17:31:38 +09:00
Jean-Philippe Andre c9c9e6a209 elm: Rename Elm.Activate to Efl.Ui.Activate
Note: This is an EO-only beta API.

Ref T5329
2017-10-17 17:31:38 +09:00
Amitesh Singh 85d4a618a7 slider/progressbar: implement format_string of Efl.Ui.Format
remove the unit_format from Efl.Ui.Range.
2017-10-17 17:16:45 +09:00
SangHyeon Jade Lee 5798e226d5 fix typo space in include on eina_lock
remove space typo between #sharp and include about inline header
in eina_lock.h
2017-10-17 14:58:56 +09:00
Amitesh Singh 2d477f5672 efl_ui_format: change Eina.Strbug to @in type 2017-10-17 14:03:36 +09:00
Amitesh Singh 329dcfccd7 efl_ui_format: fix the namings and docs
it is based on review comments by Gustavo and JP.
2017-10-17 13:37:26 +09:00
Derek Foreman 3dd90f61a9 ee_wayland: Don't use wrong window size
Borderless windows, such as internal windows, need to be the exact size
they're passed by a configure event.
2017-10-16 16:17:29 -05:00
Bowon Ryu 01147d084f eina: rename parameter for doxygen
Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:39:33 -07:00
Prince Kumar Dubey e8b2a954b5 efreet: putting local variable "data" under preprocessor flag "SLOPPY_SPEC" to avoid below warning, if "SLOPPY_SPEC" is disabled.
Reviewers: raster, cedric

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:36:38 -07:00
Prince Kumar Dubey 030a3448fb eina: fix warning if EINA_SAFETY_CHECKS is disabled
Summary:
Putting local variable "d" under preprocessor flag "EINA_SAFETY_CHECKS" to avoid below warning, if "EINA_SAFETY_CHECKS" is disabled.
        1. local variable "d" is assigned but not used.
        2. If warning 1 is resolved then variable "d" will be unused.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:36:12 -07:00
Prince Kumar Dubey 284276b2ec ecore: removing assignment operation to avoid warning.
Summary: assignment to local variable "ret" has no meaning as it is not used after assignment. So, removing assignment operation to avoid warning.

Reviewers: raster, cedric

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:29:02 -07:00
Subodh Kumar 71f0daa9d1 ecore_wayland: fix assigned value is never used.
Summary:
Fix assigned value is never used.

@fix

Reviewers: cedric

Subscribers: shilpasingh, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:28:10 -07:00
Subodh Kumar 230810c4c4 edje_edit: duplicate assignment to variable.
Summary:
Avoid duplicate assignment to same variable.
@fix

Reviewers: cedric, jpeg

Reviewed By: cedric, jpeg

Subscribers: shilpasingh, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:27:38 -07:00
Marcel Hollerbach 18194f343e elm_gengrid: implement item-content-focus
#finally

For now we focus the widgets of a item, the item content can be cycled
by tab / Ctrl + tab. up/down/right/left are for now handled by gengrid
and move the focused item (everything else feels super weird with
multiple contents in a item)

ref T6181
2017-10-16 19:51:38 +02:00
Marcel Hollerbach 38d41b4a2b efl_ui_focus_composition: support beeing a pure logical composition 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 6f95bded51 efl_ui_composition: flushing elements from outside! 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 44554a6044 elm_slider: do not eat all key down events 2017-10-16 15:34:36 +02:00
Amitesh Singh 0088143ccb efl intf: Add format interface
Ref T6204
2017-10-16 21:26:25 +09:00
Marcel Hollerbach 45b4cdee19 efl_ui_focus_manager_calc: maintain focus when focused element is
unregistered

this should fix T6216.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 124586c8e4 elm_toolbar: make the manager customisable
so the toolbar items can be registered correctly
2017-10-16 11:02:13 +02:00
Marcel Hollerbach ac703d8229 elm_menu: implement provider_find to walk the parent relation
it turns out elm_menu is special, it doesnt use parent_obj of
elm_widget, it has his own parent field, which should be used.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 79c93db365 efl_ui_bg: this does not handle focus 2017-10-16 11:02:13 +02:00
Marcel Hollerbach f32359baba elm_toolbar: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach d712c1a911 elm_table: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach 2eefabae8e elm_grid: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach cb27a73968 elm_box: port to composition 2017-10-16 11:02:13 +02:00