elementary/naviframe - added overlap style and updated test case.

SVN revision: 69666
This commit is contained in:
ChunEon Park 2012-03-27 13:11:13 +00:00
parent 60af8342c5
commit 43dcac275d
3 changed files with 327 additions and 11 deletions

View File

@ -1,4 +1,5 @@
group { name:"elm/naviframe/base/default";
group { name: "elm/naviframe/base/default";
name: "elm/naviframe/base/pager";
parts {
part { name: "base0";
description { state: "default" 0.0;
@ -6,7 +7,7 @@ group { name:"elm/naviframe/base/default";
}
}
}
group { name:"elm/naviframe/item/basic/default";
group { name: "elm/naviframe/item/basic/default";
parts {
part { name: "title_clip";
type: RECT;
@ -32,10 +33,18 @@ group { name:"elm/naviframe/item/basic/default";
rel1.relative: 0 1;
}
}
part { name: "content_base";
type: RECT;
clip_to: "content_clip";
description { state: "default" 0.0;
rel1 { to: "elm.swallow.content"; }
rel2 { to: "elm.swallow.content"; }
color: 225 225 225 255;
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
scale: 1;
repeat_events: 0;
clip_to: "content_clip";
description { state: "default" 0.0;
align: 0.0 0.0;
@ -125,7 +134,270 @@ group { name:"elm/naviframe/item/basic/default";
repeat_events: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
text { font: "Sans,Edje-Vera";
text { font: "Sans:style=Bold";
size: 12;
min: 0 0;
max: 1 0;
align: 0.5 0.5;
}
color: 0 0 0 255;
align: 0.5 0.5;
rel1.to: "title_base";
rel2.to: "title_base";
}
}
part { name: "elm.text.subtitle";
type: TEXT;
scale: 1;
repeat_events: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
text { font: "Sans,Edje-Vera";
size: 10;
min: 0 0;
max: 1 0;
align: 0.5 1;
}
rel1.to_y: "elm.text.title";
rel1.relative: 0 1;
rel1.to: "title_base";
rel1.offset: 0 -3;
rel2.to: "title_base";
rel2.offset: -1 -4;
color: 50 50 50 255;
align: 0.5 0;
}
}
}
programs {
program { name: "content_new_pusehd";
signal: "elm,state,new,pushed,internal";
source: "";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "elm.swallow.content";
after: "show_finished";
}
program { name: "content_cur_pusehd";
signal: "elm,state,cur,pushed,internal";
source: "";
action: STATE_SET "left" 0.0;
target: "elm.swallow.content";
transition: DECELERATE 0.5;
after: "pushed_finished";
}
program { name: "content_prev_popped";
signal: "elm,state,prev,popped,internal";
source: "";
action: STATE_SET "default" 0.0;
target: "elm.swallow.content";
transition: DECELERATE 0.5;
after: "show_finished";
}
program { name: "content_cur_popped";
signal: "elm,state,cur,popped,internal";
source: "";
action: STATE_SET "right" 0.0;
target: "elm.swallow.content";
transition: DECELERATE 0.5;
after: "popped_finished";
}
program { name: "cur_pushed";
signal: "elm,state,cur,pushed";
source: "elm";
script {
set_state(PART:"elm.swallow.content", "default", 0.0);
emit("elm,state,cur,pushed,internal", "");
}
}
program { name: "new_pushed";
signal: "elm,state,new,pushed";
source: "elm";
script {
set_state(PART:"elm.swallow.content", "right", 0.0);
emit("elm,state,new,pushed,internal", "");
}
}
program { name: "prev_popped";
signal: "elm,state,prev,popped";
source: "elm";
script {
set_state(PART:"elm.swallow.content", "left", 0.0);
emit("elm,state,prev,popped,internal", "");
}
}
program { name: "cur_popped";
signal: "elm,state,cur,popped";
source: "elm";
script {
set_state(PART:"elm.swallow.content", "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: "elm.swallow.content";
}
program { name: "title_show";
signal: "elm,state,title,show";
source: "elm";
action: STATE_SET "default" 0.0;
target: "title_clip";
}
program { name: "title_hide";
signal: "elm,state,title,hide";
source: "elm";
action: STATE_SET "hide" 0.0;
target: "title_clip";
}
program {
name: "title_clicked";
signal: "mouse,clicked,1";
source: "title_base";
action: SIGNAL_EMIT "elm,action,title,clicked" "";
}
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" "";
}
}
}
group { name: "elm/naviframe/item/overlap/default";
parts {
part { name: "title_clip";
type: RECT;
description { state: "default" 0.0;
min: 1 55;
align: 0.0 0.0;
fixed: 0 1;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 0.0; }
}
description { state: "hide" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
fixed: 1 1;
}
}
part { name: "content_clip";
type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to_y: "title_clip";
rel1.relative: 0 1;
}
}
part { name: "content_base";
type: RECT;
clip_to: "content_clip";
description { state: "default" 0.0;
rel1 { to: "elm.swallow.content"; }
rel2 { to: "elm.swallow.content"; }
color: 225 225 225 255;
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
scale: 1;
clip_to: "content_clip";
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.relative: 0.0 1.0;
rel1.to_y: "title_clip";
rel2.relative: 1.0 1.0;
color: 255 255 255 255;
}
description { state: "left" 0.0;
inherit: "default" 0.0;
color: 0 0 0 0;
}
description { state: "right" 0.0;
inherit: "default" 0.0;
rel1.relative: 1.0 1.0;
rel2.relative: 2.0 1.0;
color: 0 0 0 0;
}
}
part { name: "title_base";
type: RECT;
description { state: "default" 0.0;
rel1 { to: "title_clip"; }
rel2 { to: "title_clip"; }
color: 225 225 225 255;
}
}
part { name: "title_separator";
type: RECT;
clip_to: "title_clip";
description { state: "default" 0.0;
min: 0 5;
align: 0.5 1;
fixed: 0 1;
rel1 { to: "title_clip"; relative: 0 1; }
rel2 { to: "title_clip"; }
color: 150 150 150 255;
}
}
part { name: "elm.swallow.prev_btn";
type: SWALLOW;
scale: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
min: 80 40;
max: 80 40;
align: 0 0;
fixed: 1 1;
rel1.offset: 5 5;
rel1.to: "title_base";
rel2.offset: -1 -6;
rel2.to: "title_base";
}
}
part { name: "elm.swallow.next_btn";
type: SWALLOW;
scale: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
min: 80 40;
max: 80 40;
align: 1 0;
fixed: 1 1;
rel1.offset: 0 5;
rel1.to: "title_base";
rel2.offset: -6 -6;
rel2.to: "title_base";
}
}
part { name: "elm.swallow.icon";
type: SWALLOW;
scale: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
min: 40 40;
max: 40 40;
fixed: 1 1;
align: 1 0.5;
rel1.to: "elm.text.title";
rel1.relative: 0 0;
rel2.to: "elm.text.title";
rel2.relative: 0 1;
}
}
part { name: "elm.text.title";
type: TEXT;
scale: 1;
repeat_events: 1;
clip_to: "title_clip";
description { state: "default" 0.0;
text { font: "Sans:style=Bold";
size: 12;
min: 0 0;
max: 1 0;
@ -260,4 +532,3 @@ group { name:"elm/naviframe/item/basic/default";
}
}
}

View File

@ -14,6 +14,8 @@ static const char *img2 = PACKAGE_DATA_DIR "/images/plant_01.jpg";
static const char *img3 = PACKAGE_DATA_DIR "/images/rock_01.jpg";
static const char *img4 = PACKAGE_DATA_DIR "/images/rock_02.jpg";
static const char *img5 = PACKAGE_DATA_DIR "/images/sky_01.jpg";
static const char *img6 = PACKAGE_DATA_DIR "/images/sky_02.jpg";
static const char *img7 = PACKAGE_DATA_DIR "/images/sky_03.jpg";
Evas_Object *
_content_new(Evas_Object *parent, const char *img)
@ -56,6 +58,50 @@ _promote(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
elm_naviframe_item_promote(data);
}
void
_page7(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *bt, *bt2, *content, *nf = data;
Elm_Object_Item *it;
bt = elm_button_add(nf);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt, "Page 6");
bt2 = elm_button_add(nf);
evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt2, "Page 1");
evas_object_smart_callback_add(bt2, "clicked", _promote,
evas_object_data_get(nf, "page1"));
content = _content_new(nf, img6);
it = elm_naviframe_item_push(nf, "Page 7", bt, bt2, content, "overlap");
elm_object_item_part_text_set(it, "subtitle", "Overlap style!");
evas_object_smart_callback_add(bt, "clicked", _navi_pop, nf);
}
void
_page6(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *bt, *bt2, *content, *nf = data;
Elm_Object_Item *it;
bt = elm_button_add(nf);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt, "Page 5");
bt2 = elm_button_add(nf);
evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt2, "Page 7");
evas_object_smart_callback_add(bt2, "clicked", _page7, nf);
content = _content_new(nf, img7);
it = elm_naviframe_item_push(nf, "Page 6", bt, bt2, content, "overlap");
elm_object_item_part_text_set(it, "subtitle", "Overlap style!");
evas_object_smart_callback_add(bt, "clicked", _navi_pop, nf);
}
void
_page5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
@ -64,13 +110,12 @@ _page5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
bt = elm_button_add(nf);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt, "Prev");
BUTTON_TEXT_SET(bt, "Page 4");
bt2 = elm_button_add(nf);
evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL);
BUTTON_TEXT_SET(bt2, "Page 1");
evas_object_smart_callback_add(bt2, "clicked", _promote,
evas_object_data_get(nf, "page1"));
BUTTON_TEXT_SET(bt2, "Page 6");
evas_object_smart_callback_add(bt2, "clicked", _page6, nf);
content = _content_new(nf, img5);
it = elm_naviframe_item_insert_after(nf,
@ -80,7 +125,7 @@ _page5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
bt2,
content,
NULL);
elm_object_item_part_text_set(it, "subtitle", "This page is inserted without transition");
evas_object_smart_callback_add(bt, "clicked", _navi_it_del, it);
}
@ -110,6 +155,7 @@ _page4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
bt,
content,
NULL);
elm_object_item_part_text_set(it, "subtitle", "Title area visibility test");
ic = elm_icon_add(nf);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png",

View File

@ -1295,7 +1295,6 @@ elm_naviframe_item_pop(Evas_Object *obj)
}
elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
evas_object_show(VIEW(prev_it));
evas_object_raise(VIEW(prev_it));
elm_object_signal_emit(VIEW(prev_it),
"elm,state,prev,popped",
"elm");