e17/evry: show animation when action is going

SVN revision: 62538
This commit is contained in:
Hannes Janetzek 2011-08-17 16:02:19 +00:00
parent 3f5b9c8705
commit 93fcafaf16
2 changed files with 148 additions and 2 deletions

View File

@ -36012,7 +36012,7 @@ collections {
name: "clip";
mouse_events: 0;
type: RECT;
clip_to: "base";
/* clip_to: "base"; */
description {
state: "default" 0.0;
rel1.to: "base";
@ -36129,6 +36129,85 @@ collections {
color3: 20 20 20 40;
}
}
part {
name: "over_clip";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
visible: 0;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
rel1.relative: -0.5 -0.5;
rel2.relative: 1.5 1.5;
color: 255 255 255 0;
visible: 1;
}
description {
state: "huge" 0.0;
inherit: "default" 0.0;
color: 255 255 255 0;
rel1.relative: -1.5 -1.5;
rel2.relative: 2.5 2.5;
visible: 1;
}
}
part {
name: "over";
type: PROXY;
mouse_events: 0;
clip_to: "over_clip";
description {
state: "default" 0.0;
source: "e.swallow.icon";
rel1.to: "over_clip";
rel2.to: "over_clip";
visible: 0;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "over2";
type: PROXY;
mouse_events: 0;
clip_to: "over_clip";
description {
state: "default" 0.0;
source: "e.swallow.thumb";
rel1.to: "over_clip";
rel2.to: "over_clip";
visible: 0;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "event";
type: RECT;
@ -36202,6 +36281,41 @@ collections {
transition: DECELERATE 0.1;
target: "clip";
}
program {
name: "go_big";
action: STATE_SET "visible" 0.0;
target: "over_clip";
target: "over";
target: "over2";
after: "go_big2";
}
program {
name: "go_big2";
action: STATE_SET "huge" 0.0;
transition: DECELERATE 0.4;
target: "over_clip";
after: "go_big3";
}
program {
name: "go_big3";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "over_clip";
target: "over";
target: "over2";
}
program {
name: "action_go";
signal: "e,action,go";
source: "e";
action: ACTION_STOP;
target: "go_big";
target: "go_big2";
target: "go_big3";
after: "go_big";
}
}
}
group {

View File

@ -89,6 +89,7 @@ _thumb_gen(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
e_icon_size_get(it->thumb, &w, &h);
edje_extern_object_aspect_set(it->thumb, EDJE_ASPECT_CONTROL_BOTH, w, h);
edje_object_part_unswallow(it->frame, it->image);
edje_object_part_swallow(it->frame, "e.swallow.thumb", it->thumb);
evas_object_show(it->thumb);
edje_object_signal_emit(it->frame, "e,action,thumb,show_delayed", "e");
@ -1403,6 +1404,35 @@ _cb_item_changed(void *data, int type __UNUSED__, void *event)
return ECORE_CALLBACK_PASS_ON;
}
static Eina_Bool
_cb_action_performed(void *data, int type __UNUSED__, void *event)
{
Evry_Event_Action_Performed *ev = event;
View *v = data;
Eina_List *l;
Item *it;
Smart_Data *sd;
sd = evas_object_smart_data_get(v->span);
if (!sd) return ECORE_CALLBACK_PASS_ON;
EINA_LIST_FOREACH(sd->items, l, it)
{
if ((it->item == ev->it1) ||
(it->item == ev->it2))
break;
}
if (it && it->visible)
{
evas_object_raise(it->frame);
edje_object_signal_emit(it->frame, "e,action,go", "e");
}
return ECORE_CALLBACK_PASS_ON;
}
static void
_view_cb_mouse_wheel(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
{
@ -1600,7 +1630,9 @@ _view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
h = evry_event_handler_add(EVRY_EVENT_ITEM_CHANGED, _cb_item_changed, v);
v->handlers = eina_list_append(v->handlers, h);
h = evry_event_handler_add(EVRY_EVENT_ACTION_PERFORMED, _cb_action_performed, v);
v->handlers = eina_list_append(v->handlers, h);
return EVRY_VIEW(v);
}