Summary:
Applications usually use edje syntax like as,
```
part { name :"bg";
type: SWALLOW;
description {
state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
align: 0.0 0.0;
min: 100 100;
}
}
```
But edje does not calculate it exactly without "fixed: 1 1".
So edje calculation is repeated until 4000 x 4000, it is waste of time.
Reviewers: woohyun, raster, Hermet, id213sin, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3801
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Edje data structure is passed as a parameter, but in file.set method
_edje_fetch() is called one more time unnecessarily.
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3788
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Annoying incomplete initializer warning. Apparently gcc/clang
don't consider {0} as good enough for "initialize everything to 0"
even though they do it.
Summary:
Developer cannot notice that any description didn't applied due to missing description or typo.
This message will be helpful to make correct the application.
Reviewers: cedric, Hermet, raster
Subscribers: soohye.shin, minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3783
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
It has been decided that we would not use any namespace for interface
and they will sit in efl main namespace.
This patch doesn't correct the naming of the event has we don't have a
prefix for event. We do still have EFL_ANIMATOR_EVENT_ANIMATOR_TICK,
instead of a nicer EFL_EVENT_ANIMATOR_TICK.
Summary:
If not found edje part description, edje just set default description in spite of RTL status.
This adds to call function for getting the correct description as RTL status.
Reviewers: raster, Hermet, cedric
Subscribers: minkyu, sju27, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3735
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
These file needed some manual adjustments in addition to the automatic
migration, that's why these are separate from the previous and next
commits, so I can easily know there are additional changes to these, and
it wasn't just the script.
The migration scripts breaks with some weird cases, here I manually
migrated some parts, and just removed the eo_do from others without
actually migrating (so I could deal with that later).
This removes an absolutely crazy use of eo_do where all calls
to the efl_gfx_filter functions where factorized in an unreadable
manner. Hopefully eo_do will disappear soon.
this fixes warnings from gcc specifically:
lib/edje/edje_entry.c: In function ‘_edje_entry_imf_cursor_info_set’:
lib/edje/edje_entry.c:4104:4: warning: ‘dir’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
ecore_imf_context_bidi_direction_set(en->imf_context,
(Ecore_IMF_BiDi_Direction)dir);
^
lib/edje/edje_entry.c:4099:24: note: ‘dir’ was declared here
Evas_BiDi_Direction dir;
^
lib/edje/edje_entry.c:4103:4: warning:
‘ch’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:27: note: ‘ch’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4:
warning: ‘cw’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:23: note: ‘cw’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4: warning:
‘cy’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:19: note: ‘cy’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4: warning:
‘cx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:15: note: ‘cx’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c: In function
‘_edje_part_move_cb’:
lib/edje/edje_entry.c:4104:4: warning: ‘dir’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
ecore_imf_context_bidi_direction_set(en->imf_context,
(Ecore_IMF_BiDi_Direction)dir);
^
lib/edje/edje_entry.c:4099:24: note: ‘dir’ was declared here
Evas_BiDi_Direction dir;
^
lib/edje/edje_entry.c:4103:4: warning:
‘ch’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:27: note: ‘ch’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4:
warning: ‘cw’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:23: note: ‘cw’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4: warning:
‘cy’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:19: note: ‘cy’ was declared here
Evas_Coord cx, cy, cw, ch;
^
lib/edje/edje_entry.c:4103:4: warning:
‘cx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw,
ch);
^
lib/edje/edje_entry.c:4098:15: note: ‘cx’ was declared here
Evas_Coord cx, cy, cw, ch;
^
and the likes...
Edje was trying to be smart and ask textblock for its markup and compare
with its own cache before setting it again. This is completely wrong,
and textblock is smart enough to deal with it now.
@fix
Plenty of new API:
edje_edit_size_classes_list_get - to return total list of size_classes inside of
loaded collection of groups
edje_edit_size_class_add - add new size class into loaded collection
edje_edit_size_class_del - deleting
edje_edit_size_class_name_set - renaming existing size class into something new
and some setters and getters for min and max (width and height) of size class.
Plenty of new API:
edje_edit_text_classes_list_get - to return total list of text_classes inside of
loaded collection of groups
edje_edit_text_class_add - add new text class into loaded collection
edje_edit_text_class_del - deleting
edje_edit_text_class_name_set - renaming existing text class into something new
edje_edit_text_class_font_{get|set} - get/set font name
edje_edit_text_class_size_{get|set} - get/set font size
pending programs have not started yet, so they are not directly attached
to the part. failing to remove them results in unexpected behavior from programs
ref 71ce70bc3f
@fix
Oops!
Sorry, missed this one:
lib/edje/edje_edit.c: In function 'edje_edit_program_after_insert_at':
lib/edje/edje_edit.c:9980:14: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (place >= eina_list_count(epr->after))
^
Now fixed
Few new API for inserting/mving items inside of BOX/TABLE
> edje_edit_part_item_insert_before
> edje_edit_part_item_insert_after
> edje_edit_part_item_insert_at
> edje_edit_part_item_move_below
> edje_edit_part_item_move_above
Summary:
Adding of new properties for light in edje-3d. Recalculation of main properties in Canvas3D parts to provide animation (only those which I used in widgets).
Checking of frame existing when setting material.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3694
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Initiation of Evas Objects and creation of nodes for new part types in Edje.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3665
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Big thanks to Maxim who did a serious digging in this issue making it almost
a patch review.
T3125
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The "color_tree" block contains a list of one or more "node" blocks.
A "node" block consists of its own color class name and the list of child
color classes. At runtime, parent color class will be referred instead,
if child color class is set to part but its color values are not defined.
Reviewers: raster, Jaehyun_Cho, jpeg, cedric
Reviewed By: cedric
Subscribers: cedric, kimcinoo
Differential Revision: https://phab.enlightenment.org/D3606
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This is necessary for backward compatibility still I am thinking of displaying a warning for this
use case and request people to update there work and drop that feature in the future (In a year
maybe from now). Elementary doesn't need this as it depends on Ecore_Evas.
Summary:
edje_file_data_get() failed if the Edje file did not contain
a collection (e.g. contained only data.item.
This allows to load data from the file even when no collections
are present, but only if specified.
@fix
Reviewers: raster, jpeg, stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3632
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This seems to be a fair improvement as it speeds up by 4% the shutdown
of application (and an overall benchmark used to track where genlist
spend its time).
This reverts commit ade138a3d1.
Revert this commit because this basically causes e to hang solid if
you mousover ibar (and the window list popup slides in then i think
that tyriggers it). this is pretty bad.
Summary:
When text is changed, all of objects for item tag are deleted
and recreated. It is unnecessary work and can cause performance
issues. Actually, many of application developers wonder why
item provider callback functions are called every text changes.
@fix
Test Plan:
Run elementary_test -to "entry emoticon"
When you make a very little change on text,
36 emoticon objects are recreated.
Reviewers: woohyun, jaehwan, herdsman, tasn
Reviewed By: tasn
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3537
This change is to fix the 4000x4000 limitation issue in edje.
Previously, the sizing calc logic was experimentally confirmed with 4000x4000.
It worked somehow but was not perfect. This change may not be perfect either but
it gets rid of the limitation problem without any performance drop in
computating. Maybe it would be better than before.
I'd rather push the temporary version before we confirmed no side effects.
@fix T2978
It is possible that evas_object_data_get here does not return an Edje,
so check the return value. This fixes a coverity reported issue.
@fix
CID1349866
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
APIs iterating works through active text classes and size classes were added,
but Edje_Text_Class and Edje_Size_Class data type are still concealed.
This patch uncovers those data types so as to allow developers to use them.
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3557
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.
This is an improvement of the now reverted
55b62bbd70.
Thanks to cedric for the pointer that lead to this commit.
Ref T3021
the passed edje is not guaranteed to be the one which owns the swallowed
object at any given time, so get the current owner to ensure that the
correct one is passed
ref a645c8153f
#MasterOfAllBorkers
@fix
Summary:
Fix memory leak
If user or extra cursor is used, these should be free on
shutdown.
@fix
Test Plan: NA
Reviewers: tasn, herdsman
Subscribers: shilpasingh, cedric, jpeg
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3550
Summary:
Do not update cursor for non editable entry.
If entry is not editable there must not be any need to query tb cursor
geometry and run other codes related to it. This may improve some
performance of non-editable entry.
Test Plan: NA
Reviewers: tasn, herdsman, thiepha
Subscribers: shilpasingh, cedric, jpeg
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3532
Summary:
I have a strange feeling that I always commit the same code to edje-3d, I hope it will finish very soon.
However here are some important new keywords, descriptors for them, methods for models,
structure for providing animation in edje programs and some more changes.
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: jpeg, artem.popov
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3437
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The mouse,in/out signal has missing parts to use.
When user send down event on specific object, then move cursor to outside of object.
the mouse,in signal must be called in case. but it's not in traditional implement.
So i added this signal for support above use case.
In order to satisfy above use case, user can add both of the signals(mouse,in mouse,pressed,in).
(Adding new name of signals to do not break compatibility with before implements.)
@feature
Test Plan:
Add mouse,pressed,in/out program to object.
Press object which added signals before.
Move mouse cursor to out of object, then check the program works.
Reviewers: Hermet, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2992
Summary:
Fix cursor position on mouse up/down
When mouse down/up over top and bottom part textblock is not able to set the
char coordinate as it is not inside actual text, edje entry tries to manage it
but textblock has that handling. As a result the cursor jump to first char for
single line and at the last in the multiline last line.
So this patch fixes this and manage to keep the the mouse coordinate inside
the textblock.
In mobile device this is not really acceptable when user taps over the entry
at some position and cursor jumps to some arbitrary position.
@fix
Test Plan:
1. Elementary Test
2. Entry 3 (any entry)
3. Try to click little below or above the text in first entry
single line.Observe cursor jumps to first position
4. Do as above for multiline entry (try to click at the last line little below)
observe cursor jumps to last char.
Reviewers: thiepha, herdsman, tasn
Subscribers: jpeg, tasn, cedric
Differential Revision: https://phab.enlightenment.org/D3257
Summary:
The size of the style pad isn't considered when the min value of the
textblock is calculated. In case of putting the lable that there is an
outline in the box, the letter is cut. So, I revised so that
evas_object_textblock_style_insets_get could be called after a
evas_object_textblock_size_formatted_get in
_edje_object_size_min_restricted_calc function. And then the style pad was
considered in the result value of the edje_object_size_min_calc.
@fix
Test Plan:
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *box, *label;
Evas_Object *win;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("Font", "FONT");
elm_win_autodel_set(win, EINA_TRUE);
box = elm_box_add(win);
elm_box_padding_set(box, 10, 0);
elm_box_align_set(box, 1, 0.5);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_win_resize_object_add(win, box);
evas_object_show(box);
label = elm_label_add(box);
elm_object_text_set(label, "<font=default align=rignt color=#ffffff font_size=200 style=soft_outline outline_color=#ff0000ff>label");
elm_box_pack_end(box, label);
evas_object_show(label);
evas_object_resize(win, 500, 300);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN();
Reviewers: herdsman, tasn
Reviewed By: tasn
Subscribers: id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3426
Edje_Part can change its min or max size in code level with
size_class.
Differential Revision: https://phab.enlightenment.org/D3329
PS: Manual commit, arc refused to work...
@feature
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Use markup text for password in preedit mode
Problem is that when text comes in preedit mode
it is always markup text and when it is committed
to entry it got committed with markup tags along with
the original string, so for preedit mode password
should be filtered all markup to set the proper text.
@fix
Test Plan:
In preedit mode, enter any character say 'A'
preedit markup like <preedit>A</preedit>
will come in preedit changed callback
Result: Text is set as plain text like below
<preedit>A</preedit>
Reviewers: thiepha, jihoon, herdsman, shilpasingh, tasn
Reviewed By: shilpasingh, tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2929
Summary:
When text is selected, crash happens due to double free as rectangles are freed both in _sel_update
and _evas_textblock_selection_iterator_free hence removing free from _sel_update.
@fix T2910
Test Plan:
1. Launch elementary test
2. launch entry demo
3. select text
Reviewers: cedric, herdsman
Subscribers: jpeg
Maniphest Tasks: T2910
Differential Revision: https://phab.enlightenment.org/D3401
Adding a check for the selection range on extend/preextend.
If there is no range, then emit "selection,reset".
Expected handling on the theme end for this signal is to show the
cursor.
This improves cursor visuals, as it will show the cursor again once the
selection range ends up being 0.
Summary:
In case of RTL, the "custom" state properties does not apply. It happened because we don't copy the latest src to
dst in set_state(PART:.., "custom", 0.0); in case of dst is already populated.
We should copy the updated src to dst whenever we set the new custom description.
@fix
Reviewers: cedric, raster, jpeg, zmike, jaehwan
Subscribers: kimcinoo, seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D3394
Summary: There are more redundant arrays to be deleted. In fact I don't think string name of descriptor shouldn't never change, I was testing some 2D examples and this is not true.
Reviewers: raster, jpeg, cedric
Subscribers: artem.popov, cedric
Differential Revision: https://phab.enlightenment.org/D3361
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
In entry, when selection_get function is called, selection is not
always returned the current selection.
Scenario:
- In select mode, entry has selection (e.g, by double click).
- When selection handler is moved, set the cursor the current coordinate
with edje_object_part_text_cursor_pos_set() API.
- Edje emits "selection,changed" signal.
- Elementary gets current selection and stores it.
- Elementary does not get selection as visual selection (e.g, text is
highlighted with "entry test", but the selection returned
from edje is "entry").
- If we copy and then paste to the entry, the pasted text is not same as
selected text.
Reason:
- In _edje_entry_cursor_coord_set function, if entry has selection, we only
emit "selection,changed" signal without freeing en->selection.
- When _edje_entry_selection_get is called, we check the en->selection,
since it is existed, we just return it which is not updated one.
This patch clears en->selection, so that it is updated at _selection_get,
and the updated selection is returned to caller.
@fix
Test Plan:
In mobile profile, open entry
- Right click, choose select, double click -> selection handlers are shown.
- Drag selection handlers to change selection.
- Right click, do copy.
- Right click, do paste.
- See the pasted text is not same as selection.
Reviewers: raster, tasn, herdsman
Subscribers: seoz, JackDanielZ, cedric
Differential Revision: https://phab.enlightenment.org/D2746
Summary:
It adds evas_object_paragraph_direction_set, get APIs.
The APIs set or get paragraph direction to/from the given object.
It changes BiDi calculations and affect the direction and aligning of text.
It doesn't have any effect to text without Fribidi library.
The default paragraph direction is EVAS_BIDI_DIRECTION_INHERIT.
If dir is EVAS_BIDI_DIRECTION_INHERIT, paragraph direction is changed
according to smart parent object. If there is no smart parent object,
paragraph direction works as EVAS_BIDI_DIRECTION_NEUTRAL.
@feature
Test Plan:
Test cases included to the following files.
- evas_test_textblock.c
- evas_test_text.c
- evas_test_object_smart.c
Run "make check".
Reviewers: woohyun, raster, herdsman, tasn
Subscribers: c, raster, cedric
Differential Revision: https://phab.enlightenment.org/D1690
Memleak found with valgrind points to this line, where clearly the
edd field name is incorrect. It looks like this feature has no example,
no test case either.
This breaks EDJ ABI!
I do this because I believe there are zero users of this API
at this point, as Evas 3D is still not ready yet.
See also https://phab.enlightenment.org/D2544
@fix
this just clens up the _edje_signal_callback_push() to be simpler and
less wordy with the same actual logic, just pointless things like
return; at end of func removed, use tmp instead of gp->matches
everywhere and not just in one section etc.
also set hashed bool to eina true/false i as opposed to sometimes 0,
sometimes eina true/false and also track it religiously as well as
matches array when freed - hunting bug
for whatever reason after these cleanups i can't reproduce a signal
crash i had which seemed to find freed matches in the hash that should
not have been there. (a hash find walking a bucket found freed memory
for the match in the hash entry - should not have been though reading
the code).
@fix
Summary:
The initial values for map.zoom.x(y) should be [1.0]: it means 100%.
The values from newly builded edj has been set properly.
But, if a part from old *.edj turns on map feature, map.zoom.x(y) will be set [0.0]: it means 0%.
So, the part will be invisible. We need to initialize these values.
@fix
Test Plan:
1. Build a *.edc file which has a part with [description.map.on: 1;] in EFL 1.13.
2. See it works well in EFL 1.13.
3. Install EFL 1.14 or laters.
4. See the part is disappear.
Reviewers: Hermet, jpeg, cedric
Reviewed By: cedric
Subscribers: jiin.moon
Differential Revision: https://phab.enlightenment.org/D3302
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Remove dead code
If anchor sel is not there, code inside
while can not execute.
Test Plan: NA
Reviewers: tasn, herdsman, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3190
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Object not created if theme source is not available.
In many case we dont need or define all the
theme sources for entry, even if the sources are
null, edje object is being created.
Test Plan: NA
Reviewers: tasn, herdsman, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3199
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Add the edje signal "swallow", "unswallow", "text,set", "text,unset".
In edc file, the part name take a role of source.
If the layout should be changed when any object is swallowed or any
text is set, use this signal.
@feature
in many cases edje dumbly calls eo_do() or evas_object_xxxx on objects
to set up their porperties when the part never uses that thing at al -
eg filters. the obnject never had filters and will not have them n3ext
- why always set filter to null every time? skip when not needed for
speedups.
so this fixes over-zealous calling whihc adds overhead that is not
needed causing battery drain and cpu usage, heat creation etc. etc.
@fix
Summary:
In a different scaling environment, wrong comparison of min values causes resize issue as original size is compared instead of scaled size.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Signed-off-by: Subodh Kumar <s7158.kumar@samsung.com>
@fix
Test Plan:
Create a layout with some min size and swallow a resizable layout inside the layout.
the parent layout will not expand even when the height has crossed its min size.
Reviewers: cedric, tasn, raster
Subscribers: subodh6129
Differential Revision: https://phab.enlightenment.org/D3185
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
evas_object_clipees_has is far cheaper than evas_object_clipees_get in case of checking if
clipees exist or not. This should improve the performance in case of large set of clipees.
@fix
Summary: clang reports that these static variables are not being used
anywhere (and grep confirms this), so remove them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Without that, the image has no fill information. Fill properties
may need to be added to SNAPHOT parts but the default behaviour
should make sense. Before this patch you just get a black rectangle.
Considering how image filters currently work, marking snapshots
as filled by default is not the best solution (need padding_set(0)
to render nicely).
This makes SNAPSHOT a part type on it own, combining the
common and filter subtypes.
This means it is now possible to set an evas filter on
a SNAPSHOT object, just like for TEXT, IMAGE and PROXY.
@feature
Summary:
Edje entry: Make cursors to null after free
To prevent any illegal access of cursors
can lead to crash
@fix
Test Plan: NA
Reviewers: tasn
Reviewed By: tasn
Subscribers: shilpasingh, cedric
Differential Revision: https://phab.enlightenment.org/D3093
Summary:
Its value is never modified directly and should not be modifiled by mistake
in future.
@fix
Reviewers: Hermet, raster, reutskiy.v.v, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3104
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The keys Home/End/PgUp/PgDown are changes the entry cursor
position in the same way as arrow keys. For unified behavior
callback "cursor,changed,manual", added emitting signal for
those keys events.
Reviewers: tasn, cedric, herdsman, thiepha
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3055
This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's
This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's
This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's.
This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's.
This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's.
TODO:
* separate edje_edit_state_container_padding_get/set
* separate edje_edit_state_container_align_set/set
* separate edje_edit_part_item_position_get/set
* separate edje_edit_part_item_span_get/set
Summary:
edje_edit_save_all includes source code generation that is way more expensive
than save itself. User should be able to save manually with or without sources
Reviewers: cedric, Hermet, seoz, reutskiy.v.v
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3051
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_edje_file_coll_open will be executed after _edje_file_open is finished.
This duplicatated call will increase the reference counter and give failure
of _edje_cache_coll_unref.
@fix
Reviewers: cedric, raster, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3075
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This API was defined in the Edje_Edit.h but haven't implementation.
Given the fact that gradient is not supported and print 'SPANK'
error on load have sense to delete them.
The code have been ifdef'ed out for a along time. I checked back until
the merge of our libs before the 1.8 release. Maybe even before that.
If you have a use case for this code fell free to revert but also enable
the code and make sure it works when doing so.
Summary:
The result of evas_object_textblock_cursor_content_get() API has to be cleaned
by outside. _edje_entry_cursor_content_get() is calling free() inside of the
function for handle the result using static pointer. But, the caller of
_edje_entry_cursor_content_get() is already handling the result using free().
It can cause double free problem.
The bigger issue is in elementary. See elm_entry_cursor_content_get() API's
document. The document advice developers to free the result when it is done.
@fix
Test Plan: N/A
Reviewers: tasn, raster, woohyun
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2991
Summary:
change position of the main textblock cursor
in depends of the selection is present. Change cursor position to
the start or end of selection only when selection is present.
@fix
Test Plan:
Press "Up" and "Down" arrow keys on selected and normal text.
For selected text: the entry cursor should be placed one line
above or below selection block (in depends from pressed button).
For normal text: the entry cursor should be placed one line
above or below of the current cursor position.
Reviewers: tasn, Hermet, herdsman
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2948
ok. i found this once-ever-seen thing where
Edje_Signal_Callback_Matches has ALL fields NULL/0 except refcount was
huge (like 13834275 or something like that). i can't see why at the
moment, but defend against it to avoid crashes here by handling these
being null
Summary:
After the commit D2904
this commented code and comments are not required
Test Plan: NA
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2938
Summary:
Fix type in edje_container_align_set,
it was originally named as edje_contain(t)er_align_set.
Reviewers: Hermet
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2927
Summary:
Fix to delete selection when preedit status has not ended
In preedit mode when selection is made and input any letter,
there is duplicate character appeared because the selection
is cleared when commit happens so delete the selection in
preedit last stage.
@fix
Test Plan: Test in Tizen devices.
Reviewers: woohyun, id213sin, shilpasingh, tasn
Subscribers: rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2837
Summary:
When commit string comes from key_down text filter is applied before deleting
the range but when commit string comes from imf filter is applied after deleting
the range. Moreover when format is prepended range is deleted before applying
insert filter. Please check the _edje_key_down_cb and
_edje_entry_imf_event_commit_cb routines.
@fix
Test Plan: Tested in Tizen device
Reviewers: herdsman, thiepha, shilpasingh, raster, tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2904