summaryrefslogtreecommitdiff
path: root/src/lib/elm_frame.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elm_frame.h')
-rw-r--r--src/lib/elm_frame.h100
1 files changed, 83 insertions, 17 deletions
diff --git a/src/lib/elm_frame.h b/src/lib/elm_frame.h
index a7dad2bf7..4f38821fb 100644
--- a/src/lib/elm_frame.h
+++ b/src/lib/elm_frame.h
@@ -1,4 +1,5 @@
/**
+ * @internal
* @defgroup Frame Frame
* @ingroup Elementary
*
@@ -20,40 +21,105 @@
* @li outdent_top
* @li outdent_bottom
*
- * Of all this styles only default shows the title.
+ * Of all these styles only default shows the title.
*
* This widget inherits from the @ref Layout one, so that all the
* functions acting on it also work for frame objects.
*
* This widget emits the following signals, besides the ones sent from
- * @ref Layout:
- * - @c "clicked" - The user has clicked the frame's label
- * - @c "language,changed" - the program's language changed (since 1.9)
+ * @ref Layout :
+ * - @c "clicked" - The user has clicked the frame's label.
*
- * Default content parts of the frame widget that you can use for are:
- * @li "default" - A content of the frame
+ * The default content parts of the frame widget that you can use are:
+ * @li "default" - Content of the frame.
*
- * Default text parts of the frame widget that you can use for are:
- * @li "default" - A label of the frame
+ * The default text parts of the frame widget that you can use are:
+ * @li "default" - Label of the frame.
*
- * Supported elm_object common APIs.
+ * Supported common elm_object APIs.
* @li @ref elm_object_part_text_set
* @li @ref elm_object_part_text_get
* @li @ref elm_object_part_content_set
* @li @ref elm_object_part_content_get
* @li @ref elm_object_part_content_unset
*
- * For a detailed example see the @ref tutorial_frame.
- *
* @{
*/
-#ifdef EFL_EO_API_SUPPORT
-#include "elm_frame_eo.h"
-#endif
-#ifndef EFL_NOLEGACY_API_SUPPORT
-#include "elm_frame_legacy.h"
-#endif
+/**
+ * @brief Adds a new frame to the parent.
+ *
+ * @param[in] parent The parent object
+ * @return The new object, otherwise @c NULL if it cannot be created
+ *
+ * @ingroup Frame
+ */
+EAPI Evas_Object *elm_frame_add(Evas_Object *parent);
+
+/**
+ * @brief Toggles autocollapsing of a frame.
+ *
+ * @remarks When @a enable is @c EINA_TRUE, clicking a frame's label collapses the frame
+ * vertically, shrinking it to the height of the label.
+ * By default, this is DISABLED.
+ *
+ * @param[in] obj The frame
+ * @param[in] autocollapse The boolean value that indicates whether to enable autocollapse
+ *
+ * @ingroup Frame
+ */
+EAPI void elm_frame_autocollapse_set(Evas_Object *obj, Eina_Bool autocollapse);
+
+/**
+ * @brief Determines autocollapsing of a frame.
+ *
+ * @remarks When this returns @c EINA_TRUE, clicking a frame's label collapses the frame
+ * vertically, shrinking it to the height of the label.
+ * By default, this is DISABLED.
+ *
+ * @param[in] obj The frame
+ * @return The boolean value that indicates whether autocollapse is enabled
+ *
+ * @ingroup Frame
+ */
+EAPI Eina_Bool elm_frame_autocollapse_get(const Evas_Object *obj);
+
+/**
+ * @brief Manually collapses a frame without animations.
+ *
+ * @remarks Use this to toggle the collapsed state of a frame, bypassing animations.
+ *
+ * @param[in] obj The frame
+ * @param[in] collapse If @c true the frame collapses, otherwise @c false to expand it
+ *
+ * @ingroup Frame
+ */
+EAPI void elm_frame_collapse_set(Evas_Object *obj, Eina_Bool collapse);
+
+/**
+ * @brief Determines the collapse state of a frame.
+ *
+ * @remarks Use this to determine the collapse state of a frame.
+ *
+ * @param[in] obj The frame
+ * @return @c true if collapsed, otherwise @c false
+ *
+ * @ingroup Frame
+ */
+EAPI Eina_Bool elm_frame_collapse_get(const Evas_Object *obj);
+
+/**
+ * @brief Manually collapses a frame with animations.
+ *
+ * @remarks Use this to toggle the collapsed state of a frame, triggering animations.
+ *
+ * @param[in] obj The frame
+ * @param[in] collapse If @c true the frame collapses, otherwise @c false to expand it
+ *
+ * @ingroup Frame
+ */
+EAPI void elm_frame_collapse_go(Evas_Object *obj, Eina_Bool collapse);
+
/**
* @}
*/