Subject: Patch to address some focus and disabling issue in elementary
widgets
We have observed some generic issues in Elementary widgets.
1. Widgets not getting disabled if we call elm_object_disabled_set(ob,
EINA_TRUE) followed by elm_object_style_set(obj, <style_name>);
This works fine if we disable the widget after changing the style(call
to theme_hook happens here).
It happens because we are not sending the edje signal in theme_hook of
the widgets, if the widget is already in disabled state.
I have added this code in theme_hook of elm_button as an example and
we will need to apply the similar stuff in all other widgets if needed.
2. The widget gets focused in a particular scenario even though we
call elm_object_focus_allow_set(obj, EINA_FALSE).
The code snippet to explain the scenario which we observed was like
this:
Evas_Object *button = NULL, *icon = NULL;
button = elm_button_add(parent);
elm_object_focus_allow_set(button, EINA_FALSE);
icon = elm_icon_add(button);
elm_icon_file_set(icon, EDJE_PATH, "test.icon");
elm_button_icon_set(button, icon);
An icon object does not take focus by default. But still whenever
the focus returned to the parent(layout in this case) after closing
some popup, the button gets focused though we had disabled it
explicitly.
The reason is in this case, when we call elm_icon_add(button), icon
gets added to button as a sub-object and in this call, we set
sd->child_can_focus for button(the parent) as true because till now,
the focus property for icon has not been set to false which by default
is true.
This was set later in the function elm_icon_add() as follows:
elm_widget_can_focus_set(obj, EINA_FALSE);
Actually this should be set before adding icon as sub-object of the
parent which in this case is a button.
I have done the required modification in the function elm_icon_add().
Attached to this mail is the patch file for these two issues.The
revision from which I have created this patch file is 53129.
We may need to do similar changes in other widgets if required.
SVN revision: 53137
Subject: patch for indentation and using enum in elementary
I send the patch for elementary.
In this patch, I fixed the indentation of Elementary.h.in.
In addition, I use EINA_TRUE or EINA_FALSE instead of 1 or 0.
EVAS_HINT_EXPAND and EVA_HINT_FILL is used instead of 1.0 and -1.0.
Thanks.
SVN revision: 52447
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
elm_<widget>_icon_set was changed to the better form and the signals
was passed to hidden icons when one icon is changed/removed.
Moreover, when changed by {icon,content}_set the old {icon,content}
will be deleted.
By: Fabiano Fidencio <fidencio@profusion.mobi>
SVN revision: 49706
Add support to automatic proxy events from Elementary to Edje using
callbacks described with Evas_Smart_Cb_Description and set to
Evas_Smart_Class or per-instance with
evas_object_smart_callbacks_descriptions_set().
Right now elm_widget is not subclassable, so there is no way to define
class signals, just instance signals.
Just doing it for button, lots of widgets to do... If you can help,
please follow the process:
* see example at src/lib/elm_button.c, copy it.
* read your widget documentation at Elementary.h
* grep for evas_object_smart_callback_call(), see if they are all
documented in Elementary.h, or if there are some missing. Fix Elementary.h
* paste and change based on fixed Elementary.h My recommendation is
to create "static const char []" variables and replace all
evas_object_smart_callback_call() with that, to force sync.
With callback descriptions pre-defined and using the same pointer with
a custom variation evas_object_smart_callback_call_ptr() we may later
optimize signal calling heavily, removing the requirement to call
eina_stringshare_add()/eina_stringshare_del() and also not mixing all
the callbacks in teh same list, instead having an array for defined
signals, and a list from there. These optimizations are not in, but
they are easily added later without breaking the API/ABI.
SVN revision: 47461
that's why!
2. make cmd-line tool to set scale, theme, finger size (more later) - used
this to test this and fix it.
3. cmd-line tool... also uses elm - and... as a result... also has a dialog
sayint its doing something - and... it can get a gui config later too!
SVN revision: 45175
Hi raster, glad you're back. I'm resending some elm patches your way. the
disabled_buttons.diff also needs bt_dis_base.png and bt_dis_hilight.png
from e17's b&w theme.
SVN revision: 41818
fix some theme size calc issues
make all widgets able to... do finger size! this way a ui can be tweaked with
1 value (finger size) if it is to be finger or mouse/stylus driven. and it
was so simple to add in.
work on genlist - beginning to display items and scroll.
SVN revision: 38995
add tests for these
add tests for inheriting scaling factor from parent
fix test app to use list now instead of box+buttons (cleaner)
SVN revision: 38909