Summary: Add one more argument, 'Eina_Bool sub_object' to elm_widget_resize_object_set. If the argument, 'sub_object' is set as EINA_TRUE, the new resize object is added to the sub object and the previous resize object is deleted from the sub object.
Reviewers: Hermet, seoz
CC: Jaehyun_Cho, seoz, raster
Differential Revision: https://phab.enlightenment.org/D265
We've countered application's requirements multiple times to they have the object handle from the elm_object_item.
Now we introduce it for their convenient but they should use it carefully.
It prevents applying themes more strictly if it tries to apply same theme.
This increases the performance hugely in case that user applies a specific theme to the window object.
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
Elm devs should fix it beforehand.
So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
now if applying the orientation style is failed, it tries to apply the original style. if it fails again then default theme.
also it fixed a logic error when theme changed is happened.
It will try to apply the original style if the orientation style is invalid on theme changing.
SVN revision: 84082
let elm_wdg_orientation_set() have return value and call the elm_wdg_theme() inside.
since every widgets tend to do same task with smart_theme() when it's orient mode is changed.
SVN revision: 83981
Orientation Mode is used for widgets to change it's styles or to send signals
whenever it's window degree is changed. If the orientation mode is enabled
and the widget has different looks and styles for the window degree(0, 90,
180, 270), it will apply a style that is readied for the current degree,
otherwise, it will send signals to it's own edje to change it's any states if
the style doesn't be readied.
SVN revision: 83880
the Eo function with id EO_BASE_SUB_ID_DBG_INFO_GET will be able to show
in Clouseau their own specific information.
Information contents handling is controlled by the class itself and
no more by Clouseau. Basic types are supported, as couple of ints,
couple of doubles, colors and lists.
Signed-off-by: Aharon Hillel <a.hillel@samsung.com>
SVN revision: 83411
Smart data is already initialized so we do not need to re-initialize them if the value equals to 0, NULL, or EINA_FALSE.
Sometimes re-initializing smart data explicitly is needed for readability. So there are left overs.
SVN revision: 82228
1. _elm_access_item_register(); please use _elm_access_widget_item_register();
2. _elm_access_item_unregister(); please use _elm_access_widget_item_unregister();
3. Elm_Access_Info of Elm_Widget_Item, because Elm_Widget_Item uses elm_access object which has Elm_Access_Info.
SVN revision: 80063
Subject: [E-devel] [patch][elementary] access - activate widget
Subject: [E-devel] [Patch][elementary] scroller, slider - access
activate feature
the previous activate function just get object only. to activate scroller
or slider etc.. it needs more information. so the patch changed previous
activate(Evas_Object *obj) to activate(Evas_Object *obj, Elm_Activate act);
the Elm_Activate can be one of ELM_ACTIVATE_DEFAULT, UP, DOWN, RIGHT, and
LEFT.. you can add more if it is necessary.
I have attached two patches. one is for the slider and the other is for the
scoller.
this patch would support those who wants change value of slider or content
position of scroller on remote side.
this would be useful to the access side or voice control side also.
SVN revision: 76717
hooks.
The former is now issued for all scrollables, with the behavior it had
before, and the latter is a new virtual base function, with a default
implementation leading to values matching the old case where one
didn't implement the hook.
Please help me test if everything is OK -- it seems so, here.
SVN revision: 75904
and "focus-out"."
This reverts commit 1bb12050b9785d47e102b4a3633210316d408f0d.
Conflicts:
ChangeLog
NEWS
Cedric, this is just wrong. The *on_focus* smart function of the base
widget is now the central place to handle focus in/out events.
I'll fix the spinner in sequence.
SVN revision: 74853
widgets.
Some of them have initting code using the parent ptr for some logic.
Now there's a new idiom on instantiating widgets which adresses
that. It'll be used for all widgets from now on.
SVN revision: 74147
This is meant to be used for all widgets implementing scrolling views.
An Elementary interface adds a given behaviour to whichever widget,
from any class.
SVN revision: 73307
last to be evaluated.
Porting of the basic scrolling infra to an interface will happenfirst, as well as the scrolling widgets porting.
Patch by: Gustavo Lima Chaves <glima@profusion.mobi>
SVN revision: 73306
Subject: [E-devel] [Patch][elm_widget] access hook
Real time setting would be necessary in case of running applications
which
have elm_layout or elm_widget_item.
If the access mode does not care of this, running applications should
restart. The attached for this. Please review the patch and give any
feedbacks. Thanks.
SVN revision: 73229
Removes the event callback list within _smart_del. The current
implementation does not care about the node data resulting on
memory leaks.
Here follows the valgrind log:
16 bytes in 1 blocks are definitely lost in loss record 11 of 168
at 0x4C29DB4: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x522EC34: elm_widget_event_callback_add (elm_widget.c:1996)
by 0x5A7AA2B: _edje_emit_handle (edje_program.c:1322)
by 0x5A766B6: _edje_message_queue_process (edje_message_queue.c:764)
by 0x5A76856: _edje_job (edje_message_queue.c:160)
by 0x628C02A: _ecore_job_event_handler (ecore_job.c:115)
by 0x6288C1F: _ecore_event_call (ecore_private.h:319)
by 0x628D09B: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
by 0x628D566: ecore_main_loop_begin (ecore_main.c:931)
by 0x4023B0: elm_main (test.c:198)
Patch by Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 72498
new schema.
els_icon smart object was brought to be the base of the image widget,
in the form of an image class.
An elm icon is now a elm image, with a little more on top of it.
An elm photo is a now base widget aggregating an icon.
Toolbar's internal usage of the former els_icon is now changed to
icons, instead.
Some naviframe instantiations were set to enable events during
transitions, because this code is buggy and my chages exposed the
problem. It will be fixed as soon as I get to port Naviframe.
SVN revision: 71429
widget hierarchy.
Win inherits directly from Elm_Widget_Smart_Class, while inwin is now
an elm layout.
Note that elm_widget_sub_object_list_get(), which was an unecessary
hack only used on win, was killed.
SVN revision: 70717
class: elm_layout.
This will be, besides the codebase for the elm_layout widget, a common
base for all other widgets which got an edje layout as a basis for
their decoration.
From now on, all elm_layout_* namespaced fuctions will function
on objects inheriting from this base:
- elm_layout_content_set
- elm_layout_content_get
- elm_layout_content_unset
- elm_layout_text_set
- elm_layout_text_get
(recovered from deprecated header -> not anymore)
- elm_layout_sizing_eval
- elm_layout_data_get
- elm_layout_edje_get
- elm_layout_file_set
- elm_layout_theme_set
- elm_layout_box_append
- elm_layout_box_prepend
- elm_layout_box_insert_before
- elm_layout_box_insert_at
- elm_layout_box_remove
- elm_layout_box_remove_all
- elm_layout_table_pack
- elm_layout_table_unpack
- elm_layout_table_clear
Three missing functions on layouts were added, then:
- elm_layout_signal_emit
- elm_layout_signal_callback_add
- elm_layout_signal_callback_del
Naturally, the elm_object_ namespaced counterparts of those will also
function (they will be deprecated on the future).
SVN revision: 70708
resize objects to new schema.
sub-object-{add,del} new class functions got their bodies in. One by
one, the old elm_widget_ namespaced calls to them got to be migrated
to the class calls.
A resize object is now a sub-object, too. This should be like that
from the start -- we share code and avoid callback duplication -- what
leaded to a plethora of bugs.
SVN revision: 70705
properly by real widgets.
I'm also creating a *compatibility* class on top of it, which extends
the old (unique) one to its old components, so that everything goes
unnoticed for the widgets.
Next, we'll be accessing class functions for widget hooks *on the base
class*, which will be proxied back to the instance ones.
Then, one by one the widgets will be translated to a proper
hierarchical smart class parentage, making extensibility and reuse
much better.
Last, but not least, since we'll be moving these hooks to the class,
where (almost) everything is a function, let's adapt to the future --
take away the "_func" suffix from them.
NB: there is ONE hook and associated data which was kept on the base,
for now: "show_region" stuff. I did that because scrollers need that
in order to work, right now. Keep in mind, though, the scrollers will
be reworked, so that fields ought to be changed soon, too.
SVN revision: 70704
using elm_widget_focus_direction_go function, focus will be moved from
the current focused object to the near object in one direction.
Direction can be set by degree(for easy usability). Degree changes
clockwise, i.e. 0 means UP, 90 means RIGHT, 180 means DOWN, and 270
means LEFT. You can select any direction by changing this degree.
SVN revision: 70681
widget hierarchy.
Win inherits directly from Elm_Widget_Smart_Class, while inwin is now
an elm layout.
Note that elm_widget_sub_object_list_get(), which was an unecessary
hack only used on win, was killed.
SVN revision: 70640
class: elm_layout.
This will be, besides the codebase for the elm_layout widget, a common
base for all other widgets which got an edje layout as a basis for
their decoration.
From now on, all elm_layout_* namespaced fuctions will function
on objects inheriting from this base:
- elm_layout_content_set
- elm_layout_content_get
- elm_layout_content_unset
- elm_layout_text_set
- elm_layout_text_get
(recovered from deprecated header -> not anymore)
- elm_layout_sizing_eval
- elm_layout_data_get
- elm_layout_edje_get
- elm_layout_file_set
- elm_layout_theme_set
- elm_layout_box_append
- elm_layout_box_prepend
- elm_layout_box_insert_before
- elm_layout_box_insert_at
- elm_layout_box_remove
- elm_layout_box_remove_all
- elm_layout_table_pack
- elm_layout_table_unpack
- elm_layout_table_clear
Three missing functions on layouts were added, then:
- elm_layout_signal_emit
- elm_layout_signal_callback_add
- elm_layout_signal_callback_del
Naturally, the elm_object_ namespaced counterparts of those will also
function (they will be deprecated on the future).
SVN revision: 70631