summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_box_eo.legacy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_box_eo.legacy.h')
-rw-r--r--src/lib/elementary/elm_box_eo.legacy.h280
1 files changed, 280 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_box_eo.legacy.h b/src/lib/elementary/elm_box_eo.legacy.h
new file mode 100644
index 0000000..9171fba
--- /dev/null
+++ b/src/lib/elementary/elm_box_eo.legacy.h
@@ -0,0 +1,280 @@
1#ifndef _ELM_BOX_EO_LEGACY_H_
2#define _ELM_BOX_EO_LEGACY_H_
3
4#ifndef _ELM_BOX_EO_CLASS_TYPE
5#define _ELM_BOX_EO_CLASS_TYPE
6
7typedef Eo Elm_Box;
8
9#endif
10
11#ifndef _ELM_BOX_EO_TYPES
12#define _ELM_BOX_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Set the box to arrange its children homogeneously
19 *
20 * If enabled, homogeneous layout makes all items the same size, according to
21 * the size of the largest of its children.
22 *
23 * @note This flag is ignored if a custom layout function is set.
24 *
25 * @param[in] obj The object.
26 * @param[in] homogeneous The homogeneous flag
27 *
28 * @ingroup Elm_Box_Group
29 */
30EAPI void elm_box_homogeneous_set(Elm_Box *obj, Eina_Bool homogeneous);
31
32/**
33 * @brief Get whether the box is using homogeneous mode or not ($true if it's
34 * homogeneous, @c false otherwise)
35 *
36 * @param[in] obj The object.
37 *
38 * @return The homogeneous flag
39 *
40 * @ingroup Elm_Box_Group
41 */
42EAPI Eina_Bool elm_box_homogeneous_get(const Elm_Box *obj);
43
44/**
45 * @brief Set the alignment of the whole bounding box of contents.
46 *
47 * Sets how the bounding box containing all the elements of the box, after
48 * their sizes and position has been calculated, will be aligned within the
49 * space given for the whole box widget.
50 *
51 * @param[in] obj The object.
52 * @param[in] horizontal The horizontal alignment of elements
53 * @param[in] vertical The vertical alignment of elements
54 *
55 * @ingroup Elm_Box_Group
56 */
57EAPI void elm_box_align_set(Elm_Box *obj, double horizontal, double vertical);
58
59/**
60 * @brief Get the alignment of the whole bounding box of contents.
61 *
62 * See also @ref elm_box_align_set.
63 *
64 * @param[in] obj The object.
65 * @param[out] horizontal The horizontal alignment of elements
66 * @param[out] vertical The vertical alignment of elements
67 *
68 * @ingroup Elm_Box_Group
69 */
70EAPI void elm_box_align_get(const Elm_Box *obj, double *horizontal, double *vertical);
71
72/**
73 * @brief Set the horizontal orientation
74 *
75 * By default, box object arranges their contents vertically from top to
76 * bottom. By calling this function with @c horizontal as @c true, the box will
77 * become horizontal, arranging contents from left to right.
78 *
79 * @note This flag is ignored if a custom layout function is set.
80 *
81 * @param[in] obj The object.
82 * @param[in] horizontal The horizontal flag
83 *
84 * @ingroup Elm_Box_Group
85 */
86EAPI void elm_box_horizontal_set(Elm_Box *obj, Eina_Bool horizontal);
87
88/**
89 * @brief Get the horizontal orientation ($true if the box is set to horizontal
90 * mode, @c false otherwise)
91 *
92 * @param[in] obj The object.
93 *
94 * @return The horizontal flag
95 *
96 * @ingroup Elm_Box_Group
97 */
98EAPI Eina_Bool elm_box_horizontal_get(const Elm_Box *obj);
99
100/**
101 * @brief Set the space (padding) between the box's elements.
102 *
103 * Extra space in pixels that will be added between a box child and its
104 * neighbors after its containing cell has been calculated. This padding is set
105 * for all elements in the box, besides any possible padding that individual
106 * elements may have through their size hints.
107 *
108 * @param[in] obj The object.
109 * @param[in] horizontal The horizontal space between elements
110 * @param[in] vertical The vertical space between elements
111 *
112 * @ingroup Elm_Box_Group
113 */
114EAPI void elm_box_padding_set(Elm_Box *obj, int horizontal, int vertical);
115
116/**
117 * @brief Get the space (padding) between the box's elements.
118 *
119 * See also @ref elm_box_padding_set.
120 *
121 * @param[in] obj The object.
122 * @param[out] horizontal The horizontal space between elements
123 * @param[out] vertical The vertical space between elements
124 *
125 * @ingroup Elm_Box_Group
126 */
127EAPI void elm_box_padding_get(const Elm_Box *obj, int *horizontal, int *vertical);
128
129/**
130 * @brief Get a list of the objects packed into the box
131 *
132 * Returns a new @c list with a pointer to @c Evas_Object in its nodes. The
133 * order of the list corresponds to the packing order the box uses.
134 *
135 * You must free this list with eina_list_free() once you are done with it.
136 *
137 * @param[in] obj The object.
138 *
139 * @return List of children
140 *
141 * @ingroup Elm_Box_Group
142 */
143EAPI Eina_List *elm_box_children_get(const Elm_Box *obj) EINA_WARN_UNUSED_RESULT;
144
145/**
146 * @brief Add an object at the end of the pack list
147 *
148 * Pack @c subobj into the box @c obj, placing it last in the list of children
149 * objects. The actual position the object will get on screen depends on the
150 * layout used. If no custom layout is set, it will be at the bottom or right,
151 * depending if the box is vertical or horizontal, respectively.
152 *
153 * See also @ref elm_box_pack_start, @ref elm_box_pack_before,
154 * @ref elm_box_pack_after, @ref elm_box_unpack, @ref elm_box_unpack_all,
155 * @ref elm_box_clear.
156 *
157 * @param[in] obj The object.
158 * @param[in] subobj The object to add to the box
159 *
160 * @ingroup Elm_Box_Group
161 */
162EAPI void elm_box_pack_end(Elm_Box *obj, Efl_Canvas_Object *subobj);
163
164/**
165 * @brief Remove all items from the box, without deleting them
166 *
167 * Clear the box from all children, but don't delete the respective objects. If
168 * no other references of the box children exist, the objects will never be
169 * deleted, and thus the application will leak the memory. Make sure when using
170 * this function that you hold a reference to all the objects in the box
171 * @c obj.
172 *
173 * See also @ref elm_box_clear, @ref elm_box_unpack.
174 * @param[in] obj The object.
175 *
176 * @ingroup Elm_Box_Group
177 */
178EAPI void elm_box_unpack_all(Elm_Box *obj);
179
180/**
181 * @brief Unpack a box item
182 *
183 * Remove the object given by @c subobj from the box @c obj without deleting
184 * it.
185 *
186 * See also @ref elm_box_unpack_all, @ref elm_box_clear.
187 *
188 * @param[in] obj The object.
189 * @param[in] subobj The object to unpack
190 *
191 * @ingroup Elm_Box_Group
192 */
193EAPI void elm_box_unpack(Elm_Box *obj, Efl_Canvas_Object *subobj);
194
195/**
196 * @brief Adds an object to the box after the indicated object
197 *
198 * This will add the @c subobj to the box indicated after the object indicated
199 * with @c after. If @c after is not already in the box, results are undefined.
200 * After means either to the right of the indicated object or below it
201 * depending on orientation.
202 *
203 * See also @ref elm_box_pack_start, @ref elm_box_pack_end,
204 * @ref elm_box_pack_before, @ref elm_box_unpack, @ref elm_box_unpack_all,
205 * @ref elm_box_clear.
206 *
207 * @param[in] obj The object.
208 * @param[in] subobj The object to add to the box
209 * @param[in] after The object after which to add it
210 *
211 * @ingroup Elm_Box_Group
212 */
213EAPI void elm_box_pack_after(Elm_Box *obj, Efl_Canvas_Object *subobj, Efl_Canvas_Object *after);
214
215/**
216 * @brief Add an object to the beginning of the pack list
217 *
218 * Pack @c subobj into the box @c obj, placing it first in the list of children
219 * objects. The actual position the object will get on screen depends on the
220 * layout used. If no custom layout is set, it will be at the top or left,
221 * depending if the box is vertical or horizontal, respectively.
222 *
223 * See also @ref elm_box_pack_end, @ref elm_box_pack_before,
224 * @ref elm_box_pack_after, @ref elm_box_unpack, @ref elm_box_unpack_all,
225 * @ref elm_box_clear.
226 *
227 * @param[in] obj The object.
228 * @param[in] subobj The object to add to the box
229 *
230 * @ingroup Elm_Box_Group
231 */
232EAPI void elm_box_pack_start(Elm_Box *obj, Efl_Canvas_Object *subobj);
233
234/**
235 * @brief Force the box to recalculate its children packing.
236 *
237 * If any children was added or removed, box will not calculate the values
238 * immediately rather leaving it to the next main loop iteration. While this is
239 * great as it would save lots of recalculation, whenever you need to get the
240 * position of a just added item you must force recalculate before doing so.
241 * @param[in] obj The object.
242 *
243 * @ingroup Elm_Box_Group
244 */
245EAPI void elm_box_recalculate(Elm_Box *obj);
246
247/**
248 * @brief Adds an object to the box before the indicated object
249 *
250 * This will add the @c subobj to the box indicated before the object indicated
251 * with @c before. If @c before is not already in the box, results are
252 * undefined. Before means either to the left of the indicated object or above
253 * it depending on orientation.
254 *
255 * See also @ref elm_box_pack_start, @ref elm_box_pack_end,
256 * @ref elm_box_pack_after, @ref elm_box_unpack, @ref elm_box_unpack_all,
257 * @ref elm_box_clear.
258 *
259 * @param[in] obj The object.
260 * @param[in] subobj The object to add to the box
261 * @param[in] before The object before which to add it
262 *
263 * @ingroup Elm_Box_Group
264 */
265EAPI void elm_box_pack_before(Elm_Box *obj, Efl_Canvas_Object *subobj, Efl_Canvas_Object *before);
266
267/**
268 * @brief Clear the box of all children
269 *
270 * Remove all the elements contained by the box, deleting the respective
271 * objects.
272 *
273 * See also @ref elm_box_unpack, @ref elm_box_unpack_all.
274 * @param[in] obj The object.
275 *
276 * @ingroup Elm_Box_Group
277 */
278EAPI void elm_box_clear(Elm_Box *obj);
279
280#endif