zehortigoza pushed a commit to branch master.

commit 381cf28dbfef619f851f0b997f777f1dd171cca5
Author: José Roberto de Souza <[email protected]>
Date:   Mon Sep 9 18:48:29 2013 -0300

    Add elm_table_child_get()
---
 src/lib/elm_table.c        | 25 +++++++++++++++++++++++++
 src/lib/elm_table_eo.h     | 15 +++++++++++++++
 src/lib/elm_table_legacy.h | 11 +++++++++++
 3 files changed, 51 insertions(+)

diff --git a/src/lib/elm_table.c b/src/lib/elm_table.c
index 9e68884..c967f4b 100644
--- a/src/lib/elm_table.c
+++ b/src/lib/elm_table.c
@@ -403,6 +403,16 @@ elm_table_pack_get(Evas_Object *subobj,
    eo_do(obj, elm_obj_table_pack_get(subobj, col, row, colspan, rowspan));
 }
 
+EAPI Evas_Object *
+elm_table_child_get(Evas_Object *obj, int col, int row)
+{
+   Evas_Object *ret;
+   ELM_TABLE_CHECK(obj) NULL;
+
+   eo_do(obj, elm_obj_table_child_get(col, row, &ret));
+   return ret;
+}
+
 static void
 _pack_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
@@ -441,6 +451,19 @@ _clear(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 }
 
 static void
+_child_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   int col = va_arg(*list, int);
+   int row = va_arg(*list, int);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+
+   if (ret)
+     *ret = evas_object_table_child_get(wd->resize_obj, col, row);
+}
+
+static void
 _class_constructor(Eo_Class *klass)
 {
    const Eo_Op_Func_Description func_desc[] = {
@@ -465,6 +488,7 @@ _class_constructor(Eo_Class *klass)
         EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PACK_SET), _pack_set),
         EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PACK_GET), _pack_get),
         EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CLEAR), _clear),
+        EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CHILD_GET), 
_child_get),
         EO_OP_FUNC_SENTINEL
    };
    eo_class_funcs_set(klass, func_desc);
@@ -482,6 +506,7 @@ static const Eo_Op_Description op_desc[] = {
      EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PACK_SET, "Set the packing 
location of an existing child of the table."),
      EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PACK_GET, "Get the packing 
location of an existing child of the table."),
      EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_CLEAR, "Faster way to remove all 
child objects from a table object."),
+     EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_CHILD_GET, "Get child object of 
table at given coordinates."),
      EO_OP_DESCRIPTION_SENTINEL
 };
 
diff --git a/src/lib/elm_table_eo.h b/src/lib/elm_table_eo.h
index 5f8f770..dbb3a73 100644
--- a/src/lib/elm_table_eo.h
+++ b/src/lib/elm_table_eo.h
@@ -15,6 +15,7 @@ enum
    ELM_OBJ_TABLE_SUB_ID_PACK_SET,
    ELM_OBJ_TABLE_SUB_ID_PACK_GET,
    ELM_OBJ_TABLE_SUB_ID_CLEAR,
+   ELM_OBJ_TABLE_SUB_ID_CHILD_GET,
    ELM_OBJ_TABLE_SUB_ID_LAST
 };
 
@@ -160,3 +161,17 @@ enum
  * @ingroup Table
  */
 #define elm_obj_table_clear(clear) 
ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
+
+/**
+ * @def elm_obj_table_child_get
+ * @since 1.8
+ *
+ * @brief Get child object of table at given coordinates.
+ *
+ * @param[in] col column number of child object
+ * @param[in] row row number of child object
+ * @param[out] ret object at given col and row
+ *
+ * @ingroup Table
+ */
+#define elm_obj_table_child_get(col, row, ret) 
ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CHILD_GET), EO_TYPECHECK(int, col), 
EO_TYPECHECK(int, row), EO_TYPECHECK(Evas_Object **, ret)
diff --git a/src/lib/elm_table_legacy.h b/src/lib/elm_table_legacy.h
index 018fb0e..0f5d160 100644
--- a/src/lib/elm_table_legacy.h
+++ b/src/lib/elm_table_legacy.h
@@ -125,3 +125,14 @@ EAPI void      elm_table_pack_get(Evas_Object *subobj, int 
*col, int *row, int *
  * @ingroup Table
  */
 EAPI void      elm_table_clear(Evas_Object *obj, Eina_Bool clear);
+
+/**
+ * @brief Get child object of table at given coordinates.
+ *
+ * @param obj The table object
+ * @param col Column number of child object
+ * @param row Row number of child object
+ *
+ * @return Child of object if find if not return NULL.
+ */
+EAPI Evas_Object *elm_table_child_get(Evas_Object *obj, int col, int row);

-- 

------------------------------------------------------------------------------
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=58041391&iu=/4140/ostg.clktrk

Reply via email to