Button

Functions

Evas_Object * elm_button_add (Evas_Object *parent)
 Add a new button to the parent's canvas.
void elm_button_autorepeat_set (Evas_Object *obj, Eina_Bool on)
 Turn on/off the autorepeat event generated when the button is kept pressed.
Eina_Bool elm_button_autorepeat_get (const Evas_Object *obj)
 Get whether the autorepeat feature is enabled.
void elm_button_autorepeat_initial_timeout_set (Evas_Object *obj, double t)
 Set the initial timeout before the autorepeat event is generated.
double elm_button_autorepeat_initial_timeout_get (const Evas_Object *obj)
 Get the initial timeout before the autorepeat event is generated.
void elm_button_autorepeat_gap_timeout_set (Evas_Object *obj, double t)
 Set the interval between each generated autorepeat event.
double elm_button_autorepeat_gap_timeout_get (const Evas_Object *obj)
 Get the interval between each generated autorepeat event.

Detailed Description

button_inheritance_tree.png
preview-00.png
preview-01.png
preview-02.png

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. 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" - Label of the button

Supported elm_object common APIs.

Here is some sample code using it:


Function Documentation

Evas_Object* elm_button_add ( Evas_Object *  parent)

Add a new button to the parent's canvas.

Parameters:
parentThe parent object
Returns:
The new object or NULL if it cannot be created

Referenced by elm_fileselector_buttons_ok_cancel_set(), and elm_quicklaunch_seed().

double elm_button_autorepeat_gap_timeout_get ( const Evas_Object *  obj)

Get the interval between each generated autorepeat event.

Parameters:
objThe button object
Returns:
Interval in seconds
void elm_button_autorepeat_gap_timeout_set ( Evas_Object *  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.

Parameters:
objThe button object
tInterval in seconds
See also:
elm_button_autorepeat_initial_timeout_set()
Eina_Bool elm_button_autorepeat_get ( const Evas_Object *  obj)

Get whether the autorepeat feature is enabled.

Parameters:
objThe button object
Returns:
EINA_TRUE if autorepeat is on, EINA_FALSE otherwise
See also:
elm_button_autorepeat_set()
double elm_button_autorepeat_initial_timeout_get ( const Evas_Object *  obj)

Get the initial timeout before the autorepeat event is generated.

Parameters:
objThe button object
Returns:
Timeout in seconds
See also:
elm_button_autorepeat_initial_timeout_set()
void elm_button_autorepeat_initial_timeout_set ( Evas_Object *  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.

Parameters:
objThe button object
tTimeout in seconds
See also:
elm_button_autorepeat_set()
elm_button_autorepeat_gap_timeout_set()
void elm_button_autorepeat_set ( Evas_Object *  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:
objThe button object
onA bool to turn on/off the event