Button

- Main Page
- Related Pages
- Data Structures
- Files
- Examples

Functions
Button

## Functions
EOAPI void | elm_obj_button_autorepeat_initial_timeout_set (double t)
| Set the initial timeout before the autorepeat event is generated. More...
EOAPI double | elm_obj_button_autorepeat_initial_timeout_get (void)
| Get the initial timeout before the autorepeat event is generated. More...
EOAPI void | elm_obj_button_autorepeat_gap_timeout_set (double t)
| Set the interval between each generated autorepeat event. More...
EOAPI double | elm_obj_button_autorepeat_gap_timeout_get (void)
| Get the interval between each generated autorepeat event. More...
EOAPI void | elm_obj_button_autorepeat_set (Eina_Bool on)
| Turn on/off the autorepeat event generated when the button is kept pressed. More...
EOAPI Eina_Bool | elm_obj_button_autorepeat_get (void)
| Get whether the autorepeat feature is enabled ($true if autorepeat is on, `false` otherwise) More...
EOAPI Eina_Bool | elm_obj_button_admits_autorepeat_get (void)
| Get whether the button supports autorepeat.
void | elm_button_autorepeat_initial_timeout_set (Elm_Button *obj, double t)
| Set the initial timeout before the autorepeat event is generated. More...
double | elm_button_autorepeat_initial_timeout_get (const Elm_Button *obj)
| Get the initial timeout before the autorepeat event is generated. More...
void | elm_button_autorepeat_gap_timeout_set (Elm_Button *obj, double t)
| Set the interval between each generated autorepeat event. More...
double | elm_button_autorepeat_gap_timeout_get (const Elm_Button *obj)
| Get the interval between each generated autorepeat event. More...
void | elm_button_autorepeat_set (Elm_Button *obj, Eina_Bool on)
| Turn on/off the autorepeat event generated when the button is kept pressed. More...
Eina_Bool | elm_button_autorepeat_get (const Elm_Button *obj)
| Get whether the autorepeat feature is enabled ($true if autorepeat is on, `false` otherwise) More...
Evas_Object * | elm_button_add (Evas_Object *parent)
| Add a new button to the parent's canvas. More...

## Detailed Description

This is a push-button. Press it and run some function. It can contain a simple label and icon object and it also has an autorepeat feature.

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

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

- "clicked": the user clicked the button (press/release).
- "repeated": the user pressed the button without releasing it.
- "pressed": button was pressed.
- "unpressed": button was released after being pressed.
- `"focused"` : When the button has received focus. (since 1.8)
- `"unfocused"` : When the button has lost focus. (since 1.8) In all cases, the `event` parameter of the callback will be `NULL`.

Also, defined in the default theme, the button has the following styles available:

- default: a normal button.
- anchor: Like default, but the button fades away when the mouse is not over it, leaving only the text or icon.
- hoversel_vertical: Internally used by Hoversel to give a continuous look across its options.
- hoversel_vertical_entry: Another internal for Hoversel.
- naviframe: Internally used by Naviframe for its back button.
- colorselector: Internally used by Colorselector for its left and right buttons.

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

- "icon" - An icon of the button

Default text parts of the button widget that you can use for are:

- "default" - A label of the button

Supported elm_object common APIs.

- elm_object_part_text_set
- elm_object_part_text_get
- elm_object_part_content_set
- elm_object_part_content_get
- elm_object_part_content_unset
- elm_object_signal_emit
- elm_object_signal_callback_add
- elm_object_signal_callback_del

Here is some sample code using it:

- Button - Hello, Button!
- Button - Complete example

## Function Documentation

Evas_Object* elm_button_add | ( | Evas_Object * | parent | ) |

Add a new button to the parent's canvas.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

References _Elm_Button_Data::ar_gap_timeout, _Elm_Button_Data::ar_initial_timeout, _Elm_Button_Data::autorepeat, elm_obj_button_admits_autorepeat_get(), _Elm_Button_Data::repeating, and _Elm_Button_Data::timer.

Referenced by elm_color_class_editor_add(), elm_fileselector_folder_only_get(), elm_hoversel_add(), and elm_quicklaunch_seed().

double elm_button_autorepeat_gap_timeout_get | ( | const Elm_Button * | obj | ) |

Get the interval between each generated autorepeat event.

Returns
  Interval in seconds

References elm_obj_button_autorepeat_gap_timeout_get().

void elm_button_autorepeat_gap_timeout_set | ( | Elm_Button * | obj,
|  | double | t
| ) |  |

Set the interval between each generated autorepeat event.

After the first `repeated` event is fired, all subsequent ones will follow after a delay of `t` seconds for each.

See also elm_button_autorepeat_initial_timeout_set.

Parameters

  [in] | t | Interval in seconds

References elm_obj_button_autorepeat_gap_timeout_set().

Eina_Bool elm_button_autorepeat_get | ( | const Elm_Button * | obj | ) |

Get whether the autorepeat feature is enabled ($true if autorepeat is on, `false` otherwise)

See also elm_button_autorepeat_set.

Returns
  A bool to turn on/off the event

References elm_obj_button_autorepeat_get().

double elm_button_autorepeat_initial_timeout_get | ( | const Elm_Button * | obj | ) |

Get the initial timeout before the autorepeat event is generated.

See also elm_button_autorepeat_initial_timeout_set.

Returns
  Timeout in seconds

References elm_obj_button_autorepeat_initial_timeout_get().

void elm_button_autorepeat_initial_timeout_set | ( | Elm_Button * | obj,
|  | double | t
| ) |  |

Set the initial timeout before the autorepeat event is generated.

Sets the timeout, in seconds, since the button is pressed until the first `repeated` signal is emitted. If `t` is 0.0 or less, there won't be any delay and the event will be fired the moment the button is pressed.

See also elm_button_autorepeat_set, elm_button_autorepeat_gap_timeout_set.

Parameters

  [in] | t | Timeout in seconds

References elm_obj_button_autorepeat_initial_timeout_set().

void elm_button_autorepeat_set | ( | Elm_Button * | obj,
|  | Eina_Bool | on
| ) |  |

Turn on/off the autorepeat event generated when the button is kept pressed.

When off, no autorepeat is performed and buttons emit a normal `clicked` signal when they are clicked.

When on, keeping a button pressed will continuously emit a `repeated` signal until the button is released. The time it takes until it starts emitting the signal is given by elm_button_autorepeat_initial_timeout_set, and the time between each new emission by elm_button_autorepeat_gap_timeout_set.

Parameters

  [in] | on | A bool to turn on/off the event

References elm_obj_button_autorepeat_set().

EOAPI double elm_obj_button_autorepeat_gap_timeout_get | ( | void |  | ) |

Get the interval between each generated autorepeat event.

Returns
  Interval in seconds

Referenced by elm_button_autorepeat_gap_timeout_get().

EOAPI void elm_obj_button_autorepeat_gap_timeout_set | ( | double | t | ) |

Set the interval between each generated autorepeat event.

After the first `repeated` event is fired, all subsequent ones will follow after a delay of `t` seconds for each.

See also elm_obj_button_autorepeat_initial_timeout_set.

Parameters

  [in] | t | Interval in seconds

Referenced by elm_button_autorepeat_gap_timeout_set().

EOAPI Eina_Bool elm_obj_button_autorepeat_get | ( | void |  | ) |

Get whether the autorepeat feature is enabled ($true if autorepeat is on, `false` otherwise)

See also elm_obj_button_autorepeat_set.

Returns
  A bool to turn on/off the event

Referenced by elm_button_autorepeat_get().

EOAPI double elm_obj_button_autorepeat_initial_timeout_get | ( | void |  | ) |

Get the initial timeout before the autorepeat event is generated.

See also elm_obj_button_autorepeat_initial_timeout_set.

Returns
  Timeout in seconds

Referenced by elm_button_autorepeat_initial_timeout_get().

EOAPI void elm_obj_button_autorepeat_initial_timeout_set | ( | double | t | ) |

Set the initial timeout before the autorepeat event is generated.

Sets the timeout, in seconds, since the button is pressed until the first `repeated` signal is emitted. If `t` is 0.0 or less, there won't be any delay and the event will be fired the moment the button is pressed.

See also elm_obj_button_autorepeat_set, elm_obj_button_autorepeat_gap_timeout_set.

Parameters

  [in] | t | Timeout in seconds

Referenced by elm_button_autorepeat_initial_timeout_set().

EOAPI void elm_obj_button_autorepeat_set | ( | Eina_Bool | on | ) |

Turn on/off the autorepeat event generated when the button is kept pressed.

When off, no autorepeat is performed and buttons emit a normal `clicked` signal when they are clicked.

When on, keeping a button pressed will continuously emit a `repeated` signal until the button is released. The time it takes until it starts emitting the signal is given by elm_obj_button_autorepeat_initial_timeout_set, and the time between each new emission by elm_obj_button_autorepeat_gap_timeout_set.

Parameters

  [in] | on | A bool to turn on/off the event

Referenced by elm_button_autorepeat_set().