list/genlist/gengrid: Internal refactoring of item_focused/unfocused
authorDaniel Juyung Seo <seojuyung2@gmail.com>
Sun, 23 Mar 2014 14:29:16 +0000 (23:29 +0900)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Sun, 23 Mar 2014 14:29:16 +0000 (23:29 +0900)
codes.

- Added a check for focus highlight enable status before calling focus
signal to edje.
- Used obj instead of WIDGET(it) because that is used many times.

src/lib/elm_gengrid.c
src/lib/elm_genlist.c
src/lib/elm_list.c

index 3895be1..deffc73 100644 (file)
@@ -1505,7 +1505,7 @@ static void
 _elm_gengrid_item_focused(Elm_Gen_Item *it)
 {
    Evas_Object *obj = WIDGET(it);
-   Elm_Gengrid_Smart_Data *sd = GG_IT(it)->wsd;
+   ELM_GENGRID_DATA_GET(obj, sd);
    const char *focus_raise;
 
    if (it->generation < sd->generation)
@@ -1530,14 +1530,14 @@ _elm_gengrid_item_focused(Elm_Gen_Item *it)
    focus_raise = edje_object_data_get(VIEW(it), "focusraise");
    if ((focus_raise) && (!strcmp(focus_raise, "on")))
      evas_object_raise(VIEW(it));
-   evas_object_smart_callback_call
-           (WIDGET(it), SIG_ITEM_FOCUSED, it);
+   evas_object_smart_callback_call(obj, SIG_ITEM_FOCUSED, it);
 }
 
 static void
 _elm_gengrid_item_unfocused(Elm_Gen_Item *it)
 {
-   Elm_Gengrid_Smart_Data *sd = GG_IT(it)->wsd;
+   Evas_Object *obj = WIDGET(it);
+   ELM_GENGRID_DATA_GET(obj, sd);
 
    if (it->generation < sd->generation)
      return;
@@ -1552,12 +1552,14 @@ _elm_gengrid_item_unfocused(Elm_Gen_Item *it)
 
    sd->prev_focused_item = (Elm_Object_Item *)it;
 
-   edje_object_signal_emit
-      (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
+   if (elm_widget_focus_highlight_enabled_get(obj))
+     {
+        edje_object_signal_emit
+           (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
+     }
 
    sd->focused_item = NULL;
-   evas_object_smart_callback_call
-      (WIDGET(it), SIG_ITEM_UNFOCUSED, it);
+   evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
 }
 
 /* NOTE: this code will be used later when the item selection on key press
index 4158f59..567c586 100644 (file)
@@ -2440,7 +2440,7 @@ static void
 _elm_genlist_item_focused(Elm_Gen_Item *it)
 {
    Evas_Object *obj = WIDGET(it);
-   Elm_Genlist_Smart_Data *sd = GL_IT(it)->wsd;
+   ELM_GENLIST_DATA_GET(obj, sd);
    const char *focus_raise;
 
    if (it->generation < sd->generation)
@@ -2464,14 +2464,14 @@ _elm_genlist_item_focused(Elm_Gen_Item *it)
    focus_raise = edje_object_data_get(VIEW(it), "focusraise");
    if ((focus_raise) && (!strcmp(focus_raise, "on")))
      evas_object_raise(VIEW(it));
-   evas_object_smart_callback_call
-           (WIDGET(it), SIG_ITEM_FOCUSED, it);
+   evas_object_smart_callback_call(obj, SIG_ITEM_FOCUSED, it);
 }
 
 static void
 _elm_genlist_item_unfocused(Elm_Gen_Item *it)
 {
-   Elm_Genlist_Smart_Data *sd = GL_IT(it)->wsd;
+   Evas_Object *obj = WIDGET(it);
+   ELM_GENLIST_DATA_GET(obj, sd);
 
    if (it->generation < sd->generation)
      return;
@@ -2486,12 +2486,12 @@ _elm_genlist_item_unfocused(Elm_Gen_Item *it)
 
    sd->prev_focused_item = (Elm_Object_Item *)it;
 
-   edje_object_signal_emit
-      (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
+   if (elm_widget_focus_highlight_enabled_get(obj))
+     edje_object_signal_emit
+        (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
 
    sd->focused_item = NULL;
-   evas_object_smart_callback_call
-      (WIDGET(it), SIG_ITEM_UNFOCUSED, it);
+   evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
 }
 
 /* NOTE: this code will be used later when the item selection on key press
index a89b154..447ce9d 100644 (file)
@@ -1036,7 +1036,8 @@ _elm_list_item_focused(Elm_List_Item *it)
 static void
 _elm_list_item_unfocused(Elm_List_Item *it)
 {
-   ELM_LIST_DATA_GET(WIDGET(it), sd);
+   Evas_Object *obj = WIDGET(it);
+   ELM_LIST_DATA_GET(obj, sd);
 
    if ((!sd) || (!sd->focused_item) ||
        (it != (Elm_List_Item *)sd->focused_item))
@@ -1046,13 +1047,14 @@ _elm_list_item_unfocused(Elm_List_Item *it)
    if (sd->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)
      return;
 
-   if (elm_widget_focus_highlight_enabled_get(WIDGET(sd->focused_item)))
-     edje_object_signal_emit
-        (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
+   if (elm_widget_focus_highlight_enabled_get(obj))
+     {
+        edje_object_signal_emit
+           (VIEW(sd->focused_item), "elm,state,unfocused", "elm");
+     }
 
    sd->focused_item = NULL;
-   evas_object_smart_callback_call
-      (WIDGET(it), SIG_ITEM_UNFOCUSED, it);
+   evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
 }
 
 /*