diff options
author | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-03-26 17:37:22 +0200 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-03-31 08:14:04 +0300 |
commit | 4742e000ea7fa94bba53e0e3c073a1c1b18a5fa4 (patch) | |
tree | d776201b7f97fe5601015be7b6d4c449b5991e6c | |
parent | d660be93d5a16ab620b02b2803f65251b75fd212 (diff) | |
download | elementary-4742e000ea7fa94bba53e0e3c073a1c1b18a5fa4.tar.gz |
Eolian: Integration of Table
-rw-r--r-- | src/lib/Makefile.am | 10 | ||||
-rw-r--r-- | src/lib/elm_table.c | 289 | ||||
-rw-r--r-- | src/lib/elm_table.eo | 158 | ||||
-rw-r--r-- | src/lib/elm_table_eo.h | 4 |
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 |