summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:16:30 -0800
commit964968bfcc732b3f3a05a1a907312236b8f2abe1 (patch)
tree7eb1b96a9bb860bbc858bbd842f5baafaca081ba /src
parent594f73348b322d6d30a0b7c9411ca0e3640f1e92 (diff)
elm_table: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8204
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am5
-rw-r--r--src/lib/elementary/elm_table.c4
-rw-r--r--src/lib/elementary/elm_table.eo128
-rw-r--r--src/lib/elementary/elm_table_eo.c145
-rw-r--r--src/lib/elementary/elm_table_eo.h185
-rw-r--r--src/lib/elementary/elm_table_eo.legacy.c60
-rw-r--r--src/lib/elementary/elm_table_eo.legacy.h146
-rw-r--r--src/lib/elementary/elm_table_legacy.h2
-rw-r--r--src/lib/elementary/meson.build3
9 files changed, 545 insertions, 133 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 09c91c9..1dd3760 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -198,7 +198,6 @@ elm_legacy_eolian_files = \
198 lib/elementary/elm_actionslider_part.eo \ 198 lib/elementary/elm_actionslider_part.eo \
199 lib/elementary/elm_bubble_part.eo \ 199 lib/elementary/elm_bubble_part.eo \
200 lib/elementary/elm_fileselector_part.eo \ 200 lib/elementary/elm_fileselector_part.eo \
201 lib/elementary/elm_table.eo \
202 lib/elementary/elm_thumb.eo \ 201 lib/elementary/elm_thumb.eo \
203 $(NULL) 202 $(NULL)
204 203
@@ -391,6 +390,8 @@ lib/elementary/elm_sys_notify_interface_eo.c \
391lib/elementary/elm_sys_notify_interface_eo.legacy.c \ 390lib/elementary/elm_sys_notify_interface_eo.legacy.c \
392lib/elementary/elm_systray_eo.c \ 391lib/elementary/elm_systray_eo.c \
393lib/elementary/elm_systray_eo.legacy.c \ 392lib/elementary/elm_systray_eo.legacy.c \
393lib/elementary/elm_table_eo.c \
394lib/elementary/elm_table_eo.legacy.c \
394$(NULL) 395$(NULL)
395 396
396elm_legacy_eo_headers = \ 397elm_legacy_eo_headers = \
@@ -590,6 +591,8 @@ lib/elementary/elm_sys_notify_interface_eo.h \
590lib/elementary/elm_sys_notify_interface_eo.legacy.h \ 591lib/elementary/elm_sys_notify_interface_eo.legacy.h \
591lib/elementary/elm_systray_eo.h \ 592lib/elementary/elm_systray_eo.h \
592lib/elementary/elm_systray_eo.legacy.h \ 593lib/elementary/elm_systray_eo.legacy.h \
594lib/elementary/elm_table_eo.h \
595lib/elementary/elm_table_eo.legacy.h \
593$(NULL) 596$(NULL)
594 597
595 598
diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c
index 5849d7d..14a287f 100644
--- a/src/lib/elementary/elm_table.c
+++ b/src/lib/elementary/elm_table.c
@@ -6,7 +6,7 @@
6#define EFL_UI_FOCUS_COMPOSITION_PROTECTED 6#define EFL_UI_FOCUS_COMPOSITION_PROTECTED
7 7
8#include <Elementary.h> 8#include <Elementary.h>
9#include <elm_table.eo.h> 9#include <elm_table_eo.h>
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "elm_widget_table.h" 11#include "elm_widget_table.h"
12 12
@@ -346,4 +346,4 @@ _elm_table_efl_canvas_group_group_calculate(Eo *obj, void *pd EINA_UNUSED)
346#define ELM_TABLE_EXTRA_OPS \ 346#define ELM_TABLE_EXTRA_OPS \
347 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_table) 347 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_table)
348 348
349#include "elm_table.eo.c" 349#include "elm_table_eo.c"
diff --git a/src/lib/elementary/elm_table.eo b/src/lib/elementary/elm_table.eo
deleted file mode 100644
index 4f68be9..0000000
--- a/src/lib/elementary/elm_table.eo
+++ /dev/null
@@ -1,128 +0,0 @@
1class Elm.Table extends Efl.Ui.Widget implements Efl.Ui.Focus.Composition, Efl.Ui.Legacy
2{
3 [[Elementary table class]]
4 legacy_prefix: elm_table;
5 eo_prefix: elm_obj_table;
6 data: null;
7 methods {
8 @property homogeneous {
9 [[Control the homogenous state in a table.]]
10 set {}
11 get {}
12 values {
13 homogeneous: bool; [[A boolean to set if the layout is
14 homogeneous in the table.]]
15 }
16 }
17 @property padding {
18 set {
19 [[Set padding between cells. Default value is 0.]]
20 }
21 get {
22 [[Get padding between cells.]]
23 }
24 values {
25 horizontal: int; [[The horizontal padding.]]
26 vertical: int; [[The vertical padding.]]
27 }
28 }
29 @property align {
30 set {
31 [[Set alignment of table. Default value is 0.5.
32
33 @since 1.13
34 ]]
35 }
36 get {
37 [[Get alignment of table.
38
39 @since 1.13
40 ]]
41 }
42 values {
43 horizontal: double; [[The horizontal alignment.]]
44 vertical: double; [[The vertical alignment.]]
45 }
46 }
47 clear {
48 [[Faster way to remove all child objects from a table object.]]
49 params {
50 @in clear: bool; [[If $true, will delete children, else just remove from table.]]
51 }
52 }
53 child_get @const {
54 [[Get child object of table at given coordinates.]]
55 return: Efl.Canvas.Object; [[Child of object if find if not return $null.]]
56 params {
57 @in col: int; [[Column number of child object.]]
58 @in row: int; [[Row number of child object.]]
59 }
60 }
61 pack_set {
62 [[Set the packing location of an existing child of the table
63
64 Modifies the position of an object already in the table.
65
66 Note: All positioning inside the table is relative to rows and
67 columns, so a value of 0 for col and row, means the top left
68 cell of the table, and a value of 1 for colspan and rowspan
69 means only takes that 1 cell.
70 ]]
71 params {
72 @in subobj: Efl.Canvas.Object; [[The subobject to be modified in the table.]]
73 @in column: int; [[Column number.]]
74 @in row: int; [[Row number.]]
75 @in colspan: int; [[Columns span.]]
76 @in rowspan: int; [[Rows span.]]
77 }
78 legacy: null;
79 }
80 pack_get {
81 [[Get the packing location of an existing child of the table.]]
82 params {
83 @in subobj: Efl.Canvas.Object; [[The subobject to be modified in the table.]]
84 @out column: int; [[Column number.]]
85 @out row: int; [[Row number.]]
86 @out colspan: int; [[Columns span.]]
87 @out rowspan: int; [[Rows span.]]
88 }
89 legacy: null;
90 }
91 unpack {
92 [[Remove child from table.]]
93 params {
94 @in subobj: Efl.Canvas.Object; [[The subobject.]]
95 }
96 }
97 pack {
98 [[Add a subobject on the table with the coordinates passed.
99
100 Note: All positioning inside the table is relative to rows and
101 columns, so a value of 0 for x and y, means the top left cell of
102 the table, and a value of 1 for w and h means $subobj only takes
103 that 1 cell.
104
105 Note: Columns and rows only guarantee 16bit unsigned values
106 at best. That means that col + colspan AND row + rowspan must fit
107 inside 16bit unsigned values cleanly. You will be warned once
108 values exceed 15bit storage, and attempting to use values not
109 able to fit in 16bits will result in failure.
110 ]]
111 params {
112 @in subobj: Efl.Canvas.Object; [[The subobject to be added to the table.]]
113 @in column: int; [[Column number.]]
114 @in row: int; [[Row number.]]
115 @in colspan: int; [[Columns span.]]
116 @in rowspan: int; [[Rows span.]]
117 }
118 }
119 }
120 implements {
121 class.constructor;
122 Efl.Object.constructor;
123 Efl.Canvas.Group.group_calculate;
124 Efl.Ui.Widget.theme_apply;
125 Efl.Ui.Widget.widget_sub_object_del;
126 Efl.Ui.Focus.Composition.prepare;
127 }
128}
diff --git a/src/lib/elementary/elm_table_eo.c b/src/lib/elementary/elm_table_eo.c
new file mode 100644
index 0000000..d850fa4
--- /dev/null
+++ b/src/lib/elementary/elm_table_eo.c
@@ -0,0 +1,145 @@
1
2void _elm_table_homogeneous_set(Eo *obj, void *pd, Eina_Bool homogeneous);
3
4
5static Eina_Error
6__eolian_elm_table_homogeneous_set_reflect(Eo *obj, Eina_Value val)
7{
8 Eina_Error r = 0; Eina_Bool cval;
9 if (!eina_value_bool_convert(&val, &cval))
10 {
11 r = EINA_ERROR_VALUE_FAILED;
12 goto end;
13 }
14 elm_obj_table_homogeneous_set(obj, cval);
15 end:
16 eina_value_flush(&val);
17 return r;
18}
19
20EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_homogeneous_set, EFL_FUNC_CALL(homogeneous), Eina_Bool homogeneous);
21
22Eina_Bool _elm_table_homogeneous_get(const Eo *obj, void *pd);
23
24
25static Eina_Value
26__eolian_elm_table_homogeneous_get_reflect(Eo *obj)
27{
28 Eina_Bool val = elm_obj_table_homogeneous_get(obj);
29 return eina_value_bool_init(val);
30}
31
32EOAPI EFL_FUNC_BODY_CONST(elm_obj_table_homogeneous_get, Eina_Bool, 0);
33
34void _elm_table_padding_set(Eo *obj, void *pd, int horizontal, int vertical);
35
36EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_padding_set, EFL_FUNC_CALL(horizontal, vertical), int horizontal, int vertical);
37
38void _elm_table_padding_get(const Eo *obj, void *pd, int *horizontal, int *vertical);
39
40EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_table_padding_get, EFL_FUNC_CALL(horizontal, vertical), int *horizontal, int *vertical);
41
42void _elm_table_align_set(Eo *obj, void *pd, double horizontal, double vertical);
43
44EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_align_set, EFL_FUNC_CALL(horizontal, vertical), double horizontal, double vertical);
45
46void _elm_table_align_get(const Eo *obj, void *pd, double *horizontal, double *vertical);
47
48EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_table_align_get, EFL_FUNC_CALL(horizontal, vertical), double *horizontal, double *vertical);
49
50void _elm_table_clear(Eo *obj, void *pd, Eina_Bool clear);
51
52EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_clear, EFL_FUNC_CALL(clear), Eina_Bool clear);
53
54Efl_Canvas_Object *_elm_table_child_get(const Eo *obj, void *pd, int col, int row);
55
56EOAPI EFL_FUNC_BODYV_CONST(elm_obj_table_child_get, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(col, row), int col, int row);
57
58void _elm_table_pack_set(Eo *obj, void *pd, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
59
60EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_pack_set, EFL_FUNC_CALL(subobj, column, row, colspan, rowspan), Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
61
62void _elm_table_pack_get(Eo *obj, void *pd, Efl_Canvas_Object *subobj, int *column, int *row, int *colspan, int *rowspan);
63
64EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_pack_get, EFL_FUNC_CALL(subobj, column, row, colspan, rowspan), Efl_Canvas_Object *subobj, int *column, int *row, int *colspan, int *rowspan);
65
66void _elm_table_unpack(Eo *obj, void *pd, Efl_Canvas_Object *subobj);
67
68EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_unpack, EFL_FUNC_CALL(subobj), Efl_Canvas_Object *subobj);
69
70void _elm_table_pack(Eo *obj, void *pd, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
71
72EOAPI EFL_VOID_FUNC_BODYV(elm_obj_table_pack, EFL_FUNC_CALL(subobj, column, row, colspan, rowspan), Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
73
74Efl_Object *_elm_table_efl_object_constructor(Eo *obj, void *pd);
75
76
77void _elm_table_efl_canvas_group_group_calculate(Eo *obj, void *pd);
78
79
80Eina_Error _elm_table_efl_ui_widget_theme_apply(Eo *obj, void *pd);
81
82
83Eina_Bool _elm_table_efl_ui_widget_widget_sub_object_del(Eo *obj, void *pd, Efl_Canvas_Object *sub_obj);
84
85
86void _elm_table_efl_ui_focus_composition_prepare(Eo *obj, void *pd);
87
88
89static Eina_Bool
90_elm_table_class_initializer(Efl_Class *klass)
91{
92 const Efl_Object_Ops *opsp = NULL;
93
94 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
95
96#ifndef ELM_TABLE_EXTRA_OPS
97#define ELM_TABLE_EXTRA_OPS
98#endif
99
100 EFL_OPS_DEFINE(ops,
101 EFL_OBJECT_OP_FUNC(elm_obj_table_homogeneous_set, _elm_table_homogeneous_set),
102 EFL_OBJECT_OP_FUNC(elm_obj_table_homogeneous_get, _elm_table_homogeneous_get),
103 EFL_OBJECT_OP_FUNC(elm_obj_table_padding_set, _elm_table_padding_set),
104 EFL_OBJECT_OP_FUNC(elm_obj_table_padding_get, _elm_table_padding_get),
105 EFL_OBJECT_OP_FUNC(elm_obj_table_align_set, _elm_table_align_set),
106 EFL_OBJECT_OP_FUNC(elm_obj_table_align_get, _elm_table_align_get),
107 EFL_OBJECT_OP_FUNC(elm_obj_table_clear, _elm_table_clear),
108 EFL_OBJECT_OP_FUNC(elm_obj_table_child_get, _elm_table_child_get),
109 EFL_OBJECT_OP_FUNC(elm_obj_table_pack_set, _elm_table_pack_set),
110 EFL_OBJECT_OP_FUNC(elm_obj_table_pack_get, _elm_table_pack_get),
111 EFL_OBJECT_OP_FUNC(elm_obj_table_unpack, _elm_table_unpack),
112 EFL_OBJECT_OP_FUNC(elm_obj_table_pack, _elm_table_pack),
113 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_table_efl_object_constructor),
114 EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _elm_table_efl_canvas_group_group_calculate),
115 EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_table_efl_ui_widget_theme_apply),
116 EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_del, _elm_table_efl_ui_widget_widget_sub_object_del),
117 EFL_OBJECT_OP_FUNC(efl_ui_focus_composition_prepare, _elm_table_efl_ui_focus_composition_prepare),
118 ELM_TABLE_EXTRA_OPS
119 );
120 opsp = &ops;
121
122 static const Efl_Object_Property_Reflection refl_table[] = {
123 {"homogeneous", __eolian_elm_table_homogeneous_set_reflect, __eolian_elm_table_homogeneous_get_reflect},
124 };
125 static const Efl_Object_Property_Reflection_Ops rops = {
126 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
127 };
128 ropsp = &rops;
129
130 return efl_class_functions_set(klass, opsp, ropsp);
131}
132
133static const Efl_Class_Description _elm_table_class_desc = {
134 EO_VERSION,
135 "Elm.Table",
136 EFL_CLASS_TYPE_REGULAR,
137 0,
138 _elm_table_class_initializer,
139 _elm_table_class_constructor,
140 NULL
141};
142
143EFL_DEFINE_CLASS(elm_table_class_get, &_elm_table_class_desc, EFL_UI_WIDGET_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
144
145#include "elm_table_eo.legacy.c"
diff --git a/src/lib/elementary/elm_table_eo.h b/src/lib/elementary/elm_table_eo.h
new file mode 100644
index 0000000..b203ddc
--- /dev/null
+++ b/src/lib/elementary/elm_table_eo.h
@@ -0,0 +1,185 @@
1#ifndef _ELM_TABLE_EO_H_
2#define _ELM_TABLE_EO_H_
3
4#ifndef _ELM_TABLE_EO_CLASS_TYPE
5#define _ELM_TABLE_EO_CLASS_TYPE
6
7typedef Eo Elm_Table;
8
9#endif
10
11#ifndef _ELM_TABLE_EO_TYPES
12#define _ELM_TABLE_EO_TYPES
13
14
15#endif
16/** Elementary table class
17 *
18 * @ingroup Elm_Table
19 */
20#define ELM_TABLE_CLASS elm_table_class_get()
21
22EWAPI const Efl_Class *elm_table_class_get(void);
23
24/**
25 * @brief Control the homogenous state in a table.
26 *
27 * @param[in] obj The object.
28 * @param[in] homogeneous A boolean to set if the layout is homogeneous in the
29 * table.
30 *
31 * @ingroup Elm_Table
32 */
33EOAPI void elm_obj_table_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
34
35/**
36 * @brief Control the homogenous state in a table.
37 *
38 * @param[in] obj The object.
39 *
40 * @return A boolean to set if the layout is homogeneous in the table.
41 *
42 * @ingroup Elm_Table
43 */
44EOAPI Eina_Bool elm_obj_table_homogeneous_get(const Eo *obj);
45
46/**
47 * @brief Set padding between cells. Default value is 0.
48 *
49 * @param[in] obj The object.
50 * @param[in] horizontal The horizontal padding.
51 * @param[in] vertical The vertical padding.
52 *
53 * @ingroup Elm_Table
54 */
55EOAPI void elm_obj_table_padding_set(Eo *obj, int horizontal, int vertical);
56
57/**
58 * @brief Get padding between cells.
59 *
60 * @param[in] obj The object.
61 * @param[out] horizontal The horizontal padding.
62 * @param[out] vertical The vertical padding.
63 *
64 * @ingroup Elm_Table
65 */
66EOAPI void elm_obj_table_padding_get(const Eo *obj, int *horizontal, int *vertical);
67
68/**
69 * @brief Set alignment of table. Default value is 0.5.
70 *
71 * @param[in] obj The object.
72 * @param[in] horizontal The horizontal alignment.
73 * @param[in] vertical The vertical alignment.
74 *
75 * @since 1.13
76 *
77 * @ingroup Elm_Table
78 */
79EOAPI void elm_obj_table_align_set(Eo *obj, double horizontal, double vertical);
80
81/**
82 * @brief Get alignment of table.
83 *
84 * @param[in] obj The object.
85 * @param[out] horizontal The horizontal alignment.
86 * @param[out] vertical The vertical alignment.
87 *
88 * @since 1.13
89 *
90 * @ingroup Elm_Table
91 */
92EOAPI void elm_obj_table_align_get(const Eo *obj, double *horizontal, double *vertical);
93
94/**
95 * @brief Faster way to remove all child objects from a table object.
96 *
97 * @param[in] obj The object.
98 * @param[in] clear If @c true, will delete children, else just remove from
99 * table.
100 *
101 * @ingroup Elm_Table
102 */
103EOAPI void elm_obj_table_clear(Eo *obj, Eina_Bool clear);
104
105/**
106 * @brief Get child object of table at given coordinates.
107 *
108 * @param[in] obj The object.
109 * @param[in] col Column number of child object.
110 * @param[in] row Row number of child object.
111 *
112 * @return Child of object if find if not return @c null.
113 *
114 * @ingroup Elm_Table
115 */
116EOAPI Efl_Canvas_Object *elm_obj_table_child_get(const Eo *obj, int col, int row);
117
118/**
119 * @brief Set the packing location of an existing child of the table
120 *
121 * Modifies the position of an object already in the table.
122 *
123 * @note All positioning inside the table is relative to rows and columns, so a
124 * value of 0 for col and row, means the top left cell of the table, and a
125 * value of 1 for colspan and rowspan means only takes that 1 cell.
126 *
127 * @param[in] obj The object.
128 * @param[in] subobj The subobject to be modified in the table.
129 * @param[in] column Column number.
130 * @param[in] row Row number.
131 * @param[in] colspan Columns span.
132 * @param[in] rowspan Rows span.
133 *
134 * @ingroup Elm_Table
135 */
136EOAPI void elm_obj_table_pack_set(Eo *obj, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
137
138/**
139 * @brief Get the packing location of an existing child of the table.
140 *
141 * @param[in] obj The object.
142 * @param[in] subobj The subobject to be modified in the table.
143 * @param[out] column Column number.
144 * @param[out] row Row number.
145 * @param[out] colspan Columns span.
146 * @param[out] rowspan Rows span.
147 *
148 * @ingroup Elm_Table
149 */
150EOAPI void elm_obj_table_pack_get(Eo *obj, Efl_Canvas_Object *subobj, int *column, int *row, int *colspan, int *rowspan);
151
152/**
153 * @brief Remove child from table.
154 *
155 * @param[in] obj The object.
156 * @param[in] subobj The subobject.
157 *
158 * @ingroup Elm_Table
159 */
160EOAPI void elm_obj_table_unpack(Eo *obj, Efl_Canvas_Object *subobj);
161
162/**
163 * @brief Add a subobject on the table with the coordinates passed.
164 *
165 * @note All positioning inside the table is relative to rows and columns, so a
166 * value of 0 for x and y, means the top left cell of the table, and a value of
167 * 1 for w and h means @c subobj only takes that 1 cell.
168 *
169 * @note Columns and rows only guarantee 16bit unsigned values at best. That
170 * means that col + colspan AND row + rowspan must fit inside 16bit unsigned
171 * values cleanly. You will be warned once values exceed 15bit storage, and
172 * attempting to use values not able to fit in 16bits will result in failure.
173 *
174 * @param[in] obj The object.
175 * @param[in] subobj The subobject to be added to the table.
176 * @param[in] column Column number.
177 * @param[in] row Row number.
178 * @param[in] colspan Columns span.
179 * @param[in] rowspan Rows span.
180 *
181 * @ingroup Elm_Table
182 */
183EOAPI void elm_obj_table_pack(Eo *obj, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
184
185#endif
diff --git a/src/lib/elementary/elm_table_eo.legacy.c b/src/lib/elementary/elm_table_eo.legacy.c
new file mode 100644
index 0000000..a8ec872
--- /dev/null
+++ b/src/lib/elementary/elm_table_eo.legacy.c
@@ -0,0 +1,60 @@
1
2EAPI void
3elm_table_homogeneous_set(Elm_Table *obj, Eina_Bool homogeneous)
4{
5 elm_obj_table_homogeneous_set(obj, homogeneous);
6}
7
8EAPI Eina_Bool
9elm_table_homogeneous_get(const Elm_Table *obj)
10{
11 return elm_obj_table_homogeneous_get(obj);
12}
13
14EAPI void
15elm_table_padding_set(Elm_Table *obj, int horizontal, int vertical)
16{
17 elm_obj_table_padding_set(obj, horizontal, vertical);
18}
19
20EAPI void
21elm_table_padding_get(const Elm_Table *obj, int *horizontal, int *vertical)
22{
23 elm_obj_table_padding_get(obj, horizontal, vertical);
24}
25
26EAPI void
27elm_table_align_set(Elm_Table *obj, double horizontal, double vertical)
28{
29 elm_obj_table_align_set(obj, horizontal, vertical);
30}
31
32EAPI void
33elm_table_align_get(const Elm_Table *obj, double *horizontal, double *vertical)
34{
35 elm_obj_table_align_get(obj, horizontal, vertical);
36}
37
38EAPI void
39elm_table_clear(Elm_Table *obj, Eina_Bool clear)
40{
41 elm_obj_table_clear(obj, clear);
42}
43
44EAPI Efl_Canvas_Object *
45elm_table_child_get(const Elm_Table *obj, int col, int row)
46{
47 return elm_obj_table_child_get(obj, col, row);
48}
49
50EAPI void
51elm_table_unpack(Elm_Table *obj, Efl_Canvas_Object *subobj)
52{
53 elm_obj_table_unpack(obj, subobj);
54}
55
56EAPI void
57elm_table_pack(Elm_Table *obj, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan)
58{
59 elm_obj_table_pack(obj, subobj, column, row, colspan, rowspan);
60}
diff --git a/src/lib/elementary/elm_table_eo.legacy.h b/src/lib/elementary/elm_table_eo.legacy.h
new file mode 100644
index 0000000..5074653
--- /dev/null
+++ b/src/lib/elementary/elm_table_eo.legacy.h
@@ -0,0 +1,146 @@
1#ifndef _ELM_TABLE_EO_LEGACY_H_
2#define _ELM_TABLE_EO_LEGACY_H_
3
4#ifndef _ELM_TABLE_EO_CLASS_TYPE
5#define _ELM_TABLE_EO_CLASS_TYPE
6
7typedef Eo Elm_Table;
8
9#endif
10
11#ifndef _ELM_TABLE_EO_TYPES
12#define _ELM_TABLE_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Control the homogenous state in a table.
19 *
20 * @param[in] obj The object.
21 * @param[in] homogeneous A boolean to set if the layout is homogeneous in the
22 * table.
23 *
24 * @ingroup Elm_Table_Group
25 */
26EAPI void elm_table_homogeneous_set(Elm_Table *obj, Eina_Bool homogeneous);
27
28/**
29 * @brief Control the homogenous state in a table.
30 *
31 * @param[in] obj The object.
32 *
33 * @return A boolean to set if the layout is homogeneous in the table.
34 *
35 * @ingroup Elm_Table_Group
36 */
37EAPI Eina_Bool elm_table_homogeneous_get(const Elm_Table *obj);
38
39/**
40 * @brief Set padding between cells. Default value is 0.
41 *
42 * @param[in] obj The object.
43 * @param[in] horizontal The horizontal padding.
44 * @param[in] vertical The vertical padding.
45 *
46 * @ingroup Elm_Table_Group
47 */
48EAPI void elm_table_padding_set(Elm_Table *obj, int horizontal, int vertical);
49
50/**
51 * @brief Get padding between cells.
52 *
53 * @param[in] obj The object.
54 * @param[out] horizontal The horizontal padding.
55 * @param[out] vertical The vertical padding.
56 *
57 * @ingroup Elm_Table_Group
58 */
59EAPI void elm_table_padding_get(const Elm_Table *obj, int *horizontal, int *vertical);
60
61/**
62 * @brief Set alignment of table. Default value is 0.5.
63 *
64 * @param[in] obj The object.
65 * @param[in] horizontal The horizontal alignment.
66 * @param[in] vertical The vertical alignment.
67 *
68 * @since 1.13
69 *
70 * @ingroup Elm_Table_Group
71 */
72EAPI void elm_table_align_set(Elm_Table *obj, double horizontal, double vertical);
73
74/**
75 * @brief Get alignment of table.
76 *
77 * @param[in] obj The object.
78 * @param[out] horizontal The horizontal alignment.
79 * @param[out] vertical The vertical alignment.
80 *
81 * @since 1.13
82 *
83 * @ingroup Elm_Table_Group
84 */
85EAPI void elm_table_align_get(const Elm_Table *obj, double *horizontal, double *vertical);
86
87/**
88 * @brief Faster way to remove all child objects from a table object.
89 *
90 * @param[in] obj The object.
91 * @param[in] clear If @c true, will delete children, else just remove from
92 * table.
93 *
94 * @ingroup Elm_Table_Group
95 */
96EAPI void elm_table_clear(Elm_Table *obj, Eina_Bool clear);
97
98/**
99 * @brief Get child object of table at given coordinates.
100 *
101 * @param[in] obj The object.
102 * @param[in] col Column number of child object.
103 * @param[in] row Row number of child object.
104 *
105 * @return Child of object if find if not return @c null.
106 *
107 * @ingroup Elm_Table_Group
108 */
109EAPI Efl_Canvas_Object *elm_table_child_get(const Elm_Table *obj, int col, int row);
110
111
112
113/**
114 * @brief Remove child from table.
115 *
116 * @param[in] obj The object.
117 * @param[in] subobj The subobject.
118 *
119 * @ingroup Elm_Table_Group
120 */
121EAPI void elm_table_unpack(Elm_Table *obj, Efl_Canvas_Object *subobj);
122
123/**
124 * @brief Add a subobject on the table with the coordinates passed.
125 *
126 * @note All positioning inside the table is relative to rows and columns, so a
127 * value of 0 for x and y, means the top left cell of the table, and a value of
128 * 1 for w and h means @c subobj only takes that 1 cell.
129 *
130 * @note Columns and rows only guarantee 16bit unsigned values at best. That
131 * means that col + colspan AND row + rowspan must fit inside 16bit unsigned
132 * values cleanly. You will be warned once values exceed 15bit storage, and
133 * attempting to use values not able to fit in 16bits will result in failure.
134 *
135 * @param[in] obj The object.
136 * @param[in] subobj The subobject to be added to the table.
137 * @param[in] column Column number.
138 * @param[in] row Row number.
139 * @param[in] colspan Columns span.
140 * @param[in] rowspan Rows span.
141 *
142 * @ingroup Elm_Table_Group
143 */
144EAPI void elm_table_pack(Elm_Table *obj, Efl_Canvas_Object *subobj, int column, int row, int colspan, int rowspan);
145
146#endif
diff --git a/src/lib/elementary/elm_table_legacy.h b/src/lib/elementary/elm_table_legacy.h
index cf6aa54..314cf0e 100644
--- a/src/lib/elementary/elm_table_legacy.h
+++ b/src/lib/elementary/elm_table_legacy.h
@@ -42,4 +42,4 @@ EAPI void elm_table_pack_set(Evas_Object *subobj, int col, int row, int col
42 */ 42 */
43EAPI void elm_table_pack_get(Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan); 43EAPI void elm_table_pack_get(Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan);
44 44
45#include "elm_table.eo.legacy.h" \ No newline at end of file 45#include "elm_table_eo.legacy.h" \ No newline at end of file
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 8fec725..6637554 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -18,7 +18,6 @@ pub_legacy_eo_files = [
18 'elm_actionslider_part.eo', 18 'elm_actionslider_part.eo',
19 'elm_bubble_part.eo', 19 'elm_bubble_part.eo',
20 'elm_fileselector_part.eo', 20 'elm_fileselector_part.eo',
21 'elm_table.eo',
22 'elm_thumb.eo', 21 'elm_thumb.eo',
23] 22]
24 23
@@ -800,6 +799,8 @@ elementary_pub_headers = [
800 'elm_sys_notify_interface_eo.legacy.h', 799 'elm_sys_notify_interface_eo.legacy.h',
801 'elm_systray_eo.h', 800 'elm_systray_eo.h',
802 'elm_systray_eo.legacy.h', 801 'elm_systray_eo.legacy.h',
802 'elm_table_eo.h',
803 'elm_table_eo.legacy.h',
803] 804]
804 805
805elementary_header_src = [ 806elementary_header_src = [