elm_toolbar: lookup_order implements
authorBowon Ryu <bowon.ryu@samsung.com>
Thu, 12 Apr 2018 14:02:33 +0000 (23:02 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 16 Apr 2018 05:45:16 +0000 (14:45 +0900)
@tizen_fix

Change-Id: I4e8f461f65d0e222d375275816f89e6d208e8d28
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
src/lib/elementary/elm_toolbar.c
src/lib/elementary/elm_widget_toolbar.h

index a844383..c21f019 100644 (file)
@@ -2522,6 +2522,10 @@ _item_new(Evas_Object *obj,
    efl_access_type_set(VIEW(it), EFL_ACCESS_TYPE_DISABLED);
 
    icon_obj = elm_icon_add(VIEW(it));
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   if (sd->has_lookup_order)
+     elm_icon_order_lookup_set(icon_obj, sd->lookup_order);
+   /* END */
 
    if (_elm_atspi_enabled())
        if (icon_obj) efl_parent_set(icon_obj, eo_it);
@@ -2935,6 +2939,11 @@ _elm_toolbar_efl_canvas_group_group_add(Eo *obj, Elm_Toolbar_Data *priv)
    evas_object_event_callback_add
      (priv->bx, EVAS_CALLBACK_RESIZE, _resize_cb, obj);
 
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   priv->has_lookup_order = EINA_FALSE;
+   priv->lookup_order = 0;
+   /* END */
+
    _elm_toolbar_highlight_in_theme(obj);
    _sizing_eval(obj);
 }
@@ -3732,6 +3741,13 @@ _elm_toolbar_item_state_add(Eo *eo_item, Elm_Toolbar_Item_Data *item,
      }
 
    icon_obj = elm_icon_add(obj);
+
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   ELM_TOOLBAR_DATA_GET(obj, sd);
+   if (sd->has_lookup_order)
+     elm_icon_order_lookup_set(icon_obj, sd->lookup_order);
+   /* END */
+
    if (!icon_obj) goto error_state_add;
 
    if (!_item_icon_set(icon_obj, "toolbar/", icon))
@@ -4317,16 +4333,35 @@ _elm_toolbar_elm_interface_scrollable_content_pos_set(Eo *obj EINA_UNUSED, Elm_T
 /* Legacy deprecated functions */
 
 EAPI void
-elm_toolbar_icon_order_lookup_set(Evas_Object *obj EINA_UNUSED,
-                                   Elm_Icon_Lookup_Order order EINA_UNUSED)
+elm_toolbar_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order)
 {
    // this method's behaviour has been overridden by elm_config_icon_theme_set
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   Elm_Toolbar_Item_Data *it;
+
+   ELM_TOOLBAR_CHECK(obj);
+   ELM_TOOLBAR_DATA_GET(obj, sd);
+
+   if (sd->lookup_order == order) return;
+   sd->has_lookup_order = EINA_TRUE;
+   sd->lookup_order = order;
+   EINA_INLIST_FOREACH(sd->items, it)
+     elm_icon_order_lookup_set(it->icon, order);
+   if (sd->more_item)
+     elm_icon_order_lookup_set(sd->more_item->icon, order);
+   /* END */
 }
 
 EAPI Elm_Icon_Lookup_Order
-elm_toolbar_icon_order_lookup_get(const Evas_Object *obj EINA_UNUSED)
+elm_toolbar_icon_order_lookup_get(const Evas_Object *obj)
 {
-   return ELM_ICON_LOOKUP_FDO_THEME;
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   ELM_TOOLBAR_CHECK(obj) 1;
+   ELM_TOOLBAR_DATA_GET(obj, sd);
+
+   return sd->lookup_order;
+   //return ELM_ICON_LOOKUP_FDO_THEME;
+   /* END */
 }
 
 static Eina_Bool
index a718902..040a6af 100644 (file)
@@ -42,6 +42,10 @@ struct _Elm_Toolbar_Data
    Elm_Object_Item                      *last_focused_item; /**< This records the last focused item when widget looses focus. This is required to set the focus on last focused item when widgets gets focus. */
    Elm_Toolbar_Item_Data                *reorder_empty, *reorder_item;
    Elm_Toolbar_Shrink_Mode               shrink_mode;
+   /* TIZEN_ONLY(20180412): lookup_order implements */
+   Eina_Bool                             has_lookup_order;
+   Elm_Icon_Lookup_Order                 lookup_order;
+   /* END */
    int                                   theme_icon_size, priv_icon_size,
                                          icon_size;
    int                                   standard_priority;