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