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
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: 70628
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: 70627
verification. Patch by Taehwan Kim <ohpowel@gmail.com>
On Tue, Apr 10, 2012 at 5:37 PM, Bluezery <ohpowel@gmail.com> wrote:
> Hello,
>
> Currently, elm_widget_sub_object_add() does not check if obj and sobj
> are same object.
> Actually it is a user problem if user add object itself as it's sub
object.
> But I think that this checking is needed and it is better to give
> error logs to users. Because it causes infinite loop and it is hart
> to debugging. :(
>
> Thanks.
SVN revision: 69995
Current Issue:
Currently when we add a widget to window as a sub-object, e.g.
elm_notify_add(win) which internally calls elm_widget_sub_object_add
then the focus chain using <TAB> includes only
the first focusable subitem of the widget, not all.
Whereas with elm_win_resize_object_add, it works fine and cycles to
all focusable sub-items of the widget.
Reason:
The reason is that we are appending sub-object to the list in
elm_win which is used for focus chain, only in case of
elm_win_resize_object_add.
Change Description:
Added a new API: EAPI Eina_List
*elm_widget_sub_object_list_get(const Evas_Object *obj);
This API returns the list of sub-objects of an elementary widget
(sd->subobjs) where sd is Smart_Data pointer obtainted using
elm_widget_smart_data_get(obj).
We have used this API in elm_win for focus_next_hook implementation.
Signed-Off-By: RAJEEV RANJAN<rajeev.r>@samsumg.com>
SVN revision: 69943
Now it returns the bool value to free the widget item.
Some widget items(i,e genlist) should not be deleted directly when elm_object_item_del is called.
So, if the pre_hook function returns EINA_FALSE, then the widget item will not be deleted.
SVN revision: 67565
win_resize_object_add(win, subobj);
object_content_set(otherobj, subobj);
object_del(win);
ERR<21326>:elm-externals elm_widget.c:978 elm_widget_sub_object_del() removing sub object 0xdeadbeef (some_stupid_widget) from parent 0xRRRRRRRR (win), but elm-parent is different 0xFUCKTHIS (NOT EVEN A WIDGET)!
SVN revision: 65884
Firstly, for efficiency, we add a Job to calculate the whole canvas. Jobs implicitly coallate work per event loop.
Calcuation of object can be a reasonably intensive set of work.
In the job callback we calculate the whole canvas with evas_smart_objects_calculate() to ensure that all objects have the correct geometry at this point.
Reviewed by Raster.
SVN revision: 65509
Besides we free the object pointed by esd, we NEED the right pointer's
value to unregister the signal with
edje_object_signal_callback_del_full().
SVN revision: 64415
First things first, I'm not sure I'm setting the right variable on
the setlocale() call, so someone more knowledgeable can look at it and fix it.
How this works, you say? Just like elm_object_text_part_set(), except now it
will pass the string given through dgettext() with the given domain (NULL
means it uses whatever the app set with textdomain()), and when changing
language with elm_language_set(), it will re-set the strings with a new
translation.
SVN revision: 64179
Hi all,
I found few memory related issues in elementary package when performed static analysis on it.
These issues include:
Array indices getting out of bounds, freed memory address being passed to a function as parameter, memory not getting cleaned up because of earlier return statement.
Issues details:
1. In elm_widget.c inside function elm_widget_signal_callback_del(), it is possible that freed memory address esd is passed to the sd->callback_del_func(). I think it should be data, not esd.
Moreover what if the callback frees memory for data, then the other problem is that the return value is data from the function elm_widget_signal_callback_del() which in my opinion can be a problem.
2. Inside directory src/edje_externals for files elm_genlist.c, elm_notify.c, elm_list.c, elm_thumb.c and elm_map.c, array indices can go beyound bounary.
sizeof() operator for an array of character pointers will return [number of elements in the array * size of (char*)], basically 4 times the number of elements which has been taken care in assertion inside src/edje_extenarnals
while performing assertion but has been missed in the next statement in the loop condition.
3. In file src/lib/elm_config.c inside function _elm_config_profiles_list, freeing of file iterator has been missed out.
Please review the attached patch and let me know your opinion.
Thanks.
Regards,
Rajeev
SVN revision: 63550
[E-devel] [patch] elm_widget - elm_widget_type_unregister
Dear developers.
This patch is adding a api to elm_widget.
In elm_widget, there is an api to register widget type to elementary's own
list.
However it doesn't provide unregister api.
So I made this patch.
Most of case, it's not needed. But in some case, it's useful.
(such as elm objects in DSO, if a DSO unloaded, registered widtype is
invalidated)
Thank you
SVN revision: 62099
But wonder, is it really needed the auto casting macros?
Why user not just use the elm_widget_item directly
and make their item data structures dangled to elm_widget_item just like smart object?
SVN revision: 62079
these bad boys are so big and pixelthirsty they can't be constrained by a regular canvas or window, they use OVERRIDE REDIRECT WINDOWS. not only that, they totally exceed the boundaries of what a reasonable function name length could be. 50 character function name limit? puh-leeze. these guys don't care what side of the screen they're even on so long as they get to wade into the thick of the action and block out each and every crappy non-efl application behind them. and that's when they're in good moods. you don't even want to know what happens when you piss these guys off.
SVN revision: 61735
elm_widget_show_region_set to set the show region always. Earlier, the
API expects some change, to redo the job. Patch by Prince Kumar Dubey
<prince.dubey@samsung.com>
------- Original Message -------
Sender : PRINCE KUMAR DUBEY<prince.dubey@samsung.com>
Date : 2011-05-20 17:41 (GMT+09:00)
Title : [E-devel] [Patch] elm_conform patch
Hi Mr Seo,
Can you please send the attached patch of elm_conformant to EFL ope-src community.
Change Log:
Eina_Bool parameter is added to API elm_widget_show_region_set to set
the show region always. Earlier, the API expects some change, to redo the job.
This enhancement is already approved by raster in gerrit review.
Thank you.
Regards,
Prince
SVN revision: 61148
Subject: [E-devel] [Patch] elm_widget_focus_steal should be executed
only with "can_focus" object.
I think elm_widget_focus_steal function should be executed only with
"can_focus" widget object.
("Cannot_focus" object has no right to steal focus from others !!)
SVN revision: 59733
Subject: [E-devel] [Patch] Focus issue in elm_widget.c
I've checked there were some focus problems when an object is hidden.
So I made patch for that ~
SVN revision: 57898
After a widget is created(obj = elm_widget_add), the object does not have any parent object.
However if user call elm_widget_sub_object_add(parent, obj), then CRI will be happened.
So the exception should be there.
SVN revision: 57667
* Added elm_mirrored_get/set to set the system mirrored mode
* Added elm_widget_mirrored/get/set to set each widget's mirrored mode.
* Added code to set the system mirrored mode from translations to elementary and added translations for all the rtl languages. (a trick to load according to locale).
* Future commits will include specific widgets mirrored mode handling.
Work by Aharon Hillel and Tom Hacohen.
SVN revision: 56673
Subject: Re: [E-devel] [PATCH] elm widget: make show_region_set
function call all region show functions set by parents
I'm trying to send several patches that I've changed.
This is just the beginning of my patch rushes..
'elm_widget_show_region_set' function works fine in the simple case (any
widget inside one scroller) however, in the complex parent-child case
(such
as entry in the box in the horizontal scroller in the layout in the
vertical
scroller) it doesn't work correctly because all show region functions
set by
scrollers are not called.
So I changed it to call all show region functions set by its parents
widgets
if exist.
Please review the attached patch file and feel free to give me any
kind of
feedback.
SVN revision: 55592
elm_widget_disabled_set was calling focus_jump and it broke the focus tree.
Now, using focus_cycle to pass focus to next object.
Added test to disable focused button in test_focus.
SVN revision: 55408
add.del items will try and stick to viewing an acnhor item. it also
handles wrapping text properly now if style has such a thing - a test
style with that is there too (message style) for now - found isasue in
edje with textblock styles - doesnt change on state change. but anyway
- re-wrapping text works.. and it progressively processes the genlist
blocks to re-calc sizes etc. etc. so you dont block and so-on. i5ts
not too shabby. as for that - store has a generic struct type reader
now and is being tested... and get rid of unused var.
SVN revision: 54738
they CAN be focused :) see conform 2 test. focuse the entry in the
pager then dlete the pager page (pop). before focus vanished. now it
goes back to the top entry as you'd expect.
SVN revision: 54486
There's still a little bugger that can be noticed with the Scroller 2 test
and elm_conform still needs to handle this as scroller does.
SVN revision: 53778
In Window show, the focus is given to first focusable object, or to
window if no exist focusable object. So, suggest create the widgets
before show the window.
If pager is focused, it give the focus to top page in each promote.
SVN revision: 53733
Added set, get, unset, prepend and append (relative or not).
Set - overwrite the custom chain
Unset - Delete the custom chain
Get- Return the custom chain
Append - append after the relative object or in the end
Prepend - prepend before the relative object or in the start
SVN revision: 53115
Before, the focus_cycle try pass the focus to next, and try again if
need loop the objects. Now, the focus cycle return possible next
object and if is necessary loop or not to focus this returned object.
SVN revision: 53111
This Debug search all subobjects from one object and put in file all
sub-tree of elementary objects as dot language in file. After you can
use dot(from graphviz) to generate PNG, SVG,... diagram of objects.
SVN revision: 53035
Now Widgets can control between children interation or receive focus
itself. And focus_cycle has now one default code.
And don't pass focus to disabled widgets
SVN revision: 52959