summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-26 17:37:22 +0200
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-31 08:14:04 +0300
commit4742e000ea7fa94bba53e0e3c073a1c1b18a5fa4 (patch)
treed776201b7f97fe5601015be7b6d4c449b5991e6c
parentd660be93d5a16ab620b02b2803f65251b75fd212 (diff)
downloadelementary-4742e000ea7fa94bba53e0e3c073a1c1b18a5fa4.tar.gz
Eolian: Integration of Table
-rw-r--r--src/lib/Makefile.am10
-rw-r--r--src/lib/elm_table.c289
-rw-r--r--src/lib/elm_table.eo158
-rw-r--r--src/lib/elm_table_eo.h4
4 files changed, 226 insertions, 235 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 64d13b6d4..7088743b9 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -652,7 +652,9 @@ BUILT_SOURCES = \
elm_spinner.eo.c \
elm_spinner.eo.h \
elm_systray.eo.c \
- elm_systray.eo.h
+ elm_systray.eo.h \
+ elm_table.eo.c \
+ elm_table.eo.h
EXTRA_DIST += \
elm_widget.eo \
@@ -718,7 +720,8 @@ EXTRA_DIST += \
elm_slider.eo \
elm_slideshow.eo \
elm_spinner.eo \
- elm_systray.eo
+ elm_systray.eo \
+ elm_table.eo
nodist_includesunstable_HEADERS = \
elm_widget.eo.h \
@@ -784,5 +787,6 @@ nodist_includesunstable_HEADERS = \
elm_slider.eo.h \
elm_slideshow.eo.h \
elm_spinner.eo.h \
- elm_systray.eo.h
+ elm_systray.eo.h \
+ elm_table.eo.h
diff --git a/src/lib/elm_table.c b/src/lib/elm_table.c
index 36cb02f7d..74792e054 100644
--- a/src/lib/elm_table.c
+++ b/src/lib/elm_table.c
@@ -7,34 +7,27 @@
#include "elm_priv.h"
#include "elm_widget_table.h"
-EAPI Eo_Op ELM_OBJ_TABLE_BASE_ID = EO_NOOP;
-
#define MY_CLASS ELM_OBJ_TABLE_CLASS
#define MY_CLASS_NAME "Elm_Table"
#define MY_CLASS_NAME_LEGACY "elm_table"
-static void
-_elm_table_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- *ret = EINA_TRUE;
+ return EINA_TRUE;
}
-static void
-_elm_table_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_focus_next(Eo *obj, void *_pd EINA_UNUSED, Elm_Focus_Direction dir, Evas_Object **next)
{
- Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction);
- Evas_Object **next = va_arg(*list, Evas_Object **);
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret;
const Eina_List *items;
Eina_List *(*list_free)(Eina_List *list);
void *(*list_data_get)(const Eina_List *list);
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
/* Focus chain */
/* TODO: Change this to use other chain */
@@ -50,39 +43,32 @@ _elm_table_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
list_data_get = eina_list_data_get;
list_free = eina_list_free;
- if (!items) return;
+ if (!items) return EINA_FALSE;
}
int_ret = elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next);
if (list_free) list_free((Eina_List *)items);
- if (ret) *ret = int_ret;
+ return int_ret;
}
-static void
-_elm_table_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- *ret = EINA_TRUE;
+ return EINA_TRUE;
}
-static void
-_elm_table_smart_focus_direction(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_focus_direction(Eo *obj, void *_pd EINA_UNUSED, const Evas_Object *base, double degree, Evas_Object **direction, double *weight)
{
- Evas_Object *base = va_arg(*list, Evas_Object *);
- double degree = va_arg(*list, double);
- Evas_Object **direction = va_arg(*list, Evas_Object **);
- double *weight = va_arg(*list, double *);
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret;
const Eina_List *items;
Eina_List *(*list_free)(Eina_List *list);
void *(*list_data_get)(const Eina_List *list);
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
/* Focus chain */
/* TODO: Change this to use other chain */
@@ -98,7 +84,7 @@ _elm_table_smart_focus_direction(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
list_data_get = eina_list_data_get;
list_free = eina_list_free;
- if (!items) return;
+ if (!items) return EINA_FALSE;
}
int_ret = elm_widget_focus_list_direction_get
@@ -107,7 +93,7 @@ _elm_table_smart_focus_direction(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
if (list_free)
list_free((Eina_List *)items);
- if (ret) *ret = int_ret;
+ return int_ret;
}
static void
@@ -118,20 +104,17 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
evas_object_table_mirrored_set(wd->resize_obj, rtl);
}
-static void
-_elm_table_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_theme_apply(Eo *obj, void *sd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
-
Eina_Bool super_ret;
eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&super_ret));
if (super_ret == EINA_FALSE)
- return;
+ return EINA_FALSE;
_mirrored_set(obj, elm_widget_mirrored_get(obj));
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
static void
@@ -165,24 +148,21 @@ _on_size_hints_changed(void *data,
_sizing_eval(data);
}
-static void
-_elm_table_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_table_elm_widget_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *child)
{
- Evas_Object *child = va_arg(*list, Evas_Object *);
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret;
eo_do_super(obj, MY_CLASS, elm_obj_widget_sub_object_del(child, &int_ret));
- if (!int_ret) return;
+ if (!int_ret) return EINA_FALSE;
_sizing_eval(obj);
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
-static void
-_elm_table_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_table_evas_smart_add(Eo *obj, void *_pd EINA_UNUSED)
{
Evas_Object *table;
@@ -202,8 +182,8 @@ _elm_table_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj, elm_obj_widget_theme_apply(NULL));
}
-static void
-_elm_table_smart_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_table_evas_smart_del(Eo *obj, void *_pd EINA_UNUSED)
{
Eina_List *l;
Evas_Object *child;
@@ -238,109 +218,51 @@ elm_table_add(Evas_Object *parent)
return obj;
}
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_table_eo_base_constructor(Eo *obj, void *_pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME_LEGACY));
}
-EAPI void
-elm_table_homogeneous_set(Evas_Object *obj,
- Eina_Bool homogeneous)
-{
- ELM_TABLE_CHECK(obj);
- eo_do(obj, elm_obj_table_homogeneous_set(homogeneous));
-}
-
-static void
-_homogeneous_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_homogeneous_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool homogeneous)
{
- Eina_Bool homogeneous = va_arg(*list, int);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
evas_object_table_homogeneous_set
(wd->resize_obj, homogeneous);
}
-EAPI Eina_Bool
-elm_table_homogeneous_get(const Evas_Object *obj)
+EOLIAN static Eina_Bool
+_elm_table_homogeneous_get(Eo *obj, void *_pd EINA_UNUSED)
{
- ELM_TABLE_CHECK(obj) EINA_FALSE;
- Eina_Bool ret = EINA_FALSE;
- eo_do((Eo *) obj, elm_obj_table_homogeneous_get(&ret));
- return ret;
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ return evas_object_table_homogeneous_get(wd->resize_obj);
}
-static void
-_homogeneous_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_padding_set(Eo *obj, void *_pd EINA_UNUSED, Evas_Coord horizontal, Evas_Coord vertical)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- *ret = evas_object_table_homogeneous_get(wd->resize_obj);
-}
-
-EAPI void
-elm_table_padding_set(Evas_Object *obj,
- Evas_Coord horizontal,
- Evas_Coord vertical)
-{
- ELM_TABLE_CHECK(obj);
- eo_do(obj, elm_obj_table_padding_set(horizontal, vertical));
-}
-
-static void
-_padding_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
- Evas_Coord horizontal = va_arg(*list, Evas_Coord);
- Evas_Coord vertical = va_arg(*list, Evas_Coord);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
evas_object_table_padding_set
(wd->resize_obj, horizontal, vertical);
}
-EAPI void
-elm_table_padding_get(const Evas_Object *obj,
- Evas_Coord *horizontal,
- Evas_Coord *vertical)
-{
- ELM_TABLE_CHECK(obj);
- eo_do((Eo *) obj, elm_obj_table_padding_get(horizontal, vertical));
-}
-
-static void
-_padding_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_padding_get(Eo *obj, void *_pd EINA_UNUSED, Evas_Coord *horizontal, Evas_Coord *vertical)
{
- Evas_Coord *horizontal = va_arg(*list, Evas_Coord *);
- Evas_Coord *vertical = va_arg(*list, Evas_Coord *);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
evas_object_table_padding_get
(wd->resize_obj, horizontal, vertical);
}
-EAPI void
-elm_table_pack(Evas_Object *obj,
- Evas_Object *subobj,
- int col,
- int row,
- int colspan,
- int rowspan)
+EOLIAN static void
+_elm_table_pack(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *subobj, int col, int row, int colspan, int rowspan)
{
- ELM_TABLE_CHECK(obj);
- eo_do(obj, elm_obj_table_pack(subobj, col, row, colspan, rowspan));
-}
-
-static void
-_pack(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
- Evas_Object *subobj = va_arg(*list, Evas_Object *);
- int col = va_arg(*list, int);
- int row = va_arg(*list, int);
- int colspan = va_arg(*list, int);
- int rowspan = va_arg(*list, int);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
if (col < 0)
@@ -386,18 +308,9 @@ _pack(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan);
}
-EAPI void
-elm_table_unpack(Evas_Object *obj,
- Evas_Object *subobj)
+EOLIAN static void
+_elm_table_unpack(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *subobj)
{
- ELM_TABLE_CHECK(obj);
- eo_do(obj, elm_obj_table_unpack(subobj));
-}
-
-static void
-_unpack(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
- Evas_Object *subobj = va_arg(*list, Evas_Object *);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
elm_widget_sub_object_del(obj, subobj);
@@ -417,15 +330,9 @@ elm_table_pack_set(Evas_Object *subobj,
eo_do(obj, elm_obj_table_pack_set(subobj, col, row, colspan, rowspan));
}
-static void
-_pack_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_pack_set(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *subobj, int col, int row, int colspan, int rowspan)
{
- Evas_Object *subobj = va_arg(*list, Evas_Object *);
- int col = va_arg(*list, int);
- int row = va_arg(*list, int);
- int colspan = va_arg(*list, int);
- int rowspan = va_arg(*list, int);
-
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan);
@@ -443,15 +350,9 @@ elm_table_pack_get(Evas_Object *subobj,
eo_do(obj, elm_obj_table_pack_get(subobj, col, row, colspan, rowspan));
}
-static void
-_pack_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_pack_get(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan)
{
- Evas_Object *subobj = va_arg(*list, Evas_Object *);
- int *col = va_arg(*list, int *);
- int *row = va_arg(*list, int *);
- int *colspan = va_arg(*list, int *);
- int *rowspan = va_arg(*list, int *);
-
unsigned short icol, irow, icolspan, irowspan;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@@ -463,102 +364,26 @@ _pack_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
if (rowspan) *rowspan = irowspan;
}
-EAPI void
-elm_table_clear(Evas_Object *obj,
- Eina_Bool clear)
+EOLIAN static void
+_elm_table_clear(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool clear)
{
- ELM_TABLE_CHECK(obj);
- eo_do(obj, elm_obj_table_clear(clear));
-}
-
-static void
-_clear(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
- Eina_Bool clear = va_arg(*list, int);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
evas_object_table_clear(wd->resize_obj, clear);
}
-EAPI Evas_Object *
-elm_table_child_get(const Evas_Object *obj, int col, int row)
+EOLIAN static Evas_Object*
+_elm_table_child_get(Eo *obj, void *_pd EINA_UNUSED, int col, int row)
{
- Evas_Object *ret;
- ELM_TABLE_CHECK(obj) NULL;
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
- eo_do((Eo *)obj, elm_obj_table_child_get(col, row, &ret));
- return ret;
+ return evas_object_table_child_get(wd->resize_obj, col, row);
}
-static void
-_child_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_table_class_constructor(Eo_Class *klass)
{
- 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[] = {
- EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
-
- EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _elm_table_smart_add),
- EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_table_smart_del),
-
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_table_smart_theme),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_table_smart_focus_next_manager_is),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT), _elm_table_smart_focus_next),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_table_smart_focus_direction_manager_is),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION), _elm_table_smart_focus_direction),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_SUB_OBJECT_DEL), _elm_table_sub_object_del),
-
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_HOMOGENEOUS_SET), _homogeneous_set),
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_HOMOGENEOUS_GET), _homogeneous_get),
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PADDING_SET), _padding_set),
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PADDING_GET), _padding_get),
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PACK), _pack),
- EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_UNPACK), _unpack),
- 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);
-
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
-static const Eo_Op_Description op_desc[] = {
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_HOMOGENEOUS_SET, "Set the homogeneous layout in the table."),
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_HOMOGENEOUS_GET, "Get the current table homogeneous mode."),
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PADDING_SET, "Set padding between cells."),
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PADDING_GET, "Get padding between cells."),
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PACK, "Add a subobject on the table with the coordinates passed."),
- EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_UNPACK, "Remove child from table."),
- 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
-};
-
-static const Eo_Class_Description class_desc = {
- EO_VERSION,
- MY_CLASS_NAME,
- EO_CLASS_TYPE_REGULAR,
- EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_TABLE_BASE_ID, op_desc, ELM_OBJ_TABLE_SUB_ID_LAST),
- NULL,
- 0,
- _class_constructor,
- NULL
-};
-
-EO_DEFINE_CLASS(elm_obj_table_class_get, &class_desc, ELM_OBJ_WIDGET_CLASS, NULL);
+#include "elm_table.eo.c"
diff --git a/src/lib/elm_table.eo b/src/lib/elm_table.eo
new file mode 100644
index 000000000..710959c1f
--- /dev/null
+++ b/src/lib/elm_table.eo
@@ -0,0 +1,158 @@
+class Elm_Table (Elm_Widget)
+{
+ eo_prefix: elm_obj_table;
+ data: null;
+ properties {
+ homogeneous {
+ set {
+ /*@
+ @brief Set the homogeneous layout in the table
+
+ @ingroup Table */
+ }
+ get {
+ /*@
+ @brief Get the current table homogeneous mode.
+
+ @return A boolean to indicating if the layout is homogeneous in the table
+ (EINA_TRUE = homogeneous, EINA_FALSE = no homogeneous)
+
+ @ingroup Table */
+ }
+ values {
+ Eina_Bool homogeneous; /*@ A boolean to set if the layout is homogeneous in the
+ table (EINA_TRUE = homogeneous, EINA_FALSE = no homogeneous) */
+ }
+ }
+ padding {
+ set {
+ /*@
+ @brief Set padding between cells.
+
+ Default value is 0.
+
+ @ingroup Table */
+ }
+ get {
+ /*@
+ @brief Get padding between cells.
+
+ @ingroup Table */
+ }
+ values {
+ Evas_Coord horizontal; /*@ set the horizontal padding. */
+ Evas_Coord vertical; /*@ set the vertical padding. */
+ }
+ }
+ }
+ methods {
+ clear {
+ /*@
+ @brief Faster way to remove all child objects from a table object.
+
+ @ingroup Table */
+
+ params {
+ @in Eina_Bool clear; /*@ If true, will delete children, else just remove from table. */
+ }
+ }
+ child_get {
+ /*@
+ @brief Get child object of table at given coordinates.
+
+ @return Child of object if find if not return NULL. */
+
+ const;
+ return Evas_Object *;
+ params {
+ @in int col; /*@ Column number of child object */
+ @in int row; /*@ Row number of child object */
+ }
+ }
+ pack_set {
+ /*@
+ @brief Set the packing location of an existing child of the table
+
+ Modifies the position of an object already in the table.
+
+ @note All positioning inside the table is relative to rows and columns, so
+ a value of 0 for col and row, means the top left cell of the table, and a
+ value of 1 for colspan and rowspan means @p subobj only takes that 1 cell.
+
+ @ingroup Table */
+
+ params {
+ @in Evas_Object *subobj; /*@ The subobject to be modified in the table */
+ @in int column; /*@ Column number */
+ @in int row; /*@ Row number */
+ @in int colspan; /*@ colspan */
+ @in int rowspan; /*@ rowspan */
+ }
+ legacy null;
+ }
+ pack_get {
+ /*@
+ @brief Get the packing location of an existing child of the table
+
+ @see elm_table_pack_set()
+
+ @ingroup Table */
+
+ params {
+ @in Evas_Object *subobj; /*@ The subobject to be modified in the table */
+ @out int column; /*@ Column number */
+ @out int row; /*@ Row number */
+ @out int colspan; /*@ colspan */
+ @out int rowspan; /*@ rowspan */
+ }
+ legacy null;
+ }
+ unpack {
+ /*@
+ @brief Remove child from table.
+
+ @ingroup Table */
+
+ params {
+ @in Evas_Object *subobj; /*@ The subobject */
+ }
+ }
+ pack {
+ /*@
+ @brief Add a subobject on the table with the coordinates passed
+
+ @note All positioning inside the table is relative to rows and columns, so
+ a value of 0 for x and y, means the top left cell of the table, and a
+ value of 1 for w and h means @p subobj only takes that 1 cell.
+
+ Note that columns and rows only guarantee 16bit unsigned values at best.
+ That means that col + colspan AND row + rowspan must fit inside 16bit
+ unsigned values cleanly. You will be warned once values exceed 15bit
+ storage, and attempting to use values not able to fit in 16bits will
+ result in failure.
+
+ @ingroup Table */
+
+ params {
+ @in Evas_Object *subobj; /*@ The subobject to be added to the table */
+ @in int column; /*@ Column number */
+ @in int row; /*@ Row number */
+ @in int colspan; /*@ colspan */
+ @in int rowspan; /*@ rowspan */
+ }
+ }
+ }
+ implements {
+ class::constructor;
+ Eo_Base::constructor;
+ Evas_Smart::add;
+ Evas_Smart::del;
+ Elm_Widget::focus_direction;
+ Elm_Widget::focus_next_manager_is;
+ Elm_Widget::focus_next;
+ Elm_Widget::focus_direction_manager_is;
+ Elm_Widget::theme_apply;
+ Elm_Widget::sub_object_del;
+ }
+
+}
diff --git a/src/lib/elm_table_eo.h b/src/lib/elm_table_eo.h
index da82ca922..f3ae2d473 100644
--- a/src/lib/elm_table_eo.h
+++ b/src/lib/elm_table_eo.h
@@ -1,3 +1,6 @@
+#include "elm_table.eo.h"
+
+#if 0
#define ELM_OBJ_TABLE_CLASS elm_obj_table_class_get()
const Eo_Class *elm_obj_table_class_get(void) EINA_CONST;
@@ -175,3 +178,4 @@ enum
* @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)
+#endif