elementary/map - map supports language,changed
[framework/uifw/elementary.git] / src / lib / elm_panel.h
1 /**
2  * @defgroup Panel Panel
3  * @ingroup Elementary
4  *
5  * @image html panel_inheritance_tree.png
6  * @image latex panel_inheritance_tree.eps
7  *
8  * @image html img/widget/panel/preview-00.png
9  * @image latex img/widget/panel/preview-00.eps
10  *
11  * @brief A panel is an animated side-panel that contains a
12  * sub-object. It can be expanded or contracted by clicking the
13  * button on its edge.
14  *
15  * Orientations are as follows:
16  * @li @c ELM_PANEL_ORIENT_TOP
17  * @li @c ELM_PANEL_ORIENT_LEFT
18  * @li @c ELM_PANEL_ORIENT_RIGHT
19  * @li @c ELM_PANEL_ORIENT_BOTTOM
20  *
21  * This widget inherits from the @ref Layout one, so that all the
22  * functions acting on it also work for panel objects (@since 1.8).
23  *
24  * Default content parts of the panel widget that you can use are:
25  * @li @c "default" - A content of the panel
26  *
27  * @ref tutorial_panel shows one way to use this widget.
28  * @{
29  */
30 typedef enum
31 {
32    ELM_PANEL_ORIENT_TOP, /**< Panel (dis)appears from the top */
33    ELM_PANEL_ORIENT_BOTTOM, /**< Panel (dis)appears from the bottom */
34    ELM_PANEL_ORIENT_LEFT, /**< Panel (dis)appears from the left */
35    ELM_PANEL_ORIENT_RIGHT, /**< Panel (dis)appears from the right */
36 } Elm_Panel_Orient;
37
38 /**
39  * @brief Adds a panel object
40  *
41  * @param parent The parent object
42  *
43  * @return The panel object, or NULL on failure
44  *
45  * @ingroup Panel
46  */
47 EAPI Evas_Object                 *elm_panel_add(Evas_Object *parent);
48
49 /**
50  * @brief Sets the orientation of the panel
51  *
52  * @param obj The panel object
53  * @param orient The panel orientation. Can be one of the following:
54  * @li ELM_PANEL_ORIENT_TOP
55  * @li ELM_PANEL_ORIENT_LEFT
56  * @li ELM_PANEL_ORIENT_RIGHT
57  *
58  * Sets from where the panel will (dis)appear.
59  *
60  * @ingroup Panel
61  */
62 EAPI void                         elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient);
63
64 /**
65  * @brief Get the orientation of the panel.
66  *
67  * @param obj The panel object
68  * @return The Elm_Panel_Orient, or ELM_PANEL_ORIENT_LEFT on failure.
69  *
70  * @ingroup Panel
71  */
72 EAPI Elm_Panel_Orient             elm_panel_orient_get(const Evas_Object *obj);
73
74 /**
75  * @brief Set the state of the panel.
76  *
77  * @param obj The panel object
78  * @param hidden If true, the panel will run the animation to disappear.
79  *
80  * @ingroup Panel
81  */
82 EAPI void                         elm_panel_hidden_set(Evas_Object *obj, Eina_Bool hidden);
83
84 /**
85  * @brief Get the state of the panel.
86  *
87  * @param obj The panel object
88  * @return EINA_TRUE if it is hidden state
89  *
90  * @ingroup Panel
91  */
92 EAPI Eina_Bool                    elm_panel_hidden_get(const Evas_Object *obj);
93
94 /**
95  * @brief Toggle the hidden state of the panel from code
96  *
97  * @param obj The panel object
98  *
99  * @ingroup Panel
100  */
101 EAPI void                         elm_panel_toggle(Evas_Object *obj);
102
103 /**
104  * @}
105  */