When I first implemented the Efl.Container interface I made a mistake of
mixing "single slot" content API's with "multiple children" content
API's. This should fix that, by separating API's that are for a single
part and those that deal with a list of children.
Efl.Content: Single slot. This will be used a lot by efl_part()
objects, and for the default content of widgets (eg. the window
content).
Efl.Container: Multiple children. Used by lists, boxes, layouts
(edje/elm), etc...
I didn't see any class that implemented both interfaces (note: Layout
implements Container and Button implements Content, so technically
Button implements both through inheritance).
For now the eo_prefix is not changed in Efl.Container. I wonder if it
should be reset (to efl_container) or not. This would only affect the C
API.
Ref T5328
This commit add the event "circular,dependency" for edje object. Given
event is called when edje found the circular dependency between parts
in object. This event will be usefull and informative paired with
Edje_Edit API.
This reverts commit ef3d2120bf.
This breaks E. pager ono my right screen looks like:
http://devs.enlightenment.org/~raster/shot-2017-11-11_12-13-14.png
on my left screen shellf keeps swapping between 2 dizes wobbling back
and forth every frame eating cpu and making it "blurry"...
note - theme is the flat one in devs/raster/theme/flat2 branch. so
this change certainly breaks something...
As most of you know, TEXT part was, up to this point, an Evas.Text
object.
This patch merges TEXT and TEXTBLOCK both to use Efl.Canvas.Text.
Code is added to emulate what TEXT did that TEXTBLOCK did not.
I believe we can move forward with TEXT, and deperacate TEXTBLOCK from
the EDC. You can also set markup to TEXT parts.
Exactness seems to show some differences, but further examination shows
that it's due to difference in how width is calculated in
Efl.Canvas.Text. The results seem correct.
Be sure to report of any breakage via Phabricator or contact me
directly.
I am running E with this and did not stumble upon any crashes or visual
bugs.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Call provider_find on the loop (or basically any object) with the
color/text/size class interface instead, to find it. The main loop is
the main holder of those objects.
Note: This makes use of provider_find instead of direct access to the
variable, in order to self-test the code. In theory release builds will
not do this and user directly the variable.
Summary:
It should return width and height with positive values or zero.
@fix
Test Plan: make check
Reviewers: raster, jpeg, cedric
Reviewed By: raster
Subscribers: jiin.moon
Differential Revision: https://phab.enlightenment.org/D5422
This isn't meant to be installed. The canvas API in EO is based around
the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is
not EO (eg: ecore_evas, evas, ...)
Note: evas_canvas3d is the last remaining thing that is installed along
EO files, but those are all beta APIs.
This is the result of a really quick review of the new VG code. Most of
it was moved around, but this merge includes the following:
- Move logic from edje to evas
- Create static lib for common VG handling
- Add file_set() API
- Add a basic VG cache in evas side
- Add savers modules, implement loaders and savers.
Summary:
Currently user ask for the root_node from the evas_vg object and then attach its tree by setting the root node as parent.
With this change this process will be explicit. user has to set the root node to the evas_vg object and the object will take the ownership
of the tree. User can query the current vg_tree by root_node_get api.
Test Plan:
Fixed the test app to reflects this change.
Reviewers: jpeg, cedric
Reviewed By: jpeg, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5347
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary: This adds missing doxgen documentation for Edje_Common.h
Test Plan: API Doxygen Revision
Reviewers: cedric, jpeg, myoungwoon
Differential Revision: https://phab.enlightenment.org/D5345
Simply pass in the strbuf and don't expect the callee to own it. This
makes things simpler and safer (it'll crash only if the callee frees
said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming
release, EFL 1.21.
Realised this after talking with Amitesh. Thanks.
See 999dbd9764
And c4769ff898
Keep the legacy code path when using edje_object_part_text_set.
Fixes e's notification that got broken after
3642b3ae67.
Also, limit new efl_text_markup set to TEXTBLOCK parts.
Summary:
There was missing info when text is deleted by _edje_entry_imf_event_delete_surrounding_cb().
@fix
Test Plan: N/A
Reviewers: kimcinoo, raster, cedric, jpeg, herdsman
Differential Revision: https://phab.enlightenment.org/D5240
Users can now do either:
efl_text_set(efl_part(obj, "part"), "text");
efl_text_markup_set(efl_part(obj, "part"), "text");
Also have efl_text_get/markup_get.
Using markup_set will allow to choose whether to set a markup or a text
to the text part.
For now I made this EO-only but this definitely could be expose in
legacy API as well.
This simply gives exact information about the type of part, after doing
a recursive search. Edit Edit doesn't do a recursive search, only a
direct one, which can yield invalid results (eg. RECT or NONE instead of
TEXT in case of "elm.units.max" for a slider).
@feature
We're not 100% sure yet but there seems to be an issue with GCC and -O2
where rage scrolling doesn't work anymore, since the first patch below:
See 641a58f735
See f53fe993a6
This commit unfortunately doesn't solve the issue.
The "default" name doesn't mean a lot to edje. Use the helper function
to get the proper seat name.
This fixes IMF for the Entry widget, that did not get triggered on the
hotkey combination.
@fix
The seats list got emptied, but the counter progression was kept,
causing needless different seat names for the same device across
different edje objects.
calc_size_min was just a helper passing 0,0 to the restricted form.
Let's not duplicate APIs in EO and use an optional argument instead.
Bindings should be nicer and C could use a macro if it's too cumbersome
to pass in 0,0.
For this patch I decided to add a pseudo legacy wrapper as the function
is called in a very large number of places. Fixing all those calls to
use the size2d form is a lot of work and a greater risk of b0rking
something.