Panes
Elementary

## Functions

Evas_Object * | elm_panes_add (Evas_Object *parent)
| Add a new panes widget to the given parent Elementary (container) object.
void | elm_panes_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
| Set how to split and dispose each content.
Eina_Bool | elm_panes_horizontal_get (const Evas_Object *obj)
| Get how to split and dispose each content.

## Detailed Description

The panes widget adds a draggable bar between two contents. When dragged this bar will resize contents' size.

Panes can be split vertically or horizontally, and contents size proportion can be customized (homogeneous by default).

This widget inherits from the Layout one, so that all the functions acting on it also work for panes objects.

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

- `"press"` - The panes has been pressed (button wasn't released yet).
- `"unpress"` - The panes was released after being pressed.
- `"clicked"` - The panes has been clicked>
- `"clicked,double"` - The panes has been double clicked

Available styles for it:

- `"default"`

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

- "left" - A leftside content of the panes
- "right" - A rightside content of the panes
- "top" - A top content of the vertical panes
- "bottom" - A bottom content of the vertical panes

If panes are displayed vertically, left content will be displayed on top.

Supported elm_object common APIs.

- elm_object_part_content_set
- elm_object_part_content_get
- elm_object_part_content_unset

Here is an example on its usage:

- Panes widget example

## Function Documentation

## elm_panes_add()

Evas_Object * elm_panes_add | ( | Evas_Object * | parent | ) |

Add a new panes widget to the given parent Elementary (container) object.

Parameters

  parent | The parent object.

Returns
  a new panes widget handle or `NULL`, on errors.

This function inserts a new panes widget on the canvas.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_panes_horizontal_set()

void elm_panes_horizontal_set | ( | Evas_Object * | obj,
|  | Eina_Bool | horizontal )

Set how to split and dispose each content.

Use this function to change how your panes is to be disposed: vertically or horizontally. Horizontal panes have "top" and "bottom" contents, vertical panes have "left" and "right" contents.

By default panes is in a vertical mode.

Parameters

  [in] | horizontal | Use `true` to make `obj` to split panes horizontally ("top" and "bottom" contents). `false` to make it vertically ("left" and "right" contents).

## elm_panes_horizontal_get()

Eina_Bool elm_panes_horizontal_get | ( | const Evas_Object * | obj | ) |

Get how to split and dispose each content.

Use this function to change how your panes is to be disposed: vertically or horizontally. Horizontal panes have "top" and "bottom" contents, vertical panes have "left" and "right" contents.

By default panes is in a vertical mode.

Returns
  Use `true` to make `obj` to split panes horizontally ("top" and "bottom" contents). `false` to make it vertically ("left" and "right" contents).

References EINA_FALSE, and EINA_TRUE.