Flip Selector

Functions

Evas_Object * elm_flipselector_add (Evas_Object *parent)
 Add a new flip selector widget to the given parent Elementary (container) widget.
void elm_flipselector_flip_next (Evas_Object *obj)
 Programmatically select the next item of a flip selector widget.
void elm_flipselector_flip_prev (Evas_Object *obj)
 Programmatically select the previous item of a flip selector widget.
Elm_Object_Itemelm_flipselector_item_append (Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data)
 Append a (text) item to a flip selector widget.
Elm_Object_Itemelm_flipselector_item_prepend (Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data)
 Prepend a (text) item to a flip selector widget.
const Eina_List * elm_flipselector_items_get (const Evas_Object *obj)
 Get the internal list of items in a given flip selector widget.
Elm_Object_Itemelm_flipselector_first_item_get (const Evas_Object *obj)
 Get the first item in the given flip selector widget's list of items.
Elm_Object_Itemelm_flipselector_last_item_get (const Evas_Object *obj)
 Get the last item in the given flip selector widget's list of items.
Elm_Object_Itemelm_flipselector_selected_item_get (const Evas_Object *obj)
 Get the currently selected item in a flip selector widget.
void elm_flipselector_item_selected_set (Elm_Object_Item *it, Eina_Bool selected)
 Set whether a given flip selector widget's item should be the currently selected one.
Eina_Bool elm_flipselector_item_selected_get (const Elm_Object_Item *it)
 Get whether a given flip selector widget's item is the currently selected one.
Elm_Object_Itemelm_flipselector_item_prev_get (const Elm_Object_Item *it)
 Gets the item before item in a flip selector widget's internal list of items.
Elm_Object_Itemelm_flipselector_item_next_get (const Elm_Object_Item *it)
 Gets the item after item in a flip selector widget's internal list of items.
void elm_flipselector_first_interval_set (Evas_Object *obj, double interval)
 Set the interval on time updates for a user mouse button hold on a flip selector widget.
double elm_flipselector_first_interval_get (const Evas_Object *obj)
 Get the interval on time updates for an user mouse button hold on a flip selector widget.

Detailed Description

flipselector_inheritance_tree.png
preview-00.png

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
  • "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

Available styles for it:

  • "default"

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

  • "default" - label of the flipselector item

Supported elm_object common APIs.

Supported elm_object_item common APIs.

Here is an example on its usage:


Function Documentation

Evas_Object* elm_flipselector_add ( Evas_Object *  parent)

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

Parameters:
parentThe parent object
Returns:
a new flip selector widget handle or NULL, on errors

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

double elm_flipselector_first_interval_get ( const Evas_Object *  obj)

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

Parameters:
objThe flip selector object
Returns:
The (first) interval value, in seconds, set on it
See also:
elm_flipselector_first_interval_set() for more details
void elm_flipselector_first_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:
objThe flip selector object
intervalThe (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_first_interval_get()
Elm_Object_Item* elm_flipselector_first_item_get ( const Evas_Object *  obj)

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

Parameters:
objThe flipselector object
Returns:
The first item or NULL, if it has no items (and on errors)
See also:
elm_flipselector_item_append()
elm_flipselector_last_item_get()
void elm_flipselector_flip_next ( Evas_Object *  obj)

Programmatically select the next item of a flip selector widget.

Parameters:
objThe flipselector object
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.
void elm_flipselector_flip_prev ( Evas_Object *  obj)

Programmatically select the previous item of a flip selector widget.

Parameters:
objThe flipselector object
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.
Elm_Object_Item* elm_flipselector_item_append ( Evas_Object *  obj,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

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

Parameters:
objThe flipselector object
labelThe (text) label of the new item
funcConvenience callback function to take place when item is selected
dataData passed to func, above
Returns:
A handle to the item added or NULL, on errors

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.
Examples:
flipselector_example.c.
Elm_Object_Item* elm_flipselector_item_next_get ( const Elm_Object_Item it)

Gets the item after item in a flip selector widget's internal list of items.

Parameters:
itThe item to fetch next from
Returns:
The item after the item, in its parent's list. If there is no next item for item or there's an error, NULL is returned.
See also:
elm_flipselector_item_prev_get()
Elm_Object_Item* elm_flipselector_item_prepend ( Evas_Object *  obj,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

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

Parameters:
objThe flipselector object
labelThe (text) label of the new item
funcConvenience callback function to take place when item is selected
dataData passed to func, above
Returns:
A handle to the item added or NULL, on errors

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.
Elm_Object_Item* elm_flipselector_item_prev_get ( const Elm_Object_Item it)

Gets the item before item in a flip selector widget's internal list of items.

Parameters:
itThe item to fetch previous from
Returns:
The item before the item, in its parent's list. If there is no previous item for item or there's an error, NULL is returned.
See also:
elm_flipselector_item_next_get()
Eina_Bool elm_flipselector_item_selected_get ( const Elm_Object_Item it)

Get whether a given flip selector widget's item is the currently selected one.

Parameters:
itThe flip selector item
Returns:
EINA_TRUE, if it's selected, EINA_FALSE otherwise (or on errors).
See also:
elm_flipselector_item_selected_set()
void elm_flipselector_item_selected_set ( Elm_Object_Item it,
Eina_Bool  selected 
)

Set whether a given flip selector widget's item should be the currently selected one.

Parameters:
itThe flip selector item
selectedEINA_TRUE to select it, EINA_FALSE to unselect.

This sets whether item is or not the selected (thus, under display) one. If item is different than the one under display, the latter will be unselected. If the item is set to be unselected, on the other hand, the first item in the widget's internal members list will be the new selected one.

See also:
elm_flipselector_item_selected_get()
const Eina_List* elm_flipselector_items_get ( const Evas_Object *  obj)

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

Parameters:
objThe flipselector object
Returns:
The list of items (Elm_Object_Item as data) or NULL on errors.

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.
Elm_Object_Item* elm_flipselector_last_item_get ( const Evas_Object *  obj)

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

Parameters:
objThe flipselector object
Returns:
The last item or NULL, if it has no items (and on errors)
See also:
elm_flipselector_item_prepend()
elm_flipselector_first_item_get()
Elm_Object_Item* elm_flipselector_selected_item_get ( const Evas_Object *  obj)

Get the currently selected item in a flip selector widget.

Parameters:
objThe flipselector object
Returns:
The selected item or NULL, if the widget has no items (and on errors)