2 * @defgroup Panes Panes
5 * @image html img/widget/panes/preview-00.png
6 * @image latex img/widget/panes/preview-00.eps width=\textwidth
8 * @image html img/panes.png
9 * @image latex img/panes.eps width=\textwidth
11 * The panes adds a dragable bar between two contents. When dragged
12 * this bar will resize contents size.
14 * Panes can be displayed vertically or horizontally, and contents
15 * size proportion can be customized (homogeneous by default).
17 * Smart callbacks one can listen to:
18 * - "press" - The panes has been pressed (button wasn't released yet).
19 * - "unpressed" - The panes was released after being pressed.
20 * - "clicked" - The panes has been clicked>
21 * - "clicked,double" - The panes has been double clicked
23 * Available styles for it:
26 * Default contents parts of the panes widget that you can use for are:
27 * @li "left" - A leftside content of the panes
28 * @li "right" - A rightside content of the panes
30 * If panes is displayed vertically, left content will be displayed at
33 * Here is an example on its usage:
34 * @li @ref panes_example
43 * Add a new panes widget to the given parent Elementary
46 * @param parent The parent object.
47 * @return a new panes widget handle or @c NULL, on errors.
49 * This function inserts a new panes widget on the canvas.
53 EAPI Evas_Object *elm_panes_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
56 * Set the left content of the panes widget.
58 * @param obj The panes object.
59 * @param content The new left content object.
61 * Once the content object is set, a previously set one will be deleted.
62 * If you want to keep that old content object, use the
63 * elm_panes_content_left_unset() function.
65 * If panes is displayed vertically, left content will be displayed at
68 * @see elm_panes_content_left_get()
69 * @see elm_panes_content_right_set() to set content on the other side.
71 * @deprecated use elm_object_part_content_set() instead
75 EINA_DEPRECATED EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
78 * Set the right content of the panes widget.
80 * @param obj The panes object.
81 * @param content The new right content object.
83 * Once the content object is set, a previously set one will be deleted.
84 * If you want to keep that old content object, use the
85 * elm_panes_content_right_unset() function.
87 * If panes is displayed vertically, left content will be displayed at
90 * @see elm_panes_content_right_get()
91 * @see elm_panes_content_left_set() to set content on the other side.
93 * @deprecated use elm_object_part_content_set() instead
97 EINA_DEPRECATED EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
100 * Get the left content of the panes.
102 * @param obj The panes object.
103 * @return The left content object that is being used.
105 * Return the left content object which is set for this widget.
107 * @see elm_panes_content_left_set() for details.
109 * @deprecated use elm_object_part_content_get() instead
113 EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
116 * Get the right content of the panes.
118 * @param obj The panes object
119 * @return The right content object that is being used
121 * Return the right content object which is set for this widget.
123 * @see elm_panes_content_right_set() for details.
125 * @deprecated use elm_object_part_content_get() instead
129 EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
132 * Unset the left content used for the panes.
134 * @param obj The panes object.
135 * @return The left content object that was being used.
137 * Unparent and return the left content object which was set for this widget.
139 * @see elm_panes_content_left_set() for details.
140 * @see elm_panes_content_left_get().
142 * @deprecated use elm_object_part_content_unset() instead
146 EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
149 * Unset the right content used for the panes.
151 * @param obj The panes object.
152 * @return The right content object that was being used.
154 * Unparent and return the right content object which was set for this
157 * @see elm_panes_content_right_set() for details.
158 * @see elm_panes_content_right_get().
160 * @deprecated use elm_object_part_content_unset() instead
164 EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_right_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
167 * Get the size proportion of panes widget's left side.
169 * @param obj The panes object.
170 * @return float value between 0.0 and 1.0 representing size proportion
173 * @see elm_panes_content_left_size_set() for more details.
177 EAPI double elm_panes_content_left_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
180 * Set the size proportion of panes widget's left side.
182 * @param obj The panes object.
183 * @param size Value between 0.0 and 1.0 representing size proportion
186 * By default it's homogeneous, i.e., both sides have the same size.
188 * If something different is required, it can be set with this function.
189 * For example, if the left content should be displayed over
190 * 75% of the panes size, @p size should be passed as @c 0.75.
191 * This way, right content will be resized to 25% of panes size.
193 * If displayed vertically, left content is displayed at top, and
194 * right content at bottom.
196 * @note This proportion will change when user drags the panes bar.
198 * @see elm_panes_content_left_size_get()
202 EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size) EINA_ARG_NONNULL(1);
205 * Set the orientation of a given panes widget.
207 * @param obj The panes object.
208 * @param horizontal Use @c EINA_TRUE to make @p obj to be
209 * @b horizontal, @c EINA_FALSE to make it @b vertical.
211 * Use this function to change how your panes is to be
212 * disposed: vertically or horizontally.
214 * By default it's displayed horizontally.
216 * @see elm_panes_horizontal_get()
220 EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
223 * Retrieve the orientation of a given panes widget.
225 * @param obj The panes object.
226 * @return @c EINA_TRUE, if @p obj is set to be @b horizontal,
227 * @c EINA_FALSE if it's @b vertical (and on errors).
229 * @see elm_panes_horizontal_set() for more details.
233 EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
234 EAPI void elm_panes_fixed_set(Evas_Object *obj, Eina_Bool fixed) EINA_ARG_NONNULL(1);
235 EAPI Eina_Bool elm_panes_fixed_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);