1 #ifndef _ELM_PANEL_EO_H_
2 #define _ELM_PANEL_EO_H_
3 
4 #ifndef _ELM_PANEL_EO_CLASS_TYPE
5 #define _ELM_PANEL_EO_CLASS_TYPE
6 
7 typedef Eo Elm_Panel;
8 
9 #endif
10 
11 #ifndef _ELM_PANEL_EO_TYPES
12 #define _ELM_PANEL_EO_TYPES
13 
14 /** Panel orientation mode
15  *
16  * @ingroup Elm_Panel
17  */
18 typedef enum
19 {
20   ELM_PANEL_ORIENT_TOP = 0, /**< Panel (dis)appears from the top */
21   ELM_PANEL_ORIENT_BOTTOM, /**< Panel (dis)appears from the bottom */
22   ELM_PANEL_ORIENT_LEFT, /**< Panel (dis)appears from the left */
23   ELM_PANEL_ORIENT_RIGHT /**< Panel (dis)appears from the right */
24 } Elm_Panel_Orient;
25 
26 
27 #endif
28 /** Elementary panel class
29  *
30  * @ingroup Elm_Panel
31  */
32 #define ELM_PANEL_CLASS elm_panel_class_get()
33 
34 EWAPI const Efl_Class *elm_panel_class_get(void) EINA_CONST;
35 
36 /**
37  * @brief Set the orientation of the panel
38  *
39  * Set from where the panel will (dis)appear.
40  *
41  * @param[in] obj The object.
42  * @param[in] orient The panel orientation.
43  *
44  * @ingroup Elm_Panel
45  */
46 EOAPI void elm_obj_panel_orient_set(Eo *obj, Elm_Panel_Orient orient);
47 
48 /**
49  * @brief Get the orientation of the panel.
50  *
51  * @param[in] obj The object.
52  *
53  * @return The panel orientation.
54  *
55  * @ingroup Elm_Panel
56  */
57 EOAPI Elm_Panel_Orient elm_obj_panel_orient_get(const Eo *obj);
58 
59 /**
60  * @brief Set the state of the panel.
61  *
62  * @param[in] obj The object.
63  * @param[in] hidden If @c true, the panel will run the animation to disappear.
64  *
65  * @ingroup Elm_Panel
66  */
67 EOAPI void elm_obj_panel_hidden_set(Eo *obj, Eina_Bool hidden);
68 
69 /**
70  * @brief Get the state of the panel.
71  *
72  * @param[in] obj The object.
73  *
74  * @return If @c true, the panel will run the animation to disappear.
75  *
76  * @ingroup Elm_Panel
77  */
78 EOAPI Eina_Bool elm_obj_panel_hidden_get(const Eo *obj);
79 
80 /**
81  * @brief Set the scrollability of the panel.
82  *
83  * @param[in] obj The object.
84  * @param[in] scrollable The scrollable state.
85  *
86  * @ingroup Elm_Panel
87  */
88 EOAPI void elm_obj_panel_scrollable_set(Eo *obj, Eina_Bool scrollable);
89 
90 /**
91  * @brief Get the state of the scrollability.
92  *
93  * @param[in] obj The object.
94  *
95  * @return The scrollable state.
96  *
97  * @since 1.12
98  *
99  * @ingroup Elm_Panel
100  */
101 EOAPI Eina_Bool elm_obj_panel_scrollable_get(const Eo *obj);
102 
103 /**
104  * @brief Set the size of the scrollable panel.
105  *
106  * @param[in] obj The object.
107  * @param[in] ratio Size ratio
108  *
109  * @ingroup Elm_Panel
110  */
111 EOAPI void elm_obj_panel_scrollable_content_size_set(Eo *obj, double ratio);
112 
113 /**
114  * @brief Get the size of the scrollable panel.
115  *
116  * @param[in] obj The object.
117  *
118  * @return Size ratio
119  *
120  * @since 1.19
121  *
122  * @ingroup Elm_Panel
123  */
124 EOAPI double elm_obj_panel_scrollable_content_size_get(const Eo *obj);
125 
126 /** Toggle the hidden state of the panel from code
127  *
128  * @ingroup Elm_Panel
129  */
130 EOAPI void elm_obj_panel_toggle(Eo *obj);
131 
132 EWAPI extern const Efl_Event_Description _ELM_PANEL_EVENT_TOGGLED;
133 
134 /** Called when the hidden state was toggled
135  *
136  * @ingroup Elm_Panel
137  */
138 #define ELM_PANEL_EVENT_TOGGLED (&(_ELM_PANEL_EVENT_TOGGLED))
139 
140 #endif
141