Summary:
Implementation to support .po files in edc for translation
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md . text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed.
Reviewers: shilpasingh, cedric
Reviewed By: shilpasingh, cedric
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2573
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When caps lock is "On" and we press control + (x,a,y,z,m,c) none of
these operations work issue fix.
@fix
Test Plan:
1. Caps lock On
2. Input some text
3. Press ctrl+a, ctrl+c etc:-
4. Select, copy, cut etc:- operations does not work
Reviewers: tasn
Subscribers: raster, rajeshps, govi, poornima.srinivasan, navnbeet, subodh6129, cedric
Differential Revision: https://phab.enlightenment.org/D2633
@zmike apparently wanted to beat the b0rker in chief,
(see 172a0ccf0c) but edje_text.c came out worse than before :)
eo_do() seems to totally mess with editors' auto-formatting in
some cases.
This reverts commit c38f84e64f.
apparently many existing edje groups were written with the assumption that
this was broken, so fixing it is impossible at this point
previously these parts would fail to consume mouse events as expected,
leading to strange event chains which were inconsistent with other types
of parts
@fix
It's the first stage of replacing calls of evas_object_smart_callback_add/del/call
with eo_callback_add/del/call.
This will reduce the use of legacy events and callbacks lists in
smart_object which in turn will improve performance and reduce memory
use.
Summary:
Check for have_selection flag when left/arrow keys are pressed to jump
across the selected text, to avoid unnecessary function calls of
comparision, copy of sel_start and sel_end pointers.
Test Plan: Press left and right arrow keys on selected and normal text.
Reviewers: herdsman, tasn
Subscribers: SubodhKumar, navnbeet, cedric
Differential Revision: https://phab.enlightenment.org/D2621
Summary:
Add a new property to edje_object.eo for setting the language on one Edje_Object.
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed as per the specific edje object.
2) Click on the text object at bottom. "Click here"
The system language gets changed and the below two edje objects language are changed globally.
Reviewers: cedric, shilpasingh
Subscribers: poornima.srinivasan, govi, rajeshps, cedric
Differential Revision: https://phab.enlightenment.org/D2559
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This was not really useful and against the Eolian guidelines.
While I promised I won't break things until the 27th, I was ill
(still am), so I'm giving myself a 1 day pass. :P
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
Summary: Changes float on uchar as we do in other place for color component
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2528
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.
This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.
@feature
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation
Solution: A new API set_state_anim is added.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_set_state_anim.edc) is added to edje examples to test set_state_anim API.
Reviewers: shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: poornima.srinivasan, cedric
Differential Revision: https://phab.enlightenment.org/D2470
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation, by default supports only linear
e.g: set_tween_state API
Solution: To not break backward compatibility, a new API set_tween_state_anim is added in which we can even specify type of transition required.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_tween_anim.edc) is added to edje examples to test set_tween_state_anim API.
Reviewers: raster, cedric, shilpasingh, Hermet
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, SubodhKumar, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2344
Summary:
When edje entry is not inside the canvas view port, anchors update is aborted to improve the scrolling performance
in case of large number of anchors.
@feature
Test Plan:
1. Should have many entries inside scroller.
2. Each entry should contain large number of anchors.
3. Scroll it, scrolling is not smooth.
Reviewers: seoz, cedric, thiepha, woohyun, tasn, raster, shilpasingh, herdsman, JackDanielZ
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2108
Summary:
Internationalisation of the static text specified as part of the edc is implemented.
Problem: Static text when specified in the edc, remains unchanged when the system language is changed.
Solution: Language support is provided even for the static strings in the edc.
Test Plan:
Test code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
Compile the code with the below command
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore`
./edje-text
1) change the language of the system using the command
export LANGUAGE=hi
./edje.text
Not the text Loading gets displayed in hindi language
2) change the language of the system using the command
export LANGUAGE=ta
./edje.text
Not the text Loading gets displayed in tamil language
3) change the language of the system using the command
export LANGUAGE=en
./edje.text
Not the text Loading gets displayed in english language
As the number of .mo files in the /edje folder can be increased, those many languages can be supported
Reviewers: cedric, shilpasingh
Reviewed By: shilpasingh
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2336
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Ecore_Audio now supports Apple's CoreAudio to play sounds read by libsndfile.
edje_multisense integrates this new feature to enable PLAY_SAMPLE on OS X.
Test Plan:
Compiles, links and installs fine on OS X.
Run terminology and elementary_test to hear sound played on user input.
Reviewers: raster, naguirre, cedric
Reviewed By: cedric
Subscribers: plamot, cedric
Differential Revision: https://phab.enlightenment.org/D2295
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
in some cases collections cache "ref" can be NULL and old code fails.
Replaced with reliable way of getting part list that was found in
_edje_edit_group_references_update
@fix
Reviewers: raster, Hermet, seoz, reutskiy.v.v, FurryMyad, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2450
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
list returned by evas_object_box_children_get should be freed
@fix
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2413
This case actually happens with E. It's invalid but still happening,
and because Eo doesn't actually check the parent (or its type) fully,
an invalid, non-NULL object was returned.
See T2336 (this is not fixing the root cause!).
Summary: Fix Coverity CID1287154. _alloc function can return null
however 'color' was never checked after call to _alloc and thus Could
be NULL.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Use type Edje_Object instead of Eo in legacy EAPI's.
Spotted in TAsn's ABI report, under "Problems with Symbols".
I believe this will actually add two changes (Eo -> Edje_Object),
but I like the typing better ;)
Summary:
edje_cc allows state, signal and source to be "". So edje_edit also should
handle this values as valid and souldn't break programs, that are using them.
Reviewers: cedric, seoz, raster, Hermet
Reviewed By: Hermet
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D2280
in the event of fixed size -> non-fixed size (eg. previous commit optimization),
this calc would no longer occur, so we need to queue it. also if fixed.w or
fixed.h changes value for a group part, we must recalc the group to ensure correct
sizing occurs
when I said > 0 in the last commit message, I was thinking ahead to this commit
which I knew I would later have to make, but had not yet written because I had not
spent the requisite number of hours debugging the code to know that I needed to
have the check in both the code and the commit message
ref 3a451650d2
this (and/or related prior commits) seems to have hugely improved
edje performance across the board. particularly noticeable in the
settings pane animations for terminology
#aprilfools
as with the previous commit, any user who wants geometry immediately
will be calling calc functions, so this is just going to be redundant
except in cases where calc is not wanted, in which case it is unnecessary
overhead
if the min/max of a part are identical and > 0, the part's min size is guaranteed
to be this size. there is no need to perform expensive recursive calcs here
This function make it possible to get a list of active Edje_Color_Class
in an application. Think about Enlightenment color class configuration,
but can now be done on any application dynamically.
@feature
Summary: Adding textures to edje_cc and some topblock keywords that I have forgotten to add in previous commits.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2129
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: No APIs to get text_class for global hash and object hash
Reviewers: woohyun, cedric, raster
Reviewed By: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2213
Removing last item in BOX/TABLE part is actually successful
but then we shouldn't realloc an array of items for 0 items.
That's ridiculous
(and because of that function removes EINA_FALSE,
so user could think that it's unable to remove last item).
So simply array can be set into NULL.
@fix
Summary:
Include data items, that present in edje object.
Data items, which data ends with '\n' recognized as data.file item and not included into the generated source code.
@fix
Reviewers: Hermet, reutskiy.v.v, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1858
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_edje_object_part_text_raw_set() has to locate before
_edje_user_define_string().
- _edje_user_define_string takes one of its parameters
rp->typedata.text->text, and this is set
by _edje_object_part_text_raw_set().
Signed-off-by: Sung-Taek Hong <sth253.hong@samsung.com>
Reviewers: cedric, seoz
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2118
@fix
how on earth has everything worked to date? someone must have remved
some evas_init from somewhere int he init codepath. this adds it back
in and edje_decc works again without a segv.
print err message only if edje has a non-fixed textblock.
This dosen't affect any application ui results,
but err message will point out the problem textblock parts exactly.
Most of the time the style string will come from the eet file directly, so
thanks to the dictionnary build in they should be pointing to the same string.
We still need to keep strcmp case for Edje_Edit case, but that shouldn't be
a real issue as the worst case is when it match. When it doesn't match strcmp
should return quite fast on average.
Summary:
When textblock styles have text_classes, all edjes in the files were added
to text_class_member_hash even if the edjes didn't use the textblock styles. It
makes time long to update text_class.
This will add the edje using the textblock style which has a text_class to
text_class_member_hash.
Reviewers: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2035
Summary:
"far" and "near" are keywords on windows and can't be used as names of variables.
@fix
Reviewers: cedric, Hermet, raster, perepelits.m
Subscribers: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D2037
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Oops!
According to Coding Convention it should be like that:
...
>>> function forward declaration/prototype should be a single line;
>>> function definition should have the return at one line, then function name starts at next line, column 0;
...
Those include such functions like:
> edje_edit_state_table_homogeneous_set/get (function for TABLE only)
> edje_edit_state_container_padding_get
(container means that functions both for TABLE and BOX)
> edje_edit_state_container_align_get (also for TABLE and BOX)
@feature
New functions for setting such BOX's params like primary and fallback layouts:
> edje_edit_state_box_layout_set
> edje_edit_state_box_layout_get
> edje_edit_state_box_alt_layout_set
> edje_edit_state_box_alt_layout_get
@feature
Summary:
I have added some methods to edje_cc_out.c to organize model lookups. The same methods already exists for images.
Also, I have removed source_type because now we don't need it in efl_file_set.
@feature
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1886
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
It is unable to do recursive reference such as:
> Having group A with GROUP part that has group B as source.
> Having group B with GROUP part that has group A as source.
Here we have a loop that is not allowed by edje_cc, so edje_edit also need
to check this case.
@fix
Some of edje_edit functions allows to set up NULL instead of string,
but by using _edje_if_string_free() function it should set variable into NULL,
so previous data won't appear anymore.
@fix
Summary: Coverity reports idential code for different branches here.
Not sure WHY that was done, but I commented out the existing if
statement for posterity.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
There will be several methods to set orientation in edc, so we have decided to make one big vector,
the main reason is that we use quaternion by default, but look_at, for example, is given as 6 coordinates.
Reviewers: Hermet, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1693
Summary: Add new function for replacing string with using eina_stringshare_replace() and change _edje_if_string_free() to setup passed string to NULL.
@fix
Reviewers: raster, Hermet, seoz, cedric
Reviewed By: cedric
Subscribers: reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1835
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Refine odd lines to delete _edje_timer
Test Plan: Run example using edc programs to change state
Reviewers: raster, cedric, woohyun, jaehwan, Hermet
Reviewed By: Hermet
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1838
Summary:
Include sound samples, that uses in programs of this group in collections block.
@fix
Reviewers: cedric, Hermet, raster, reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1824
Summary: Adds focal and zplane perspective to the part when generating an EDC.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1742
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The selection performance is slow if we select large chunk of text.
This is caused by many rectangles created and deleted.
This patch provides a way to improve it by combine selection rectangles
of line in middle into one rectangles (i.e, if we have N lines,
the selection rectangle for lines 2 to N-1 will be combined into one.)
@feature
Reviewers: raster, cedric, tasn
Subscribers: herdsman, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D1508
thjis was deprecated even before efl 1.0 by never removed. lua
replaced it for script_only objects and you havent been able to
compile an edje file with script_only enabled since 1.0, so no point
having the code here.
this cleans up that code and cruft.
Summary:
this commit contains calculation of format string for floating point numbers in order to print them with at least one symbol after point. (For example: 'relateve: 1.0 0.45;')
@fix
Reviewers: cedric, Hermet, raster, reutskiy.v.v
Reviewed By: reutskiy.v.v
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1653
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>