hermet pushed a commit to branch master.

commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
Author: ChunEon Park <[email protected]>
Date:   Mon Sep 2 17:19:36 2013 +0900

    elementary/widget - introduce elm_object_item_object_get().
    
    We've countered application's requirements multiple times to they have the 
object handle from the elm_object_item.
    
    Now we introduce it for their convenient but they should use it carefully.
---
 ChangeLog                 |  6 +++++-
 NEWS                      |  1 +
 src/lib/elm_main.c        |  6 ++++++
 src/lib/elm_object_item.h | 19 +++++++++++++++++++
 src/lib/elm_removed.h     | 15 +--------------
 src/lib/elm_widget.c      |  7 +++++++
 src/lib/elm_widget.h      |  1 +
 7 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4c59fdc..1695f01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1578,6 +1578,10 @@
 
         * Gengrid: implement selectraise feature.
 
-2013-08-28  DAniel Juyung Seo (SeoZ)
+2013-08-28  Daniel Juyung Seo (SeoZ)
 
         * Bg: Add bg reset feature.
+
+2013-09-02  ChunEon Park (Hermet)
+
+        * Widget: Introduce elm_object_item_object_get() API.
diff --git a/NEWS b/NEWS
index c2056f3..c6046bd 100644
--- a/NEWS
+++ b/NEWS
@@ -85,6 +85,7 @@ Additions:
    * Add elm_win_focus_highlight_animate_set/get().
    * Add selectraise feature to gengrid.
    * Add bg reset feature.
+   * Add elm_object_item_object_get().
 
 Improvements:
 
diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
index 2fa2ea0..9f138b2 100644
--- a/src/lib/elm_main.c
+++ b/src/lib/elm_main.c
@@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const 
Elm_Object_Item *it)
 {
    return elm_widget_item_cursor_engine_only_get(it);
 }
+
+EAPI const Evas_Object *
+elm_object_item_object_get(const Elm_Object_Item *it)
+{
+   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
+}
diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
index 8a0ccde..f256a63 100644
--- a/src/lib/elm_object_item.h
+++ b/src/lib/elm_object_item.h
@@ -34,6 +34,25 @@ typedef void                  
(*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
 EAPI Evas_Object                 *elm_object_item_widget_get(const 
Elm_Object_Item *it);
 
 /**
+ * Get the object item's internal object handle.
+ *
+ * @param it The Elementary object item
+ * @return The Internal object of the object item.
+ *
+ * @note This function should only be used if you really need to refer the
+ * internal object's properties (i.e geometry). Since the object items are
+ * managed/controlled by the widget, you should not modify the object directly
+ * nor you should not treat the object without validation.
+ *
+ * Some widget items may return @c NULL for this API if the items @p are not
+ * based on the evas object.
+ *
+ * @since 1.8
+ * @ingroup General
+ */
+EAPI const Evas_Object           *elm_object_item_object_get(const 
Elm_Object_Item *it);
+
+/**
  * Set a content of an object item
  *
  * @param it The Elementary object item
diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
index 416726a..59b982f 100644
--- a/src/lib/elm_removed.h
+++ b/src/lib/elm_removed.h
@@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item 
*elm_gen_item_prev_get(const Elm_Gen_Item *it)
 EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const Elm_Gen_Item 
*it);
 
 /**
- * Get the widget object's handle which contains a given item
- *
- * @param it The Elementary object item
- * @return The widget object
- *
- * @note This returns the widget object itself that an item belongs to.
- * @note Every elm_object_item supports this API
- * @deprecated Use elm_object_item_widget_get() instead
- * @ingroup General
- */
-EINA_DEPRECATED EAPI Evas_Object                 
*elm_object_item_object_get(const Elm_Object_Item *it);
-
-/**
  * Set the text to show in the anchorblock
  *
  * Sets the text of the anchorblock to @p text. This text can include markup
@@ -3303,7 +3290,7 @@ EINA_DEPRECATED EAPI void                  
elm_slideshow_show(Elm_Object_Item *i
  *
  * This returns the toolbar object itself that an item belongs to.
  *
- * @deprecated use elm_object_item_object_get() instead.
+ * @deprecated use elm_object_item_widget_get() instead.
  */
 EINA_DEPRECATED EAPI Evas_Object *elm_toolbar_item_toolbar_get(const 
Elm_Object_Item *it);
 
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 5f1aae8..9bcec72 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -5771,6 +5771,13 @@ _elm_widget_item_translate(Elm_Widget_Item *item)
 #endif
 }
 
+EAPI const Evas_Object *
+_elm_widget_item_object_get(const Elm_Widget_Item *item)
+{
+   ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
+   return item->view;
+}
+
 /* happy debug functions */
 #ifdef ELM_DEBUG
 static void
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index 945ef9d..ef41e15 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -772,6 +772,7 @@ EAPI void             
_elm_widget_item_domain_translatable_part_text_set(Elm_Wid
 EAPI const char *     _elm_widget_item_translatable_part_text_get(const 
Elm_Widget_Item *item, const char *part);
 EAPI void             _elm_widget_item_translate(Elm_Widget_Item *item);
 EAPI void             
_elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, const 
char *part, const char *domain, Eina_Bool translatable);
+EAPI const Evas_Object *_elm_widget_item_object_get(const Elm_Widget_Item 
*item);
 
 /**
  * Function to operate on a given widget's scrollabe children when necessary.

-- 

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk

Reply via email to