summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_table_eo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_table_eo.h')
-rw-r--r--src/lib/elementary/elm_table_eo.h185
1 files changed, 185 insertions, 0 deletions
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