Summary:
the draggable.event field (in edje) is pointing on the id of the part it is assigned to.
The main problem is about deleting parts.
After part being deleted, all other parts (that are below the deleted part) have their id shifted,
but event doesnt shift.
For example,
1) draggable.event at some part pointing at part with id=7,
2) some other part is being deleted
3) part with id=7 have new id now (id=6)
4) draggable.event DOESN'T change it's pointer and still points at part with id=7 (which is now has id=6)
5) if there is no parts with id=7 anymore, then it could give you SEGFAULT someday (or not, depending on luck).
This commit contains next changes:
1) after deleting part, draggable.event also shifts (if required)
2) after deleting part that is being pointed with event by someone, it will remove all event points at it
@fix
Reviewers: cedric, raster, seoz
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D878
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
In particular, ellipsis is -1 by default in Evas, but at this
point (first layout calc), the parameters used for recalc are
incomplete and ellipsis would then be 0 by default (calloc).
As a consequence, Edje will call ellipsis_set(0) enabling
ellipsis even on objects that force "ellipsis: -1".
Solution: set all the parameters before entering text/tb calc.
I believe the other changes are only color and image padding
and should not affect recalc_single.
Summary:
To correcly display the added pats using the edje edit api, update
init the filds of Edje_Real_Part. Initialize the next filds: type and
typedata. It filds initialized accordingly to Edje_Part_Type value.
@fix
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D854
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Text objects declared in Edje will see their padding added twice,
as the Evas_Object_Text itself contains the padding already.
This WILL break some EDC files. It's a bug nonetheless.
Should this be backported?
this is enabled for all scripts within a group, and it should only be used if you:
1) know what you are doing
2) know why this is unsafe (T905)
@feature
Summary: Input type for offset value must be Integer in the "edje_edit_rel1(2)_offset_x(y)_set" functions
Reviewers: cedric, Hermet
CC: cedric, Hermet, raster
Differential Revision: https://phab.enlightenment.org/D562
what a huge, colossal cock-up of a clusterfuck. it's a good thing nobody ever uses ellipses or edje. otherwise we'd probably get complaints about this kind of thing.
this should always be applied, not just when min_x isn't set; failure to do so causes erroneous ellipsizing in some cases where it should be explicitly prohibited
@fix
Add a new flag in EDC files to specify ETC1 compression
should be enabled. It follows the same rules as the
current LOSSY flag for JPEG compression.
@feature
There is a static array that is used for parsing the current effect
(in Part's struction the effect type is represented by a number) from a number
to text. But there is one type of effects (SHADOW) that has a number combined from
two types. First four bits are always used for defining the effect's type,
but if it is a SHADOW effect, then there is four more bits. They are representing
the direction of the shadow in TEXT block.
This patch fixes code regeneration after saving edje_edit object, so now
it splits the number into two pieces, so we can fully regenerate type of effect.
So, in this path:
- added static array that represents shadow's direction.
- part's source code generaton has been modified.
Reviewers: seoz, raster, cedric
Reviewed By: cedric
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D668
Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
Summary:
This function will return the source code of the edje edit object that is given to that function.
Also, that function will collect all resources required by this group.
That means all images, fonts, styles, data and color_classes that is mentioned
and set in descriptions of parts in this group (that is represented by given
Edje Edit object).
@feature
Added function for generating source code:
- edje_edit_source_generate(Evas_Object *obj);
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D649
Summary:
...cannot encode those things into edje.
In our case, we need vibration when longpressed. But those files are not
audio or image and cannot be encoded into edje. Also, this library is not
opensource so should not be linked directly with edje.
So we should call vibration API by using this plug-in.
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D588
Summary:
When edje class member is added, edje need to change member according to
the edje class.
@fix
Reviewers: raster, tasn, woohyun, seoz, Hermet, cedric
Reviewed By: raster
CC: cedric, herdsman
Differential Revision: https://phab.enlightenment.org/D637
In acutal case, some application encounted that a proxy object is larger than a source clipper size.
So the proxy is clipped by the edje clipper.
We don't have to limit the clipper size to 10000x10000
@fix
Summary:
When text is hidden by password character, "changed" signal should be emitted.
But, even if there is no visible text, the signal was emitted.
@fix
Reviewers: woohyun, tasn, cedric
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D604
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
Summary:
Invert the check of the ed->file. If the ed->file is NULL then return
EINA_FALSE.
@fix
Reviewers: raster, cedric, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D603
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
By this code the CURRENT option didn't work.
Don't remove rp->current before the animation is excuted.
The memory leak issue is resolved by commit(d636c0f801).
Summary:
Link anchors are set to allow event propagation. In some cases, this
might lead to unwanted results in entry.
Adding a flag to event_flags allows to control this in Elementary.
One example that this fixes is having wrong mouse cursor handling when
having the mouse out of the link anchor, back to the entry parent
(in this case, additional handling in els_cursor.c is required so this
event is ignored if event_flag is set with EVAS_EVENT_FLAG_ON_HOLD.
Fixes T878.
Reviewers: tasn
CC: cedric
Maniphest Tasks: T878
Differential Revision: https://phab.enlightenment.org/D561
warning: argument 'above' of command @param is not found in the argument list of edje_edit_part_restack_part_above(Evas_Object *obj, const char *part, const char *below)
Summary:
When user paste text to elm_entry, _edje_entry_user_insert is called.
We need to reset a prediction buffer just like _edje_entry_text_markup_insert.
Reviewers: seoz, Hermet, woohyun, tasn, jihoon, raster
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D461
Summary:
"_edje_entry_imf_event_delete_surrounding_cb" changes text of entry.
When the callback function is called and the entry is changed,
we need to notice to applications that the entry is changed.
Reviewers: seoz, Hermet, tasn, woohyun, jihoon, raster
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D460
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
this fixes T323 - this is a change in lua 5.2 that makes osize encode
the type of data being allocated where 5.1 didn't do it and the math
was thus screwed as a result. comments in the diff.
cherry-pick me!
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
Add to fuction prototype new param: Eina_Bool approximation.
If need exact matching state name and value set EINA_FALSE to
'approximate'. In other cases used EINA_TRUE.
Reviewers: cedric, raster, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D400
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This commit will add API for working with smooth for image
and proxy part type.
There are two functions will be added:
1. edje_edit_state_fill_smooth_get
2. edje_edit_state_fill_smooth_set
Reviewers: cedric, raster, seoz
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D394
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This commit will add some API to restack part above/below target part.
There are two functions will be added:
1. edje_edit_part_restack_part_below
2. edje_edit_part_restack_part_above
Reviewers: cedric, seoz, raster
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D390
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
Changed edje_edit_image_del logic: image can't be deleted if it's in use,
after deletion last image in list is moved to freed position so there are no
"holes" in image list.
Following functions added to api:
edje_edit_image_replace
edje_edit_image_usage_list_get
edje_edit_image_usage_list_free
Reviewers: cedric, seoz, raster
Reviewed By: cedric
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D392
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This commit will add API for working with text source.
There are two functions will be added:
1. edje_edit_state_text_source_get
2. edje_edit_state_text_source_set
Reviewers: cedric, seoz, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D389
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This commit will add API for working with text style.
There are two functions will be added:
1. edje_edit_state_text_style_get
2. edje_edit_state_text_style_set
Reviewers: cedric, seoz, raster
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D388
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This new function will copy the whole group into same file but with another group name/id.
Copying whole group data field by field require some huge code.
Alternatively we found another solution for copying whole group as you can see it in this commit.
This function will copy group and all it's data (like scripts etc) and it will be totally independent.
Reviewers: cedric, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D385
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
Summary:
This commit will add some API for working with aliases.
There are four functions will be added:
1. edje_edit_group_aliases_get - this function will return the list of aliases of certain group.
2. edje_edit_group_is_alias - this function will check if the given group name is actually an alias.
3. edje_edit_group_aliased_get - return the main real group that is being aliased.
4. edje_edit_group_alias_add - add new alias name.
Also the function "edje_edit_group_del" was modified because of wrong behaviour.
Now if the given group is alias, it will successfully delete it,
but if the given group is main group, it will also delete all it's aliases.
This commit also modify EDJ file by adding new field for detecting if the group is alias or not.
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D376
Summary:
After making part relative to the whole interface (by giving NULL parameter)
it was returning EINA_FALSE (not successfull).
Reviewers: seoz, cedric, raster
Reviewed By: raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D379
Summary:
Anchor and item tags should be updated when text is changed.
In _edje_entry_imf_event_delete_surrounding_cb function,
the text is changed by "evas_textblock_cursor_range_delete" API
and there was no update about anchor and item tags.
It can result that the tags hang in the air after deleting.
Reviewers: tasn, woohyun, seoz, jihoon
Reviewed By: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D368
Summary: Adding an option to use a cubic-bezier curve in edje transitions.
Reviewers: Sachiel, cedric, raster
Reviewed By: raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D319
The maximum index of tagname is 7, and preedit_type_size is equal to 8.
Checking "attr->preedit_type <= preedit_type_size" implies that the value of "attr->preedit_type" may be up to 8
This patch fixes CID 1039308
cw/cy are never used inside the "dosel" block, so no need to fetch
geometry and calculate difference here (already fetched below when
needed anyway).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Even if the anchor name is null, it will be appended to "anchors".
There are many null checking for name of anchor.
So it should be checked in geometry_get functions.
Test Plan:
Test with text "<a href =abc>We can't find name in this case</a>".
This text makes break the application. Because of a space between "href" and "=".
The name of anchor will be saved as null in "anchors".
Reviewers: woohyun, tasn, cedric
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D318
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.
Reviewers: cedric, tasn
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D312
Summary:
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_script_set
edje_edit_script_program_set
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D307
Make the following function return Eina_Bool so the caller can detect errors :
edje_edit_part_mouse_events_set
edje_edit_part_repeat_events_set
edje_edit_part_ignore_flags_set
edje_edit_part_scale_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D303
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_state_align_x_set
edje_edit_state_align_y_set
edje_edit_state_aspect_min_set
edje_edit_state_aspect_max_set
edje_edit_state_aspect_pref_set
edje_edit_state_fill_origin_relative_x_set
edje_edit_state_fill_origin_relative_y_set
edje_edit_state_fill_origin_offset_x_set
edje_edit_state_fill_origin_offset_y_set
edje_edit_state_fill_size_relative_x_set
edje_edit_state_fill_size_relative_y_set
edje_edit_state_fill_size_offset_x_set
edje_edit_state_fill_size_offset_y_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D300
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_visible_set
edje_edit_state_color_class_set
Removed unnecessary check in edje_edit_state_image_border_fill_set.
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D305
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
With Eina_File we now can pass an efficient handler accross library boundary. Edje
and all underlayer already use it to avoid race condition when setting an Edje object.
Elementary and Enlightenment are still exposed to some potential race condition when
an Edje file is modified underneath there feet. With the following set of function it
should now be possible to avoid those race condition to:
edje_mmap_data_get
edje_mmap_collection_list
edje_mmap_collection_list_free
edje_mmap_group_exists
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_font_set
edje_edit_part_effect_set
Also deleted duplicate of the "edje_edit_state_font_set" function in Edje_Edit.h
Moved some defines (EDJE_TEXT_EFFECT_MASK_BASIC, EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION etc),
so doxygen generation was fixed.
Also added link (see also) in "edje_edit_part_effect_set" to the Edje_Text_Effect enum.
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D302
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>