[controlbar] add the API - elm_controlbar_object_item_object_get
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Thu, 24 Mar 2011 03:29:10 +0000 (12:29 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Thu, 24 Mar 2011 03:29:10 +0000 (12:29 +0900)
Change-Id: I7af4f85fc9682d9534b9869af1ed5b2b95981e65

src/lib/Elementary.h.in
src/lib/elm_controlbar.c

index 6538f76..fb5c863 100644 (file)
@@ -2826,6 +2826,7 @@ extern "C" {
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_prepend(Evas_Object *obj, Evas_Object *obj_item, const int sel);
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, Evas_Object *obj_item, const int sel);
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, Evas_Object *obj_item, const int sel);
+   EAPI Evas_Object *elm_controlbar_object_item_object_get(Elm_Controlbar_Item *it);
    EAPI void         elm_controlbar_item_del(Elm_Controlbar_Item *it);
    EAPI void         elm_controlbar_item_select(Elm_Controlbar_Item *it);
    EAPI void         elm_controlbar_item_visible_set(Elm_Controlbar_Item *it, Eina_Bool bar);
index ea8ccec..08a96ce 100644 (file)
@@ -387,7 +387,7 @@ _disable_hook(Evas_Object * obj)
           disabled = item->disable;
 
         if (item->style == OBJECT)
-          elm_widget_disabled_set(item->base, disabled);
+          if (item->base) elm_widget_disabled_set(item->base, disabled);
         else
           {
              if (disabled)
@@ -2140,6 +2140,23 @@ elm_controlbar_object_item_insert_after(Evas_Object * obj,
 }
 
 /**
+ * Get the object of the object item
+ *
+ * @param       it The item of controlbar
+ * @return      The object of the object item
+ *
+ * @ingroup Controlbar
+ */
+EAPI Evas_Object *
+elm_controlbar_object_item_object_get(Elm_Controlbar_Item * it)
+{
+   if (!it) return NULL;
+   if (it->style != OBJECT) return NULL;
+   if (!it->base) return NULL;
+   return it->base;
+}
+
+/**
  * Delete item from controlbar
  *
  * @param      it The item of controlbar
@@ -2539,7 +2556,7 @@ elm_controlbar_item_disable_set(Elm_Controlbar_Item * it, Eina_Bool disable)
    if (it->wd && it->wd->disabled) return;
 
    if (it->style == OBJECT)
-     elm_widget_disabled_set(it->base, it->disable);
+     if (it->base) elm_widget_disabled_set(it->base, it->disable);
    else
      {
         if (it->disable)