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
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.
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.
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
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
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.
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.
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. >_<
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).
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
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.
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
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
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
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
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
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