Commit Graph

1385 Commits

Author SHA1 Message Date
Jean-Philippe Andre 882ad6fbf5 edje: Fix a major issue with recalc loop
With the new Efl.Ui.Clock widget, which implements Datetime,
most parts are relative to each other, and trigger a near-inifinite
recalc of all the parts. Indeed edje was recalculating a part even
if it had already calculated it (flag is set).

This seemingly simple patch fixes Datetime and probably a lot
of other edje widgets.

Fixes T4909

@fix
2017-02-21 17:56:31 +09:00
Myoungwoon Roy, Kim 7760613107 doxygen: fix typos and some wrong expressions in Edje and Eet API reference documentation.
Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in Edje and Eet API reference doxygen.

Test Plan: Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg

Subscribers: conr2d

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-16 10:16:52 -08:00
Godly T.Alias 48627996d7 efl: fix memory leak in edje and evas.
Summary:
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Signed-off-by: Ayush Srivastava <ayush.sriv@samsung.com>

Test Plan: EFL apps

Reviewers: cedric, raster

Subscribers: rajeshps, ayush.sriv, jpeg, prince.dubey

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-15 16:29:07 -08:00
Jean-Philippe Andre a9497131f7 edje: Fix object leak with Efl.Part
A call to efl_reuse was missing.
2017-02-15 20:57:31 +09:00
Jean-Philippe Andre d689afccae group: Track calls to group_del
After a long search I found that fileselector was not calling
super.group_del on deletion, leading to the use of dangling pointers.
So let's verify that group_del is properly called.

See T4598
2017-02-15 20:11:22 +09:00
Youngbok Shin a6fff5bc1e Edje calc: Fix textblock size calculation logic
Summary:
In singleline textblock, using "text.min: 1 0" and min, max width,
Edje allows to use expandable text with ellipsis. It shows ellipsis
when only text's width reach the max width.
But, Edje couldn't support same feature on multiline textblock.
Edje dose not use max height or text.max properly if ellipsis is enabled.
This feature is very useful to make a layout with dynamically aligned text.
@fix

Reviewers: cedric, tasn, woohyun, raster, herdsman

Subscribers: z-wony, eagleeye, jpeg

Differential Revision: https://phab.enlightenment.org/D3595
2017-02-14 16:17:02 +09:00
Carsten Haitzler 76244d89a7 vpath file - add a keey property to know if obj should be kept around
if its a file downloading (to a tmp location) or a zip/tar/whatever
file being extracted also to a tmp location and that tmp file needs to
be removed after ...you need to keep the obj around to know when to
delete the file. this makes the keeping optional and you query if the
vpath obj is meant to be kept or not. if it's not it's safe to del
immediately.

this cuts down 1 obj per image obj/edje obj when generally unused.
save some mem.
2017-02-13 16:51:49 +09:00
Jee-Yong Um 57c14f1c55 edje: fix cached edje modification issue
Summary:
_edje_part_***_set/get (for mouse_events, repeat_events, ignore_flags, mask_flags)
overwrite cached edje value. These behaviors affect all edje object added after
these changes, and result in not intended.

@fix

Reviewers: jpeg, cedric

Subscribers: akanad, woohyun

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 15:14:54 -08:00
Hosang Kim 15d46a419f edje_load: fix mirroring bug with GROUP, BOX, or TABLE part
Summary:
Mirrored stated should be applied to new edje_object
which is created for GROUP, BOX, or TABLE part.

@fix

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

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 14:17:47 -08:00
Amitesh Singh 1a798c37dc edje: unset timer pointer after delete.
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-02-04 13:30:49 +05:30
Gustavo Sverzut Barbieri 8dc853f230 ifdef RUN_IN_TREE logic.
This logic is only needed for autotools, cmake will replicate the
installation file structure and thus eina_prefix works out of box.
2017-02-03 12:36:38 -02:00
Carsten Haitzler 9c3df02c41 edje - fix crash on loading ancient edje files
ancient edje files dont put hash strings in the file dictionary but
instead inline and thus the strings cannot be direct added... silly
ancient files.

this is a horrible ugly workaround this but there isn't really
anything better than trying to detect such files (which dont seem to
have an older version in them i can find?) so detect by pointer
address and mapping the file.

this fixes T5138

@fix
2017-02-03 14:39:57 +09:00
Bruno Dilly b251e1a4ac edje: change seat signals
Use seat names as prefix, not as suffix, following
a top-down approach and avoiding issues
with applications that may be receiving
doubled signals (legacy + suffixed).

So instead of "mouse,in,seat1" signal will be
"seat,seat1,mouse,in".
2017-02-01 17:19:32 -02:00
Bruno Dilly 9893c6d91a edje: fix CID 1368019 - Null pointer dereferences
It only should check if it's allowed to focus a part
if a part was passed (if rp is null such check should
be skipped).
2017-02-01 17:19:32 -02:00
Vyacheslav Reutskiy 208c529e7a Revert "edje_edit: fix segmentation fault(Array index is out of bound)"
This patch need to revert because it just a temporary solution for load
'inherit_only' groups. Problem with these groups is solved in patch
c3733a213b

This reverts commit 88f5ac22c1.
2017-02-01 15:09:41 +02:00
Vyacheslav Reutskiy 13541f0054 edje_entry: don't send a 'changed' signal if Control is lock
This patch is avoid extra 'change' signals from edje_entry to
elm_entry.
Basically the entry fields does not react to keys pressed with
modificator 'Ctrl'. I was test on Windows 7, MacOS 10.12 and Unity
(GTK+) and they all have similar behavior - keys with 'Ctrl' are
ignored. So this patch make expected beharior for elm_entry
(edje_entry).
2017-01-25 16:27:23 +02:00
Carsten Haitzler e22de29461 edje - fix border scale by interpolation
several theme elements uses transitioning border scale by for
animation and this has been broken for quite some time now. the theme
sall looked wrong for ages. i just never junted down exactly why, but
i know... i wrote the themes that made use of scale by animation
interpolating from like 0.1 to 1 and so on to make for example a
shadow go from sharp to blurry... the theme hasnt changed. edje did.
it broke.

this fixes it back to where it was. interpolation now works. i left a
comment so no one tries to "fix it".

@fix
2017-01-25 22:30:13 +09:00
Felipe Magno de Almeida a1f2db255b cxx: Modify how to generate C++ headers and allow cyclic dependencies
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Vitalii Vorobiov bbdfe393e4 Edje_Edit: add forgotten API for map.zoom.x/y 2017-01-17 16:30:45 +02:00
Andrii Kroitor b909f913ed edje_edit: add Efl.File.mmap.set implementation for edje_edit
This fixes edje_edit_program_source_get for mmaped edje_edit object
@fix
2017-01-17 13:42:36 +02:00
Vitalii Vorobiov b23289a2a0 Edje_Edit: first part of vector API implementation
edje_edit_vector_del
edje_edit_vector_usage_list_get
edje_edit_vector_id_get
edje_edit_vectors_list_get

edje_edit_state_vector_get
edje_edit_state_vector_set
2017-01-11 17:25:05 +02:00
Cedric BAIL 8f1c071d6a eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ. 2017-01-06 15:58:46 -08:00
Mykyta Biliavskyi a3426a38ac edje_edit: fix set the images set as image.normal value.
Added ability to set the images set by name into image
part image.normal attribute.
Add search the images set id for case when the image id doesn't find in
image entries list.

@fix
2017-01-06 10:36:57 +02:00
Daniel Kolesa 192ea2c9ad eio, edje: use new property impl syntax 2016-12-27 17:47:00 +01:00
Jaehwan Kim 05521763ed edje_data: add the missed vector data. 2016-12-23 13:11:14 +09:00
Mykyta Biliavskyi 82b80212c6 Edje_Edit: replace eet_read_direct by eet_read function.
eet_read_direct function doesn't works with ciphered data, but it is
possible that edje file was ciphered. In this case data, that returned
by eet_read_direct always will be NULL.
2016-12-22 11:40:57 +02:00
Bruno Dilly 9308410479 edje: support filtering allowed seats per part
collections.group.parts.part.allowed_seats keeps a list
of seat names to be used for events filter.

So when evas devices of seat type are added, filters
may be applied for each part.

If no seat is listed, every seat may interact with such
part.
2016-12-21 23:03:33 -02:00
Bruno Dilly 65723a190a edje: clean erroneous documentation
Not implemented functions
2016-12-21 23:03:33 -02:00
Bruno Dilly 9bc9fde90e edje: add function on embryo to control focus
Add set_focus(part_id) and unset_focus().
Both functions accept an optional argument "seat_name".
If not provided default seat will be assumed.
2016-12-21 23:03:33 -02:00
Bruno Dilly d57d17723e edje: refactor _edje_program_run for FOCUS_SET action
Improve code readability and avoid code repetition.
2016-12-21 23:03:33 -02:00
Daniel Kolesa 620a3a06ae edje object: fix doc refs for part_external_param_type 2016-12-21 15:07:46 +01:00
Daniel Kolesa b74dd5b7f4 edje object: return EDJE_EXTERNAL_PARAM_TYPE_MAX properly
The getter of part_external_type should return this enum value
on error. Thanks Artem Popov for original fix, which however
involved using an integer value directly instead of the less
error-prone enum (see D4502).
2016-12-21 14:41:05 +01:00
Cedric BAIL a5804c970d edje: fix float comparison warning in vector loading logic.
Hum, there is no use of our fixed point infrastructure for vector.
2016-12-20 16:39:30 -08:00
Cedric BAIL 4c465772f9 edje: fix float comparison warning in edje programs. 2016-12-20 16:39:30 -08:00
Cedric BAIL 48fb9856c0 edje: fix float comparison warning in edje text logic. 2016-12-20 16:39:30 -08:00
Cedric BAIL 14d7ec478c edje: fix float comparison warning in edje edit logic. 2016-12-20 16:39:30 -08:00
Cedric BAIL 7abe432992 edje: fix float comparison warning in edje callback code. 2016-12-20 16:39:30 -08:00
Cedric BAIL b3ce8381e2 edje: fix float comparison warning in edje calc. 2016-12-20 16:39:30 -08:00
Cedric BAIL dc022d602d edje: fix float comparison warning in Box Layout logic. 2016-12-20 16:39:30 -08:00
Cedric BAIL a27561b5f5 edje: add infrastructure to test value. 2016-12-20 16:39:30 -08:00
Bruno Dilly 287486e920 edje: add flag to choose between evas or edje seat naming
collections.group.use_custom_seat_names should be set to '1'
to use seat names on signals as provided by Evas.

By default just follow Edje naming approach
("seat1", "seat2", ...)
2016-12-19 14:58:35 -02:00
Bruno Dilly c6399665dd edje: support action seats on edje_edit 2016-12-19 14:58:35 -02:00
Bruno Dilly 0ab6567b3e edje: accept optional seat parameter on FOCUS_OBJECT
If not provided, FOCUS_OBJECT action will keep acting
over default seat.

Also include a usage on edje-multiseat test
(actually no example was exercising this action).
2016-12-19 14:58:35 -02:00
Bruno Dilly bb3fd015de edje: add names for seats following an incremental pattern
This way it'll be possible to write EDC with seat names that
will work no matter how seats are named by each ecore_evas
backend or users.
2016-12-19 14:58:35 -02:00
Bruno Dilly 5cfdf3ec3a edje: support seat on focus action and signals
Seat goes as an optional parameter for FOCUS_SET (if not
provided, act over default seat), and emit signals
with seat suffix:
 * focus,in,$SEAT
 * focus,out,$SEAT
 * focus,part,in,$SEAT
 * focus,part,out,$SEAT
2016-12-19 14:58:35 -02:00
Bruno Dilly fecd59fe32 edje: add new signals providing seat information
Add the following signals:
 * mouse,in,$SEAT
 * mouse,out,$SEAT
 * mouse,move,$SEAT
 * mouse,clicked,$BUTTON,$SEAT
 * hold,on,$SEAT
 * hold,off,$SEAT
 * drag,$SEAT
 * drag,start,$SEAT
 * drag,stop,$SEAT
2016-12-19 14:58:35 -02:00
Cedric BAIL 0f65bde10c edje: handle case when strdup would be NULL.
alternate solution to D4488. Would be better to have a buffer and recycle it.
2016-12-16 15:15:17 -08:00
Thiep Ha a94f30f1dc edje_calc: remove redundant checking
We check amin > ZERO && amax > ZERO, so no need to do it them again.
2016-12-14 17:59:40 +09:00
Youngbok Shin 835c8d1b77 Edje: remove a unreachable code from edje_text.c
Summary:
If "text" is NULL, it is set as empty string in the above code.
So, the removed line is unreachable.

Test Plan: N/A

Reviewers: raster, cedric, herdsman, woohyun, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4462
2016-12-08 13:31:05 +09:00
Jaehwan Kim 7cce8ae40d edje_calc: round the scaled value when it is casted to int type.
It rounds the value for the more precious calculation when the scaled
value is casted to int type.
2016-11-30 14:00:11 +09:00
Youngbok Shin 29ec0aa194 edje entry: fix crash issue due to improper callback handling
Summary:
If there were multiple elm_entry objects and some of them were deleted,
the callback function would cause crash problem.
The callback function only for specific data should be deleted when
a entry object is deleted.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, woohyun, subodh6129

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4435
2016-11-29 14:39:01 +09:00
Vitalii Vorobiov 1a9a3e701d Edje_Edit: use specific function to get file's name correctly on Win and Linux
Because '\' is dir path for linux, but '/' is dir path for Window,
so better use specific function for getting file's name depending on specific
system
2016-11-25 15:00:49 +02:00
Guilherme Iscaro 6572ad9e02 Efl.Canvas.Object: Remove focus,in/out events.
Since this object already inherist Efl.Input.Interface there's no need
to have those events reimplemented.
2016-11-24 19:18:47 -02:00
Artem Popov 7372b1d156 Edje: add checking on NULL 3-rd parameter in edje_object_part_external_param_type_get()
@fix

Summary: add checking on NULL 3-rd parameter (param) before strcmp to avoid segfault

Reviewers: cedric, jpeg, NikaWhite, myoungwoon, Hermet

Reviewed By: Hermet

Subscribers: Hermet, t.naumenko

Differential Revision: https://phab.enlightenment.org/D4424
2016-11-24 12:13:36 +09:00
Stefan Schmidt 6e86415b13 docs: edje: fill last gaps in edje eo file documentation 2016-11-23 14:16:24 +01:00
Jaehwan Kim 88f5ac22c1 edje_edit: fix segmentation fault(Array index is out of bound)
@fix
2016-11-22 17:17:54 +09:00
Stefan Schmidt e056e0b1d1 docs: edje: finish up eo file docs for edje 2016-11-11 10:25:33 +01:00
Daniel Hirt 03856913c2 Edje containers: split logic
This splits the current Efl.Part implementation for the edje container
objects. These are now split to a edje_part.c, edje_part_helper.h and
separate sources for swallow, box and table.

It's going to make things a bit easier for porting the rest of the
logic.
2016-11-10 18:23:21 +02:00
Vyacheslav Reutskiy 5fc98901ec edje_edit: fix compare double values 2016-11-08 09:40:25 +02:00
Daniel Kolesa 0ad751cd83 edje eo: remove pointers 2016-11-04 17:19:53 +01:00
Stefan Schmidt 7a05269d66 docs: edje: document various type defines 2016-11-03 11:57:40 +01:00
Jee-Yong Um 0fd1445508 edje.object: implement Efl.Observer interface
Summary:
To remove duplicated lines to handle edje class (color, text, size),
observer interface is implemented to Edje.Object.

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Vyacheslav Reutskiy 7cce17fd46 edje_edit: generate to source code base_scale if it different from 1.0
Fixes T4767
2016-10-31 13:17:45 +02:00
InHong Han fb6ffc6ac5 elm_entry: Add voice input panel layout
@feature

Change-Id: I41502d2446b95a4be31fc60a8d995b9d37930844
Signed-off-by: InHong Han <inhong1.han@samsung.com>
2016-10-31 19:10:53 +09:00
Vitalii Vorobiov 4655f90aaf Edje_Edit: save files name instead of full path on sound add
Since file will be inside of edj file, there is no need in having full path to
the place from where it was imported

@fix
2016-10-28 15:57:23 +03:00
Jean Guyomarc'h 1177add1dd
edje: remove extraneous new line in debug log
There was an extraneous '\n' at the end of the debug log invocation.
Since a new line is already appended by eina_log, this was redundant and
made the console output ugly. It is prettier now.
2016-10-26 15:56:46 +02:00
Vitalii Vorobiov aa423e7669 Edje_Edit: use correct description array accessing
its a loop with j, but not with i
kinda a little typo

@fix
2016-10-25 18:25:05 +03:00
Stefan Schmidt ef814db490 docs: harmonise use of enum sentinel description in eo files 2016-10-25 16:08:24 +02:00
Stefan Schmidt e81acf70e6 docs: edje: consistent use of $true and $false keywords 2016-10-24 17:15:31 +02:00
Stefan Schmidt 4e7b9ae7ba docs: edje: add some missing descriptions in edje enums 2016-10-20 17:45:33 +02:00
Vyacheslav Reutskiy 2922b68fdf edje_edit: avoid generate '(null)' value for image.normal 2016-10-18 08:49:07 +03:00
Vyacheslav Reutskiy 7d3200c782 edje_edit: add correct tweens generation for inherit state 2016-10-18 08:24:39 +03:00
Andrii Kroitor 6711a414dc edje_edit: refactor eet file usage
Summary:
Move opening for read/write/read-write and error message to internal method
Reuse eet file from Edje instead of opening it again in read-only mode
Add wrapper for eet_close to skip closing if internal file was used

Reviewers: NikaWhite

Subscribers: cedric, jpeg, #eflete

Differential Revision: https://phab.enlightenment.org/D4353
2016-10-17 18:51:59 +03:00
Vyacheslav Reutskiy e6fa6ba945 edje_edit: new API for generate source code for color classes
Extend edje edit deberate source API. Add two new API.
 - edje_edit_object_color_class_list_get return a list of used color classes for
   given object
 - edje_edit_color_classes_source_generate is generate code for given
   color classes list
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 8d7ec4181e edje_edit: add API for get source code of global block data
This API is annex for edje_edit_object_source_generate. Together this
API's provide a mechanism for generate source for custom groups from
a edj file or more.
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 49689708a6 edje_edit: add API for generate group source code without 'collection' 2016-10-12 15:03:20 +03:00
Jean Guyomarc'h f0df50fe67
edje: fix memory leak 2016-10-12 08:08:12 +02:00
Jean-Philippe Andre 9bf0df8f32 evas: Mark group_add/del as internal
Lacking a proper internal tag, I'm using both protected (it is
in fact a protected access function) and beta (to mark as unstable,
not real API).

New smart objects based on EO only should rely on constructor,
finalize and destructor exclusively. In theory, this should be fine.

Unfortunately it may be impossible to inherit from the Efl.Ui.Win
class as it uses a really bad hack and calls super.constructor
inside the finalize method.
2016-10-12 11:47:50 +09:00
Jean-Philippe Andre 8a9f0bd603 evas/elm: Remove function group_resize
This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
 - intercept
 - smart resize (do stuff), super, super, super
 - evas object resize

The new code is more like:
 - intercept
 - super, super, super, evas object resize
 - do stuff

But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 11b7cf6b72 evas/elm: Remove function group_move
This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.

A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:

  _myclass_position_set(obj, x, y) {
    position_set(super(obj), x, y);
    position_get(obj, &prevx, &prevy);
    do_something_with_delta_xy();
  }

The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 97c9fa64a4 evas/elm: Remove group_show and group_hide
These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.

Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
 - window
 - notify
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 9b8da4eb02 group: Replace group_no_render by object no_render
Most of the smart functions "Efl.Canvas.Group.group_xxx" should
not exist and be overrides of the base object function instead.
Cleaning this up is necessary if we want an EO API for custom
smart objects. This patch is the first attempt at removing a
method (the simplest one).

As for no_render, I wonder if propagating to the children
really is necessary. evas_render should skip them already.
2016-10-12 11:25:55 +09:00
Hosang Kim 304ca158be edje_calc: add rounding pixel calculation for transition.
Summary: when transition animation is working, sometimes one pixels loss occurs.

Reviewers: cedric, woohyun, jpeg, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4341
2016-10-11 21:32:23 +09:00
Vitalii Vorobiov 9450c1ec7b edje_edit: proper work with part id's on part restack and del for map fields
@fix
2016-10-11 15:15:19 +03:00
Subhransu Mohanty cf779b44e0 evas/vg: renamed the legacy vg shape apis
Reviewers: Hermet, cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4284
2016-10-05 11:07:12 +09:00
Vitalii Vorobiov 173edf6020 Edje_Edit: add forgotten part_item_index API into header
It was already implemented but looks like forgotten to be added into
Edje_Edit header, so we got banch of unused and unavailable API

@fix
2016-10-03 20:07:13 +03:00
Jaehwan Kim e811484ba5 edje_program: add NULL checking 2016-09-28 14:47:26 +09:00
Carsten Haitzler 8257c95f39 edje signal emits - enable DBG for being able to debug edj files
this would allow all emits from embryo script or otherwise to be seen
and debugged via eina-log.
2016-09-23 20:11:24 +09:00
Thiep Ha cc7dbde840 text/entry: add more key controls for os x
In OS X, cmd-c,v, ... keys are used instead of ctrl-c,v...,
this patch adapts these key handlings.
2016-09-23 17:51:37 +09:00
Carsten Haitzler 8c28a70b43 Revert "edje edje_embryo: use strncpy()."
This reverts commit 06bd8dcf33.

just dismiss in coverity if the code is not actually wrong
2016-09-22 08:31:00 +09:00
Hermet Park 06bd8dcf33 edje edje_embryo: use strncpy().
This change is not meaningful but avoids an annoying coverity detection.
2016-09-21 15:03:11 +09:00
junsu choi bed6c84afb edje_edit : add null check and close eet
Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
2016-09-21 09:42:46 +09:00
Jaehwan Kim 3efdd5df54 edje_edit: add null checking 2016-09-20 13:46:29 +09:00
Vitalii Vorobiov b324b754f3 edje_edit: make tweens able to work with image sets
it's important because some tweens of loaded edje group might use image sets
instead of images, so now making edje_edit API to work with them correctly

@fix
2016-09-19 18:15:18 +03:00
Mykyta Biliavskyi a098ea0f3d Edje_Edit: check returned value edje_edit_edje_file_save function.
In edje_edit_group_copy() for case when save routine is failed
still returned EINA_TRUE. Now will be returned result of save routine.

@fix
CID: 1362727
2016-09-12 14:31:08 +03:00
Tom Hacohen 9c779dca90 Rename efl_self to efl_added
It has been discussed on the ML (thread: "[RFC] rename efl_self") and
IRC, and has been decided we should rename it to this in order to avoid
confusion with the already established meaning of self which is very
similar to what we were using it for, but didn't have complete overlap.

Kudos to Marcel Hollerbach for initiating the discussion and
fighting for it until he convinced a significant mass. :)

This commit breaks API, and depending on compiler potentially ABI.

@feature
2016-09-05 16:59:56 +01:00
Daniel Hirt 2e53068907 Edje entry: fix selection start with shift + mouse_down
Fixes T3043.

Starting a selection should be possible with shift + mouse_down. No need to
check the "have_selection" flag.

@fix
2016-09-05 14:32:34 +03:00
Marcel Hollerbach 58dedf4674 edje: protect against no file set yet.
Summary:
There can be the case that the file of a edje is NULL. Even if this case
is a bit strange, we should not crash on it.

Sample code which produces the crash:

   Edje_Object *edje;
   int r, g, b, a;

   edje = edje_object_add(evas);

   edje_obj_color_class_get(edje, "bla",
	EDJE_COLOR_CLASS_MODE_COLOR, &r, &g, &b, &a);

So better protect against this case.

Reviewers: raster, herdsman

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4277
2016-09-04 13:46:38 +02:00
Mykyta Biliavskyi b6e2b8601d Edje edit: allocate memory for mempools.
Just added allocations that missed in "edje - reduce another 400k or so
of memory usage (esp hello world)" commit.
2016-08-30 16:57:53 +03:00
Tom Hacohen d5e321466e Efl object: Rename Eo_Event -> Efl_Event.
This is the last step of the Eo renaming efforts.
2016-08-30 13:34:10 +01:00
Subodh Kumar 0f4cdf7a48 Edje entry: Pass correct cursor position and text to imf in case of selection
Summary:
When selection is there we are passing the whole text and position to imf
which sees that next character like matras (eg .Hindi) should be inserted
(if pressed) and when matra comes the selected text is gone and only matra
remains in the entry.

eg:  we have text in hindi like मानक, select all and hit matra in keyboard
selected text is gone, only matra is there.

@fix

Test Plan: Tested in Tizen device

Reviewers: jihoon, tasn, herdsman, thiepha

Subscribers: Hermet, shilpasingh, raster, subodh, jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D2951
2016-08-29 17:26:40 +09:00
Vitor Sousa 8356b16a49 Efl Object: remove legacy callback calls from event_callback_call
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.

Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.

Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
2016-08-26 15:45:07 -03:00
Jean-Philippe Andre d504284dd2 efl: Rename Efl.Event.XX to Efl.Input.XX
This removes:
 Efl.Event interface

And renames:
 Efl.Event.Input -> Efl.Input.Event
 Efl.Event -> Efl.Input.Event (merged)
 Efl.Event.Pointer -> Efl.Input.Pointer
 Efl.Event.Key -> Efl.Input.Key
 Efl.Event.Hold -> Efl.Input.Hold

This also moves some interfaces from efl/ to evas/ where they
belong better.

This allows renaming Eo_Event to Efl_Event.
2016-08-26 10:18:01 +09:00
Jean Guyomarc'h 4285fc1dda edje: fix warning raised by clang
Clang was not happy with the initialization of
the structure.
2016-08-22 19:57:06 +02:00
Carsten Haitzler 39e3a06fd5 edje - cut another 120k or so off memory usage by using direct hash add
so every collection we add to the eina has of collections... we just
did eina_hash_add - this isn't quite good. because we use eina_file
and mmap the edje file. we COULd use the strings straigh fromt he edje
filer dictionary and not actually allocate private heap memory - thus
sharing all those strings. this was silly, and this saves about
another 120k of memory with the default theme as it has about 1500 or
so collections in it... and these strings add up fast.

@optimize
2016-08-21 11:37:22 +09:00
Carsten Haitzler 419f84907b edje - fix missing vector field frees, copies, handling etc.
it seems vector type parts were not handled all that well. we had at
least one mem leak with the vector mempool never being freed... so i
filled in various missing points where vector parts were not being
handled right.

@fix
2016-08-21 11:30:45 +09:00
Carsten Haitzler 6139c7a3c6 edje - reduce anothr 400k or so of memory usage (esp hello world)
so edje was allocating 32 pointers per collection. this is per
collection inside an edje file even if we just use one collection from
that edje file. it consumes 32 pointers. on 64bit thats 256 bytes...
just for pointers to mempools so we can "optimize" freeing and
allocation of parts. this was simply rediculous. i moved it to a
sub-struct allocated on demand (so now only for collections we
actually use) and this nuked 400k of "base memory usage youcant get
rid of).

note that our current default theme has something like 1100 or so
images, 1500 or so collections in it. as theme gorws, memory footprint
goes up if we dont allocation only on demand (when needed/used) and we
aren't careful about the size of our data structs and their content.

@optimize
2016-08-21 11:14:28 +09:00
Carsten Haitzler 4be972c41c ejde - fix recalc single min n edje for h eval
this fixes a seemingly small typo that would only turn up with fixed
point, but not floats as we have by default whwere we had
  x = 999;
instead of
  x = FROM_INT(999);

shouldn't be visibule unless you disable float support and use fixed
point in edje.
2016-08-18 14:21:08 +09:00
Carsten Haitzler 6f9f361f3e edje - solve crash issues brought on by optimization of edje mem usage
this solves a crash brought on by 1d6a58cfc9
that optimized mem usage but seems to have created issues in empc.

fixes T4382
2016-08-18 14:21:08 +09:00
Jihoon Kim 0e35f8454e edje_entry: Make a result of retrieve_surrounding_cb secure
Summary:
Regardless of the password mode of Entry,
_edje_entry_imf_retrieve_surrounding_cb alwalys passes plain_text
to any callers who register that callback.

This commit replace plain text with '*'
because current behavior could be a security hole in some case.

Reviewers: woohyun, id213sin, jihoon

Reviewed By: jihoon

Subscribers: cedric, jsuya, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D4238
2016-08-18 10:40:24 +09:00
Jean-Philippe Andre ae3ac0cd25 edje: Allow no_render in description
Previously, it was limited to the part block. It was a mistake
and should have been put in the description instead, as this
allows it to change during state transition (like visible, or
proxy_src_visible).

@feature
2016-08-16 20:08:32 +09:00
Jee-Yong Um 4fc6d3cf90 edje: resolve user defined string with type
Summary: Resolve Edje_User_Defined string with type (normal/escaped/unescaped)

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4219
2016-08-16 16:14:21 +09:00
Jinyong Park 471a328ea0 edje_embryo: add function to know swallow has object
Summary:
Using edc script, there is no way to know evas object is set on swallow part or not.
So, to know that, some elm widget send signal and save some information to edc variables when object is set on swallow part.
I think it is helpful to make better edc script.

@feature

Reviewers: herb, cedric, raster, id213sin, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4176
2016-08-16 16:14:21 +09:00
Jee-Yong Um 14ff664b76 edje: clean up APIs
- convert methods to property setter/getter
- remove "values" block when getter returns read_only value
- fit the type of params of eo funcs to those of legacy APIs
2016-08-16 15:38:42 +09:00
Jee-Yong Um 1df890d51a edje: clean up part text item APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um afc04302ed edje: clean up part text anchor APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 69ffbbb3eb edje: clean up part text input panel APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 5c989481b7 edje: clean up part text imf context APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um fcc7bbcf97 edje: clean up part text select APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 90b20e4da1 edje: clean up part text cursor APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 7621e28ca4 edje: clean up part text APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 42750beba4 edje: clean up part external APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 7299933359 edje: fix reference error of part drag APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 504f43698e edje: clean up part drag APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 080d5cef11 edje: clean up part basic APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um c772bb0390 edje: group methods in edje_object.eo 2016-08-16 15:38:42 +09:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Carsten Haitzler 1d6a58cfc9 edje - save memory on edje parts as a lot of over-allocation was done
so ... Edje_Calc_Params was huge ... like about 200 bytes. every part
in every live edje object got one of these in addtion to real part
struct info etc. ... so really every part was probably consuming
300-500 bytes or so... crazy. so i made a lot of the data now optional
so only the minimum required is allocated now which cuts down about 110
or even 120 bytes per part, depending. 100 bytes was needed for 3d
node parts even though almsot no parts are 3d node parts... the image
and text data was 30-40 bytes so we consumed 100 even if we only used
30-40... so this cuts that done and puts in polace calc param cleanup
funcs everywhere they are needed to clean up this extra allocated data.

i also reduced this even more by maping pointers to req_drag, map and
physics and clip_to fields in another extension struct cutting
down another 28/52 bytes on most parts (in  return for an added
4/8 bytes - on 32/64bit accordingly).

in elementary_test this saves about ~300kb of ram for just having the
etst run and displaying (peak memory measuremment). so massif says
10.6M -> 10.3M.

@optimize
2016-08-15 09:21:08 +09:00
Carsten Haitzler 0779adcf0b edje - remove unused fields from part desc and calc params
fill spread and angle have never been used - resevred intitially for
gradient objects, but never put into use, so remove to get rid of
junk/memory footprint etc.

@optimize
2016-08-14 13:51:52 +09:00
Carsten Haitzler 749bc23231 edje - replace eina list with eina inlist to save mem and performance
edje was keeping every edje object created in an eina list so it could
access them later. not really great when every list node contains at
least 4 pointers (data, next, prev and accounting, possibly magic
too). also ever time an edje object is deleted it has to remove from
this list which means... walking the list to where the obj is... not
great. replace with an inlist which is just 3 ptrs, no extra pressure
on list pool and removal os O(1) too.

@optimize
2016-08-14 12:25:59 +09:00
Carsten Haitzler c56b12f827 efl api release - fix @since in new edje edit api 2016-08-12 18:04:10 +02:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Carsten Haitzler b146b60974 edje entry - handle insanely low lemory if list_append fails
this fixes coverity CID 1357752
2016-08-08 17:47:14 +09:00
Carsten Haitzler dd584b9f79 efl - edje entry - dont emit changed on markup set unless text changed
if the text didnt actually change we generat a lot of noise in changed
signals for no change at all in text. shortcut this and check the new
and old text and compare ptrs, 0 length and strings etc.

this fixes T4045

@fix
2016-08-08 14:27:26 +09:00
Vincent Torri e4c166281f Edje_Edit.h: undef EAPI at the end of the header file
Fixes T4303
2016-08-07 11:47:05 +02:00
Stefan Schmidt 64bf1da8c1 edje: mark new edje_mmap_3d_has() API with since tag 2016-08-05 23:14:57 +02:00
Jean-Philippe Andre 28c917836c efl: Cleanup some code (return values)
This removes some useless code in various places, where the
switch from eo_do() to standard function call was not properly
refactored.

This changes:

type ret = 0;
ret = my_eo_function();
return ret;

To:

return my_eo_function();
2016-08-05 10:32:30 +09:00
Carsten Haitzler e5cfb76ef1 edje object shutdown - be far more paranoid about ptrs and order
so we didnt set everything to null after being freed and object sae
freed after some data. do the data frees after objects are deleted so
callbacks cant access null data anyway. this makes this edje shutdown
far more robust and safe. massive improvement in stability i hope.
2016-08-04 18:28:49 +09:00
Carsten Haitzler c59995916e edje - fix access to freed data struct during object shutdown
this fixes T4181
2016-08-04 18:19:42 +09:00
Subhransu Mohanty d458101a41 edje: updated the start index of vector resource from 1 to 0
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-08-03 17:34:57 -07:00
Davide Andreoli 7c01254ba7 edje: fix color class broken by b543f4c896.
T4270

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-08-02 16:54:33 -07:00
Vitalii Vorobiov dde1299182 edje_edit: delete swallowed object before unswallowing (for part type GROUP)
unswallowing set swallowed_object to NULL inside of
_edje_real_part_swallow_clear
so it is impossible to delete object anymore.
And so, changing sources leaves fantoms and undeleted objects.

@fix
2016-08-02 17:01:33 +03:00
Carsten Haitzler 879d93377b efl runtime dynamic lib loading - make errors consistent and useful
so drop trying to appease the openbsd packages and stick to "upstream
so major versions" and let users fix their systems with symlinks. also
report what we are looking for so they have a chance to symlink to
make efl happy.

at some point we should make a single simple runtime lib linker
subsystem in efl so all these errors are reported in the same way,
input libray names are listed in a simple consistent way etc. etc.

for now we have 3 locations in efl that do this and they are roughly
similar. we can unify it later.
2016-08-02 11:23:34 +09:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Carsten Haitzler 1d0b500fa8 edje - reduce memory footrpint by dlopening ephysics on demand
this saves about another 80Kb or so in dirty pages by only loading
ephysics when needed. This removed ephysics and bullet library dirty
pages from the process space. this is another patch to address T4227.

@fix
2016-08-01 19:11:39 +09:00
Subhransu Mohanty 7af272d93c edje: Fix handling of polygon and polyline node.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4203
2016-08-01 13:23:44 +09:00
Carsten Haitzler 1c7663e311 edje entry - check all minor struct callocs and on fail report + unwind
lots of unchecked malloc/calloc returns, so check these, unwind safely
and complain (highly unlikely to happen unless the system is about to
fall over). this should fix T4230
2016-07-28 11:00:35 +09:00
Vitalii Vorobiov b07a0c523c edje_edit: avoid such values like 2.77556e-17
using spinner to change double values means that sometimes
if set such weird values while should go to 0.0

@fix
2016-07-27 15:18:07 +03:00
Stefan Schmidt 3f4b2a2c90 edje: remove now unused variables
Commit e3ed888aa9 removed the code where these
variables have been used before.
2016-07-26 12:41:19 +02:00
Jean-Philippe Andre 365a322f01 edje: Remove invalid call to recalc in efl_part
What a mess... Assuming efl_part() had no side effect on the
object it took me hours to figure out that there was a wrong
call to _edje_recalc_do in the efl_part() function itself.
That was bad, and existed because efl_part() used to be
efl_content_get().

efl_part() should not have any side effect.

Also, fix a return value in content_remove.

Fixes T4214 (invalid redraw and crash in terminology).
2016-07-26 18:57:38 +09:00
Subhransu Mohanty e3ed888aa9 edje: fixed issue with applying transformation and stroke width
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4192
2016-07-26 14:33:15 +09:00
Jean-Philippe Andre 9f04590bbf edje: Minor fix (return proper bool value) 2016-07-26 14:19:59 +09:00
Jean-Philippe Andre 3590010003 edje: Use eo_del instead of eo_unref where needed
This fixes the following error message:
Object '0x40000002f0000030' still has a parent at the time of destruction.

Though I actually wonder why ref == 0 and there was a parent.
Something is still a bit fishy here.
2016-07-26 14:19:59 +09:00
Carsten Haitzler 35e39f4145 edje entry - fix coverity CID 1357752
fix potential crash if calloc fails and sel is NULL

@fix
2016-07-24 18:44:15 +09:00
Chris Michael 4555f5d594 edje: Fix unchecked return value
Coverity reports that we call _circular_dependency_find here without
checking the return value

Fixes Coverity CID1349867

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:29:35 -04:00
Carsten Haitzler d143becfe1 edje lang set - fix coverity harmless complaint
fix CID 1357755
2016-07-19 16:41:06 +09:00
perepelits.m 77afcb596d edje: fix definition of viewport in edje-3d
We now use eo_do() and EFL_CANVAS_SCENE3D_CLASS macro to create viewport

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-18 10:42:59 -07:00
Jee-Yong Um 5a3c015e9e edje: add required attribute in Edje_Part
Summary:
When using EDC written by another person, developer usually
does not need to know all specified parts in EDC but editable
like swallow, text or textblock parts.
The required flag tells whether the part is intended to be used outside EDC.

Reviewers: jpeg, cedric, raster, Hermet

Reviewed By: jpeg, raster

Subscribers: raster, NikaWhite, kimcinoo, jpeg

Differential Revision: https://phab.enlightenment.org/D3579
2016-07-15 16:34:34 +09:00
Jean-Philippe Andre cdc8d15a5c edje: Add missing 'break' in edje_embryo switch
Fixes CID: 1352521 1352522 1352523 1352524 1352525

See 4ed9b8325
2016-07-13 15:34:17 +09:00
Subodh Kumar e0251ad46f Edje entry: Do not update anchors outside viewport.
Summary:
Do not update anchors outside viewport.

Problem is that when entry contains large number of anchors,
scrolling and launch performance is degraded due to lots of objects
being created and maintained, so to enhance the performance of
entry with anchors,  anchors is not  updated outside the viewport.

Test Plan:
1. Should have large number of anchors in entry
2. Observe the launch and scrolling performance.

Reviewers: tasn, raster, herdsman

Subscribers: thiepha, raster, cedric, jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D3543
2016-07-12 10:50:53 +00:00
Shinwoo Kim c52eda0bf1 edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
Summary: Need discussion about the repeat_events property

Test Plan: Swallow an object which has EINA_TRUE repeat_events to a swallow part which has EINA_FALSE repeat_events

Reviewers: Hermet, cedric, raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jaehwan, seoz, woohyun

Differential Revision: https://phab.enlightenment.org/D3580
2016-07-12 10:53:32 +09:00
Youngbok Shin 982ef0b9d0 Edje calc: Fix Evas Text width calculation with ellipsis
Summary:
To keep consistency with Evas Textblock part in edje,
text.min has to work logically even if ellipsis is enabled.
If a Text part has minimum width, maximum width and "text.min: 1 X;",
Text part should be expanded until its width reaches to the maximum width.
Then, ellipsis will work. Singleline Textblock is also working like this.
@fix

Reviewers: cedric, herdsman, raster, tasn

Subscribers: Blackmole, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D3587
2016-07-12 10:48:17 +09:00
Chris Michael ce9379398f edje: Fix issue of null pointer dereference
Coverity reports that 'text' here is a null pointer dereference so
check for valid 'text' variable before trying to use it.

Fixes Coverity CID1267490

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-11 11:20:23 -04:00
Subodh Kumar 4aa0590ebd Edje entry: Add link press effect
Summary:
Add link press effect

Custom tag (linked_pressed) has to be supplied in entry tb style
with color value for press effect to be applied on link text.

Reviewers: tasn

Subscribers: shilpasingh, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3629
2016-07-11 18:26:29 +09:00
Youngbok Shin df40586f65 Edje entry: Skip codes for updating cursor when cursor position is not changed
Summary:
When ever a Edje's cursor function is called, "cursor,changed" signal is
emitted. Even if the position is not changed. And, in Elementary, the signal
will trigger evas_smart_objects_calculate() from elm_widget_show_region_set().
It causes bad performace.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, cedric, woohyun

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D3902
2016-07-11 17:09:36 +09:00
Carsten Haitzler 899d2d957a edje - language emit - handle null language and convert to none
cleans up an emit string being edje,language,(null) if no language is
set. use none instead of (null).
2016-07-11 13:46:21 +09:00
Youngbok Shin 8e93b88175 edje: update a style when a style is added as class's member
Summary:
If there is no member styles when a text_class is updated,
newly added styles can't be updated.
So, newly added styles as member of text_class should be updated.
@fix

Test Plan:
Test case is included.

1. Run "elementary_test -to "font overlay""
2. Press Next button. Check the font size.
3. Press Prev button.
4. Put font_size as 50
5. Click Apply button.
6. Press Next button. Check the font size is not changed.

Reviewers: cedric, tasn, herdsman, raster

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D4125
2016-07-11 13:13:39 +09:00
Shilpa Singh 5b791420ea Accessibility: Read pre-edit text.
Summary:
Edje_entry:  In order to read pre-edit characters as well,
send entry_change_info with preedit,changed
Elm_entry: In order to read pre-edit characters as well,
send text to screen reader on preedit,changed.

Test Plan:
1. Change keyboard language to korean/enable prediction
2. Check the reading, text should be read even before committing

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>

Reviewers: thiepha, jihoon, cedric, raster

Reviewed By: raster

Subscribers: raster, kimcinoo, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4145
2016-07-11 10:36:39 +09:00
Carsten Haitzler 116993504a edje edit - api was broken with incorrect l r t b ordering for border
this fixes ordering to match everywhere else ANd usage of the get
func. this was broken already where top/bottom border would swap -
plese see coverity scan CID 1355590 for an example of problems this
created.
2016-07-09 12:17:46 +09:00
Cedric Bail 1be63c1b66 edje: fix build without ephysics.
T4050
2016-07-08 14:16:39 -07:00
Jee-Yong Um 399bb5a0ba edje: add a helper for recursive searching in hash
Summary:
If color class of an edje part is defined as "aaa/bbb/ccc/ddd",
edje will search for color class by the following sequence.
   "aaa/bbb/ccc/ddd"
   "aaa/bbb/ddd"
   "aaa/ddd"
   "ddd"
So, without additional lookup table, edje classes (color, text, size)
can have the functionality like inheritance.

Reviewers: jpeg, raster, cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:50:20 -07:00
perepelits.m 52df6171e9 edje_player: create scene in the edje_player if there are some 3D-components
Summary: check if the size of scene is bigger than 0x0 and build 3D scene in the edje_player in this case and use "opengl_x11"

Reviewers: Hermet, jpeg, cedric

Subscribers: NikaWhite, Oleksander, artem.popov, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:49:49 -07:00
Hermet Park 9873358f68 edje: fix the map state issue.
While the part state switching, map won't gonna be disabled again,
due to the incorrect state checking.

If there param1 indicates the current state with map off.
then it should disable the map obviously.
But It assumed the param1 is the previous state, not the current!,
so the map didn't go disabled state.

It was intended to avoid the duplicated map state setting.
So to keeping the intention, now it disable the map, only if
the map is actually enabled.

So both are fine.

@fix
2016-07-08 21:22:44 +09:00
Carsten Haitzler bfbb7b15f2 edje edit - fix leaks spotted by coverity
fixes CID 1356630
2016-07-08 16:00:29 +09:00
Vitalii Vorobiov 1017b0ceba edje_edit: on save_all firstly save all cached group, then all other
this will fix case when aliased group was changed and alias-group was loaded,
so then on saving alias-group WON'T rewrite all changed to aliased group

@fix
2016-07-07 20:31:01 +03:00
Subhransu Mohanty 9be9da17bf edje/svg: added _edje_svg_node_free() function
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4143
2016-07-07 16:29:21 +09:00
Subhransu Mohanty 80413dda8c svg/loader: use stringshare instead of malloc for storing string.
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4142
2016-07-07 16:27:17 +09:00
Subhransu Mohanty 522b82b026 edje: fix parsing and and visualizing gradients.
Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:55:44 -07:00
Mykyta Biliavskyi 3eb322518f Edje_Edit: allow set NULL as a style name for textblock part.
NULL as 'style' value remove style name from textblock part state.
2016-07-05 20:24:07 +03:00
Carsten Haitzler e2d7c11665 edje - reduce memory footprint by rearranging structs and types
this should cut some memory used by edje by using smaller types like
shorts instead of ints where we just dont need a full int range and
short will do, and re-ordering in memory data soit packs better when
accoutning for alignment
2016-07-04 15:01:52 +09:00
Carsten Haitzler 0dc74232a1 edje signal cb - dont delete already deleted signals
let's assume you registered a callback twice with the same ptr data
and same func and same sig/src... if you delete it once you're ok.
delete twice... and you re-delete the first one (just makging it for
delete_me). this fixes this corner case

@fix
2016-07-03 15:45:36 +09:00
Daniel Hirt 6df439b3e9 edje: fix return type for part_text_cursor_content_get
Another spot that should've stayed "char *" and not "string". Also added the
missing 'own'.
Found due to a warning after ee36fdc218.
2016-06-30 17:05:13 +00:00
Vitalii Vorobiov 9a2ad54681 edje_edit: remove useless pointer grab as it conflicts with elementary combobox
Summary:
So currently having an issue related to clip_to function from
EdjeEdit API. I am not sure about how and why combobox use pointer grabbing
(just started to use it) but when setting NULL into clip_to of edje edit it
suddenly block entire screen away from mouse. Only when point is moved out of
window and back, only then it will be able to access widgets again.

Take a look at video and maybe try example to reproduce problem

I am not sure if deleting those functions from edje_edit is actually right
decision. But it will fix the problem of course.

Test Plan: See attached video and examples in attached files

Reviewers: NikaWhite, reutskiy.v.v, Hermet, cedric, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4081
2016-06-30 12:08:46 +03:00
Jean-Philippe Andre 197c036306 edje: Lower ERR to INF for message about non fixed parts
This message really is just informational at best, since it's
not an error, and we even implemented an optimization.

It should be done at compile (edje_cc) time though.
See comments on D3801
2016-06-30 14:34:59 +09:00
Jean-Philippe Andre 6b8228ffbd evas: Move map to a separate mixin
Evas map is not translated to proper eo apis yet.
Efl.Canvas.Map will be a mixin implementing the evas map
API in a bindable API.
2016-06-29 09:12:26 +09:00
Jee-Yong Um b543f4c896 edje: refactor edje color class API
Summary:
refactor setter and getter of edje color class and
move edje_color_class_set/get() into Edje.Object as class functions

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: kimcinoo

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

Note by jpeg:
The EO APIs introduced here will be revisited in upcoming patches,
in particular:
1. avoid non-premultiplied colors
2. move to a common color class interface
2016-06-28 10:39:37 +09:00
Jean-Philippe Andre 9f5d279722 Evas events: Implement support for hold event 2016-06-27 16:38:46 +09:00
Subhransu Mohanty 48d3abf84b edje: fix the order of applying transformation when creating vg tree.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4087
2016-06-24 15:15:54 +09:00
Subhransu Mohanty de7809a868 edje/svg: add few error message reagrding parsing and storing of svg file.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:12:23 -07:00
Youngbok Shin 47df443972 edje: replace 4000x4000 min size limitarion with loop count restriction.
Summary:
4000x4000 min size limitation was added to prevent infinite
calculation loop. But, it can ruin calculation of some proper Edjes.
Normally, properly generated Edje runs the calculation loop below 10 times.
So, "255" could be proper limitation for calculation loop.
It also make better performance for broken Edje.

Test Plan: N/A

Reviewers: raster, Hermet, woohyun, cedric

Reviewed By: cedric

Subscribers: jpeg, z-wony, Blackmole

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:11:42 -07:00
Subhransu Mohanty c2fbac0f1f svg/loader : Added parsing support for use and def node.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4078
2016-06-23 17:44:37 +09:00
Vyacheslav Reutskiy fb352e17c6 edje_text: fix the fit calculation for different text size
Fixed T3569

@fix
2016-06-23 09:13:53 +03:00
Subhransu Mohanty d876027564 svg_loader: Fixed the parsing of style attribute in g node as well as inheriting style attribute from parent.
Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4070
2016-06-23 10:20:44 +09:00
Jean-Philippe Andre 269fc4f7a6 evas: Remove common interface and use provider_find
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.

Use eo_provider_find in each implementing class.
2016-06-21 16:13:04 +09:00
Subhransu Mohanty 3ab15990d3 svg: added support for parsing and showing of polyline data.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4064
2016-06-21 14:42:44 +09:00
Jean-Philippe Andre 7bf8da2baa evas: Rename Evas.Object to Efl.Canvas.Object
One step closer to make the EO inheritance tree look like
it's all Efl.
2016-06-21 14:35:19 +09:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Stefan Schmidt d5c7ce3805 edje_util: make sure we have an initialized return value 2016-06-20 16:06:29 +02:00
Stefan Schmidt 5ba7065bbe edje_util: mark parameter as unused 2016-06-20 16:05:36 +02:00
Youngbok Shin 14cbd23d29 Edje, Elementary: Remove <password=off> tag when password mode is disabled
Summary:
When edje_password_show_last option is enabled, the edje_entry uses <password=off>
for showing last character. But, when password mode is disabled by the elm_entry,
<password=off> is remained in the text. It can cause some problems.

Because, there is no way to control password mode by API for the edje_entry.
The elm_entry can't remove <password=off> tag before getting text from the edje_entry.
So, the patch adds edje_object_part_text_hide_visible_password() function and
the elm_entry will use this when elm_layout_theme_apply() is called.
@fix

Test Plan:
1. Run "elementary_test".
2. Show "Entry Password" demo. (Newly added by this patch)
3. Password mode is enabled. Put some text.
4. Click "Show Password" check box to disable password mode.
5. Put more text.
6. Click "Hide Password" check box to enable password mode again.
7. See a character among the text is visible. (without this patch)

Reviewers: tasn, herdsman, cedric, jpeg, thiepha, raster

Reviewed By: raster

Subscribers: Blackmole, z-wony, woohyun

Differential Revision: https://phab.enlightenment.org/D3988
2016-06-20 21:11:25 +09:00