Genlist, gengrid: two new smart callbacks

Adding ones for mouse pressed and mouse released on items. The event
info for both callbacks are the items being pressed/released.
This commit is contained in:
Flavio Ceolin 2013-03-20 13:39:51 -03:00 committed by Gustavo Lima Chaves
parent 69dee31e77
commit 9ea9e13c26
4 changed files with 22 additions and 0 deletions

View File

@ -60,6 +60,8 @@ static const char SIG_INDEX_UPDATE[] = "index,update";
static const char SIG_HIGHLIGHTED[] = "highlighted";
static const char SIG_UNHIGHLIGHTED[] = "unhighlighted";
static const char SIG_LANG_CHANGED[] = "language,changed";
static const char SIG_PRESSED[] = "pressed";
static const char SIG_RELEASED[] = "released";
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_ACTIVATED, ""},
@ -89,6 +91,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_HIGHLIGHTED, ""},
{SIG_UNHIGHLIGHTED, ""},
{SIG_LANG_CHANGED, ""},
{SIG_PRESSED, ""},
{SIG_RELEASED, ""},
{NULL, NULL}
};
@ -499,6 +503,8 @@ _item_mouse_down_cb(void *data,
evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, it);
evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, it);
}
evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, it);
if (it->long_timer) ecore_timer_del(it->long_timer);
if (it->realized)
it->long_timer = ecore_timer_add
@ -562,6 +568,7 @@ _item_mouse_up_cb(void *data,
sd->on_hold = EINA_TRUE;
else sd->on_hold = EINA_FALSE;
evas_object_smart_callback_call(WIDGET(it), SIG_RELEASED, it);
if (it->long_timer)
{
ecore_timer_del(it->long_timer);

View File

@ -166,6 +166,10 @@
* - @c "activated" - The user has double-clicked or pressed
* (enter|return|spacebar) on an item. The @c event_info parameter
* is the gengrid item that was activated.
* - @c "pressed" - The user pressed the an item. The @c event_info
* parameter is the item that was pressed.
* - @c "released" - The user released the an item. The @c event_info
* parameter is the item that was released.
* - @c "clicked,double" - The user has double-clicked an item.
* The @c event_info parameter is the gengrid item that was double-clicked.
* - @c "longpressed" - This is called when the item is pressed for a certain

View File

@ -75,6 +75,8 @@ static const char SIG_TREE_EFFECT_FINISHED [] = "tree,effect,finished";
static const char SIG_HIGHLIGHTED[] = "highlighted";
static const char SIG_UNHIGHLIGHTED[] = "unhighlighted";
static const char SIG_LANG_CHANGED[] = "language,changed";
static const char SIG_PRESSED[] = "pressed";
static const char SIG_RELEASED[] = "released";
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CLICKED_DOUBLE, ""},
@ -122,6 +124,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_HIGHLIGHTED, ""},
{SIG_UNHIGHLIGHTED, ""},
{SIG_LANG_CHANGED, ""},
{SIG_PRESSED, ""},
{SIG_RELEASED, ""},
{NULL, NULL}
};
@ -3446,6 +3451,7 @@ _item_mouse_down_cb(void *data,
evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, it);
evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, it);
}
evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, it);
if (it->item->swipe_timer) ecore_timer_del(it->item->swipe_timer);
it->item->swipe_timer = ecore_timer_add(0.4, _swipe_cancel, it);
if (it->long_timer) ecore_timer_del(it->long_timer);
@ -4013,6 +4019,7 @@ _item_mouse_up_cb(void *data,
sd = GL_IT(it)->wsd;
sd->mouse_down = EINA_FALSE;
evas_object_smart_callback_call(WIDGET(it), SIG_RELEASED, it);
if (sd->multi_touched)
{
if ((!sd->multi) && (!it->selected) && (it->highlighted))

View File

@ -264,6 +264,10 @@
* - @c "activated" - The user has double-clicked or pressed
* (enter|return|spacebar) on an item. The @c event_info parameter is the
* item that was activated.
* - @c "pressed" - The user pressed the an item. The @c event_info
* parameter is the item that was pressed.
* - @c "released" - The user released the an item. The @c event_info
* parameter is the item that was released.
* - @c "clicked,double" - The user has double-clicked an item. The @c
* event_info parameter is the item that was double-clicked.
* - @c "selected" - This is called when a user has made an item selected.