Flip Selector
Elementary

## Macros

#define | ELM_FLIPSELECTOR_CLASS elm_flipselector_class_get()
| Elementary flipselector class.
#define | ELM_FLIPSELECTOR_EVENT_UNDERFLOWED (&(_ELM_FLIPSELECTOR_EVENT_UNDERFLOWED))
| Called when flipselector is underflowed.
#define | ELM_FLIPSELECTOR_EVENT_OVERFLOWED (&(_ELM_FLIPSELECTOR_EVENT_OVERFLOWED))
| Called when flipselector is overflowed.

## Functions

EOAPI const Eina_List * | elm_obj_flipselector_items_get (const Eo *obj)
| Get the internal list of items in a given flip selector widget.
EOAPI Elm_Widget_Item * | elm_obj_flipselector_first_item_get (const Eo *obj)
| Get the first item in the given flip selector widget's list of items.
EOAPI Elm_Widget_Item * | elm_obj_flipselector_last_item_get (const Eo *obj)
| Get the last item in the given flip selector widget's list of items.
EOAPI Elm_Widget_Item * | elm_obj_flipselector_selected_item_get (const Eo *obj)
| Get the currently selected item in a flip selector widget.
EOAPI void | elm_obj_flipselector_first_interval_set (Eo *obj, double interval)
| Set the interval on time updates for a user mouse button hold on a flip selector widget.
EOAPI double | elm_obj_flipselector_first_interval_get (const Eo *obj)
| Get the interval on time updates for a user mouse button hold on a flip selector widget.
EOAPI Elm_Widget_Item * | elm_obj_flipselector_item_prepend (Eo *obj, const char *label, Evas_Smart_Cb func, void *data)
| Prepend a (text) item to a flip selector widget.
EOAPI void | elm_obj_flipselector_flip_next (Eo *obj)
| Programmatically select the next item of a flip selector widget.
EOAPI Elm_Widget_Item * | elm_obj_flipselector_item_append (Eo *obj, const char *label, Evas_Smart_Cb func, const void *data)
| Append a (text) item to a flip selector widget.
EOAPI void | elm_obj_flipselector_flip_prev (Eo *obj)
| Programmatically select the previous item of a flip selector widget.
Evas_Object * | elm_flipselector_add (Evas_Object *parent)
| Add a new flip selector widget to the given parent Elementary (container) widget.
EINA_DEPRECATED const char * | elm_flipselector_item_label_get (const Elm_Object_Item *it)
| Get the label of a given flip selector widget's item.
EINA_DEPRECATED void | elm_flipselector_item_label_set (Elm_Object_Item *it, const char *label)
| Set the label of a given flip selector widget's item.
EINA_DEPRECATED void | elm_flipselector_item_del (Elm_Object_Item *it)
| Delete a given item from a flip selector widget.
EINA_DEPRECATED void | elm_flipselector_interval_set (Evas_Object *obj, double interval)
| Set the interval on time updates for a user mouse button hold on a flip selector widget.
EINA_DEPRECATED double | elm_flipselector_interval_get (const Evas_Object *obj)
| Get the interval on time updates for a user mouse button hold on a flip selector widget.

## Detailed Description

A flip selector is a widget to show a set of text items, one at a time, with the same sheet switching style as the clock widget, when one changes the current displaying sheet (thus, the "flip" in the name).

User clicks to flip sheets which are held for some time will make the flip selector to flip continuously and automatically for the user. The interval between flips will keep growing in time, so that it helps the user to reach an item which is distant from the current selection.

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

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

- `"selected"` - when the widget's selected text item is changed. The `event_info` parameter is the item that was selected.
- `"overflowed"` - when the widget's current selection is changed from the first item in its list to the last
- `"underflowed"` - when the widget's current selection is changed from the last item in its list to the first
- `"focused"` - When the flip selector has received focus. (since 1.8)
- `"unfocused"` - When the flip selector has lost focus. (since 1.8)
- `"language,changed"` - the program's language changed (since 1.9)

Available styles for it:

- `"default"`

Default text parts of the flipselector items that you can use for are:

- "default" - A label of the flipselector item

Supported elm_object common APIs.

- elm_object_disabled_set
- elm_object_disabled_get

Supported elm_object_item common APIs.

- elm_object_item_del
- elm_object_item_part_text_set
- elm_object_item_part_text_get
- elm_object_item_signal_emit

Here is an example on its usage:

- Flip selector widget example

## Function Documentation

## elm_obj_flipselector_items_get()

EOAPI const Eina_List * elm_obj_flipselector_items_get | ( | const Eo * | obj | ) |

Get the internal list of items in a given flip selector widget.

This list is not to be modified in any way and must not be freed. Use the list members with functions like elm_object_item_text_set, elm_object_item_text_get, elm_object_item_del, elm_flipselector_item_selected_get, elm_flipselector_item_selected_set.

Warning
  This list is only valid until `obj` object's internal items list is changed. It should be fetched again with another call to this function when changes happen.

Parameters

  [in] | obj | The object.

Returns
  List of items

## elm_obj_flipselector_first_item_get()

EOAPI Elm_Widget_Item * elm_obj_flipselector_first_item_get | ( | const Eo * | obj | ) |

Get the first item in the given flip selector widget's list of items.

See also elm_obj_flipselector_item_append, elm_obj_flipselector_last_item_get.

Parameters

  [in] | obj | The object.

Returns
  The first item or `null`, if it has no items (and on errors).

## elm_obj_flipselector_last_item_get()

EOAPI Elm_Widget_Item * elm_obj_flipselector_last_item_get | ( | const Eo * | obj | ) |

Get the last item in the given flip selector widget's list of items.

See also elm_obj_flipselector_item_prepend, elm_obj_flipselector_first_item_get.

Parameters

  [in] | obj | The object.

Returns
  The last item or `null`, if it has no items (and on errors).

## elm_obj_flipselector_selected_item_get()

EOAPI Elm_Widget_Item * elm_obj_flipselector_selected_item_get | ( | const Eo * | obj | ) |

Get the currently selected item in a flip selector widget.

Parameters

  [in] | obj | The object.

Returns
  The selected item or `null`, if the widget has no items (and on errors).

## elm_obj_flipselector_first_interval_set()

EOAPI void elm_obj_flipselector_first_interval_set | ( | Eo * | obj,
|  | double | interval )

Set the interval on time updates for a user mouse button hold on a flip selector widget.

This interval value is decreased while the user holds the mouse pointer either flipping up or flipping down a given flip selector.

This helps the user to get to a given item distant from the current one easier/faster, as it will start to flip quicker and quicker on mouse button holds.

The calculation for the next flip interval value, starting from the one set with this call, is the previous interval divided by 1.05, so it decreases a little bit.

The default starting interval value for automatic flips is 0.85 seconds.

See also elm_obj_flipselector_first_interval_get.

Parameters

  [in] | obj | The object.
  [in] | interval | The (first) interval value in seconds.

## elm_obj_flipselector_first_interval_get()

EOAPI double elm_obj_flipselector_first_interval_get | ( | const Eo * | obj | ) |

Get the interval on time updates for a user mouse button hold on a flip selector widget.

See also elm_obj_flipselector_first_interval_set for more details.

Parameters

  [in] | obj | The object.

Returns
  The (first) interval value in seconds.

## elm_obj_flipselector_item_prepend()

EOAPI Elm_Widget_Item * elm_obj_flipselector_item_prepend | ( | Eo * | obj,
|  | const char * | label,
|  | Evas_Smart_Cb | func,
|  | void * | data )

Prepend a (text) item to a flip selector widget.

The widget's list of labels to show will be prepended with the given value. If the user wishes so, a callback function pointer can be passed, which will get called when this same item is selected.

Note
  The current selection won't be modified by prepending an element to the list.
  The maximum length of the text label is going to be determined by the widget's theme. Strings larger than that value are going to be truncated.

Parameters

  [in] | obj | The object.
  [in] | label | The (text) label of the new item.
  [in] | func | Convenience callback function to take place when item is selected.
  [in] | data | Data passed to `func`, above.

Returns
  New widget item

## elm_obj_flipselector_flip_next()

EOAPI void elm_obj_flipselector_flip_next | ( | Eo * | obj | ) |

Programmatically select the next item of a flip selector widget.

Note
  The selection will be animated. Also, if it reaches the end of its list of member items, it will continue with the first one onwards.

Parameters

  [in] | obj | The object.

## elm_obj_flipselector_item_append()

EOAPI Elm_Widget_Item * elm_obj_flipselector_item_append | ( | Eo * | obj,
|  | const char * | label,
|  | Evas_Smart_Cb | func,
|  | const void * | data )

Append a (text) item to a flip selector widget.

The widget's list of labels to show will be appended with the given value. If the user wishes so, a callback function pointer can be passed, which will get called when this same item is selected.

Note
  The current selection won't be modified by appending an element to the list.
  The maximum length of the text label is going to be determined by the widget's theme. Strings larger than that value are going to be truncated.

Parameters

  [in] | obj | The object.
  [in] | label | The (text) label of the new item.
  [in] | func | Convenience callback function to take place when item is selected.
  [in] | data | Data passed to `func`, above.

Returns
  New widget item

## elm_obj_flipselector_flip_prev()

EOAPI void elm_obj_flipselector_flip_prev | ( | Eo * | obj | ) |

Programmatically select the previous item of a flip selector widget.

Note
  The selection will be animated. Also, if it reaches the beginning of its list of member items, it will continue with the last one backwards.

Parameters

  [in] | obj | The object.

## elm_flipselector_add()

Evas_Object * elm_flipselector_add | ( | Evas_Object * | parent | ) |

Add a new flip selector widget to the given parent Elementary (container) widget.

Parameters

  parent | The parent object

Returns
  a new flip selector widget handle or `NULL`, on errors

This function inserts a new flip selector widget on the canvas.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_flipselector_item_label_get()

EINA_DEPRECATED const char * elm_flipselector_item_label_get | ( | const Elm_Object_Item * | it | ) |

Get the label of a given flip selector widget's item.

Parameters

  it | The item to get label from

Returns
  The text label of `item` or `NULL`, on errors

See also
  elm_object_item_text_set()

Deprecated
  see elm_object_item_text_get() instead

References EINA_DEPRECATED.

## elm_flipselector_item_label_set()

EINA_DEPRECATED void elm_flipselector_item_label_set | ( | Elm_Object_Item * | it,
|  | const char * | label )

Set the label of a given flip selector widget's item.

Parameters

  it | The item to set label on
  label | The text label string, in UTF-8 encoding

See also
  elm_object_item_text_get()

Deprecated
  see elm_object_item_text_set() instead

References EINA_DEPRECATED.

## elm_flipselector_item_del()

EINA_DEPRECATED void elm_flipselector_item_del | ( | Elm_Object_Item * | it | ) |

Delete a given item from a flip selector widget.

Parameters

  it | The item to delete

Deprecated
  Use elm_object_item_del() instead

References EINA_DEPRECATED.

## elm_flipselector_interval_set()

EINA_DEPRECATED void elm_flipselector_interval_set | ( | Evas_Object * | obj,
|  | double | interval )

Set the interval on time updates for a user mouse button hold on a flip selector widget.

Parameters

  obj | The flip selector object
  interval | The (first) interval value in seconds

This interval value is decreased while the user holds the mouse pointer either flipping up or flipping down a given flip selector.

This helps the user to get to a given item distant from the current one easier/faster, as it will start to flip quicker and quicker on mouse button holds.

The calculation for the next flip interval value, starting from the one set with this call, is the previous interval divided by 1.05, so it decreases a little bit.

The default starting interval value for automatic flips is 0.85 seconds.

See also
  elm_flipselector_interval_get()

Deprecated
  Use elm_flipselector_first_interval_set()

References EINA_DEPRECATED.

## elm_flipselector_interval_get()

EINA_DEPRECATED double elm_flipselector_interval_get | ( | const Evas_Object * | obj | ) |

Get the interval on time updates for a user mouse button hold on a flip selector widget.

Parameters

  obj | The flip selector object

Returns
  The (first) interval value, in seconds, set on it

See also
  elm_flipselector_interval_set() for more details

Deprecated
  Use elm_flipselector_first_interval_get()

References EINA_DEPRECATED.