#include <dlog.h>
#include <aul.h>
#include <appsvc.h>
+#include <app.h>
#include <runtime_info.h>
#include "ug-client.h"
case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ad->win, base);
ug_disable_effect(ug);
+ elm_object_content_set(ad->ly_main, base);
evas_object_show(base);
break;
case UG_MODE_FRAMEVIEW:
elm_exit();
}
+static void profile_changed_cb(void *data, Evas_Object * obj, void *event)
+{
+ const char *profile = elm_config_profile_get();
+
+ if (strcmp(profile, "desktop") == 0)
+ elm_win_indicator_mode_set (obj, ELM_WIN_INDICATOR_HIDE);
+ else
+ elm_win_indicator_mode_set (obj, ELM_WIN_INDICATOR_SHOW);
+}
+
static Evas_Object *create_win(const char *name)
{
Evas_Object *eo;
eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
if (eo) {
elm_win_title_set(eo, name);
- elm_win_borderless_set(eo, EINA_TRUE);
evas_object_smart_callback_add(eo, "delete,request",
win_del, NULL);
+ evas_object_smart_callback_add(eo, "profile,changed", profile_changed_cb, NULL);
ecore_x_window_size_get(ecore_x_window_root_first_get(),
&w, &h);
evas_object_resize(eo, w, h);
{
Evas_Object *eo;
int r;
-
eo = elm_layout_add(parent);
if (eo) {
r = elm_layout_file_set(eo, file, group);
evas_object_del(eo);
return NULL;
}
-
evas_object_size_hint_weight_set(eo,
EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
}
-
return eo;
}
enum appcore_rm rm;
Evas_Object *win;
Evas_Object *ly;
+ Evas_Object *conform;
+ Evas_Object *bg;
/* create window */
win = create_win(PACKAGE);
ad->win = win;
UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE);
+ bg = elm_bg_add(win);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, bg);
+ evas_object_show(bg);
+
+ conform = elm_conformant_add(win);
+ evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ ad->conform = conform;
+
/* load edje */
- ly = load_edj(win, EDJ_FILE, GRP_MAIN);
+ ly = load_edj(conform, EDJ_FILE, GRP_MAIN);
if (ly == NULL)
return -1;
- elm_win_resize_object_add(win, ly);
+ elm_win_resize_object_add(win, conform);
+
+ evas_object_show(conform);
+ elm_object_content_set(conform, ly);
edje_object_signal_callback_add(elm_layout_edje_get(ly),
"EXIT", "*", main_quit_cb, NULL);
ad->ly_main = ly;
-
+ elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
lang_changed(ad);
+ if (appcore_get_rotation_state(&rm) == 0)
+ rotate(rm, ad);
+
appcore_set_rotation_cb(rotate, ad);
appcore_set_event_callback(APPCORE_EVENT_LOW_MEMORY, low_memory, ad);
appcore_set_event_callback(APPCORE_EVENT_LOW_BATTERY, low_battery, ad);
appcore_set_event_callback(APPCORE_EVENT_LANG_CHANGE, lang_changed, ad);
- if (appcore_get_rotation_state(&rm) == 0)
- rotate(rm, ad);
-
return 0;
}
static int app_pause(void *data)
{
+ struct appdata *ad = data;
+
ug_pause();
+ if (!ad->is_transient) {
+ LOGD("app_pause received. close ug service\n");
+ elm_exit();
+ }
return 0;
}
return 0;
}
-extern int service_create_event(bundle *data, service_h *service);
-extern int appsvc_request_transient_app(bundle *b, Ecore_X_Window callee_id, appsvc_host_res_fn cbfunc, void *data);
-
static int app_reset(bundle *b, void *data)
{
struct appdata *ad = data;
struct ug_cbs cbs = { 0, };
service_h service;
enum ug_mode mode = UG_MODE_FULLVIEW;
-
+ int ret;
Ecore_X_Window id2 = elm_win_xwindow_get(ad->win);
- appsvc_request_transient_app(b, id2, svc_cb, "svc test");
+
+ ret = appsvc_request_transient_app(b, id2, svc_cb, "svc test");
+ if (ret)
+ LOGD("fail to request transient app: return value(%d)\n", ret);
+ else
+ ad->is_transient = 1;
if (ad->win) {
elm_win_activate(ad->win);
cbs.result_cb = result_cb;
cbs.priv = ad;
+ mode = ad->is_frameview ? UG_MODE_FRAMEVIEW : UG_MODE_FULLVIEW;
+
ad->ug = ug_create(NULL, ad->name, mode, service, &cbs);
if (ad->ug == NULL) {
LOGE("ug_create fail: %s\n", ad->name);
if (optarg)
ad.name = strdup(optarg);
break;
+ case 'f':
+ ad.is_frameview = 1;
+ break;
+ case 'F':
+ ad.is_frameview = 0;
+ break;
case 'd':
if (update_argument(optarg, &ad)) {
if (ad.data)
*
*/
-
-
#include <glib.h>
#include <Elementary.h>
#include <ui-gadget-engine.h>
#define UG_ENGINE_API __attribute__ ((visibility("default")))
#endif
+static Evas_Object *navi = NULL;
+static Evas_Object *conform = NULL;
struct cb_data {
ui_gadget_h ug;
- void(*hide_end_cb)(ui_gadget_h ug);
+ void (*hide_end_cb)(ui_gadget_h ug);
};
-
+static void __hide_finished(void *data, Evas_Object *obj, void *event_info);
static void _on_hideonly_cb(void *data, Evas_Object *obj)
{
ui_gadget_h ug = (ui_gadget_h)data;
- if (!ug)
- return;
-
- if (ug->layout_state == UG_LAYOUT_SHOW) {
- ug->layout_state = UG_LAYOUT_HIDEEFFECT;
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,hideonly", "");
- }
-}
+ Elm_Object_Item *navi_top;
-static void _signal_hideonly_finished(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- ui_gadget_h ug = (ui_gadget_h)data;
if (!ug)
return;
- evas_object_intercept_hide_callback_del(ug->layout, _on_hideonly_cb);
+ _DBG("\t[%s][%d] obj=%p ug=%p state=%d\n", __FUNCTION__, __LINE__, obj,
+ ug, ug->layout_state);
- evas_object_hide(ug->layout);
- elm_object_part_content_unset(ug->effect_layout, "elm.swallow.content");
+ evas_object_intercept_hide_callback_del(ug->layout, _on_hideonly_cb);
- if (ug->layout_state == UG_LAYOUT_NOEFFECT)
- return;
+ if (ug->layout_state == UG_LAYOUT_NOEFFECT) {
+ ;
+ }
- evas_object_hide(ug->effect_layout);
+ if (ug->layout_state == UG_LAYOUT_SHOW) {
+ ug->layout_state = UG_LAYOUT_HIDEEFFECT;
+ }
- if (ug->layout_state == UG_LAYOUT_DESTROY)
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,hidealready", "");
- else
- ug->layout_state = UG_LAYOUT_HIDE;
+ navi_top = elm_naviframe_top_item_get(navi);
+ if (navi_top == ug->effect_layout) {
+ elm_naviframe_item_pop(navi);
+ } else {
+ elm_object_item_del(ug->effect_layout);
+ ug->effect_layout = NULL;
+ }
}
static void _del_effect_layout(ui_gadget_h ug)
{
- if (!ug || !ug->effect_layout)
+ GSList *child, *trail;
+
+ if (!ug)
return;
+ _DBG("\t[%s][%d] ug=%p state=%d\n", __FUNCTION__, __LINE__, ug,
+ ug->layout_state);
+
evas_object_intercept_hide_callback_del(ug->layout, _on_hideonly_cb);
+ if (ug->children) {
+ child = ug->children;
+ while (child) {
+ trail = g_slist_next(child);
+ _del_effect_layout(child->data);
+ child = trail;
+ }
+ }
+
+ /* effect_layout of frameview is null */
+ /* remove navi item */
+ if (ug->effect_layout) {
+ _DBG("\t[%s][%d] remove navi tiem: ug=%p\n", __FUNCTION__,
+ __LINE__,ug);
+ if (ug->layout_state == UG_LAYOUT_HIDEEFFECT) {
+ _DBG("\t del cb, ug=%p\n", ug);
+ evas_object_smart_callback_del(navi, "transition,finished",
+ __hide_finished);
+ }
+ elm_object_item_del(ug->effect_layout);
+ ug->effect_layout = NULL;
+ }
+
+ if (navi) {
+ Elm_Object_Item *t = elm_naviframe_top_item_get(navi);
+ Elm_Object_Item *b = elm_naviframe_bottom_item_get(navi);
+ if (t == b) {
+ _DBG("\t[%s][%d]remove navi\n", __FUNCTION__, __LINE__);
+ evas_object_del(navi);
+ navi = NULL;
+ }
+ }
evas_object_hide(ug->layout);
- elm_object_part_content_unset(ug->effect_layout, "elm.swallow.content");
- evas_object_hide(ug->effect_layout);
- evas_object_del(ug->effect_layout);
- ug->effect_layout = NULL;
}
-static void _signal_hide_finished(void *data, Evas_Object *obj,
- const char *emission, const char *source)
+static void __hide_finished(void *data, Evas_Object *obj, void *event_info)
{
- struct cb_data *cb_d = (struct cb_data*)data;
+ struct cb_data *cb_d = (struct cb_data *)data;
if (!cb_d)
return;
+ evas_object_smart_callback_del(obj, "transition,finished",
+ __hide_finished);
+
ui_gadget_h ug = cb_d->ug;
+ _DBG("\t[%s][%d] obj=%p ug=%p state=%d\n", __FUNCTION__, __LINE__, obj,
+ ug, ug->layout_state);
+ ug->effect_layout = NULL;
_del_effect_layout(ug);
cb_d->hide_end_cb(ug);
free(cb_d);
}
-static void _signal_hidealready_finished(void *data, Evas_Object *obj,
- const char *emission, const char *source)
+static int __find_child(ui_gadget_h p, ui_gadget_h ug)
{
- struct cb_data *cb_d = (struct cb_data*)data;
-
- if (!cb_d)
- return;
-
- ui_gadget_h ug = cb_d->ug;
+ GSList *child = NULL;
+
+ if (!p || !ug)
+ return 0;
+ child = p->children;
+
+ while (child) {
+ if (child->data == ug)
+ return 1;
+ if (__find_child(child->data, ug))
+ return 1;
+ child = g_slist_next(child);
+ }
- _del_effect_layout(ug);
- cb_d->hide_end_cb(ug);
- free(cb_d);
+ return 0;
}
-static void _do_destroy(ui_gadget_h ug, ui_gadget_h fv_top)
+static void on_destroy(ui_gadget_h ug, ui_gadget_h t_ug,
+ void (*hide_end_cb) (ui_gadget_h ug))
{
- GSList *child;
- GSList *trail;
- static int depth = 0;
+ struct cb_data *cb_d;
+ Elm_Object_Item *navi_top;
- if (ug->children) {
- child = ug->children;
- while (child) {
- trail = g_slist_next(child);
- depth++;
- _do_destroy(child->data, fv_top);
- depth--;
- child = trail;
- }
- }
+ if (!ug)
+ return;
+ _DBG("\t[%s][%d] ug=%p tug=%p state=%d\n", __FUNCTION__, __LINE__, ug,
+ t_ug, ug->layout_state);
- _DBG("[UG Effect Plug-in] : start destroy. ug(%p), fv_top(%p),"
- " depth(%d), layout_state(%d)\n",
- ug, fv_top, depth, ug->layout_state);
+ evas_object_intercept_hide_callback_del(ug->layout,
+ _on_hideonly_cb);
- /* fv_top is null while destroying frameview ug */
- if (fv_top == NULL) {
+ if (ug != t_ug) {
_del_effect_layout(ug);
+ hide_end_cb(ug);
return;
}
- /* only show transition effect of top view UG */
- if (ug != fv_top) {
- if (depth) {
- _del_effect_layout(ug);
- return;
- }
- }
if (ug->layout_state == UG_LAYOUT_SHOW) {
- evas_object_intercept_hide_callback_del(ug->layout,
- _on_hideonly_cb);
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,hide", "");
+ struct cb_data *cb_d;
+ cb_d = (struct cb_data *)calloc(1, sizeof(struct cb_data));
+ cb_d->ug = ug;
+ cb_d->hide_end_cb = hide_end_cb;
+
+ _DBG("\t[%s][%d]cb add ug=%p\n", __FUNCTION__, __LINE__, ug);
+
+ evas_object_smart_callback_add(navi, "transition,finished",
+ __hide_finished, cb_d);
+ elm_naviframe_item_pop(navi);
+ ug->layout_state = UG_LAYOUT_HIDEEFFECT;
} else if (ug->layout_state == UG_LAYOUT_HIDE
|| ug->layout_state == UG_LAYOUT_NOEFFECT) {
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,hidealready", "");
+ _del_effect_layout(ug);
+ hide_end_cb(ug);
} else if (ug->layout_state == UG_LAYOUT_HIDEEFFECT
|| ug->layout_state == UG_LAYOUT_SHOWEFFECT) {
ug->layout_state = UG_LAYOUT_DESTROY;
}
}
-static void on_destroy(ui_gadget_h ug, ui_gadget_h fv_top)
+static void __show_finished(void *data, Evas_Object *obj, void *event_info)
{
+ ui_gadget_h ug = (ui_gadget_h) data;
if (!ug)
return;
- _do_destroy(ug, fv_top);
-}
+ _DBG("\t[%s][%d] obj=%p ug=%p state=%d\n", __FUNCTION__, __LINE__, obj,
+ ug, ug->layout_state);
-static void _signal_show_finished(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- ui_gadget_h ug = (ui_gadget_h )data;
- if (!ug)
- return;
+ evas_object_smart_callback_del(obj, "transition,finished",
+ __show_finished);
if (ug->layout_state == UG_LAYOUT_NOEFFECT)
return;
if (ug->layout_state == UG_LAYOUT_DESTROY)
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,hide", "");
+ ;
else
ug->layout_state = UG_LAYOUT_SHOW;
}
static void on_show_cb(void *data, Evas *e, Evas_Object *obj,
void *event_info)
{
- ui_gadget_h ug = (ui_gadget_h )data;
+ ui_gadget_h ug = (ui_gadget_h)data;
if (!ug)
return;
+ _DBG("\t[%s][%d] obj=%p ug=%p state=%d\n", __FUNCTION__, __LINE__, obj,
+ ug, ug->layout_state);
- if (ug->layout_state == UG_LAYOUT_NOEFFECT) {
- evas_object_hide(ug->effect_layout);
- evas_object_show(ug->layout);
- return;
- }
+ evas_object_intercept_hide_callback_add(ug->layout,
+ _on_hideonly_cb, ug);
+
+ elm_object_part_content_set(conform, "elm.swallow.ug", navi);
if (ug->layout_state == UG_LAYOUT_HIDE
|| ug->layout_state == UG_LAYOUT_INIT) {
+ _DBG("\t UG_LAYOUT_Init obj=%p\n", obj);
ug->layout_state = UG_LAYOUT_SHOWEFFECT;
- evas_object_show(ug->effect_layout);
- elm_object_part_content_set(ug->effect_layout, "elm.swallow.content",
- ug->layout);
- evas_object_intercept_hide_callback_add(ug->layout,
- _on_hideonly_cb, ug);
- edje_object_signal_emit(elm_layout_edje_get(ug->effect_layout),
- "elm,state,show", "");
+ evas_object_smart_callback_add(navi, "transition,finished",
+ __show_finished, ug);
+ ug->effect_layout = elm_naviframe_item_push(navi, NULL, NULL, NULL,
+ ug->layout, NULL);
+ } else if (ug->layout_state == UG_LAYOUT_NOEFFECT) {
+ _DBG("\t UG_LAYOUT_NOEFFECT obj=%p\n", obj);
+ Elm_Object_Item *navi_top = elm_naviframe_top_item_get(navi);
+ ug->effect_layout = elm_naviframe_item_insert_after(navi,
+ navi_top, NULL, NULL, NULL, ug->layout, NULL);
+ } else {
+ _ERR("\t [%s][%d] layout state error!! state=%d\n",
+ __FUNCTION__, __LINE__, ug->layout_state);
}
}
-static void *on_create(void *win, ui_gadget_h ug,
- void (*hide_end_cb) (ui_gadget_h ug))
+static void *on_create(void *win, ui_gadget_h ug)
{
+ const Eina_List *l;
+ Evas_Object *subobj;
+ Evas_Object *navi_bg;
+ Evas_Object *con = NULL;
static const char *ug_effect_edj_name = "/usr/share/edje/ug_effect.edj";
- struct cb_data *cb_d;
-
- Evas_Object *ly = elm_layout_add((Evas_Object *) win);
- if (!ly)
- return NULL;
+ _DBG("[%s][%d] START==========>\n", __FUNCTION__, __LINE__);
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add((Evas_Object *) win, ly);
- elm_layout_file_set(ly, ug_effect_edj_name, "ug_effect");
- evas_object_show(ly);
+ con = evas_object_data_get(win, "\377 elm,conformant");
+ if (con) {
+ conform = con;
+ _DBG("\t There is conformant\n");
+ }
+ else
+ _DBG("\t There is NO conformant\n");
+
+ if (!navi) {
+ navi = elm_naviframe_add(conform);
+ elm_object_style_set(navi, "uglib");
+ elm_naviframe_content_preserve_on_pop_set(navi, EINA_TRUE);
+ _DBG("\t new navi first navi=%p\n", navi);
+ elm_naviframe_prev_btn_auto_pushed_set(navi, EINA_FALSE);
+
+ navi_bg = evas_object_rectangle_add(evas_object_evas_get(navi));
+ evas_object_size_hint_fill_set(navi_bg, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_color_set(navi_bg, 0, 0, 0, 0);
+ elm_naviframe_item_push(navi, NULL, NULL, NULL, navi_bg, NULL);
+ }
evas_object_hide(ug->layout);
-
- cb_d = calloc(1, sizeof(struct cb_data));
- cb_d->ug = ug;
- cb_d->hide_end_cb = hide_end_cb;
-
- edje_object_signal_callback_add(elm_layout_edje_get(ly),
- "elm,action,hide,finished", "",
- _signal_hide_finished, cb_d);
- edje_object_signal_callback_add(elm_layout_edje_get(ly),
- "elm,action,hidealready,finished", "",
- _signal_hidealready_finished, cb_d);
- edje_object_signal_callback_add(elm_layout_edje_get(ly),
- "elm,action,hideonly,finished", "",
- _signal_hideonly_finished, ug);
- edje_object_signal_callback_add(elm_layout_edje_get(ly),
- "elm,action,show,finished", "",
- _signal_show_finished, ug);
-
evas_object_event_callback_add(ug->layout, EVAS_CALLBACK_SHOW,
on_show_cb, ug);
ug->layout_state = UG_LAYOUT_INIT;
- return ly;
+ return NULL;
}
UG_ENGINE_API int UG_ENGINE_INIT(struct ug_engine_ops *ops)
*/
//TRANSLATION EFFECT
-collections {
- group {
- name: "ug_effect";
- parts {
- part {
- name: "clip";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 1 0; }
- rel2 { relative: 2 1; }
- color: 255 255 255 0;
- }
- description {
- state: "show" 0.0;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 1; }
- color: 255 255 255 255;
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "clip";
- description {
- rel1.to: "clip";
- rel2.to: "clip";
- }
- }
- part {
- name: "event_blocker";
- description {
- state: "default" 0.0;
- visible: 1;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- }
- programs {
- program {
- name: "show";
- signal: "elm,state,show";
- action: STATE_SET "show" 0.0;
- target: "clip";
- target: "event_blocker";
- transition: "DECELERATE" 0.2;
- after: "show_end";
- }
- program {
- name: "hide";
- signal: "elm,state,hide";
- action: STATE_SET "default" 0.0;
- target: "clip";
- target: "event_blocker";
- transition: "DECELERATE" 0.2;
- after: "hide_end";
- }
- program {
- name: "disable_event_blocker";
- signal: "elm,state,blocker,disabled";
- action: STATE_SET "disabled" 0.0;
- target: "event_blocker";
- }
- program {
- name: "disable_blocker";
- action: SIGNAL_EMIT "elm,state,blocker,disabled" "";
- }
- program {
- name: "show_end";
- action: SIGNAL_EMIT "elm,action,show,finished" "";
- after: "disable_blocker";
- }
- program {
- name: "hide_end";
- action: SIGNAL_EMIT "elm,action,hide,finished" "";
- after: "disable_blocker";
- }
-
- program {
- name: "hide_already";
- signal: "elm,state,hidealready";
- after: "hide_already_end";
- }
- program {
- name: "hide_already_end";
- action: SIGNAL_EMIT "elm,action,hidealready,finished" "";
- }
+#define NAVIFRAME_VIEW_TRANS_TIME 0.1
- program {
- name: "hide_only";
- signal: "elm,state,hideonly";
- action: STATE_SET "default" 0.0;
- target: "clip";
- target: "event_blocker";
- transition: "DECELERATE" 0.2;
- after: "hide_only_end";
- }
- program {
- name: "hide_only_end";
- action: SIGNAL_EMIT "elm,action,hideonly,finished" "";
- after: "disable_blocker";
- }
- }
- }
+collections {
+/* group { name:"elm/naviframe/item/basic/uglib";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "right" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 2.0 1.0;
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "base";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "base";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "base";
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,internal";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,internal";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,internal";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,internal";
+ source: "";
+ action: STATE_SET "right" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "cur_pushed";
+ signal: "elm,state,cur,pushed";
+ source: "elm";
+ script {
+ set_state(PART:"base", "default", 0.0);
+ emit("elm,state,cur,pushed,internal", "");
+ }
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ script {
+ set_state(PART:"base", "right", 0.0);
+ emit("elm,state,new,pushed,internal", "");
+ }
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ script {
+ set_state(PART:"base", "default", 0.0);
+ emit("elm,state,prev,popped,internal", "");
+ }
+ }
+ program { name: "cur_popped";
+ signal: "elm,state,cur,popped";
+ source: "elm";
+ script {
+ set_state(PART:"base", "default", 0.0);
+ emit("elm,state,cur,popped,internal", "");
+ }
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ }
+ }*/
}