efl/legacy/elementary/src/lib
RAJEEV RANJAN 46acbce93e From: RAJEEV RANJAN <rajeev.r@samsung.com>
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
2010-10-07 07:31:24 +00:00
..
Elementary.h.in From: 서주영 <juyung.seo@samsung.com> 2010-10-07 06:45:36 +00:00
Elementary_Cursor.h Add support on Elm to customized cursors 2010-09-17 18:24:10 +00:00
Makefile.am Elementary Flippicker, a fresh new widget. 2010-10-06 18:40:04 +00:00
elc_anchorblock.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elc_anchorview.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elc_fileselector.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elc_fileselector_button.c Fix: _event_hook must return EINA_FALSE if widget is disable 2010-09-29 12:22:41 +00:00
elc_hoversel.c Hoversel can have focus 2010-10-05 19:09:52 +00:00
elc_notepad.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elc_scrolled_entry.c Create sub objects using ourself as parent. Avoids having them as subobjects of any other widget, which caused problems whens passing focus around 2010-09-28 19:29:24 +00:00
elm_animator.c Lots of fixes: 2010-08-18 19:18:42 +00:00
elm_bg.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_box.c Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
elm_bubble.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_button.c From: RAJEEV RANJAN <rajeev.r@samsung.com> 2010-10-07 07:31:24 +00:00
elm_calendar.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_carousel.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_check.c Fix: _event_hook must return EINA_FALSE if widget is disable 2010-09-29 12:22:41 +00:00
elm_clock.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_cnp_helper.c Fixes on cnp_helper for changes on Ecore_X (int -> bool) 2010-09-27 18:45:38 +00:00
elm_config.c Focus highlight kinda configurable. More to come when discomfitor feels like implementing it 2010-10-04 16:55:32 +00:00
elm_conform.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_entry.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_flip.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_flippicker.c Elementary Flippicker, a fresh new widget. 2010-10-06 18:40:04 +00:00
elm_frame.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_gengrid.c Gendrid with navigation between items 2010-10-05 19:09:58 +00:00
elm_genlist.c From: 서주영 <juyung.seo@samsung.com> 2010-10-07 06:45:36 +00:00
elm_hover.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_icon.c From: RAJEEV RANJAN <rajeev.r@samsung.com> 2010-10-07 07:31:24 +00:00
elm_image.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_index.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_label.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_layout.c Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
elm_list.c List with navigation between items 2010-10-05 19:10:08 +00:00
elm_main.c Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
elm_map.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_mapbuf.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_menu.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_module.c Fix common misspellings 2010-09-09 00:35:43 +00:00
elm_notify.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_pager.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_panel.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_panes.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_photo.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_photocam.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_priv.h Focus highlight kinda configurable. More to come when discomfitor feels like implementing it 2010-10-04 16:55:32 +00:00
elm_progressbar.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_radio.c Fix: _event_hook must return EINA_FALSE if widget is disable 2010-09-29 12:22:41 +00:00
elm_scroller.c Set const where need in focus_next_get functions set 2010-10-06 20:24:19 +00:00
elm_separator.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_slider.c New API functions for elm slider. 2010-09-28 15:09:19 +00:00
elm_slideshow.c slider, slideshow and spinner with keyboard arrows 2010-09-27 21:13:41 +00:00
elm_spinner.c slider, slideshow and spinner with keyboard arrows 2010-09-27 21:13:41 +00:00
elm_table.c Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
elm_theme.c help users by showing some debug messages about themes not being found. 2010-09-26 23:27:18 +00:00
elm_thumb.c Fixing can_focus to the widgets 2010-09-29 12:22:30 +00:00
elm_toggle.c Fix: _event_hook must return EINA_FALSE if widget is disable 2010-09-29 12:22:41 +00:00
elm_toolbar.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
elm_widget.c aaaagh! free the member list! :) 2010-10-07 03:53:53 +00:00
elm_widget.h Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
elm_win.c Adding custom chain to focus. 2010-10-06 20:24:22 +00:00
els_box.c Remove some dead assignments from elementary 2010-09-25 22:07:55 +00:00
els_box.h Hacky move to evas_box 2009-10-02 19:22:40 +00:00
els_cursor.c Looks for parent cursors when mouse out a subobj 2010-09-28 12:44:08 +00:00
els_icon.c From: 김지훈 <imfine98@gmail.com> 2010-09-28 04:28:14 +00:00
els_icon.h Add 'drop' callback when objects are dropped. 2010-09-08 06:20:05 +00:00
els_pan.c * remove shadow declarations 2010-04-21 07:46:03 +00:00
els_pan.h elementary becomes its own tree/lib/test binary 2008-09-30 06:58:56 +00:00
els_scroller.c key events of the scroller treat in event_hook 2010-10-01 19:03:07 +00:00
els_scroller.h Add two apis to limit page size of gengrid's scroller : elm_gengrid_page_relative_set and elm_gengrid_page_size_set. 2010-09-29 16:59:35 +00:00
els_tooltip.c Clean up some dead code on elementary 2010-09-25 22:08:56 +00:00