#ifndef _ELM_PANEL_EO_H_
#define _ELM_PANEL_EO_H_

/**

 */
#define ELM_OBJ_PANEL_CLASS elm_obj_panel_class_get()

const Eo_Class *elm_obj_panel_class_get(void) EINA_CONST;

/**
 * @def elm_obj_panel_orient_set
 *
 * @brief Sets the orientation of the panel
 *
 * Sets from where the panel will (dis)appear.
 *
 * @ingroup Panel
 *
 * @param[in] orient The panel orientation. Can be one of the following:
@li ELM_PANEL_ORIENT_TOP
@li ELM_PANEL_ORIENT_LEFT
@li ELM_PANEL_ORIENT_RIGHT
 *
 */
EAPI void  elm_obj_panel_orient_set(Elm_Panel_Orient orient);

/**
 * @def elm_obj_panel_orient_get
 *
 * @brief Get the orientation of the panel.
 *
 * @return The Elm_Panel_Orient, or ELM_PANEL_ORIENT_LEFT on failure.
 *
 * @ingroup Panel
 *
 *
 */
EAPI Elm_Panel_Orient  elm_obj_panel_orient_get(void);

/**
 * @def elm_obj_panel_hidden_set
 *
 * @brief Set the state of the panel.
 *
 * @ingroup Panel
 *
 * @param[in] hidden If true, the panel will run the animation to disappear.
 *
 */
EAPI void  elm_obj_panel_hidden_set(Eina_Bool hidden);

/**
 * @def elm_obj_panel_hidden_get
 *
 * @brief Get the state of the panel.
 *
 * @return EINA_TRUE if it is hidden state
 *
 * @ingroup Panel
 *
 *
 */
EAPI Eina_Bool  elm_obj_panel_hidden_get(void);

/**
 * @def elm_obj_panel_toggle
 *
 * @brief Toggle the hidden state of the panel from code
 *
 * @ingroup Panel
 *
 *
 */
EAPI void  elm_obj_panel_toggle(void);

EAPI extern const Eo_Event_Description _ELM_PANEL_EVENT_FOCUSED;
EAPI extern const Eo_Event_Description _ELM_PANEL_EVENT_UNFOCUSED;

/**
 * No description
 */
#define ELM_PANEL_EVENT_FOCUSED (&(_ELM_PANEL_EVENT_FOCUSED))

/**
 * No description
 */
#define ELM_PANEL_EVENT_UNFOCUSED (&(_ELM_PANEL_EVENT_UNFOCUSED))

#endif