Panel
Elementary

A panel is an animated side-panel that contains a sub-object. It can be expanded or contracted by clicking the button on its edge. More...

## Data Structures

struct | _Elm_Panel_Scroll_Info
| Panel scroll information. More...

## Typedefs

typedef struct _Elm_Panel_Scroll_Info | Elm_Panel_Scroll_Info
| Panel scroll information.

## Enumerations

enum | Elm_Panel_Orient { ELM_PANEL_ORIENT_TOP = 0 , ELM_PANEL_ORIENT_BOTTOM , ELM_PANEL_ORIENT_LEFT , ELM_PANEL_ORIENT_RIGHT }
| Panel orientation mode. More...

## Functions

void | elm_panel_orient_set (Elm_Panel *obj, Elm_Panel_Orient orient)
| Set the orientation of the panel.
Elm_Panel_Orient | elm_panel_orient_get (const Elm_Panel *obj)
| Get the orientation of the panel.
void | elm_panel_hidden_set (Elm_Panel *obj, Eina_Bool hidden)
| Set the state of the panel.
Eina_Bool | elm_panel_hidden_get (const Elm_Panel *obj)
| Get the state of the panel.
void | elm_panel_scrollable_set (Elm_Panel *obj, Eina_Bool scrollable)
| Set the scrollability of the panel.
Eina_Bool | elm_panel_scrollable_get (const Elm_Panel *obj)
| Get the state of the scrollability.
void | elm_panel_scrollable_content_size_set (Elm_Panel *obj, double ratio)
| Set the size of the scrollable panel.
double | elm_panel_scrollable_content_size_get (const Elm_Panel *obj)
| Get the size of the scrollable panel.
void | elm_panel_toggle (Elm_Panel *obj)
| Toggle the hidden state of the panel from code.
Evas_Object * | elm_panel_add (Evas_Object *parent)
| Adds a panel object.

## Detailed Description

A panel is an animated side-panel that contains a sub-object. It can be expanded or contracted by clicking the button on its edge.

Orientations are as follows:

- ELM_PANEL_ORIENT_TOP
- ELM_PANEL_ORIENT_LEFT
- ELM_PANEL_ORIENT_RIGHT
- ELM_PANEL_ORIENT_BOTTOM

This widget inherits from the Layout one, so that all the functions acting on it also work for panel objects (since 1.8).

This widget emits the following signals, besides the ones sent from Layout :

- `"toggled"` : When the panel has been toggled. (since 1.18)
- `"scroll"` : When the content has been scrolled (moved). (since 1.10) This signal is emitted only when the panel is scrollable. Elm_Panel_Scroll_Info will be passed by `event_info` argument.
- `"focused"` : When the panel has received focus. (since 1.8)
- `"unfocused"` : When the panel has lost focus. (since 1.8)

Default content parts of the panel widget that you can use are:

- `"default"` - A content of the panel

Panel example shows one way to use this widget.

## Typedef Documentation

## Elm_Panel_Scroll_Info

typedef struct _Elm_Panel_Scroll_Info Elm_Panel_Scroll_Info

Panel scroll information.

Since
  1.11

## Enumeration Type Documentation

## Elm_Panel_Orient

enum Elm_Panel_Orient

Panel orientation mode.

Enumerator
ELM_PANEL_ORIENT_TOP | Panel (dis)appears from the top.
ELM_PANEL_ORIENT_BOTTOM | Panel (dis)appears from the bottom.
ELM_PANEL_ORIENT_LEFT | Panel (dis)appears from the left.
ELM_PANEL_ORIENT_RIGHT | Panel (dis)appears from the right.

## Function Documentation

## elm_panel_orient_set()

void elm_panel_orient_set | ( | Elm_Panel * | obj,
|  | Elm_Panel_Orient | orient )

Set the orientation of the panel.

Set from where the panel will (dis)appear.

Parameters

  [in] | obj | The object.
  [in] | orient | The panel orientation.

## elm_panel_orient_get()

Elm_Panel_Orient elm_panel_orient_get | ( | const Elm_Panel * | obj | ) |

Get the orientation of the panel.

Parameters

  [in] | obj | The object.

Returns
  The panel orientation.

## elm_panel_hidden_set()

void elm_panel_hidden_set | ( | Elm_Panel * | obj,
|  | Eina_Bool | hidden )

Set the state of the panel.

Parameters

  [in] | obj | The object.
  [in] | hidden | If `true`, the panel will run the animation to disappear.

## elm_panel_hidden_get()

Eina_Bool elm_panel_hidden_get | ( | const Elm_Panel * | obj | ) |

Get the state of the panel.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the panel will run the animation to disappear.

## elm_panel_scrollable_set()

void elm_panel_scrollable_set | ( | Elm_Panel * | obj,
|  | Eina_Bool | scrollable )

Set the scrollability of the panel.

Parameters

  [in] | obj | The object.
  [in] | scrollable | The scrollable state.

## elm_panel_scrollable_get()

Eina_Bool elm_panel_scrollable_get | ( | const Elm_Panel * | obj | ) |

Get the state of the scrollability.

Parameters

  [in] | obj | The object.

Returns
  The scrollable state.

Since
  1.12

## elm_panel_scrollable_content_size_set()

void elm_panel_scrollable_content_size_set | ( | Elm_Panel * | obj,
|  | double | ratio )

Set the size of the scrollable panel.

Parameters

  [in] | obj | The object.
  [in] | ratio | Size ratio

## elm_panel_scrollable_content_size_get()

double elm_panel_scrollable_content_size_get | ( | const Elm_Panel * | obj | ) |

Get the size of the scrollable panel.

Parameters

  [in] | obj | The object.

Returns
  Size ratio

Since
  1.19

## elm_panel_add()

Evas_Object * elm_panel_add | ( | Evas_Object * | parent | ) |

Adds a panel object.

Parameters

  parent | The parent object

Returns
  The panel object, or NULL on failure

References EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.