hoversel: add item disabling support. 10/84310/3
authorJee-Yong Um <jc9.um@samsung.com>
Thu, 18 Aug 2016 04:36:41 +0000 (13:36 +0900)
committerJee-Yong Um <jc9.um@samsung.com>
Thu, 18 Aug 2016 05:15:46 +0000 (14:15 +0900)
========================================================================
    hoversel: add item disabling support.

    Summary:
    Hoversel items can be disabled using elm_object_item_disabled_set
    @feature

    Test Plan: elementary_test

    Reviewers: prince.dubey, shilpasingh, raster, Hermet, conr2d, cedric

    Subscribers: poornima.srinivasan, rajeshps

    Differential Revision: https://phab.enlightenment.org/D3122
========================================================================

Signed-Off-By: Jee-Yong Um <jc9.um@samsung.com>
Change-Id: I12d1d99b07f85d4abebea7967006e8cd2d15c16c

data/themes/edc/elm/button.edc
src/bin/test_hoversel.c
src/lib/elc_hoversel.c
src/lib/elm_hoversel_item.eo

index 1d2b83a..0088b6d 100644 (file)
@@ -1197,6 +1197,11 @@ group { name: "elm/button/base/hoversel_vertical_entry/default";
             visible: 1;
          }
       }
+      rect { name: "block_events";
+         desc { "default";
+            color: 0 0 0 0;
+         }
+      }
       rect { name: "event";
          desc { "default";
             color: 0 0 0 0;
index 3e39ad0..15d4203 100644 (file)
@@ -171,6 +171,8 @@ test_hoversel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
    elm_hoversel_item_add(hoversel, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL);
    elm_hoversel_item_add(hoversel, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL);
    elm_hoversel_item_add(hoversel, "Item 4 - Long Label Here", "close", ELM_ICON_STANDARD, NULL, NULL);
+   it = elm_hoversel_item_add(hoversel, "Item 5 - Disabled", NULL, ELM_ICON_NONE, NULL, NULL);
+   elm_object_item_disabled_set(it, EINA_TRUE);
    evas_object_smart_callback_add(hoversel, "clicked",
                                   _hoversel_clicked_cb, NULL);
    evas_object_smart_callback_add(hoversel, "selected",
index 621fe28..5bf367c 100644 (file)
@@ -98,6 +98,8 @@ _elm_hoversel_elm_widget_theme_apply(Eo *obj, Elm_Hoversel_Data *sd)
         ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
         elm_object_style_set(VIEW(item), buf);
         elm_object_text_set(VIEW(item), item->label);
+        elm_widget_disabled_set
+          (VIEW(item), eo_do_ret(eo_item, int_ret, elm_wdg_item_disabled_get()));
      }
 
    eina_stringshare_del(style);
@@ -446,6 +448,15 @@ _on_parent_del(void *data,
    elm_hoversel_hover_parent_set(data, NULL);
 }
 
+EOLIAN static void
+_elm_hoversel_item_elm_widget_item_disable(Eo *eo_it,
+                                           Elm_Hoversel_Item_Data *it)
+{
+   Eina_Bool tmp;
+   elm_widget_disabled_set
+     (VIEW(it), eo_do_ret(eo_it, tmp, elm_wdg_item_disabled_get()));
+}
+
 static void
 _elm_hoversel_item_elm_widget_item_part_text_set(Eo *eo_it EINA_UNUSED,
                                             Elm_Hoversel_Item_Data *it,
index 39d0765..04efc85 100644 (file)
@@ -20,6 +20,7 @@ class Elm.Hoversel_Item(Elm.Widget_Item)
    implements {
         Eo.Base.constructor;
         Eo.Base.destructor;
+        Elm.Widget_Item.disable;
         Elm.Widget_Item.signal_emit;
         Elm.Widget_Item.part_text.set;
         Elm.Widget_Item.part_text.get;